Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoratischenko2015-01-13 06:07:55 +0000
committeratischenko2015-01-13 07:11:47 +0000
commitc905d3e9dda86908a2529dc853df30d367ba30c2 (patch)
treeacfc504a48cafad6630cd486f79d486b841a4439 /plugins/developer/org.eclipse.papyrus.def/xtend
parent5ca2326ea8c6f78f4a51fcfcf8013a77c94e9f31 (diff)
downloadorg.eclipse.papyrus-c905d3e9dda86908a2529dc853df30d367ba30c2.tar.gz
org.eclipse.papyrus-c905d3e9dda86908a2529dc853df30d367ba30c2.tar.xz
org.eclipse.papyrus-c905d3e9dda86908a2529dc853df30d367ba30c2.zip
Merge bugs/449899-activity-regen to master
- acticityDiagram.gmfgen - templates Signed-off-by: atischenko <montages.t7@gmail.com>
Diffstat (limited to 'plugins/developer/org.eclipse.papyrus.def/xtend')
-rw-r--r--plugins/developer/org.eclipse.papyrus.def/xtend/aspects/diagram/editparts/LinkLabelEditPart.xtend37
-rw-r--r--plugins/developer/org.eclipse.papyrus.def/xtend/aspects/diagram/editparts/NodeLabelEditPart.xtend2
-rw-r--r--plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/LinkLabelEditPart.xtend5
-rw-r--r--plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/NodeEditPart.xtend26
-rw-r--r--plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/TextAware.xtend4
-rw-r--r--plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/update/CanonicalUpdate.xtend23
-rw-r--r--plugins/developer/org.eclipse.papyrus.def/xtend/aspects/metamodel/MetaModel.xtend16
-rw-r--r--plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/diagram/commands/ReorientLinkUtils.xtend65
-rw-r--r--plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/diagram/editpolicies/BaseItemSemanticEditPolicy.xtend2
-rw-r--r--plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/diagram/updater/DiagramUpdater.xtend2
-rw-r--r--plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/DiagramEditorUtil.xtend2
-rw-r--r--plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/DocumentProvider.xtend102
-rw-r--r--plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/InitDiagramFileAction.xtend81
-rw-r--r--plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/ResourceSetModificationListener.xtend2
-rw-r--r--plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/ValidateAction.xtend15
-rw-r--r--plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/VisualIDRegistry.xtend14
-rw-r--r--plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/navigator/NavigatorContentProvider.xtend8
-rw-r--r--plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/providers/ElementInitializers.xtend15
-rw-r--r--plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/providers/ElementTypes.xtend2
-rw-r--r--plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/providers/MarkerNavigationProvider.xtend2
20 files changed, 353 insertions, 72 deletions
diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/diagram/editparts/LinkLabelEditPart.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/diagram/editparts/LinkLabelEditPart.xtend
index 7dcf4beeee4..03513d7a8c8 100644
--- a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/diagram/editparts/LinkLabelEditPart.xtend
+++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/diagram/editparts/LinkLabelEditPart.xtend
@@ -19,7 +19,6 @@ import org.eclipse.gmf.codegen.gmfgen.GenLinkLabel
import org.eclipse.papyrus.papyrusgmfgenextension.LabelVisibilityPreference
import xpt.Common
import org.eclipse.gmf.codegen.gmfgen.CustomBehaviour
-import org.eclipse.papyrus.papyrusgmfgenextension.ExtendedGenView
@Singleton class LinkLabelEditPart extends diagram.editparts.LinkLabelEditPart{
@Inject extension Common;
@@ -51,21 +50,25 @@ import org.eclipse.papyrus.papyrusgmfgenextension.ExtendedGenView
««« END: PapyrusGenCode
'''
-// override extendsList(GenLinkLabel it) '''extends org.eclipse.papyrus.infra.gmfdiag.common.editpart.PapyrusLabelEditPart'''
-
- override extendsList(GenLinkLabel it) '''
- «««BEGIN: PapyrusGenCode
- «««specify a java super class for external nodes
- «IF it.eResource.allContents.filter(typeof (ExtendedGenView)).filter[v | v.genView.contains(it) && v.superOwnedEditPart != null].size != 0»
- extends «FOR extendedObject : it.eResource.allContents.filter(typeof (ExtendedGenView)).filter[v|v.genView.contains(it) && v.superOwnedEditPart != null].toIterable»
- «extendedObject.superOwnedEditPart»
- «ENDFOR»
- «««END: PapyrusGenCode
- «ELSE»
- extends org.eclipse.papyrus.infra.gmfdiag.common.editpart.PapyrusLabelEditPart
- «ENDIF»
+ override extendsList(GenLinkLabel it) '''extends org.eclipse.papyrus.infra.gmfdiag.common.editpart.PapyrusLabelEditPart'''
+
+ override createDefaultEditPolicies(GenLinkLabel it) '''
+ /**
+ * @generated Papyrus Generation
+ */
+ @Override
+ protected void createDefaultEditPolicies() {
+ super.createDefaultEditPolicies();
+ installEditPolicy(EditPolicy.DIRECT_EDIT_ROLE, new LabelDirectEditPolicy());
+ installEditPolicy(EditPolicy.SELECTION_FEEDBACK_ROLE, new «diagram.getTextSelectionEditPolicyQualifiedClassName()»());
+ ««« BEGIN: PapyrusGenCode
+ installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.PapyrusLinkLabelDragPolicy());
+ ««« END: PapyrusGenCode
+ ««« Get the added custom behavoir
+ «FOR CustomBehaviour:it.behaviour.filter(typeof (CustomBehaviour))»
+ installEditPolicy(«CustomBehaviour.key», new «CustomBehaviour.editPolicyQualifiedClassName»());
+ «ENDFOR»
+ }
'''
-
-
-
+
}
diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/diagram/editparts/NodeLabelEditPart.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/diagram/editparts/NodeLabelEditPart.xtend
index 1baa2dab3d2..0c009a414db 100644
--- a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/diagram/editparts/NodeLabelEditPart.xtend
+++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/diagram/editparts/NodeLabelEditPart.xtend
@@ -55,7 +55,7 @@ override extendsList (GenNodeLabel it) '''extends org.eclipse.papyrus.infra.gmfd
«generatedMemberComment»
protected void addOwnerElementListeners() {
- addListenerFilter(ADD_PARENT_MODEL, this, ((org.eclipse.gmf.runtime.notation.View) getParent().getModel())); //$NON-NLS-1$
+ addListenerFilter(ADD_PARENT_MODEL, this, ((org.eclipse.gmf.runtime.notation.View) getParent().getModel()));
}
diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/LinkLabelEditPart.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/LinkLabelEditPart.xtend
index 1175194be6e..80c54cde444 100644
--- a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/LinkLabelEditPart.xtend
+++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/LinkLabelEditPart.xtend
@@ -38,10 +38,5 @@ import xpt.diagram.editparts.Common
««« End Papyrus Code
super.handleNotificationEvent(event);
'''
-
- override additionalEditPolicies(GenLinkLabel it)
- '''
- installEditPolicy(EditPolicy.PRIMARY_DRAG_ROLE, new org.eclipse.papyrus.infra.gmfdiag.common.editpolicies.PapyrusLinkLabelDragPolicy());
- '''
}
diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/NodeEditPart.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/NodeEditPart.xtend
index f6ab147f25e..8c84ea36d0d 100644
--- a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/NodeEditPart.xtend
+++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/NodeEditPart.xtend
@@ -35,8 +35,6 @@ import xpt.diagram.editparts.EditPartFactory
import xpt.diagram.editparts.Utils_qvto
import xpt.diagram.editpolicies.TextSelectionEditPolicy
import xpt.CodeStyle
-import xpt.diagram.ViewmapAttributesUtils_qvto
-import org.eclipse.papyrus.papyrusgmfgenextension.SpecificNodePlate
@Singleton class NodeEditPart extends impl.diagram.editparts.NodeEditPart {
@Inject extension Common;
@@ -45,10 +43,8 @@ import org.eclipse.papyrus.papyrusgmfgenextension.SpecificNodePlate
@Inject extension EditPartsUtils_qvto;
@Inject extension VisualIDRegistry;
- @Inject extension ViewmapAttributesUtils_qvto;
-
@Inject extension Utils_qvto;
- @Inject extension xpt.diagram.Utils_qvto;
+
@Inject EditPartFactory xptEditPartFactory;
@Inject impl.diagram.editparts.TextAware xptTextAware;
@@ -181,26 +177,6 @@ override addFixedChild (GenNode it)'''
// }
// '''
- override createNodePlate(GenNode it) '''
- «IF it.eResource.allContents.filter(typeof(SpecificNodePlate)).filter[v |v.editParts.contains(it) && v.nodePlateQualifiedName!=null].size != 0»
- «val editPart = it.eResource.allContents.filter(typeof(SpecificNodePlate)).filter[v |v.editParts.contains(it) && v.nodePlateQualifiedName!=null].head»
- protected org.eclipse.gmf.runtime.gef.ui.figures.NodeFigure createNodePlate() {
- «editPart.nodePlateQualifiedName» result = new «editPart.nodePlateQualifiedName»(«IF getDiagram().isPixelMapMode()»«defaultSizeWidth(viewmap, 40)», «defaultSizeHeight(viewmap, 40)»«ELSE»getMapMode().DPtoLP(«defaultSizeWidth(viewmap, 40)»), getMapMode().DPtoLP(«defaultSizeHeight(viewmap, 40)»)«ENDIF»);
- «setupNodePlate»
- return result;
- }
- «««END: BEGIN: PapyrusGenCode
- «ELSE»
- ««« «super.createNodePlate(it)»
- ««« By default node edit part are now RoundedRectangleNodePlateFigure
- protected org.eclipse.gmf.runtime.gef.ui.figures.NodeFigure createNodePlate() {
- org.eclipse.papyrus.infra.gmfdiag.common.figure.node.RoundedRectangleNodePlateFigure result = new org.eclipse.papyrus.infra.gmfdiag.common.figure.node.RoundedRectangleNodePlateFigure(«IF getDiagram().isPixelMapMode()»«defaultSizeWidth(viewmap, 40)», «defaultSizeHeight(viewmap, 40)»«ELSE»getMapMode().DPtoLP(«defaultSizeWidth(viewmap, 40)»), getMapMode().DPtoLP(«defaultSizeHeight(viewmap, 40)»)«ENDIF»);
- «setupNodePlate»
- return result;
- }
- «ENDIF»
- '''
-
override borderItemSelectionEditPolicy(GenNode it)'''
«IF hasBorderItems(it)»
org.eclipse.gmf.runtime.notation.View childView = (org.eclipse.gmf.runtime.notation.View) child.getModel();
diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/TextAware.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/TextAware.xtend
index c49287fa1be..e9a108a2f11 100644
--- a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/TextAware.xtend
+++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/editparts/TextAware.xtend
@@ -373,7 +373,7 @@ override getEditTextValidator (GenCommonBase it)'''
setResult(parser.isValidEditString(new org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter(element), (String) value));
}
});
- return valid.getCode() == org.eclipse.gmf.runtime.common.ui.services.parser.ParserEditStatus.EDITABLE ? null : valid.getMessage();
+ return valid.getCode() == org.eclipse.gmf.runtime.common.ui.services.parser.IParserEditStatus.EDITABLE ? null : valid.getMessage();
} catch (InterruptedException ie) {
ie.printStackTrace();
}
@@ -501,7 +501,7 @@ def performDirectEditRequest(GenCommonBase it, GenDiagram diagram ) '''
else if(configuration instanceof org.eclipse.papyrus.extensionpoints.editors.configuration.IAdvancedEditorConfiguration) {
dialog = ((org.eclipse.papyrus.extensionpoints.editors.configuration.IAdvancedEditorConfiguration)configuration).createDialog(org.eclipse.ui.PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), resolveSemanticElement(), configuration.getTextToEdit(resolveSemanticElement()));
} else if(configuration instanceof org.eclipse.papyrus.extensionpoints.editors.configuration.IDirectEditorConfiguration) {
- dialog = new org.eclipse.papyrus.extensionpoints.editors.ui.ExtendedDirectEditionDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), resolveSemanticElement(), ((org.eclipse.papyrus.extensionpoints.editors.configuration.IDirectEditorConfiguration)configuration).getTextToEdit(resolveSemanticElement()), (org.eclipse.papyrus.extensionpoints.editors.configuration.IDirectEditorConfiguration)configuration);
+ dialog = new org.eclipse.papyrus.extensionpoints.editors.ui.ExtendedDirectEditionDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), resolveSemanticElement(), configuration.getTextToEdit(resolveSemanticElement()), configuration);
} else {
return;
}
diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/update/CanonicalUpdate.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/update/CanonicalUpdate.xtend
index bec85eefbe8..0206e2b54cc 100644
--- a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/update/CanonicalUpdate.xtend
+++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/impl/diagram/update/CanonicalUpdate.xtend
@@ -135,5 +135,26 @@ import xpt.editor.VisualIDRegistry
return result;
}
'''
-
+
+ override getEditPartMethod(GenDiagram it) '''
+ «generatedMemberComment»
+ private org.eclipse.gef.EditPart getEditPart(org.eclipse.emf.ecore.EObject domainModelElement, «Domain2Notation(it)» domain2NotationMap) {
+ org.eclipse.gmf.runtime.notation.View view = domain2NotationMap.get(domainModelElement);
+ if (view != null) {
+ return (org.eclipse.gef.EditPart) getHost().getViewer().getEditPartRegistry().get(view);
+ }
+ return null;
+ }
+ '''
+
+ override getHintedEditPartMethod(GenDiagram it) '''
+ «generatedMemberComment»
+ protected final org.eclipse.gef.EditPart getHintedEditPart(org.eclipse.emf.ecore.EObject domainModelElement, «Domain2Notation(it)» domain2NotationMap, int hintVisualId) {
+ org.eclipse.gmf.runtime.notation.View view = domain2NotationMap.getHinted(domainModelElement, «xptVisualIDRegistry.typeMethodCall(it, 'hintVisualId')»);
+ if (view != null) {
+ return (org.eclipse.gef.EditPart) getHost().getViewer().getEditPartRegistry().get(view);
+ }
+ return null;
+ }
+ '''
}
diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/metamodel/MetaModel.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/metamodel/MetaModel.xtend
new file mode 100644
index 00000000000..3b327283dfa
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/metamodel/MetaModel.xtend
@@ -0,0 +1,16 @@
+package aspects.metamodel
+
+import org.eclipse.emf.codegen.ecore.genmodel.GenClass
+import org.eclipse.emf.codegen.ecore.genmodel.GenFeature
+import com.google.inject.Inject
+import metamodel.MetaModel_qvto
+import com.google.inject.Singleton
+
+@Singleton class MetaModel extends metamodel.MetaModel {
+
+ @Inject extension MetaModel_qvto;
+
+ override DeclareAndAssign2(GenClass it, String assignee, String src, GenClass srcMetaClass, GenFeature srcFeature, String srcExt, boolean needCast) //
+ '''«getQualifiedInterfaceName(it)» «assignee» = «getFeatureValue(srcFeature, src, srcMetaClass)».«srcExt»;'''
+
+} \ No newline at end of file
diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/diagram/commands/ReorientLinkUtils.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/diagram/commands/ReorientLinkUtils.xtend
new file mode 100644
index 00000000000..a50891a8806
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/diagram/commands/ReorientLinkUtils.xtend
@@ -0,0 +1,65 @@
+package aspects.xpt.diagram.commands
+
+import org.eclipse.gmf.codegen.gmfgen.LinkModelFacet
+import org.eclipse.gmf.codegen.gmfgen.GenLink
+import xpt.Common
+import com.google.inject.Inject
+import com.google.inject.Singleton
+
+@Singleton class ReorientLinkUtils extends xpt.diagram.commands.ReorientLinkUtils {
+
+ @Inject extension Common
+
+ override canReorient(LinkModelFacet it, GenLink link) '''
+ «generatedMemberComment()»
+ public boolean canExecute() {
+ «checkLinkValidity(it)»
+ if (reorientDirection == org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRequest.REORIENT_SOURCE) {
+ return canReorientSource();
+ }
+ if (reorientDirection == org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRequest.REORIENT_TARGET) {
+ return canReorientTarget();
+ }
+ return false;
+ }
+
+ «generatedMemberComment()»
+ protected boolean canReorientSource() {
+ «checkSourceRequestValidity(it, link)»
+ }
+
+ «generatedMemberComment()»
+ protected boolean canReorientTarget() {
+ «checkTargetRequestValidity(it, link)»
+ }
+ '''
+
+ override reorient(LinkModelFacet it) '''
+
+ «generatedMemberComment()»
+ protected org.eclipse.gmf.runtime.common.core.command.CommandResult doExecuteWithResult(
+ org.eclipse.core.runtime.IProgressMonitor monitor, org.eclipse.core.runtime.IAdaptable info)
+ throws org.eclipse.core.commands.ExecutionException {
+ if (!canExecute()) {
+ throw new org.eclipse.core.commands.ExecutionException("Invalid arguments in reorient link command"); «nonNLS()»
+ }
+ if (reorientDirection == org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRequest.REORIENT_SOURCE) {
+ return reorientSource();
+ }
+ if (reorientDirection == org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRequest.REORIENT_TARGET) {
+ return reorientTarget();
+ }
+ throw new IllegalStateException();
+ }
+
+ «generatedMemberComment()»
+ protected org.eclipse.gmf.runtime.common.core.command.CommandResult reorientSource() throws org.eclipse.core.commands.ExecutionException {
+ «reorientSource(it)»
+ }
+
+ «generatedMemberComment()»
+ protected org.eclipse.gmf.runtime.common.core.command.CommandResult reorientTarget() throws org.eclipse.core.commands.ExecutionException {
+ «reorientTarget(it)»
+ }
+ '''
+} \ No newline at end of file
diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/diagram/editpolicies/BaseItemSemanticEditPolicy.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/diagram/editpolicies/BaseItemSemanticEditPolicy.xtend
index 1556194cfb0..6c452d61f57 100644
--- a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/diagram/editpolicies/BaseItemSemanticEditPolicy.xtend
+++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/diagram/editpolicies/BaseItemSemanticEditPolicy.xtend
@@ -61,7 +61,7 @@ public class «className(it)» extends org.eclipse.gmf.runtime.diagram.ui.editpoli
if (view instanceof org.eclipse.gmf.runtime.notation.View) {
Integer id = new Integer(«getVisualIDMethodCall(it)»((org.eclipse.gmf.runtime.notation.View) view));
request.getExtendedData().put(VISUAL_ID_KEY, id);
- request.getExtendedData().put(GRAPHICAL_RECONNECTED_EDGE, (org.eclipse.gmf.runtime.notation.View)view);
+ request.getExtendedData().put(GRAPHICAL_RECONNECTED_EDGE, view);
}
}
return super.getCommand(request);
diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/diagram/updater/DiagramUpdater.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/diagram/updater/DiagramUpdater.xtend
index 46cadd471f2..40a62f67168 100644
--- a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/diagram/updater/DiagramUpdater.xtend
+++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/diagram/updater/DiagramUpdater.xtend
@@ -225,7 +225,7 @@ import org.eclipse.papyrus.papyrusgmfgenextension.CustomDiagramUpdaterSingleton
«ENDFOR»
«IF it.getPhantomNodes.notEmpty»
org.eclipse.emf.ecore.resource.Resource resource = modelElement.eResource();
- for (java.util.Iterator<org.eclipse.emf.ecore.EObject> it = getPhantomNodesIterator(resource)) {
+ for (java.util.Iterator<org.eclipse.emf.ecore.EObject> it = getPhantomNodesIterator(resource); it.hasNaxt();) {
org.eclipse.emf.ecore.EObject childElement = it.next();
if (childElement == modelElement) {
continue;
diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/DiagramEditorUtil.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/DiagramEditorUtil.xtend
index 4fbb93af0cc..b2c92c7b63c 100644
--- a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/DiagramEditorUtil.xtend
+++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/DiagramEditorUtil.xtend
@@ -25,7 +25,7 @@ import com.google.inject.Singleton
(if(editorGen.application == null) 'This method should be called within a workspace modify operation since it creates resources.' else ''))»
public static org.eclipse.emf.ecore.resource.Resource createDiagram(org.eclipse.emf.common.util.URI diagramURI,«IF standaloneDomainModel(
it)» org.eclipse.emf.common.util.URI modelURI,«ENDIF» org.eclipse.core.runtime.IProgressMonitor progressMonitor) {
- org.eclipse.emf.transaction.TransactionalEditingDomain editingDomain = org.eclipse.gmf.runtime.emf.core.GMFEditingDomainFactory.INSTANCE.createEditingDomain();
+ org.eclipse.emf.transaction.TransactionalEditingDomain editingDomain = org.eclipse.emf.workspace.WorkspaceEditingDomainFactory.INSTANCE.createEditingDomain();
progressMonitor.beginTask(«xptExternalizer.accessorCall(editorGen, i18nKeyForCreateDiagramProgressTask(it))», 3);
final org.eclipse.emf.ecore.resource.Resource diagramResource = editingDomain.getResourceSet().createResource(diagramURI);
«IF standaloneDomainModel(it)»
diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/DocumentProvider.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/DocumentProvider.xtend
index 1abc876db22..5d809566671 100644
--- a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/DocumentProvider.xtend
+++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/DocumentProvider.xtend
@@ -63,14 +63,14 @@ import xpt.editor.DiagramEditorUtil
if (uri.fragment() != null) {
org.eclipse.emf.ecore.EObject rootElement = resource.getEObject(uri.fragment());
if (rootElement instanceof org.eclipse.gmf.runtime.notation.Diagram) {
- document.setContent((org.eclipse.gmf.runtime.notation.Diagram) rootElement);
+ document.setContent(rootElement);
return;
}
} else {
for (java.util.Iterator<org.eclipse.emf.ecore.EObject> it = resource.getContents().iterator(); it.hasNext();) {
Object rootElement = it.next();
if (rootElement instanceof org.eclipse.gmf.runtime.notation.Diagram) {
- document.setContent((org.eclipse.gmf.runtime.notation.Diagram) rootElement);
+ document.setContent(rootElement);
return;
}
}
@@ -194,7 +194,7 @@ import xpt.editor.DiagramEditorUtil
}
org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.IDiagramDocument diagramDocument = (org.eclipse.gmf.runtime.diagram.ui.resources.editor.document.IDiagramDocument) document;
final org.eclipse.emf.ecore.resource.Resource newResource = diagramDocument.getEditingDomain().getResourceSet().createResource(newResoruceURI);
- final org.eclipse.gmf.runtime.notation.Diagram diagramCopy = (org.eclipse.gmf.runtime.notation.Diagram) org.eclipse.emf.ecore.util.EcoreUtil.copy(diagramDocument.getDiagram());
+ final org.eclipse.gmf.runtime.notation.Diagram diagramCopy = org.eclipse.emf.ecore.util.EcoreUtil.copy(diagramDocument.getDiagram());
try {
new org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand(diagramDocument.getEditingDomain(), org.eclipse.osgi.util.NLS.bind(«xptExternalizer.accessorCall(editorGen, i18nKeyForDocumentSaveAs(it))», diagramCopy.getName()), affectedFiles) {
«overrideC»
@@ -237,4 +237,100 @@ import xpt.editor.DiagramEditorUtil
return org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRuleFactory().createRule(toCreateOrModify);
}
'''
+
+ override doValidateState(GenDiagram it) '''
+ «generatedMemberComment»
+ protected void doValidateState(Object element, Object computationContext) throws org.eclipse.core.runtime.CoreException {
+ ResourceSetInfo info = getResourceSetInfo(element);
+ if (info != null) {
+ java.util.LinkedList<org.eclipse.core.resources.IFile> files2Validate = new java.util.LinkedList<org.eclipse.core.resources.IFile>();
+ for (java.util.Iterator<org.eclipse.emf.ecore.resource.Resource> it = info.getLoadedResourcesIterator(); it.hasNext();) {
+ org.eclipse.emf.ecore.resource.Resource nextResource = it.next();
+ org.eclipse.core.resources.IFile file = org.eclipse.emf.workspace.util.WorkspaceSynchronizer.getFile(nextResource);
+ if (file != null && file.isReadOnly()) {
+ files2Validate.add(file);
+ }
+ }
+ org.eclipse.core.resources.ResourcesPlugin.getWorkspace().validateEdit(files2Validate.toArray(new org.eclipse.core.resources.IFile[files2Validate.size()]), computationContext);
+ }
+
+ super.doValidateState(element, computationContext);
+ }
+ '''
+
+ override getResetRule(GenDiagram it) '''
+ «generatedMemberComment»
+ protected org.eclipse.core.runtime.jobs.ISchedulingRule getResetRule(Object element) {
+ ResourceSetInfo info = getResourceSetInfo(element);
+ if (info != null) {
+ java.util.LinkedList<org.eclipse.core.runtime.jobs.ISchedulingRule> rules = new java.util.LinkedList<org.eclipse.core.runtime.jobs.ISchedulingRule>();
+ for (java.util.Iterator<org.eclipse.emf.ecore.resource.Resource> it = info.getLoadedResourcesIterator(); it.hasNext();) {
+ org.eclipse.emf.ecore.resource.Resource nextResource = it.next();
+ org.eclipse.core.resources.IFile file = org.eclipse.emf.workspace.util.WorkspaceSynchronizer.getFile(nextResource);
+ if (file != null) {
+ rules.add(org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRuleFactory().modifyRule(file));
+ }
+ }
+ return new org.eclipse.core.runtime.jobs.MultiRule(rules.toArray(new org.eclipse.core.runtime.jobs.ISchedulingRule[rules.size()]));
+ }
+ return null;
+ }
+ '''
+
+ override getSaveRule(GenDiagram it) '''
+ «generatedMemberComment»
+ protected org.eclipse.core.runtime.jobs.ISchedulingRule getSaveRule(Object element) {
+ ResourceSetInfo info = getResourceSetInfo(element);
+ if (info != null) {
+ java.util.LinkedList<org.eclipse.core.runtime.jobs.ISchedulingRule> rules = new java.util.LinkedList<org.eclipse.core.runtime.jobs.ISchedulingRule>();
+ for (java.util.Iterator<org.eclipse.emf.ecore.resource.Resource> it = info.getLoadedResourcesIterator(); it.hasNext();) {
+ org.eclipse.emf.ecore.resource.Resource nextResource = it.next();
+ org.eclipse.core.resources.IFile file = org.eclipse.emf.workspace.util.WorkspaceSynchronizer.getFile(nextResource);
+ if (file != null) {
+ rules.add(computeSchedulingRule(file));
+ }
+ }
+ return new org.eclipse.core.runtime.jobs.MultiRule(rules.toArray(new org.eclipse.core.runtime.jobs.ISchedulingRule[rules.size()]));
+ }
+ return null;
+ }
+ '''
+
+ override getSynchronizeRule(GenDiagram it) '''
+ «generatedMemberComment»
+ protected org.eclipse.core.runtime.jobs.ISchedulingRule getSynchronizeRule(Object element) {
+ ResourceSetInfo info = getResourceSetInfo(element);
+ if (info != null) {
+ java.util.LinkedList<org.eclipse.core.runtime.jobs.ISchedulingRule> rules = new java.util.LinkedList<org.eclipse.core.runtime.jobs.ISchedulingRule>();
+ for (java.util.Iterator<org.eclipse.emf.ecore.resource.Resource> it = info.getLoadedResourcesIterator(); it.hasNext();) {
+ org.eclipse.emf.ecore.resource.Resource nextResource = it.next();
+ org.eclipse.core.resources.IFile file = org.eclipse.emf.workspace.util.WorkspaceSynchronizer.getFile(nextResource);
+ if (file != null) {
+ rules.add(org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRuleFactory().refreshRule(file));
+ }
+ }
+ return new org.eclipse.core.runtime.jobs.MultiRule(rules.toArray(new org.eclipse.core.runtime.jobs.ISchedulingRule[rules.size()]));
+ }
+ return null;
+ }
+ '''
+
+ override getValidateStateRule(GenDiagram it) '''
+ «generatedMemberComment»
+ protected org.eclipse.core.runtime.jobs.ISchedulingRule getValidateStateRule(Object element) {
+ ResourceSetInfo info = getResourceSetInfo(element);
+ if (info != null) {«/*FIXME: [MG] bad copy paste here, files should be <IFile>, its a miracle that it does not fail in runtime at toArray stage */»
+ java.util.LinkedList<org.eclipse.core.runtime.jobs.ISchedulingRule> files = new java.util.LinkedList<org.eclipse.core.runtime.jobs.ISchedulingRule>();
+ for (java.util.Iterator<org.eclipse.emf.ecore.resource.Resource> it = info.getLoadedResourcesIterator(); it.hasNext();) {
+ org.eclipse.emf.ecore.resource.Resource nextResource = it.next();
+ org.eclipse.core.resources.IFile file = org.eclipse.emf.workspace.util.WorkspaceSynchronizer.getFile(nextResource);
+ if (file != null) {
+ files.add(file);
+ }
+ }
+ return org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRuleFactory().validateEditRule(files.toArray(new org.eclipse.core.resources.IFile[files.size()]));
+ }
+ return null;
+ }
+ '''
} \ No newline at end of file
diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/InitDiagramFileAction.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/InitDiagramFileAction.xtend
new file mode 100644
index 00000000000..c5f3afdc95e
--- /dev/null
+++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/InitDiagramFileAction.xtend
@@ -0,0 +1,81 @@
+package aspects.xpt.editor
+
+import xpt.Common
+import com.google.inject.Inject
+import plugin.Activator
+import org.eclipse.gmf.codegen.gmfgen.GenDiagram
+import xpt.Externalizer
+import xpt.ExternalizerUtils_qvto
+import com.google.inject.Singleton
+
+@Singleton class InitDiagramFileAction extends xpt.editor.InitDiagramFileAction {
+
+ @Inject extension Common
+ @Inject extension ExternalizerUtils_qvto
+
+ @Inject Activator xptActivator
+ @Inject xpt.editor.DiagramEditorUtil xptDiagramEditorUtil
+ @Inject Externalizer xptExternalizer
+
+ override classBody_PDE(GenDiagram it) '''
+ «generatedMemberComment»
+ private org.eclipse.ui.IWorkbenchPart targetPart;
+
+ «generatedMemberComment»
+ private org.eclipse.emf.common.util.URI domainModelURI;
+
+ «generatedMemberComment»
+ public void setActivePart(org.eclipse.jface.action.IAction action, org.eclipse.ui.IWorkbenchPart targetPart) {
+ this.targetPart = targetPart;
+ }
+
+ «generatedMemberComment»
+ public void selectionChanged(org.eclipse.jface.action.IAction action, org.eclipse.jface.viewers.ISelection selection) {
+ domainModelURI = null;
+ action.setEnabled(false);
+ if (selection instanceof org.eclipse.jface.viewers.IStructuredSelection == false || selection.isEmpty()) {
+ return;
+ }
+ org.eclipse.core.resources.IFile file =
+ (org.eclipse.core.resources.IFile) ((org.eclipse.jface.viewers.IStructuredSelection) selection).getFirstElement();
+ domainModelURI = org.eclipse.emf.common.util.URI.createPlatformResourceURI(file.getFullPath().toString(), true);
+ action.setEnabled(true);
+ }
+
+ «generatedMemberComment»
+ private org.eclipse.swt.widgets.Shell getShell() {
+ return targetPart.getSite().getShell();
+ }
+
+ «generatedMemberComment»
+ public void run(org.eclipse.jface.action.IAction action) {
+ org.eclipse.emf.transaction.TransactionalEditingDomain editingDomain =
+ org.eclipse.emf.workspace.WorkspaceEditingDomainFactory.INSTANCE.createEditingDomain();
+ «IF editorGen.sameFileForDiagramAndModel»
+ org.eclipse.emf.ecore.resource.ResourceSet resourceSet = new org.eclipse.emf.ecore.resource.impl.ResourceSetImpl();
+ «ELSE»
+ org.eclipse.emf.ecore.resource.ResourceSet resourceSet = editingDomain.getResourceSet();
+ «ENDIF»
+ org.eclipse.emf.ecore.EObject diagramRoot = null;
+ try {
+ org.eclipse.emf.ecore.resource.Resource resource = resourceSet.getResource(domainModelURI, true);
+ diagramRoot = resource.getContents().get(0);
+ } catch (org.eclipse.emf.common.util.WrappedException ex) {
+ «xptActivator.qualifiedClassName(editorGen.plugin)».getInstance().logError(
+ "Unable to load resource: " + domainModelURI, ex); «nonNLS(1)»
+ }
+ if (diagramRoot == null) {
+ org.eclipse.jface.dialogs.MessageDialog.openError(getShell(),
+ «xptExternalizer.accessorCall(editorGen, titleKey(i18nKeyForInitDiagramFileResourceErrorDialog()))»,
+ «xptExternalizer.accessorCall(editorGen, messageKey(i18nKeyForInitDiagramFileResourceErrorDialog()))»);
+ return;
+ }
+ org.eclipse.jface.wizard.Wizard wizard = new «editorGen.diagram.getNewDiagramFileWizardQualifiedClassName()»(domainModelURI, diagramRoot, editingDomain);
+ wizard.setWindowTitle(org.eclipse.osgi.util.NLS.bind(
+ «xptExternalizer.accessorCall(editorGen, i18nKeyForInitDiagramFileWizardTitle())»,
+ «VisualIDRegistry::modelID(editorGen.diagram)»));
+ «xptDiagramEditorUtil.qualifiedClassName(editorGen.diagram)».runWizard(getShell(), wizard, "InitDiagramFile"); «nonNLS(
+ 1)»
+ }
+ '''
+} \ No newline at end of file
diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/ResourceSetModificationListener.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/ResourceSetModificationListener.xtend
index bb3d554f045..eaddf4da755 100644
--- a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/ResourceSetModificationListener.xtend
+++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/ResourceSetModificationListener.xtend
@@ -34,7 +34,7 @@ import xpt.Common
if (resource.isLoaded()) {
boolean modified = false;
for (java.util.Iterator<org.eclipse.emf.ecore.resource.Resource> it = myInfo.getLoadedResourcesIterator(); it.hasNext() && !modified;) {
- org.eclipse.emf.ecore.resource.Resource nextResource = (org.eclipse.emf.ecore.resource.Resource) it.next();
+ org.eclipse.emf.ecore.resource.Resource nextResource = it.next();
if (nextResource.isLoaded()) {
modified = nextResource.isModified();
}
diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/ValidateAction.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/ValidateAction.xtend
index ac86d659310..c22da0057c8 100644
--- a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/ValidateAction.xtend
+++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/ValidateAction.xtend
@@ -92,7 +92,7 @@ import xpt.providers.ValidationProvider
diagramEditPart.getDiagramView(),
collectTargetElements(rootStatus, new java.util.HashSet<org.eclipse.emf.ecore.EObject>(), allDiagnostics));
for (java.util.Iterator<org.eclipse.emf.common.util.Diagnostic> it = emfValidationStatus.getChildren().iterator(); it.hasNext();) {
- org.eclipse.emf.common.util.Diagnostic nextDiagnostic = (org.eclipse.emf.common.util.Diagnostic) it.next();
+ org.eclipse.emf.common.util.Diagnostic nextDiagnostic = it.next();
java.util.List<?> data = nextDiagnostic.getData();
if (data != null && !data.isEmpty() && data.get(0) instanceof org.eclipse.emf.ecore.EObject) {
org.eclipse.emf.ecore.EObject element = (org.eclipse.emf.ecore.EObject) data.get(0);
@@ -133,15 +133,14 @@ import xpt.providers.ValidationProvider
java.util.List<?> data = diagnostic.getData();
org.eclipse.emf.ecore.EObject target = null;
if (data != null && !data.isEmpty() && data.get(0) instanceof org.eclipse.emf.ecore.EObject) {
- target = (org.eclipse.emf.ecore.EObject) data.get(0);
- targetElementCollector.add(target);
- allDiagnostics.add(diagnostic);
+ target = (org.eclipse.emf.ecore.EObject) data.get(0);
+ targetElementCollector.add(target);
+ allDiagnostics.add(diagnostic);
}
if (diagnostic.getChildren() != null && !diagnostic.getChildren().isEmpty()) {
- for (java.util.Iterator<org.eclipse.emf.common.util.Diagnostic> it = diagnostic.getChildren().iterator(); it.hasNext();) {
- collectTargetElements((org.eclipse.emf.common.util.Diagnostic) it.next(),
- targetElementCollector, allDiagnostics);
- }
+ for (java.util.Iterator<org.eclipse.emf.common.util.Diagnostic> it = diagnostic.getChildren().iterator(); it.hasNext();) {
+ collectTargetElements(it.next(), targetElementCollector, allDiagnostics);
+ }
}
return targetElementCollector;
}
diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/VisualIDRegistry.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/VisualIDRegistry.xtend
index a6dfcc9fad0..b799fa7b3c3 100644
--- a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/VisualIDRegistry.xtend
+++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/editor/VisualIDRegistry.xtend
@@ -163,4 +163,18 @@ import org.eclipse.gmf.codegen.gmfgen.GenConstraint
};
'''
+ override getModelID(GenDiagram it) '''
+ «generatedMemberComment()»
+ public static String «getModelIDMethodName(it)»(org.eclipse.gmf.runtime.notation.View view) {
+ org.eclipse.gmf.runtime.notation.View diagram = view.getDiagram();
+ while (view != diagram) {
+ org.eclipse.emf.ecore.EAnnotation annotation = view.getEAnnotation("Shortcut"); «nonNLS(1)»
+ if (annotation != null) {
+ return annotation.getDetails().get("modelID"); «nonNLS(1)»
+ }
+ view = (org.eclipse.gmf.runtime.notation.View) view.eContainer();
+ }
+ return diagram != null ? diagram.getType() : null;
+ }
+ '''
}
diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/navigator/NavigatorContentProvider.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/navigator/NavigatorContentProvider.xtend
index 265abcda900..7ffd0a151d7 100644
--- a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/navigator/NavigatorContentProvider.xtend
+++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/navigator/NavigatorContentProvider.xtend
@@ -64,7 +64,7 @@ import xpt.navigator.Utils_qvto import xpt.CodeStyle
override processChanges(GenNavigator it) '''
for (java.util.Iterator<org.eclipse.emf.ecore.resource.Resource> it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();) {
- org.eclipse.emf.ecore.resource.Resource nextResource = (org.eclipse.emf.ecore.resource.Resource) it.next();
+ org.eclipse.emf.ecore.resource.Resource nextResource = it.next();
nextResource.unload();
}
if (myViewer != null) {
@@ -137,7 +137,7 @@ import xpt.navigator.Utils_qvto import xpt.CodeStyle
myViewerRefreshRunnable = null;
for (java.util.Iterator<org.eclipse.emf.ecore.resource.Resource> it = myEditingDomain.getResourceSet().getResources().iterator(); it.hasNext();) {
- org.eclipse.emf.ecore.resource.Resource resource = (org.eclipse.emf.ecore.resource.Resource) it.next();
+ org.eclipse.emf.ecore.resource.Resource resource = it.next();
resource.unload();
}
@@ -315,7 +315,7 @@ import xpt.navigator.Utils_qvto import xpt.CodeStyle
}
'''
-
+ override createEditingDomain(GenNavigator it) '''org.eclipse.emf.workspace.WorkspaceEditingDomainFactory.INSTANCE.createEditingDomain()'''
//BEGIN: PapyrusGenCode
//Loop to call generator of each method
@@ -357,7 +357,7 @@ private Object[] getViewChildrenFor«it.editPartClassName»(org.eclipse.gmf.runtim
«var segment = path.segments.get(segmentsIterator-1)»
«IF referencesIterator==1 && pathsIterator==1 && segmentsIterator==1»java.util.Collection «ENDIF»
connectedViews = «childrenMethodName(segment.from,reference.referenceType, segment) »
- («IF segmentsIterator==0»java.util.Collections.singleton(view)«ELSE»connectedViews«ENDIF»
+ («IF segmentsIterator==1»java.util.Collections.singleton(view)«ELSE»connectedViews«ENDIF»
, «xptVisualIDRegistry.typeMethodCall(segment.to)»);
«ENDFOR»
diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/providers/ElementInitializers.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/providers/ElementInitializers.xtend
index 4d3c2b373d9..ba0b9dff324 100644
--- a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/providers/ElementInitializers.xtend
+++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/providers/ElementInitializers.xtend
@@ -28,6 +28,8 @@ import metamodel.MetaModel
import xpt.expressions.AbstractExpression
import xpt.providers.ElementInitializers_qvto
import aspects.xpt.Common
+import org.eclipse.gmf.codegen.gmfgen.GenFeatureSeqInitializer
+import plugin.Activator
/**
* XXX should generate this class only when there is initialization logic defined in the model
@@ -37,6 +39,7 @@ import aspects.xpt.Common
@Inject extension Common;
@Inject extension ElementInitializers_qvto;
+ @Inject Activator xptActivator
@Inject AbstractExpression xptAbstractExpression;
@Inject MetaModel xptMetaModel
@@ -97,4 +100,16 @@ import aspects.xpt.Common
«ENDIF/*is literal expression*/»
'''
+ override dispatch CharSequence initMethod(GenFeatureSeqInitializer it, GenCommonBase diagramElement) '''
+ «generatedMemberComment»
+ public void init_«diagramElement.getUniqueIdentifier()»(«xptMetaModel.QualifiedClassName(elementClass)» instance) {
+ try {
+ «FOR i : it.initializers»
+ «performInit(i, diagramElement, 'instance', elementClass, <Integer>newLinkedList(initializers.indexOf(i)))»
+ «ENDFOR»
+ } catch(RuntimeException e) {
+ «xptActivator.qualifiedClassName(diagramElement.getDiagram().editorGen.plugin)».getInstance().logError("Element initialization failed", e); //$NON-NLS-1$
+ }
+ }
+ '''
}
diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/providers/ElementTypes.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/providers/ElementTypes.xtend
index bebc661cb99..35175e2e72c 100644
--- a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/providers/ElementTypes.xtend
+++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/providers/ElementTypes.xtend
@@ -37,7 +37,7 @@ import xpt.Common
«IF link.modelFacet != null»«bindUniqueIdentifierToNamedElement(link.modelFacet, link.getUniqueIdentifier())»«ENDIF»
«ENDFOR»
}
- return (org.eclipse.emf.ecore.ENamedElement) elements.get(type);
+ return elements.get(type);
}
'''
diff --git a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/providers/MarkerNavigationProvider.xtend b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/providers/MarkerNavigationProvider.xtend
index 7392197e7d3..7adbabfee98 100644
--- a/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/providers/MarkerNavigationProvider.xtend
+++ b/plugins/developer/org.eclipse.papyrus.def/xtend/aspects/xpt/providers/MarkerNavigationProvider.xtend
@@ -70,7 +70,7 @@ import xpt.Common
marker = file.createMarker(MARKER_TYPE);
marker.setAttribute(org.eclipse.core.resources.IMarker.MESSAGE, message);
marker.setAttribute(org.eclipse.core.resources.IMarker.LOCATION, location);
- marker.setAttribute(org.eclipse.gmf.runtime.common.ui.resources.IMarker.ELEMENT_ID, elementId);
+ marker.setAttribute(org.eclipse.gmf.runtime.common.core.resources.IMarker.ELEMENT_ID, elementId);
int markerSeverity = org.eclipse.core.resources.IMarker.SEVERITY_INFO;
if (statusSeverity == org.eclipse.core.runtime.IStatus.WARNING) {
markerSeverity = org.eclipse.core.resources.IMarker.SEVERITY_WARNING;

Back to the top