diff options
author | Henrik Rentz-Reichert | 2014-08-25 16:03:37 +0000 |
---|---|---|
committer | Henrik Rentz-Reichert | 2014-08-25 16:03:37 +0000 |
commit | 49cdf418fd62c007bdf5277be82dec6522a8f281 (patch) | |
tree | 8f8f1365ce60c1dee9c36e7cac28984a7e474671 /plugins/org.eclipse.etrice.ui.structure | |
parent | 094e6bda125ce1382af71008cd62f21aecdb85e4 (diff) | |
parent | d0dd5b5db10b400462aea55483a155d06c47d901 (diff) | |
download | org.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')
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); } |