Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenrik Rentz-Reichert2014-08-25 16:03:37 +0000
committerHenrik Rentz-Reichert2014-08-25 16:03:37 +0000
commit49cdf418fd62c007bdf5277be82dec6522a8f281 (patch)
tree8f8f1365ce60c1dee9c36e7cac28984a7e474671 /plugins/org.eclipse.etrice.ui.structure
parent094e6bda125ce1382af71008cd62f21aecdb85e4 (diff)
parentd0dd5b5db10b400462aea55483a155d06c47d901 (diff)
downloadorg.eclipse.etrice-49cdf418fd62c007bdf5277be82dec6522a8f281.tar.gz
org.eclipse.etrice-49cdf418fd62c007bdf5277be82dec6522a8f281.tar.xz
org.eclipse.etrice-49cdf418fd62c007bdf5277be82dec6522a8f281.zip
Merge branch 'abstractFSM'
Conflicts: plugins/org.eclipse.etrice.generator.doc/xtend-gen/org/eclipse/etrice/generator/doc/gen/DocGen.java Change-Id: I69702ff4d1bde4b50fd4dd46a799b3c1d533092e
Diffstat (limited to 'plugins/org.eclipse.etrice.ui.structure')
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/META-INF/MANIFEST.MF4
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/DiagramAccess.java49
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/ProviderDispatcher.java2
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/ActorContainerRefPropertyDialog.java12
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/PortPropertyDialog.java42
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/SPPPropertyDialog.java13
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/editor/StructureEditor.java38
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/editor/StructureExporter.java2
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/ActorContainerRefSupport.java28
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/BindingSupport.java72
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/InterfaceItemSupport.java13
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/LayerConnectionSupport.java55
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/PortSupport.java10
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/SPPSupport.java10
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/StructureClassSupport.java6
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/StructureClassUpdate.java11
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/SupportUtil.java113
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/provider/DefaultPositionProvider.java10
-rw-r--r--plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/provider/SuperDiagramPositionProvider.java2
19 files changed, 299 insertions, 193 deletions
diff --git a/plugins/org.eclipse.etrice.ui.structure/META-INF/MANIFEST.MF b/plugins/org.eclipse.etrice.ui.structure/META-INF/MANIFEST.MF
index 2d822bc1b..c333aee6f 100644
--- a/plugins/org.eclipse.etrice.ui.structure/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.etrice.ui.structure/META-INF/MANIFEST.MF
@@ -5,8 +5,10 @@ Bundle-SymbolicName: org.eclipse.etrice.ui.structure;singleton:=true
Bundle-Version: 0.5.0.qualifier
Bundle-Activator: org.eclipse.etrice.ui.structure.Activator
Bundle-Vendor: Eclipse eTrice (Incubation)
-Require-Bundle: org.eclipse.etrice.core.room.ui;bundle-version="0.5.0",
+Require-Bundle: org.eclipse.etrice.core.fsm;bundle-version="0.5.0",
+ org.eclipse.etrice.core.room.ui;bundle-version="0.5.0",
org.eclipse.etrice.core.common.ui;bundle-version="0.5.0",
+ org.eclipse.etrice.ui.common.base;bundle-version="0.5.0",
org.eclipse.etrice.ui.common;bundle-version="0.5.0",
org.eclipse.etrice.ui.behavior;bundle-version="0.5.0",
org.eclipse.graphiti;bundle-version="0.8.0",
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/DiagramAccess.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/DiagramAccess.java
index 5f27da299..b5f3a3a92 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/DiagramAccess.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/DiagramAccess.java
@@ -14,21 +14,33 @@ package org.eclipse.etrice.ui.structure;
import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.etrice.ui.common.DiagramAccessBase;
+import org.eclipse.etrice.ui.common.base.support.DiagramAccessBase;
import org.eclipse.etrice.ui.structure.commands.UpdateDiagramCommand;
import org.eclipse.etrice.ui.structure.editor.StructureEditor;
import org.eclipse.graphiti.dt.IDiagramTypeProvider;
import org.eclipse.graphiti.features.IFeatureProvider;
import org.eclipse.graphiti.mm.pictograms.Diagram;
import org.eclipse.graphiti.ui.services.GraphitiUi;
-
+import org.eclipse.etrice.core.room.RoomModel;
import org.eclipse.etrice.core.room.StructureClass;
+import org.eclipse.etrice.core.ui.RoomUiModule;
+
+import com.google.inject.Injector;
public class DiagramAccess extends DiagramAccessBase {
- public String getDiagramName(StructureClass sc) {
- return "Structure of "+sc.getName();
+ public DiagramAccess() {
+ super();
+ }
+
+ public String getDiagramName(EObject rootObject) {
+ if (rootObject instanceof StructureClass) {
+ StructureClass sc = (StructureClass) rootObject;
+ return "Structure of "+sc.getName();
+ }
+ return "unknown";
}
protected String getDiagramTypeId() {
@@ -39,14 +51,22 @@ public class DiagramAccess extends DiagramAccessBase {
return StructureEditor.STRUCTURE_EDITOR_ID;
}
- protected String getFileExtension() {
- return ".structure";
+ protected String getDigramFileName(EObject rootObject) {
+ if (rootObject instanceof StructureClass) {
+ StructureClass sc = (StructureClass) rootObject;
+ String modelName = ((RoomModel) sc.eContainer()).getName();
+ return modelName+"."+sc.getName()+".structure";
+ }
+ return "unknown";
}
- protected Command getInitialCommand(StructureClass sc, Diagram diagram, TransactionalEditingDomain editingDomain) {
- IDiagramTypeProvider dtp = GraphitiUi.getExtensionManager().createDiagramTypeProvider(diagram, DiagramTypeProvider.PROVIDER_ID); //$NON-NLS-1$
- IFeatureProvider featureProvider = dtp.getFeatureProvider();
- return new UpdateDiagramCommand(diagram, sc, editingDomain, featureProvider);
+ protected Command getInitialCommand(EObject rootObject, Diagram diagram, TransactionalEditingDomain editingDomain) {
+ if (rootObject instanceof StructureClass) {
+ IDiagramTypeProvider dtp = GraphitiUi.getExtensionManager().createDiagramTypeProvider(diagram, DiagramTypeProvider.PROVIDER_ID); //$NON-NLS-1$
+ IFeatureProvider featureProvider = dtp.getFeatureProvider();
+ return new UpdateDiagramCommand(diagram, (StructureClass) rootObject, editingDomain, featureProvider);
+ }
+ return null;
}
@Override
@@ -59,4 +79,13 @@ public class DiagramAccess extends DiagramAccessBase {
return null;
}
+
+ /* (non-Javadoc)
+ * @see org.eclipse.etrice.ui.common.base.support.DiagramAccessBase#injectMembers()
+ */
+ @Override
+ protected void injectMembers() {
+ Injector injector = RoomUiModule.getInjector();
+ injector.injectMembers(this);
+ }
}
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/ProviderDispatcher.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/ProviderDispatcher.java
index 989389b75..1b6cd28aa 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/ProviderDispatcher.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/ProviderDispatcher.java
@@ -24,7 +24,7 @@ import org.eclipse.etrice.core.room.Port;
import org.eclipse.etrice.core.room.SPP;
import org.eclipse.etrice.core.room.StructureClass;
import org.eclipse.etrice.core.room.util.RoomSwitch;
-import org.eclipse.etrice.ui.common.support.RemoveBendpointsFeature;
+import org.eclipse.etrice.ui.common.base.support.RemoveBendpointsFeature;
import org.eclipse.etrice.ui.structure.support.ActorContainerRefSupport;
import org.eclipse.etrice.ui.structure.support.BindingSupport;
import org.eclipse.etrice.ui.structure.support.DiagramUpdateFeature;
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/ActorContainerRefPropertyDialog.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/ActorContainerRefPropertyDialog.java
index a1bde2307..58c7d46f7 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/ActorContainerRefPropertyDialog.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/ActorContainerRefPropertyDialog.java
@@ -33,12 +33,12 @@ import org.eclipse.etrice.core.room.RoomPackage;
import org.eclipse.etrice.core.room.StructureClass;
import org.eclipse.etrice.core.room.SubSystemClass;
import org.eclipse.etrice.core.room.SubSystemRef;
-import org.eclipse.etrice.core.validation.ValidationUtil;
-import org.eclipse.etrice.ui.common.dialogs.AbstractPropertyDialog;
-import org.eclipse.etrice.ui.common.dialogs.MultiValidator2;
+import org.eclipse.etrice.ui.common.base.dialogs.AbstractPropertyDialog;
+import org.eclipse.etrice.ui.common.base.dialogs.MultiValidator2;
import org.eclipse.etrice.ui.structure.Activator;
import org.eclipse.etrice.ui.structure.dialogs.PortPropertyDialog.Multiplicity2StringConverter;
import org.eclipse.etrice.ui.structure.dialogs.PortPropertyDialog.String2MultiplicityConverter;
+import org.eclipse.etrice.ui.structure.support.SupportUtil;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Combo;
@@ -95,8 +95,8 @@ public class ActorContainerRefPropertyDialog extends AbstractPropertyDialog {
if (ar!=ref && ar.getName().equals(name))
return true;
}
- if (ac.getBase()!=null)
- return nameExists(ac.getBase(), name);
+ if (ac.getActorBase()!=null)
+ return nameExists(ac.getActorBase(), name);
return false;
}
@@ -194,7 +194,7 @@ public class ActorContainerRefPropertyDialog extends AbstractPropertyDialog {
EObject obj = desc.getEObjectOrProxy();
if (refIsActor && obj instanceof ActorClass) {
if (containerIsActor) {
- if (!ValidationUtil.isReferencing((ActorClass)obj, (ActorClass)sc))
+ if (!SupportUtil.getInstance().getRoomHelpers().isReferencing((ActorClass)obj, (ActorClass)sc))
actors.add(desc);
}
else
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/PortPropertyDialog.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/PortPropertyDialog.java
index 346aa2fd4..3a16019ae 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/PortPropertyDialog.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/PortPropertyDialog.java
@@ -24,8 +24,23 @@ import org.eclipse.core.databinding.validation.ValidationStatus;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.emf.ecore.EObject;
-import org.eclipse.etrice.core.validation.ValidationUtil;
-import org.eclipse.etrice.core.validation.ValidationUtil.Result;
+import org.eclipse.etrice.core.fsm.fSM.FSMPackage;
+import org.eclipse.etrice.core.fsm.validation.FSMValidationUtil.Result;
+import org.eclipse.etrice.core.room.ActorClass;
+import org.eclipse.etrice.core.room.ActorContainerClass;
+import org.eclipse.etrice.core.room.CommunicationType;
+import org.eclipse.etrice.core.room.CompoundProtocolClass;
+import org.eclipse.etrice.core.room.ExternalPort;
+import org.eclipse.etrice.core.room.GeneralProtocolClass;
+import org.eclipse.etrice.core.room.Port;
+import org.eclipse.etrice.core.room.ProtocolClass;
+import org.eclipse.etrice.core.room.RoomFactory;
+import org.eclipse.etrice.core.room.RoomPackage;
+import org.eclipse.etrice.core.room.SubSystemClass;
+import org.eclipse.etrice.ui.common.base.dialogs.AbstractPropertyDialog;
+import org.eclipse.etrice.ui.structure.Activator;
+import org.eclipse.etrice.ui.structure.support.SupportUtil;
+import org.eclipse.jface.databinding.swt.SWTObservables;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point;
@@ -41,21 +56,6 @@ import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.xtext.resource.IEObjectDescription;
import org.eclipse.xtext.scoping.IScope;
-import org.eclipse.etrice.core.room.ActorClass;
-import org.eclipse.etrice.core.room.ActorContainerClass;
-import org.eclipse.etrice.core.room.CommunicationType;
-import org.eclipse.etrice.core.room.CompoundProtocolClass;
-import org.eclipse.etrice.core.room.ExternalPort;
-import org.eclipse.etrice.core.room.GeneralProtocolClass;
-import org.eclipse.etrice.core.room.Port;
-import org.eclipse.etrice.core.room.ProtocolClass;
-import org.eclipse.etrice.core.room.RoomFactory;
-import org.eclipse.etrice.core.room.RoomPackage;
-import org.eclipse.etrice.core.room.SubSystemClass;
-import org.eclipse.etrice.ui.common.dialogs.AbstractPropertyDialog;
-import org.eclipse.etrice.ui.structure.Activator;
-import org.eclipse.jface.databinding.swt.SWTObservables;
-
public class PortPropertyDialog extends AbstractPropertyDialog {
class NameValidator implements IValidator {
@@ -65,7 +65,7 @@ public class PortPropertyDialog extends AbstractPropertyDialog {
if (value instanceof String) {
String name = (String) value;
- Result result = ValidationUtil.isUniqueName(port, name);
+ Result result = SupportUtil.getInstance().getValidationUtil().isUniqueName(port, name);
if (!result.isOk())
return ValidationStatus.error(result.getMsg());
}
@@ -226,11 +226,11 @@ public class PortPropertyDialog extends AbstractPropertyDialog {
@Override
protected void createContent(IManagedForm mform, Composite body, DataBindingContext bindingContext) {
- Result notReferenced = ValidationUtil.isFreeOfReferences(port);
+ Result notReferenced = SupportUtil.getInstance().getValidationUtil().isFreeOfReferences(port);
boolean multiplicityAnyAllowed = true;
ActorContainerClass parent = (ActorContainerClass) port.eContainer();
if (parent instanceof ActorClass) {
- if (ValidationUtil.isReferencedAsReplicatedInModel((ActorClass) parent))
+ if (SupportUtil.getInstance().getValidationUtil().isReferencedAsReplicatedInModel((ActorClass) parent))
multiplicityAnyAllowed = false;
}
NameValidator nv = new NameValidator();
@@ -246,7 +246,7 @@ public class PortPropertyDialog extends AbstractPropertyDialog {
protocols.add(desc);
}
- Text name = createText(body, "&Name:", port, RoomPackage.eINSTANCE.getInterfaceItem_Name(), nv);
+ Text name = createText(body, "&Name:", port, FSMPackage.eINSTANCE.getAbstractInterfaceItem_Name(), nv);
Combo protocol = createComboUsingDesc(body, "&Protocol:", port, GeneralProtocolClass.class, RoomPackage.eINSTANCE.getPort_Protocol(), protocols, RoomPackage.eINSTANCE.getRoomClass_Name(), pv);
Button conj = createCheck(body, "&Conjugated:", port, RoomPackage.eINSTANCE.getPort_Conjugated());
if (!internal && !refitem && (acc instanceof ActorClass))
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/SPPPropertyDialog.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/SPPPropertyDialog.java
index e80abe269..430129e5b 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/SPPPropertyDialog.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/dialogs/SPPPropertyDialog.java
@@ -21,13 +21,14 @@ import org.eclipse.core.databinding.validation.ValidationStatus;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.etrice.core.fsm.fSM.FSMPackage;
+import org.eclipse.etrice.core.fsm.validation.FSMValidationUtil.Result;
import org.eclipse.etrice.core.room.ProtocolClass;
import org.eclipse.etrice.core.room.RoomPackage;
import org.eclipse.etrice.core.room.SPP;
-import org.eclipse.etrice.core.validation.ValidationUtil;
-import org.eclipse.etrice.core.validation.ValidationUtil.Result;
-import org.eclipse.etrice.ui.common.dialogs.AbstractPropertyDialog;
+import org.eclipse.etrice.ui.common.base.dialogs.AbstractPropertyDialog;
import org.eclipse.etrice.ui.structure.Activator;
+import org.eclipse.etrice.ui.structure.support.SupportUtil;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Combo;
@@ -47,7 +48,7 @@ public class SPPPropertyDialog extends AbstractPropertyDialog {
if (value instanceof String) {
String name = (String) value;
- Result result = ValidationUtil.isUniqueName(spp, name);
+ Result result = SupportUtil.getInstance().getValidationUtil().isUniqueName(spp, name);
if (!result.isOk())
return ValidationStatus.error(result.getMsg());
@@ -90,7 +91,7 @@ public class SPPPropertyDialog extends AbstractPropertyDialog {
@Override
protected void createContent(IManagedForm mform, Composite body, DataBindingContext bindingContext) {
- boolean connected = ValidationUtil.isReferencedInModel(spp);
+ boolean connected = SupportUtil.getInstance().getValidationUtil().isReferencedInModel(spp);
NameValidator nv = new NameValidator();
ProtocolValidator pv = new ProtocolValidator();
@@ -103,7 +104,7 @@ public class SPPPropertyDialog extends AbstractPropertyDialog {
protocols.add(desc);
}
- Text name = createText(body, "Name:", spp, RoomPackage.eINSTANCE.getInterfaceItem_Name(), nv);
+ Text name = createText(body, "Name:", spp, FSMPackage.eINSTANCE.getAbstractInterfaceItem_Name(), nv);
Combo protocol = createComboUsingDesc(body, "Protocol:", spp, ProtocolClass.class, RoomPackage.eINSTANCE.getSPP_Protocol(), protocols, RoomPackage.eINSTANCE.getRoomClass_Name(), pv);
if (!newSPP) {
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/editor/StructureEditor.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/editor/StructureEditor.java
index bfd450fa8..1a6845065 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/editor/StructureEditor.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/editor/StructureEditor.java
@@ -14,8 +14,10 @@ package org.eclipse.etrice.ui.structure.editor;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.etrice.core.room.StructureClass;
-import org.eclipse.etrice.ui.common.editor.CustomDiagramBehavior;
-import org.eclipse.etrice.ui.common.editor.RoomDiagramEditor;
+import org.eclipse.etrice.core.ui.editor.RoomEditor;
+import org.eclipse.etrice.ui.common.base.editor.CustomDiagramBehavior;
+import org.eclipse.etrice.ui.common.base.editor.DiagramEditorBase;
+import org.eclipse.etrice.ui.common.commands.ChangeDiagramInputJob;
import org.eclipse.etrice.ui.structure.Activator;
import org.eclipse.etrice.ui.structure.support.context.PositionUpdateContext;
import org.eclipse.etrice.ui.structure.support.provider.SuperDiagramPositionProvider;
@@ -26,15 +28,17 @@ import org.eclipse.graphiti.mm.pictograms.Diagram;
import org.eclipse.graphiti.services.Graphiti;
import org.eclipse.graphiti.ui.editor.DefaultRefreshBehavior;
import org.eclipse.graphiti.ui.editor.DiagramBehavior;
+import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.graphics.Image;
-public class StructureEditor extends RoomDiagramEditor {
+public class StructureEditor extends DiagramEditorBase {
public static final String STRUCTURE_EDITOR_ID = "org.eclipse.etrice.ui.structure.editor.StructureEditor";
+ private boolean showLostDiagramInputDialog = true;
public StructureEditor() {
- super();
+ super(RoomEditor.class);
}
@Override
@@ -45,7 +49,6 @@ public class StructureEditor extends RoomDiagramEditor {
/**
* @return the actor class of this editor
*/
- @Override
public StructureClass getStructureClass() {
Diagram diagram = getDiagramTypeProvider().getDiagram();
EObject bo = Graphiti.getLinkService().getBusinessObjectForLinkedPictogramElement(diagram);
@@ -76,5 +79,28 @@ public class StructureEditor extends RoomDiagramEditor {
};
}
-
+ protected void handleMissingDiagramBo(Diagram diagram){
+ if(!showLostDiagramInputDialog)
+ return;
+
+ // show only once
+ showLostDiagramInputDialog = false;
+ MessageDialog dialog = new MessageDialog(getGraphicalControl().getShell(),
+ "Diagram out-dated", null,
+ "Diagram input lost. Cannot find ROOM file or class for "+diagram.getName() +"\n\n"
+ + "Please ensure that no whitespace or special characters are contained in any related path, file or project",
+ MessageDialog.ERROR, new String[] { "OK", "Reconnect Diagram" }, 0);
+ int result = dialog.open();
+
+ if(result == 1)
+ new ChangeDiagramInputJob("Change input for "+diagram.getName(), this).schedule();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.etrice.ui.common.base.editor.DiagramEditorBase#getModel()
+ */
+ @Override
+ protected EObject getModel() {
+ return getStructureClass().eContainer();
+ }
}
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/editor/StructureExporter.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/editor/StructureExporter.java
index ccc024f22..5f553e29e 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/editor/StructureExporter.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/editor/StructureExporter.java
@@ -15,7 +15,7 @@ package org.eclipse.etrice.ui.structure.editor;
import java.io.File;
import org.eclipse.etrice.core.room.StructureClass;
-import org.eclipse.etrice.ui.common.editor.DiagramExporter;
+import org.eclipse.etrice.ui.common.base.editor.DiagramExporter;
import org.eclipse.etrice.ui.structure.DiagramAccess;
public class StructureExporter {
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/ActorContainerRefSupport.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/ActorContainerRefSupport.java
index 9e87540c4..d323bae22 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/ActorContainerRefSupport.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/ActorContainerRefSupport.java
@@ -22,7 +22,6 @@ import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.etrice.core.naming.RoomNameProvider;
import org.eclipse.etrice.core.room.ActorClass;
import org.eclipse.etrice.core.room.ActorContainerClass;
import org.eclipse.etrice.core.room.ActorContainerRef;
@@ -34,12 +33,11 @@ import org.eclipse.etrice.core.room.RoomFactory;
import org.eclipse.etrice.core.room.RoomPackage;
import org.eclipse.etrice.core.room.StructureClass;
import org.eclipse.etrice.core.room.SubSystemRef;
-import org.eclipse.etrice.core.room.util.RoomHelpers;
-import org.eclipse.etrice.ui.common.preferences.PreferenceConstants;
-import org.eclipse.etrice.ui.common.support.ChangeAwareCreateFeature;
-import org.eclipse.etrice.ui.common.support.ChangeAwareCustomFeature;
-import org.eclipse.etrice.ui.common.support.CommonSupportUtil;
-import org.eclipse.etrice.ui.common.support.DeleteWithoutConfirmFeature;
+import org.eclipse.etrice.ui.common.base.preferences.UIBasePreferenceConstants;
+import org.eclipse.etrice.ui.common.base.support.ChangeAwareCreateFeature;
+import org.eclipse.etrice.ui.common.base.support.ChangeAwareCustomFeature;
+import org.eclipse.etrice.ui.common.base.support.CommonSupportUtil;
+import org.eclipse.etrice.ui.common.base.support.DeleteWithoutConfirmFeature;
import org.eclipse.etrice.ui.structure.DiagramAccess;
import org.eclipse.etrice.ui.structure.DiagramTypeProvider;
import org.eclipse.etrice.ui.structure.ImageProvider;
@@ -430,7 +428,7 @@ public class ActorContainerRefSupport {
newRef = ssr;
}
- newRef.setName(RoomNameProvider.getUniqueActorContainerRefName(sc));
+ newRef.setName(SupportUtil.getInstance().getRoomUtil().getUniqueActorContainerRefName(sc));
IScopeProvider scopeProvider = ((DiagramTypeProvider)getFeatureProvider().getDiagramTypeProvider()).getScopeProvider();
EReference reference = (newRef instanceof ActorRef)?RoomPackage.eINSTANCE.getActorRef_Type():RoomPackage.eINSTANCE.getSubSystemRef_Type();
@@ -735,7 +733,7 @@ public class ActorContainerRefSupport {
@Override
public boolean hasDoneChanges() {
ScopedPreferenceStore store = new ScopedPreferenceStore(InstanceScope.INSTANCE, "org.eclipse.etrice.ui.common");
- boolean autoSave = store.getBoolean(PreferenceConstants.SAVE_DIAG_ON_FOCUS_LOST);
+ boolean autoSave = store.getBoolean(UIBasePreferenceConstants.SAVE_DIAG_ON_FOCUS_LOST);
if (autoSave)
return true; // this is needed to trigger the save via a CommandStackListener after this command is completed
else
@@ -781,7 +779,7 @@ public class ActorContainerRefSupport {
do {
if (ac==acr.eContainer())
found = true;
- ac = ac.getBase();
+ ac = ac.getActorBase();
}
while (!found && ac!=null);
@@ -800,7 +798,7 @@ public class ActorContainerRefSupport {
// check class name
if (bo instanceof ActorContainerRef) {
- String label = RoomNameProvider.getRefLabelName((ActorContainerRef) bo);
+ String label = SupportUtil.getInstance().getRoomNameProvider().getRefLabelName((ActorContainerRef) bo);
if (!label.equals(graphics.getNameLabel().getValue()))
reason += "Class name is out of date\n";
}
@@ -817,8 +815,8 @@ public class ActorContainerRefSupport {
// check interface ports and spps added to model not present in diagram
{
ActorContainerClass acc = (acr instanceof ActorRef)?((ActorRef)acr).getType():((SubSystemRef)acr).getType();
- List<InterfaceItem> interfaceItems = RoomHelpers.getInterfaceItems(acc, true);
- List<InterfaceItem> presentItems = SupportUtil.getInterfaceItems(containerShape, fp);
+ List<InterfaceItem> interfaceItems = SupportUtil.getInstance().getRoomHelpers().getInterfaceItems(acc, true);
+ List<InterfaceItem> presentItems = SupportUtil.getInstance().getInterfaceItems(containerShape, fp);
int missing = 0;
for (InterfaceItem interfaceItem : interfaceItems) {
if (!presentItems.contains(interfaceItem))
@@ -855,7 +853,7 @@ public class ActorContainerRefSupport {
Map<EObject, Shape> present = getChildrenShapesForBoClass(containerShape, RoomPackage.Literals.INTERFACE_ITEM);
ActorContainerClass acc = (acr instanceof ActorRef)?((ActorRef)acr).getType():((SubSystemRef)acr).getType();
- List<InterfaceItem> expected = new ArrayList<InterfaceItem>(RoomHelpers.getInterfaceItems(acc, true));
+ List<InterfaceItem> expected = new ArrayList<InterfaceItem>(SupportUtil.getInstance().getRoomHelpers().getInterfaceItems(acc, true));
expected.removeAll(present.keySet());
Map<EObject, Shape> newShapes = addShapesInitial(expected, containerShape);
@@ -1155,7 +1153,7 @@ public class ActorContainerRefSupport {
{
// acr name
Text label = graphics.getNameLabel();
- label.setValue(RoomNameProvider.getRefLabelName(acr));
+ label.setValue(SupportUtil.getInstance().getRoomNameProvider().getRefLabelName(acr));
label.setForeground(lineColor);
label.setBackground(bgColor);
}
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/BindingSupport.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/BindingSupport.java
index 774c7194c..db2235b7f 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/BindingSupport.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/BindingSupport.java
@@ -13,7 +13,6 @@
package org.eclipse.etrice.ui.structure.support;
import org.eclipse.emf.ecore.EObject;
-import org.eclipse.etrice.core.naming.RoomNameProvider;
import org.eclipse.etrice.core.room.ActorContainerClass;
import org.eclipse.etrice.core.room.ActorContainerRef;
import org.eclipse.etrice.core.room.Binding;
@@ -23,10 +22,9 @@ import org.eclipse.etrice.core.room.GeneralProtocolClass;
import org.eclipse.etrice.core.room.Port;
import org.eclipse.etrice.core.room.RoomFactory;
import org.eclipse.etrice.core.room.StructureClass;
-import org.eclipse.etrice.core.validation.ValidationUtil;
-import org.eclipse.etrice.ui.common.support.ChangeAwareCreateConnectionFeature;
-import org.eclipse.etrice.ui.common.support.ChangeAwareCustomFeature;
-import org.eclipse.etrice.ui.common.support.DeleteWithoutConfirmFeature;
+import org.eclipse.etrice.ui.common.base.support.ChangeAwareCreateConnectionFeature;
+import org.eclipse.etrice.ui.common.base.support.ChangeAwareCustomFeature;
+import org.eclipse.etrice.ui.common.base.support.DeleteWithoutConfirmFeature;
import org.eclipse.etrice.ui.structure.ImageProvider;
import org.eclipse.etrice.ui.structure.dialogs.SubProtocolSelectionDialog;
import org.eclipse.etrice.ui.structure.support.context.ConnectionUpdateContext;
@@ -99,41 +97,41 @@ public class BindingSupport {
@Override
public boolean canCreate(ICreateConnectionContext context) {
IFeatureProvider featureProvider = getFeatureProvider();
- Port src = SupportUtil.getPort(context.getSourceAnchor(), featureProvider);
- Port tgt = SupportUtil.getPort(context.getTargetAnchor(), featureProvider);
- ActorContainerRef srcRef = SupportUtil.getRef(context.getSourceAnchor(), featureProvider);
+ Port src = SupportUtil.getInstance().getPort(context.getSourceAnchor(), featureProvider);
+ Port tgt = SupportUtil.getInstance().getPort(context.getTargetAnchor(), featureProvider);
+ ActorContainerRef srcRef = SupportUtil.getInstance().getRef(context.getSourceAnchor(), featureProvider);
if (src==null || tgt==null) {
return false;
}
- StructureClass ac = SupportUtil.getParent(context, featureProvider);
+ StructureClass ac = SupportUtil.getInstance().getParent(context, featureProvider);
if (ac==null) {
return false;
}
- ActorContainerRef tgtRef = SupportUtil.getRef(context.getTargetAnchor(), featureProvider);
+ ActorContainerRef tgtRef = SupportUtil.getInstance().getRef(context.getTargetAnchor(), featureProvider);
- return ValidationUtil.isConnectable(src, srcRef, null, tgt, tgtRef, null, ac, null, false).isOk();
+ return SupportUtil.getInstance().getValidationUtil().isConnectable(src, srcRef, null, tgt, tgtRef, null, ac, null, false).isOk();
}
public boolean canStartConnection(ICreateConnectionContext context) {
if (context.getSourceAnchor()==null)
return false;
- Port src = SupportUtil.getPort(context.getSourceAnchor(), getFeatureProvider());
+ Port src = SupportUtil.getInstance().getPort(context.getSourceAnchor(), getFeatureProvider());
boolean canStart = src!=null;
if (canStart) {
- ActorContainerRef ref = SupportUtil.getRef(context.getSourceAnchor(), getFeatureProvider());
+ ActorContainerRef ref = SupportUtil.getInstance().getRef(context.getSourceAnchor(), getFeatureProvider());
if (ref==null) {
// this port is local, i.e. owned by the parent itself
ActorContainerClass acc = (ActorContainerClass) src.eContainer();
- if (!ValidationUtil.isConnectable(src, null, acc).isOk())
+ if (!SupportUtil.getInstance().getValidationUtil().isConnectable(src, null, acc).isOk())
canStart = false;
}
else {
StructureClass acc = (StructureClass) ref.eContainer();
- if (!ValidationUtil.isConnectable(src, ref, acc).isOk())
+ if (!SupportUtil.getInstance().getValidationUtil().isConnectable(src, ref, acc).isOk())
canStart = false;
}
}
@@ -143,9 +141,9 @@ public class BindingSupport {
@Override
public void attachedToSource(ICreateConnectionContext context) {
- Port src = SupportUtil.getPort(context.getSourceAnchor(), getFeatureProvider());
- ActorContainerRef ref = SupportUtil.getRef(context.getSourceAnchor(), getFeatureProvider());
- StructureClass sc = SupportUtil.getParent(context, getFeatureProvider());
+ Port src = SupportUtil.getInstance().getPort(context.getSourceAnchor(), getFeatureProvider());
+ ActorContainerRef ref = SupportUtil.getInstance().getRef(context.getSourceAnchor(), getFeatureProvider());
+ StructureClass sc = SupportUtil.getInstance().getParent(context, getFeatureProvider());
beginHighLightMatches(sc, src, ref);
}
@@ -168,7 +166,7 @@ public class BindingSupport {
for (Shape subShape : scContainer.getChildren()) {
Object bo = getBusinessObjectForPictogramElement(subShape);
if (bo instanceof Port) {
- if (ValidationUtil.isConnectable(src, srcRef, null, (Port) bo, null, null, sc, null, false).isOk()) {
+ if (SupportUtil.getInstance().getValidationUtil().isConnectable(src, srcRef, null, (Port) bo, null, null, sc, null, false).isOk()) {
DecorationProvider.addAllowedPortShape(subShape);
getDiagramBehavior().refreshRenderingDecorators(subShape);
}
@@ -178,7 +176,7 @@ public class BindingSupport {
for (Shape subSubShape : ((ContainerShape)subShape).getChildren()) {
bo = getBusinessObjectForPictogramElement(subSubShape);
if (bo instanceof Port) {
- if (ValidationUtil.isConnectable(src, srcRef, null, (Port) bo, tgtRef, null, sc, null, false).isOk()) {
+ if (SupportUtil.getInstance().getValidationUtil().isConnectable(src, srcRef, null, (Port) bo, tgtRef, null, sc, null, false).isOk()) {
DecorationProvider.addAllowedPortShape(subSubShape);
getDiagramBehavior().refreshRenderingDecorators(subSubShape);
}
@@ -201,17 +199,17 @@ public class BindingSupport {
endHighLightMatches();
IFeatureProvider featureProvider = getFeatureProvider();
- Port src = SupportUtil.getPort(context.getSourceAnchor(), featureProvider);
- Port dst = SupportUtil.getPort(context.getTargetAnchor(), featureProvider);
- StructureClass sc = SupportUtil.getParent(context, featureProvider);
+ Port src = SupportUtil.getInstance().getPort(context.getSourceAnchor(), featureProvider);
+ Port dst = SupportUtil.getInstance().getPort(context.getTargetAnchor(), featureProvider);
+ StructureClass sc = SupportUtil.getInstance().getParent(context, featureProvider);
if (src!=null && dst!=null && sc!=null) {
Binding bind = RoomFactory.eINSTANCE.createBinding();
BindingEndPoint ep1 = RoomFactory.eINSTANCE.createBindingEndPoint();
- ActorContainerRef ar1 = SupportUtil.getRef(context.getSourceAnchor(), featureProvider);
+ ActorContainerRef ar1 = SupportUtil.getInstance().getRef(context.getSourceAnchor(), featureProvider);
ep1.setPort(src);
ep1.setActorRef(ar1);
BindingEndPoint ep2 = RoomFactory.eINSTANCE.createBindingEndPoint();
- ActorContainerRef ar2 = SupportUtil.getRef(context.getTargetAnchor(), featureProvider);
+ ActorContainerRef ar2 = SupportUtil.getInstance().getRef(context.getTargetAnchor(), featureProvider);
ep2.setPort(dst);
ep2.setActorRef(ar2);
bind.setEndpoint1(ep1);
@@ -317,22 +315,22 @@ public class BindingSupport {
atgt = context.getNewAnchor();
IFeatureProvider featureProvider = getFeatureProvider();
- Port src = SupportUtil.getPort(asrc, featureProvider);
- Port tgt = SupportUtil.getPort(atgt, featureProvider);
- ActorContainerRef srcRef = SupportUtil.getRef(asrc, featureProvider);
+ Port src = SupportUtil.getInstance().getPort(asrc, featureProvider);
+ Port tgt = SupportUtil.getInstance().getPort(atgt, featureProvider);
+ ActorContainerRef srcRef = SupportUtil.getInstance().getRef(asrc, featureProvider);
if (src==null || tgt==null) {
return false;
}
- StructureClass ac = SupportUtil.getParent(getDiagram(), featureProvider);
+ StructureClass ac = SupportUtil.getInstance().getParent(getDiagram(), featureProvider);
if (ac==null) {
return false;
}
- ActorContainerRef tgtRef = SupportUtil.getRef(atgt, featureProvider);
+ ActorContainerRef tgtRef = SupportUtil.getInstance().getRef(atgt, featureProvider);
- return ValidationUtil.isConnectable(
+ return SupportUtil.getInstance().getValidationUtil().isConnectable(
src, srcRef, bind.getEndpoint1().getSub(),
tgt, tgtRef, bind.getEndpoint2().getSub(),
ac, bind, true).isOk();
@@ -343,17 +341,17 @@ public class BindingSupport {
super.postReconnect(context);
IFeatureProvider featureProvider = getFeatureProvider();
- Port src = SupportUtil.getPort(context.getConnection().getStart(), featureProvider);
- Port dst = SupportUtil.getPort(context.getConnection().getEnd(), featureProvider);
- StructureClass sc = SupportUtil.getParent(getDiagram(), featureProvider);
+ Port src = SupportUtil.getInstance().getPort(context.getConnection().getStart(), featureProvider);
+ Port dst = SupportUtil.getInstance().getPort(context.getConnection().getEnd(), featureProvider);
+ StructureClass sc = SupportUtil.getInstance().getParent(getDiagram(), featureProvider);
if (src!=null && dst!=null && sc!=null) {
Binding bind = (Binding) getBusinessObjectForPictogramElement(context.getConnection());
BindingEndPoint ep1 = RoomFactory.eINSTANCE.createBindingEndPoint();
- ActorContainerRef ar1 = SupportUtil.getRef(context.getConnection().getStart(), featureProvider);
+ ActorContainerRef ar1 = SupportUtil.getInstance().getRef(context.getConnection().getStart(), featureProvider);
ep1.setPort(src);
ep1.setActorRef(ar1);
BindingEndPoint ep2 = RoomFactory.eINSTANCE.createBindingEndPoint();
- ActorContainerRef ar2 = SupportUtil.getRef(context.getConnection().getEnd(), featureProvider);
+ ActorContainerRef ar2 = SupportUtil.getInstance().getRef(context.getConnection().getEnd(), featureProvider);
ep2.setPort(dst);
ep2.setActorRef(ar2);
@@ -549,7 +547,7 @@ public class BindingSupport {
EObject bo = Graphiti.getLinkService().getBusinessObjectForLinkedPictogramElement(pe);
if (bo instanceof Binding) {
Binding bind = (Binding) bo;
- return RoomNameProvider.getDisplayName(bind);
+ return SupportUtil.getInstance().getRoomNameProvider().getDisplayName(bind);
}
return super.getToolTip(ga);
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/InterfaceItemSupport.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/InterfaceItemSupport.java
index 0212b27ae..fc6a03856 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/InterfaceItemSupport.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/InterfaceItemSupport.java
@@ -21,11 +21,10 @@ import org.eclipse.etrice.core.room.InterfaceItem;
import org.eclipse.etrice.core.room.Port;
import org.eclipse.etrice.core.room.SPP;
import org.eclipse.etrice.core.room.SubSystemRef;
-import org.eclipse.etrice.core.room.util.RoomHelpers;
-import org.eclipse.etrice.ui.common.support.ChangeAwareCreateFeature;
-import org.eclipse.etrice.ui.common.support.ChangeAwareCustomFeature;
-import org.eclipse.etrice.ui.common.support.DeleteWithoutConfirmFeature;
-import org.eclipse.etrice.ui.common.support.NoResizeFeature;
+import org.eclipse.etrice.ui.common.base.support.ChangeAwareCreateFeature;
+import org.eclipse.etrice.ui.common.base.support.ChangeAwareCustomFeature;
+import org.eclipse.etrice.ui.common.base.support.DeleteWithoutConfirmFeature;
+import org.eclipse.etrice.ui.common.base.support.NoResizeFeature;
import org.eclipse.etrice.ui.structure.support.context.PositionUpdateContext;
import org.eclipse.etrice.ui.structure.support.feature.ShapeUpdateFeature;
import org.eclipse.graphiti.dt.IDiagramTypeProvider;
@@ -336,7 +335,7 @@ public class InterfaceItemSupport {
do {
if (ac==port.eContainer())
found = true;
- ac = ac.getBase();
+ ac = ac.getActorBase();
}
while (!found && ac!=null);
@@ -722,7 +721,7 @@ public class InterfaceItemSupport {
if (bo instanceof InterfaceItem) {
InterfaceItem ifitem = (InterfaceItem) bo;
String name = ifitem.getName();
- String protocol = RoomHelpers.getGeneralProtocol(ifitem).getName();
+ String protocol = SupportUtil.getInstance().getRoomHelpers().getGeneralProtocol(ifitem).getName();
if (ifitem instanceof Port) {
Port port = (Port) ifitem;
if (port.getMultiplicity()==-1)
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/LayerConnectionSupport.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/LayerConnectionSupport.java
index dc2c5a841..7a2e53a33 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/LayerConnectionSupport.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/LayerConnectionSupport.java
@@ -23,9 +23,8 @@ import org.eclipse.etrice.core.room.SAPoint;
import org.eclipse.etrice.core.room.SPP;
import org.eclipse.etrice.core.room.SPPoint;
import org.eclipse.etrice.core.room.StructureClass;
-import org.eclipse.etrice.core.validation.ValidationUtil;
-import org.eclipse.etrice.ui.common.support.ChangeAwareCreateConnectionFeature;
-import org.eclipse.etrice.ui.common.support.DeleteWithoutConfirmFeature;
+import org.eclipse.etrice.ui.common.base.support.ChangeAwareCreateConnectionFeature;
+import org.eclipse.etrice.ui.common.base.support.DeleteWithoutConfirmFeature;
import org.eclipse.etrice.ui.structure.ImageProvider;
import org.eclipse.etrice.ui.structure.support.context.ConnectionUpdateContext;
import org.eclipse.etrice.ui.structure.support.context.InitialAddConnectionContext;
@@ -90,31 +89,31 @@ public class LayerConnectionSupport {
@Override
public boolean canCreate(ICreateConnectionContext context) {
IFeatureProvider featureProvider = getFeatureProvider();
- SPP src = SupportUtil.getSPP(context.getSourceAnchor(), featureProvider);
- ActorContainerRef srcRef = SupportUtil.getRef(context.getSourceAnchor(), featureProvider);
- SPP tgt = SupportUtil.getSPP(context.getTargetAnchor(), featureProvider);
- ActorContainerRef tgtRef = SupportUtil.getRef(context.getTargetAnchor(), featureProvider);
- StructureClass sc = SupportUtil.getParent(context, featureProvider);
+ SPP src = SupportUtil.getInstance().getSPP(context.getSourceAnchor(), featureProvider);
+ ActorContainerRef srcRef = SupportUtil.getInstance().getRef(context.getSourceAnchor(), featureProvider);
+ SPP tgt = SupportUtil.getInstance().getSPP(context.getTargetAnchor(), featureProvider);
+ ActorContainerRef tgtRef = SupportUtil.getInstance().getRef(context.getTargetAnchor(), featureProvider);
+ StructureClass sc = SupportUtil.getInstance().getParent(context, featureProvider);
- return ValidationUtil.isConnectable(src, srcRef, tgt, tgtRef, sc).isOk();
+ return SupportUtil.getInstance().getValidationUtil().isConnectable(src, srcRef, tgt, tgtRef, sc).isOk();
}
public boolean canStartConnection(ICreateConnectionContext context) {
IFeatureProvider featureProvider = getFeatureProvider();
- SPP src = SupportUtil.getSPP(context.getSourceAnchor(), featureProvider);
- ActorContainerRef ref = SupportUtil.getRef(context.getSourceAnchor(), featureProvider);
- StructureClass sc = SupportUtil.getParent(context, featureProvider);
- return ValidationUtil.isConnectableSrc(src, ref, sc);
+ SPP src = SupportUtil.getInstance().getSPP(context.getSourceAnchor(), featureProvider);
+ ActorContainerRef ref = SupportUtil.getInstance().getRef(context.getSourceAnchor(), featureProvider);
+ StructureClass sc = SupportUtil.getInstance().getParent(context, featureProvider);
+ return SupportUtil.getInstance().getValidationUtil().isConnectableSrc(src, ref, sc);
}
@Override
protected Connection doCreate(ICreateConnectionContext context) {
IFeatureProvider featureProvider = getFeatureProvider();
- SPP src = SupportUtil.getSPP(context.getSourceAnchor(), featureProvider);
- ActorContainerRef srcRef = SupportUtil.getRef(context.getSourceAnchor(), featureProvider);
- SPP dst = SupportUtil.getSPP(context.getTargetAnchor(), featureProvider);
- ActorContainerRef dstRef = SupportUtil.getRef(context.getTargetAnchor(), featureProvider);
- StructureClass sc = SupportUtil.getParent(context, featureProvider);
+ SPP src = SupportUtil.getInstance().getSPP(context.getSourceAnchor(), featureProvider);
+ ActorContainerRef srcRef = SupportUtil.getInstance().getRef(context.getSourceAnchor(), featureProvider);
+ SPP dst = SupportUtil.getInstance().getSPP(context.getTargetAnchor(), featureProvider);
+ ActorContainerRef dstRef = SupportUtil.getInstance().getRef(context.getTargetAnchor(), featureProvider);
+ StructureClass sc = SupportUtil.getInstance().getParent(context, featureProvider);
LayerConnection lc = RoomFactory.eINSTANCE.createLayerConnection();
SAPoint sapt = null;
@@ -310,13 +309,13 @@ public class LayerConnectionSupport {
atgt = context.getNewAnchor();
IFeatureProvider featureProvider = getFeatureProvider();
- SPP src = SupportUtil.getSPP(asrc, featureProvider);
- ActorContainerRef srcRef = SupportUtil.getRef(asrc, featureProvider);
- SPP tgt = SupportUtil.getSPP(atgt, featureProvider);
- ActorContainerRef tgtRef = SupportUtil.getRef(atgt, featureProvider);
- StructureClass sc = SupportUtil.getParent(getDiagram(), featureProvider);
+ SPP src = SupportUtil.getInstance().getSPP(asrc, featureProvider);
+ ActorContainerRef srcRef = SupportUtil.getInstance().getRef(asrc, featureProvider);
+ SPP tgt = SupportUtil.getInstance().getSPP(atgt, featureProvider);
+ ActorContainerRef tgtRef = SupportUtil.getInstance().getRef(atgt, featureProvider);
+ StructureClass sc = SupportUtil.getInstance().getParent(getDiagram(), featureProvider);
- return ValidationUtil.isConnectable(src, srcRef, tgt, tgtRef, sc).isOk();
+ return SupportUtil.getInstance().getValidationUtil().isConnectable(src, srcRef, tgt, tgtRef, sc).isOk();
}
@Override
@@ -324,10 +323,10 @@ public class LayerConnectionSupport {
super.postReconnect(context);
IFeatureProvider featureProvider = getFeatureProvider();
- SPP src = SupportUtil.getSPP(context.getConnection().getStart(), featureProvider);
- ActorContainerRef srcRef = SupportUtil.getRef(context.getConnection().getStart(), featureProvider);
- SPP dst = SupportUtil.getSPP(context.getConnection().getEnd(), featureProvider);
- ActorContainerRef dstRef = SupportUtil.getRef(context.getConnection().getEnd(), featureProvider);
+ SPP src = SupportUtil.getInstance().getSPP(context.getConnection().getStart(), featureProvider);
+ ActorContainerRef srcRef = SupportUtil.getInstance().getRef(context.getConnection().getStart(), featureProvider);
+ SPP dst = SupportUtil.getInstance().getSPP(context.getConnection().getEnd(), featureProvider);
+ ActorContainerRef dstRef = SupportUtil.getInstance().getRef(context.getConnection().getEnd(), featureProvider);
doneChanges = true;
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/PortSupport.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/PortSupport.java
index a31fa7a7e..36c9ee4b6 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/PortSupport.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/PortSupport.java
@@ -18,20 +18,18 @@ import java.util.Collection;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.etrice.core.naming.RoomNameProvider;
import org.eclipse.etrice.core.room.ActorClass;
import org.eclipse.etrice.core.room.ActorContainerClass;
import org.eclipse.etrice.core.room.Binding;
import org.eclipse.etrice.core.room.BindingEndPoint;
import org.eclipse.etrice.core.room.ExternalPort;
import org.eclipse.etrice.core.room.InterfaceItem;
-import org.eclipse.etrice.core.room.MessageFromIf;
+import org.eclipse.etrice.core.fsm.fSM.MessageFromIf;
import org.eclipse.etrice.core.room.Port;
import org.eclipse.etrice.core.room.RoomFactory;
import org.eclipse.etrice.core.room.RoomPackage;
import org.eclipse.etrice.core.room.StructureClass;
import org.eclipse.etrice.core.room.SubSystemClass;
-import org.eclipse.etrice.core.room.util.RoomHelpers;
import org.eclipse.etrice.ui.structure.DiagramTypeProvider;
import org.eclipse.etrice.ui.structure.ImageProvider;
import org.eclipse.etrice.ui.structure.dialogs.PortPropertyDialog;
@@ -100,7 +98,7 @@ public class PortSupport extends InterfaceItemSupport {
// create Port
Port port = RoomFactory.eINSTANCE.createPort();
- port.setName(RoomNameProvider.getUniqueInterfaceItemName("p", acc));
+ port.setName(SupportUtil.getInstance().getRoomUtil().getUniqueInterfaceItemName("p", acc));
ExternalPort xp = null;
if (acc instanceof ActorClass) {
@@ -371,7 +369,7 @@ public class PortSupport extends InterfaceItemSupport {
ContainerShape containerShape,
GraphicsAlgorithm invisibleRectangle, Color darkColor, Color brightDolor) {
- boolean relay = RoomHelpers.isRelay(port);
+ boolean relay = SupportUtil.getInstance().getRoomHelpers().isRelay(port);
int size = refport?ITEM_SIZE_SMALL:ITEM_SIZE;
int margin = refport?MARGIN_SMALL:MARGIN;
@@ -529,7 +527,7 @@ public class PortSupport extends InterfaceItemSupport {
String kind = "";
if (port.isConjugated())
kind += "C";
- if (RoomHelpers.isRelay(port))
+ if (SupportUtil.getInstance().getRoomHelpers().isRelay(port))
kind += "R";
if (port.isReplicated())
kind += "M";
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/SPPSupport.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/SPPSupport.java
index ce0003cab..e01cd9622 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/SPPSupport.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/SPPSupport.java
@@ -18,7 +18,6 @@ import java.util.Collection;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature.Setting;
import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.etrice.core.naming.RoomNameProvider;
import org.eclipse.etrice.core.room.ActorContainerClass;
import org.eclipse.etrice.core.room.InterfaceItem;
import org.eclipse.etrice.core.room.LayerConnection;
@@ -29,8 +28,7 @@ import org.eclipse.etrice.core.room.SPP;
import org.eclipse.etrice.core.room.SPPoint;
import org.eclipse.etrice.core.room.ServiceImplementation;
import org.eclipse.etrice.core.room.StructureClass;
-import org.eclipse.etrice.core.validation.ValidationUtil;
-import org.eclipse.etrice.ui.common.support.NoResizeFeature;
+import org.eclipse.etrice.ui.common.base.support.NoResizeFeature;
import org.eclipse.etrice.ui.structure.DiagramTypeProvider;
import org.eclipse.etrice.ui.structure.ImageProvider;
import org.eclipse.etrice.ui.structure.dialogs.SPPPropertyDialog;
@@ -99,7 +97,7 @@ public class SPPSupport extends InterfaceItemSupport {
// create SPP
SPP spp = RoomFactory.eINSTANCE.createSPP();
- spp.setName(RoomNameProvider.getUniqueInterfaceItemName("spp", acc));
+ spp.setName(SupportUtil.getInstance().getRoomUtil().getUniqueInterfaceItemName("spp", acc));
acc.getServiceProvisionPoints().add(spp);
@@ -331,7 +329,7 @@ public class SPPSupport extends InterfaceItemSupport {
ContainerShape containerShape,
GraphicsAlgorithm invisibleRectangle, Color darkColor, Color brightDolor) {
- boolean relay = ValidationUtil.isRelay(spp);
+ boolean relay = SupportUtil.getInstance().getValidationUtil().isRelay(spp);
int size = refspp?ITEM_SIZE_SMALL:ITEM_SIZE;
int margin = refspp?MARGIN_SMALL:MARGIN;
@@ -467,7 +465,7 @@ public class SPPSupport extends InterfaceItemSupport {
protected static String getSPPKind(SPP spp) {
String kind = "";
- if (ValidationUtil.isRelay(spp))
+ if (SupportUtil.getInstance().getValidationUtil().isRelay(spp))
kind += "R";
return kind;
}
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/StructureClassSupport.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/StructureClassSupport.java
index ee2521978..33d5333ce 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/StructureClassSupport.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/StructureClassSupport.java
@@ -19,9 +19,9 @@ import org.eclipse.etrice.core.room.ActorClass;
import org.eclipse.etrice.core.room.InterfaceItem;
import org.eclipse.etrice.core.room.Port;
import org.eclipse.etrice.core.room.StructureClass;
+import org.eclipse.etrice.ui.common.base.editor.DiagramEditorBase;
+import org.eclipse.etrice.ui.common.base.support.DeleteWithoutConfirmFeature;
import org.eclipse.etrice.ui.common.commands.ChangeDiagramInputJob;
-import org.eclipse.etrice.ui.common.editor.RoomDiagramEditor;
-import org.eclipse.etrice.ui.common.support.DeleteWithoutConfirmFeature;
import org.eclipse.graphiti.dt.IDiagramTypeProvider;
import org.eclipse.graphiti.features.IAddFeature;
import org.eclipse.graphiti.features.IDeleteFeature;
@@ -261,7 +261,7 @@ public class StructureClassSupport {
@Override
public void execute(ICustomContext context) {
- RoomDiagramEditor editor = (RoomDiagramEditor) getDiagramBehavior().getDiagramContainer();
+ DiagramEditorBase editor = (DiagramEditorBase) getDiagramBehavior().getDiagramContainer();
Job job = new ChangeDiagramInputJob("blub", editor);
job.setUser(true);
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/StructureClassUpdate.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/StructureClassUpdate.java
index 8c48ad493..db227ee70 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/StructureClassUpdate.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/StructureClassUpdate.java
@@ -25,7 +25,6 @@ import org.eclipse.etrice.core.room.InterfaceItem;
import org.eclipse.etrice.core.room.LayerConnection;
import org.eclipse.etrice.core.room.RoomPackage;
import org.eclipse.etrice.core.room.StructureClass;
-import org.eclipse.etrice.core.room.util.RoomHelpers;
import org.eclipse.etrice.ui.structure.support.context.ConnectionUpdateContext;
import org.eclipse.etrice.ui.structure.support.context.InitialAddConnectionContext;
import org.eclipse.etrice.ui.structure.support.context.PositionUpdateContext;
@@ -73,7 +72,7 @@ public class StructureClassUpdate extends ShapeUpdateFeature {
// ACTOR_CONTAINER_REF
{
Map<EObject, Shape> present = getChildrenShapesForBoClass(containerShape, RoomPackage.Literals.ACTOR_CONTAINER_REF);
- List<ActorContainerRef> toAdd = RoomHelpers.getAllActorContainerRefs(sc);
+ List<ActorContainerRef> toAdd = SupportUtil.getInstance().getRoomHelpers().getAllActorContainerRefs(sc);
toAdd.removeAll(present.keySet());
Map<EObject, Shape> newShapes = addShapesInitial(toAdd, containerShape);
@@ -88,12 +87,12 @@ public class StructureClassUpdate extends ShapeUpdateFeature {
// INTERFACE_ITEM
{
Map<EObject, Shape> present = getChildrenShapesForBoClass(containerShape, RoomPackage.Literals.INTERFACE_ITEM);
- List<InterfaceItem> toAdd = RoomHelpers.getInterfaceItems(sc, true);
+ List<InterfaceItem> toAdd = SupportUtil.getInstance().getRoomHelpers().getInterfaceItems(sc, true);
if(sc instanceof ActorClass){
ActorClass base = (ActorClass)sc;
while(base != null){
toAdd.addAll(base.getInternalPorts());
- base = base.getBase();
+ base = base.getActorBase();
}
}
toAdd.removeAll(present.keySet());
@@ -108,7 +107,7 @@ public class StructureClassUpdate extends ShapeUpdateFeature {
// LAYER_CONNECTION
{
Map<EObject, Connection> present = getAllConnectionsForBoClass(getDiagram(), RoomPackage.Literals.LAYER_CONNECTION);
- List<LayerConnection> toAdd = RoomHelpers.getConnections(sc, true);
+ List<LayerConnection> toAdd = SupportUtil.getInstance().getRoomHelpers().getConnections(sc, true);
toAdd.removeAll(present.keySet());
Map<EObject, Connection> newConns = addConnectionsInitial(toAdd, connectionProvider);
@@ -118,7 +117,7 @@ public class StructureClassUpdate extends ShapeUpdateFeature {
// BINDING
{
Map<EObject, Connection> present = getAllConnectionsForBoClass(getDiagram(), RoomPackage.Literals.BINDING);
- List<Binding> toAdd = RoomHelpers.getBindings(sc, true);
+ List<Binding> toAdd = SupportUtil.getInstance().getRoomHelpers().getBindings(sc, true);
toAdd.removeAll(present.keySet());
Map<EObject, Connection> newConns = addConnectionsInitial(toAdd, connectionProvider);
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/SupportUtil.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/SupportUtil.java
index a984497cb..aaa6dda3c 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/SupportUtil.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/SupportUtil.java
@@ -16,6 +16,7 @@ import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.etrice.core.naming.RoomNameProvider;
import org.eclipse.etrice.core.room.ActorContainerRef;
import org.eclipse.etrice.core.room.Binding;
import org.eclipse.etrice.core.room.BindingEndPoint;
@@ -28,6 +29,10 @@ import org.eclipse.etrice.core.room.SAPoint;
import org.eclipse.etrice.core.room.SPP;
import org.eclipse.etrice.core.room.SPPoint;
import org.eclipse.etrice.core.room.StructureClass;
+import org.eclipse.etrice.core.room.util.RoomHelpers;
+import org.eclipse.etrice.core.room.util.RoomUtil;
+import org.eclipse.etrice.core.ui.RoomUiModule;
+import org.eclipse.etrice.core.validation.ValidationUtil;
import org.eclipse.graphiti.features.IFeatureProvider;
import org.eclipse.graphiti.features.context.ICreateConnectionContext;
import org.eclipse.graphiti.features.context.impl.AddConnectionContext;
@@ -39,6 +44,9 @@ import org.eclipse.graphiti.mm.pictograms.Diagram;
import org.eclipse.graphiti.mm.pictograms.PictogramElement;
import org.eclipse.graphiti.mm.pictograms.Shape;
+import com.google.inject.Inject;
+import com.google.inject.Injector;
+
/**
* description
*
@@ -49,18 +57,69 @@ public class SupportUtil {
public static final String SEP = "#";
- public static EObject getOwnObject(EObject obj, ResourceSet rs) {
+ private static SupportUtil instance = null;
+
+
+ /**
+ * @return the instance
+ */
+ public static SupportUtil getInstance() {
+ if (instance==null) {
+ Injector injector = RoomUiModule.getInjector();
+ instance = injector.getInstance(SupportUtil.class);
+ }
+ return instance;
+ }
+
+ @Inject
+ private RoomHelpers roomHelpers;
+ @Inject
+ private ValidationUtil validationUtil;
+ @Inject
+ private RoomNameProvider roomNameProvider;
+ @Inject
+ private RoomUtil roomUtil;
+
+ /**
+ * @return the roomHelpers
+ */
+ public RoomHelpers getRoomHelpers() {
+ return roomHelpers;
+ }
+
+ /**
+ * @return the validationUtil
+ */
+ public ValidationUtil getValidationUtil() {
+ return validationUtil;
+ }
+
+ /**
+ * @return the roomUtil
+ */
+ public RoomUtil getRoomUtil() {
+ return roomUtil;
+ }
+
+ /**
+ * @return the roomNameProvider
+ */
+ public RoomNameProvider getRoomNameProvider() {
+ return roomNameProvider;
+ }
+
+ public EObject getOwnObject(EObject obj, ResourceSet rs) {
URI uri = EcoreUtil.getURI(obj);
EObject own = rs.getEObject(uri, true);
assert(own!=null): "own object must exist";
return own;
}
- public static ContainerShape addItem(EObject obj, int x, int y, ContainerShape container, IFeatureProvider fp) {
+ public ContainerShape addItem(EObject obj, int x, int y, ContainerShape container, IFeatureProvider fp) {
return addItem(obj, x, y, container, null, fp);
}
- public static ContainerShape addItem(EObject obj, int x, int y, ContainerShape container, Map<String,Anchor> ifitem2anchor, IFeatureProvider fp) {
+ public ContainerShape addItem(EObject obj, int x, int y, ContainerShape container, Map<String,Anchor> ifitem2anchor, IFeatureProvider fp) {
AddContext addContext = new AddContext();
addContext.setNewObject(obj);
@@ -82,7 +141,7 @@ public class SupportUtil {
return newShape;
}
- public static void getAnchors(ActorContainerRef acr, PictogramElement refShape,
+ public void getAnchors(ActorContainerRef acr, PictogramElement refShape,
final Map<String, Anchor> ifitem2anchor) {
if (refShape instanceof ContainerShape) {
@@ -106,7 +165,7 @@ public class SupportUtil {
}
}
- public static void addRefItem(ActorContainerRef obj, ContainerShape acShape, int x, int y, IFeatureProvider featureProvider, final Map<String, Anchor> ifitem2anchor) {
+ public void addRefItem(ActorContainerRef obj, ContainerShape acShape, int x, int y, IFeatureProvider featureProvider, final Map<String, Anchor> ifitem2anchor) {
AddContext addContext = new AddContext();
addContext.setNewObject(obj);
addContext.setTargetContainer(acShape);
@@ -115,10 +174,10 @@ public class SupportUtil {
ContainerShape refShape = (ContainerShape) featureProvider.addIfPossible(addContext);
- SupportUtil.getAnchors(obj, refShape, ifitem2anchor);
+ getAnchors(obj, refShape, ifitem2anchor);
}
- public static void addInterfaceItem(InterfaceItem item, ContainerShape acShape, int x, int y, IFeatureProvider featureProvider, final Map<String, Anchor> ifitem2anchor) {
+ public void addInterfaceItem(InterfaceItem item, ContainerShape acShape, int x, int y, IFeatureProvider featureProvider, final Map<String, Anchor> ifitem2anchor) {
AddContext addContext = new AddContext();
addContext.setNewObject(item);
addContext.setTargetContainer(acShape);
@@ -130,7 +189,7 @@ public class SupportUtil {
ifitem2anchor.put(SEP+item.getName(), pe.getAnchors().get(0));
}
- public static void addBinding(Binding bind, IFeatureProvider featureProvider,
+ public void addBinding(Binding bind, IFeatureProvider featureProvider,
final Map<String, Anchor> ifitem2anchor) {
String ep1 = getName(bind.getEndpoint1());
String ep2 = getName(bind.getEndpoint2());
@@ -143,7 +202,7 @@ public class SupportUtil {
featureProvider.addIfPossible(context);
}
- public static void addLayerConnection(LayerConnection lc, IFeatureProvider featureProvider,
+ public void addLayerConnection(LayerConnection lc, IFeatureProvider featureProvider,
final Map<String, Anchor> ifitem2anchor) {
String ep1 = getName(lc.getFrom());
String ep2 = getName(lc.getTo());
@@ -156,7 +215,7 @@ public class SupportUtil {
featureProvider.addIfPossible(context);
}
- public static void addInterfaceItems(List<? extends InterfaceItem> items, int y, ContainerShape acShape, int width,
+ public void addInterfaceItems(List<? extends InterfaceItem> items, int y, ContainerShape acShape, int width,
IFeatureProvider fp,
final Map<String, Anchor> ifitem2anchor) {
@@ -164,12 +223,12 @@ public class SupportUtil {
int delta = width/(n+1);
int pos = delta;
for (InterfaceItem item : items) {
- SupportUtil.addInterfaceItem(item, acShape, pos+StructureClassSupport.MARGIN, y, fp, ifitem2anchor);
+ addInterfaceItem(item, acShape, pos+StructureClassSupport.MARGIN, y, fp, ifitem2anchor);
pos += delta;
}
}
- public static void addRefItems(List<? extends ActorContainerRef> actorRefs,
+ public void addRefItems(List<? extends ActorContainerRef> actorRefs,
ContainerShape acShape, int width,
IFeatureProvider fp, final Map<String, Anchor> ifitem2anchor) {
int ncols = width/ActorContainerRefSupport.DEFAULT_SIZE_X;
@@ -190,18 +249,18 @@ public class SupportUtil {
}
int x = x0+delta*col;
int y = y0+(ActorContainerRefSupport.MARGIN+ActorContainerRefSupport.DEFAULT_SIZE_Y)*row;
- SupportUtil.addRefItem(ar, acShape, x+StructureClassSupport.MARGIN, y+StructureClassSupport.MARGIN, fp, ifitem2anchor);
+ addRefItem(ar, acShape, x+StructureClassSupport.MARGIN, y+StructureClassSupport.MARGIN, fp, ifitem2anchor);
++i;
}
}
- public static String getName(BindingEndPoint ep) {
+ public String getName(BindingEndPoint ep) {
String ar = ep.getActorRef()==null? "":ep.getActorRef().getName();
String p = ep.getPort().getName();
return ar+SEP+p;
}
- public static String getName(SAPoint sapt) {
+ public String getName(SAPoint sapt) {
if (sapt instanceof RelaySAPoint) {
return SEP+((RelaySAPoint)sapt).getRelay().getName();
}
@@ -213,15 +272,15 @@ public class SupportUtil {
return null;
}
- public static String getName(SPPoint sppt) {
+ public String getName(SPPoint sppt) {
return sppt.getRef().getName()+SEP+sppt.getService().getName();
}
- public static List<InterfaceItem> getInterfaceItems(ContainerShape shape, IFeatureProvider fp) {
+ public List<InterfaceItem> getInterfaceItems(ContainerShape shape, IFeatureProvider fp) {
return getInterfaceItems(shape, fp, null);
}
- public static List<InterfaceItem> getInterfaceItems(ContainerShape shape, IFeatureProvider fp, Map<String, Anchor> ifitem2anchor) {
+ public List<InterfaceItem> getInterfaceItems(ContainerShape shape, IFeatureProvider fp, Map<String, Anchor> ifitem2anchor) {
List<InterfaceItem> items = new ArrayList<InterfaceItem>();
for (Shape ch : shape.getChildren()) {
Object bo = fp.getBusinessObjectForPictogramElement(ch);
@@ -234,11 +293,11 @@ public class SupportUtil {
return items;
}
- public static List<ActorContainerRef> getRefs(ContainerShape shape, IFeatureProvider fp) {
+ public List<ActorContainerRef> getRefs(ContainerShape shape, IFeatureProvider fp) {
return getRefs(shape, fp, null);
}
- public static List<ActorContainerRef> getRefs(ContainerShape shape, IFeatureProvider fp, Map<String, Anchor> ifitem2anchor) {
+ public List<ActorContainerRef> getRefs(ContainerShape shape, IFeatureProvider fp, Map<String, Anchor> ifitem2anchor) {
List<ActorContainerRef> refs = new ArrayList<ActorContainerRef>();
for (Shape ch : shape.getChildren()) {
Object bo = fp.getBusinessObjectForPictogramElement(ch);
@@ -251,7 +310,7 @@ public class SupportUtil {
return refs;
}
- public static List<Binding> getBindings(Diagram diag, IFeatureProvider fp) {
+ public List<Binding> getBindings(Diagram diag, IFeatureProvider fp) {
List<Binding> bindings = new ArrayList<Binding>();
for (Connection conn : diag.getConnections()) {
@@ -262,7 +321,7 @@ public class SupportUtil {
return bindings;
}
- public static List<LayerConnection> getConnections(Diagram diag, IFeatureProvider fp) {
+ public List<LayerConnection> getConnections(Diagram diag, IFeatureProvider fp) {
List<LayerConnection> bindings = new ArrayList<LayerConnection>();
for (Connection conn : diag.getConnections()) {
@@ -273,12 +332,12 @@ public class SupportUtil {
return bindings;
}
- public static StructureClass getParent(ICreateConnectionContext context, IFeatureProvider fp) {
+ public StructureClass getParent(ICreateConnectionContext context, IFeatureProvider fp) {
ContainerShape shape = (ContainerShape) context.getSourcePictogramElement().eContainer();
return getParent(shape, fp);
}
- public static StructureClass getParent(ContainerShape shape, IFeatureProvider fp) {
+ public StructureClass getParent(ContainerShape shape, IFeatureProvider fp) {
if(shape == null)
return null;
@@ -294,7 +353,7 @@ public class SupportUtil {
return null;
}
- public static Port getPort(Anchor anchor, IFeatureProvider fp) {
+ public Port getPort(Anchor anchor, IFeatureProvider fp) {
if (anchor != null) {
Object obj = fp.getBusinessObjectForPictogramElement(anchor.getParent());
if (obj instanceof Port) {
@@ -304,7 +363,7 @@ public class SupportUtil {
return null;
}
- public static SPP getSPP(Anchor anchor, IFeatureProvider fp) {
+ public SPP getSPP(Anchor anchor, IFeatureProvider fp) {
if (anchor != null) {
Object obj = fp.getBusinessObjectForPictogramElement(anchor.getParent());
if (obj instanceof SPP) {
@@ -314,7 +373,7 @@ public class SupportUtil {
return null;
}
- public static ActorContainerRef getRef(Anchor anchor, IFeatureProvider fp) {
+ public ActorContainerRef getRef(Anchor anchor, IFeatureProvider fp) {
if (anchor != null) {
ContainerShape shape = (ContainerShape) anchor.getParent().eContainer();
Object bo = fp.getBusinessObjectForPictogramElement(shape);
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/provider/DefaultPositionProvider.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/provider/DefaultPositionProvider.java
index 1b5eb2696..a7ce22c85 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/provider/DefaultPositionProvider.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/provider/DefaultPositionProvider.java
@@ -29,12 +29,12 @@ import org.eclipse.etrice.core.room.Port;
import org.eclipse.etrice.core.room.RoomClass;
import org.eclipse.etrice.core.room.StructureClass;
import org.eclipse.etrice.core.room.SubSystemRef;
-import org.eclipse.etrice.core.room.util.RoomHelpers;
import org.eclipse.etrice.ui.structure.DiagramAccess;
import org.eclipse.etrice.ui.structure.support.ActorContainerRefSupport;
import org.eclipse.etrice.ui.structure.support.DiagramUtil;
import org.eclipse.etrice.ui.structure.support.InterfaceItemSupport;
import org.eclipse.etrice.ui.structure.support.StructureClassSupport;
+import org.eclipse.etrice.ui.structure.support.SupportUtil;
import org.eclipse.graphiti.mm.algorithms.GraphicsAlgorithm;
import org.eclipse.graphiti.mm.pictograms.ContainerShape;
import org.eclipse.graphiti.mm.pictograms.Diagram;
@@ -106,7 +106,7 @@ public class DefaultPositionProvider implements IPositionProvider {
refs.add((ActorContainerRef) obj);
else if(obj instanceof InterfaceItem){
InterfaceItem item = (InterfaceItem)obj;
- if(item instanceof Port && RoomHelpers.isInternal((Port)item))
+ if(item instanceof Port && SupportUtil.getInstance().getRoomHelpers().isInternal((Port)item))
intPorts.add(item);
else
ifItems.add(item);
@@ -129,20 +129,20 @@ public class DefaultPositionProvider implements IPositionProvider {
int height = StructureClassSupport.DEFAULT_SIZE_Y;
int y = - InterfaceItemSupport.MARGIN + 2*ActorContainerRefSupport.MARGIN;
- layoutInterfaceItems(RoomHelpers.getInterfaceItems(sc, true), width, height, -InterfaceItemSupport.MARGIN);
+ layoutInterfaceItems(SupportUtil.getInstance().getRoomHelpers().getInterfaceItems(sc, true), width, height, -InterfaceItemSupport.MARGIN);
List<InterfaceItem> intPorts = new ArrayList<InterfaceItem>();
if(sc instanceof ActorClass){
ActorClass base = (ActorClass)sc;
while(base != null){
intPorts.addAll(base.getInternalPorts());
- base = base.getBase();
+ base = base.getActorBase();
}
}
layoutInterfaceItems(intPorts, width, height, y);
y += InterfaceItemSupport.ITEM_SIZE + 2*ActorContainerRefSupport.MARGIN;
- layoutActorRefs(RoomHelpers.getAllActorContainerRefs(sc), width, height, y);
+ layoutActorRefs(SupportUtil.getInstance().getRoomHelpers().getAllActorContainerRefs(sc), width, height, y);
}
diff --git a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/provider/SuperDiagramPositionProvider.java b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/provider/SuperDiagramPositionProvider.java
index f2261967c..b0a15755d 100644
--- a/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/provider/SuperDiagramPositionProvider.java
+++ b/plugins/org.eclipse.etrice.ui.structure/src/org/eclipse/etrice/ui/structure/support/provider/SuperDiagramPositionProvider.java
@@ -74,7 +74,7 @@ public class SuperDiagramPositionProvider implements IPositionProvider {
// parent.inv & parent.inner at mapPositions()
if (sc instanceof ActorClass) {
- ActorClass base = ((ActorClass) sc).getBase();
+ ActorClass base = ((ActorClass) sc).getActorBase();
if (base != null)
mapPositions(base);
}

Back to the top