diff options
author | Henrik Rentz-Reichert | 2017-08-29 15:07:49 +0000 |
---|---|---|
committer | Henrik Rentz-Reichert | 2017-08-29 15:13:10 +0000 |
commit | 04647080b992f0e78286475c0d079b90728e2e6c (patch) | |
tree | 3e94896764d04aee6b724dacee1ca6e441c88f6a | |
parent | e8aed4ad25ee7451045ddb0f3b6ec12eccee238e (diff) | |
download | org.eclipse.etrice-04647080b992f0e78286475c0d079b90728e2e6c.tar.gz org.eclipse.etrice-04647080b992f0e78286475c0d079b90728e2e6c.tar.xz org.eclipse.etrice-04647080b992f0e78286475c0d079b90728e2e6c.zip |
Bug 521498 - [genmodel, generators] gen. only explicitly passed models
* generate only models that are passed on the command line
* also in non-lib mode generate all ROOM classes
Change-Id: Ib0766d77ba9de3c1b4de4d9b97c0a301241603a2
96 files changed, 771 insertions, 705 deletions
diff --git a/plugins/org.eclipse.etrice.core.genmodel/model/etricegen.ecore b/plugins/org.eclipse.etrice.core.genmodel/model/etricegen.ecore index 09f77564e..938a6d308 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/model/etricegen.ecore +++ b/plugins/org.eclipse.etrice.core.genmodel/model/etricegen.ecore @@ -20,6 +20,9 @@ <eOperations name="getExpandedActorClass" eType="#//ExpandedActorClass"> <eParameters name="ai" eType="#//ActorInstance"/> </eOperations> + <eOperations name="getExpandedActorClass" eType="#//ExpandedActorClass"> + <eParameters name="ac" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ActorClass"/> + </eOperations> <eOperations name="getInstance" eType="#//StructureInstance"> <eParameters name="path" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> </eOperations> @@ -37,19 +40,21 @@ derived="true"/> <eStructuralFeatures xsi:type="ecore:EReference" name="models" upperBound="-1" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//RoomModel"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="importedModels" upperBound="-1" + eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//RoomModel"/> <eStructuralFeatures xsi:type="ecore:EReference" name="xpActorClasses" upperBound="-1" eType="#//ExpandedActorClass" containment="true"/> - <eStructuralFeatures xsi:type="ecore:EReference" name="usedDataClasses" upperBound="-1" + <eStructuralFeatures xsi:type="ecore:EReference" name="dataClasses" upperBound="-1" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//DataClass" volatile="true" transient="true" derived="true"/> - <eStructuralFeatures xsi:type="ecore:EReference" name="usedProtocolClasses" upperBound="-1" + <eStructuralFeatures xsi:type="ecore:EReference" name="protocolClasses" upperBound="-1" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ProtocolClass" volatile="true" transient="true" derived="true"/> - <eStructuralFeatures xsi:type="ecore:EReference" name="usedActorClasses" upperBound="-1" + <eStructuralFeatures xsi:type="ecore:EReference" name="actorClasses" upperBound="-1" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ActorClass" volatile="true" transient="true" derived="true"/> - <eStructuralFeatures xsi:type="ecore:EReference" name="usedRoomModels" upperBound="-1" - eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//RoomModel" + <eStructuralFeatures xsi:type="ecore:EReference" name="enumClasses" upperBound="-1" + eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//EnumerationType" volatile="true" transient="true" derived="true"/> <eStructuralFeatures xsi:type="ecore:EReference" name="subSystemClasses" upperBound="-1" eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//SubSystemClass" @@ -60,9 +65,6 @@ eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//ActorClass"/> <eStructuralFeatures xsi:type="ecore:EReference" name="wiredInstances" upperBound="-1" eType="#//WiredStructureClass" containment="true"/> - <eStructuralFeatures xsi:type="ecore:EReference" name="usedEnumClasses" upperBound="-1" - eType="ecore:EClass ../../org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore#//EnumerationType" - volatile="true" transient="true" derived="true"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="InstanceBase" abstract="true"> <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/RoomGenmodelValidator.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/RoomGenmodelValidator.java index 49b45a362..142917c15 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/RoomGenmodelValidator.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/RoomGenmodelValidator.java @@ -104,7 +104,10 @@ public class RoomGenmodelValidator implements ICustomValidator { // System.out.println("checking model " + model.getName()); ArrayList<RoomModel> models = new ArrayList<RoomModel>(); + ArrayList<RoomModel> importedModels = new ArrayList<RoomModel>(); + models.add(model); + Resource resource = model.eResource(); if (resource != null) { ResourceSet rs = resource.getResourceSet(); @@ -112,18 +115,16 @@ public class RoomGenmodelValidator implements ICustomValidator { EcoreUtil.resolveAll(rs); for (Resource res : rs.getResources()) { for (EObject obj : res.getContents()) { - if (obj instanceof RoomModel) - models.add((RoomModel) obj); + if (obj instanceof RoomModel && obj!=model) + importedModels.add((RoomModel) obj); } } } } - if (models.isEmpty()) - models.add(model); Diag diagnostician = new Diag(messageAcceptor); GeneratorModelBuilder builder = new GeneratorModelBuilder(new NullLogger(), diagnostician); - builder.createGeneratorModel(models, true); + builder.createGeneratorModel(models, importedModels, true); // System.out.println("done checking model " + model.getName() + " with result: " // + (diagnostician.isFailed() ? "failed" : "ok")); diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/builder/GeneratorModelBuilder.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/builder/GeneratorModelBuilder.java index 3a2f3745b..a63f69ec8 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/builder/GeneratorModelBuilder.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/builder/GeneratorModelBuilder.java @@ -134,8 +134,8 @@ public class GeneratorModelBuilder { this.diagnostician = diagnostician; } - public Root createGeneratorModel(List<RoomModel> models, boolean asLibrary) { - return createGeneratorModel(models, asLibrary, false); + public Root createGeneratorModel(List<RoomModel> mainModels, List<RoomModel> importedModels, boolean asLibrary) { + return createGeneratorModel(mainModels, importedModels, asLibrary, false); } /** @@ -153,14 +153,16 @@ public class GeneratorModelBuilder { * contain also inherited state graph items and where RefinedStates * are removed and their contents is relocated. * - * @param models + * @param mainModels all models for which code should be generated + * @param importedModels all imported models * @param asLibrary * @param debug if true more output is produced * @return the root of the newly created instance model */ - public Root createGeneratorModel(List<RoomModel> models, boolean asLibrary, boolean debug) { + public Root createGeneratorModel(List<RoomModel> mainModels, List<RoomModel> importedModels, boolean asLibrary, boolean debug) { Root root = ETriceGenFactory.eINSTANCE.createRoot(); - root.getModels().addAll(models); + root.getModels().addAll(mainModels); + root.getImportedModels().addAll(importedModels); root.setLibrary(asLibrary); this.debug = debug; @@ -173,7 +175,7 @@ public class GeneratorModelBuilder { checkRelayPorts(root); boolean hasSystem = false; - for (RoomModel mdl : models) { + for (RoomModel mdl : mainModels) { for (LogicalSystem sys : mdl.getSystems()) { hasSystem = true; SystemInstance si = createLogicalSystemInstance(sys); @@ -183,13 +185,14 @@ public class GeneratorModelBuilder { if (!hasSystem) { logger.logInfo("GeneratorModelBuilder: no SystemClass found, assuming SubSystemClasses as top level elements"); - for (RoomModel mdl : models) { + for (RoomModel mdl : mainModels) { for (SubSystemClass comp : mdl.getSubSystemClasses()) { root.getOwnSubSystemInstances().add(createSubSystemInstance(comp, comp.getName())); } } } + System.out.println("no. subsysinst = " + root.getSubSystemInstances().size()); if (!root.getSubSystemInstances().isEmpty()) { createOptionalActorInstanceTrees(root); @@ -322,6 +325,8 @@ public class GeneratorModelBuilder { private void createOptionalActorInstanceTrees(Root root) { root.computeSubClasses(); + System.out.println("createOptionalActorInstanceTrees"); + /* determine all optional actor classes * * For the sake of simplicity we have to do this for all models to really get all possibilities. @@ -333,8 +338,10 @@ public class GeneratorModelBuilder { for (RoomModel mdl : root.getModels()) { for (ActorClass ac : mdl.getActorClasses()) { for (ActorRef ar : ac.getActorRefs()) { - if (ar.getRefType()==ReferenceType.OPTIONAL) + if (ar.getRefType()==ReferenceType.OPTIONAL) { + System.out.println("createOptionalActorInstanceTrees " + ar.getType().getName()); optionalActors.put(ar.getType(), null); + } } } } @@ -1230,9 +1237,16 @@ public class GeneratorModelBuilder { * @param root - the model root */ private void createExpandedActorClasses(Root root) { - for (ActorClass ac : root.getUsedActorClasses()) { + for (ActorClass ac : root.getActorClasses()) { root.getXpActorClasses().add(createExpandedActorClass(ac)); } + + // the C generator also needs actor classes to connect with + for (RoomModel model : root.getImportedModels()) { + for (ActorClass ac : model.getActorClasses()) { + root.getXpActorClasses().add(createExpandedActorClass(ac)); + } + } } /** diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/builder/Wiring.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/builder/Wiring.java index 555c592e6..7e88bca4c 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/builder/Wiring.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/builder/Wiring.java @@ -37,6 +37,7 @@ import org.eclipse.etrice.core.room.ProtocolClass; import org.eclipse.etrice.core.room.RefSAPoint; import org.eclipse.etrice.core.room.ReferenceType; import org.eclipse.etrice.core.room.RelaySAPoint; +import org.eclipse.etrice.core.room.RoomModel; import org.eclipse.etrice.core.room.SAP; import org.eclipse.etrice.core.room.ServiceImplementation; import org.eclipse.etrice.core.room.SubSystemClass; @@ -179,10 +180,17 @@ public class Wiring { } public void createWiredClasses() { - for (ActorClass ac : root.getUsedActorClasses()) { + for (ActorClass ac : root.getActorClasses()) { getWiredActorClass(ac); } + // the wiring model also needs actor classes to connect with + for (RoomModel model : root.getImportedModels()) { + for (ActorClass ac : model.getActorClasses()) { + getWiredActorClass(ac); + } + } + for (SubSystemClass ssc : root.getSubSystemClasses()) { createWiredSubSystemClass(ssc); } diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/AbstractInstance.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/AbstractInstance.java index 0926c87b7..ec4a5f05d 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/AbstractInstance.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/AbstractInstance.java @@ -20,10 +20,10 @@ import org.eclipse.emf.common.util.EList; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.AbstractInstance#getPorts <em>Ports</em>}</li> * </ul> - * </p> * * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getAbstractInstance() * @model abstract="true" diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ActorInstance.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ActorInstance.java index 5e97b3efd..ee0a80718 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ActorInstance.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ActorInstance.java @@ -28,12 +28,12 @@ import org.eclipse.etrice.core.room.SubSystemClass; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ActorInstance#getActorClass <em>Actor Class</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ActorInstance#getReplIdx <em>Repl Idx</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ActorInstance#getUnindexedName <em>Unindexed Name</em>}</li> * </ul> - * </p> * * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getActorInstance() * @model diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ActorInterfaceInstance.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ActorInterfaceInstance.java index d6f42df51..4d3d1d784 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ActorInterfaceInstance.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ActorInterfaceInstance.java @@ -21,13 +21,13 @@ import org.eclipse.etrice.core.room.ActorClass; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ActorInterfaceInstance#getActorClass <em>Actor Class</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ActorInterfaceInstance#getProvidedServices <em>Provided Services</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ActorInterfaceInstance#getOptionalInstances <em>Optional Instances</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ActorInterfaceInstance#isArray <em>Array</em>}</li> * </ul> - * </p> * * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getActorInterfaceInstance() * @model diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/BindingInstance.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/BindingInstance.java index c94bf65ca..b809780d0 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/BindingInstance.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/BindingInstance.java @@ -27,11 +27,11 @@ import org.eclipse.etrice.core.room.Binding; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.BindingInstance#getPorts <em>Ports</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.BindingInstance#getBinding <em>Binding</em>}</li> * </ul> - * </p> * * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getBindingInstance() * @model diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ConnectionInstance.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ConnectionInstance.java index 64d848571..ff35ec963 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ConnectionInstance.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ConnectionInstance.java @@ -24,13 +24,13 @@ import org.eclipse.etrice.core.room.SPP; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getFromAI <em>From AI</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getFromSPP <em>From SPP</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getToSPP <em>To SPP</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ConnectionInstance#getConnection <em>Connection</em>}</li> * </ul> - * </p> * * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getConnectionInstance() * @model diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ETriceGenPackage.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ETriceGenPackage.java index 935160f44..b43db7179 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ETriceGenPackage.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ETriceGenPackage.java @@ -122,94 +122,94 @@ public interface ETriceGenPackage extends EPackage { int ROOT__MODELS = 4; /** - * The feature id for the '<em><b>Xp Actor Classes</b></em>' containment reference list. + * The feature id for the '<em><b>Imported Models</b></em>' reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int ROOT__XP_ACTOR_CLASSES = 5; + int ROOT__IMPORTED_MODELS = 5; /** - * The feature id for the '<em><b>Used Data Classes</b></em>' reference list. + * The feature id for the '<em><b>Xp Actor Classes</b></em>' containment reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int ROOT__USED_DATA_CLASSES = 6; + int ROOT__XP_ACTOR_CLASSES = 6; /** - * The feature id for the '<em><b>Used Protocol Classes</b></em>' reference list. + * The feature id for the '<em><b>Data Classes</b></em>' reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int ROOT__USED_PROTOCOL_CLASSES = 7; + int ROOT__DATA_CLASSES = 7; /** - * The feature id for the '<em><b>Used Actor Classes</b></em>' reference list. + * The feature id for the '<em><b>Protocol Classes</b></em>' reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int ROOT__USED_ACTOR_CLASSES = 8; + int ROOT__PROTOCOL_CLASSES = 8; /** - * The feature id for the '<em><b>Used Room Models</b></em>' reference list. + * The feature id for the '<em><b>Actor Classes</b></em>' reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int ROOT__USED_ROOM_MODELS = 9; + int ROOT__ACTOR_CLASSES = 9; /** - * The feature id for the '<em><b>Sub System Classes</b></em>' reference list. + * The feature id for the '<em><b>Enum Classes</b></em>' reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int ROOT__SUB_SYSTEM_CLASSES = 10; + int ROOT__ENUM_CLASSES = 10; /** - * The feature id for the '<em><b>Optional Instances</b></em>' containment reference list. + * The feature id for the '<em><b>Sub System Classes</b></em>' reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int ROOT__OPTIONAL_INSTANCES = 11; + int ROOT__SUB_SYSTEM_CLASSES = 11; /** - * The feature id for the '<em><b>Optional Actor Classes</b></em>' reference list. + * The feature id for the '<em><b>Optional Instances</b></em>' containment reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int ROOT__OPTIONAL_ACTOR_CLASSES = 12; + int ROOT__OPTIONAL_INSTANCES = 12; /** - * The feature id for the '<em><b>Wired Instances</b></em>' containment reference list. + * The feature id for the '<em><b>Optional Actor Classes</b></em>' reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int ROOT__WIRED_INSTANCES = 13; + int ROOT__OPTIONAL_ACTOR_CLASSES = 13; /** - * The feature id for the '<em><b>Used Enum Classes</b></em>' reference list. + * The feature id for the '<em><b>Wired Instances</b></em>' containment reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated * @ordered */ - int ROOT__USED_ENUM_CLASSES = 14; + int ROOT__WIRED_INSTANCES = 14; /** * The number of structural features of the '<em>Root</em>' class. @@ -2182,6 +2182,17 @@ public interface ETriceGenPackage extends EPackage { EReference getRoot_Models(); /** + * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getImportedModels <em>Imported Models</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Imported Models</em>'. + * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getImportedModels() + * @see #getRoot() + * @generated + */ + EReference getRoot_ImportedModels(); + + /** * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getXpActorClasses <em>Xp Actor Classes</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2193,48 +2204,48 @@ public interface ETriceGenPackage extends EPackage { EReference getRoot_XpActorClasses(); /** - * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedDataClasses <em>Used Data Classes</em>}'. + * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getDataClasses <em>Data Classes</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @return the meta object for the reference list '<em>Used Data Classes</em>'. - * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedDataClasses() + * @return the meta object for the reference list '<em>Data Classes</em>'. + * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getDataClasses() * @see #getRoot() * @generated */ - EReference getRoot_UsedDataClasses(); + EReference getRoot_DataClasses(); /** - * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedProtocolClasses <em>Used Protocol Classes</em>}'. + * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getProtocolClasses <em>Protocol Classes</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @return the meta object for the reference list '<em>Used Protocol Classes</em>'. - * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedProtocolClasses() + * @return the meta object for the reference list '<em>Protocol Classes</em>'. + * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getProtocolClasses() * @see #getRoot() * @generated */ - EReference getRoot_UsedProtocolClasses(); + EReference getRoot_ProtocolClasses(); /** - * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedActorClasses <em>Used Actor Classes</em>}'. + * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getActorClasses <em>Actor Classes</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @return the meta object for the reference list '<em>Used Actor Classes</em>'. - * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedActorClasses() + * @return the meta object for the reference list '<em>Actor Classes</em>'. + * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getActorClasses() * @see #getRoot() * @generated */ - EReference getRoot_UsedActorClasses(); + EReference getRoot_ActorClasses(); /** - * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedRoomModels <em>Used Room Models</em>}'. + * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getEnumClasses <em>Enum Classes</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @return the meta object for the reference list '<em>Used Room Models</em>'. - * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedRoomModels() + * @return the meta object for the reference list '<em>Enum Classes</em>'. + * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getEnumClasses() * @see #getRoot() * @generated */ - EReference getRoot_UsedRoomModels(); + EReference getRoot_EnumClasses(); /** * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getSubSystemClasses <em>Sub System Classes</em>}'. @@ -2281,17 +2292,6 @@ public interface ETriceGenPackage extends EPackage { EReference getRoot_WiredInstances(); /** - * Returns the meta object for the reference list '{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedEnumClasses <em>Used Enum Classes</em>}'. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @return the meta object for the reference list '<em>Used Enum Classes</em>'. - * @see org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedEnumClasses() - * @see #getRoot() - * @generated - */ - EReference getRoot_UsedEnumClasses(); - - /** * Returns the meta object for class '{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase <em>Instance Base</em>}'. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -3221,6 +3221,14 @@ public interface ETriceGenPackage extends EPackage { EReference ROOT__MODELS = eINSTANCE.getRoot_Models(); /** + * The meta object literal for the '<em><b>Imported Models</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference ROOT__IMPORTED_MODELS = eINSTANCE.getRoot_ImportedModels(); + + /** * The meta object literal for the '<em><b>Xp Actor Classes</b></em>' containment reference list feature. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -3229,36 +3237,36 @@ public interface ETriceGenPackage extends EPackage { EReference ROOT__XP_ACTOR_CLASSES = eINSTANCE.getRoot_XpActorClasses(); /** - * The meta object literal for the '<em><b>Used Data Classes</b></em>' reference list feature. + * The meta object literal for the '<em><b>Data Classes</b></em>' reference list feature. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ - EReference ROOT__USED_DATA_CLASSES = eINSTANCE.getRoot_UsedDataClasses(); + EReference ROOT__DATA_CLASSES = eINSTANCE.getRoot_DataClasses(); /** - * The meta object literal for the '<em><b>Used Protocol Classes</b></em>' reference list feature. + * The meta object literal for the '<em><b>Protocol Classes</b></em>' reference list feature. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ - EReference ROOT__USED_PROTOCOL_CLASSES = eINSTANCE.getRoot_UsedProtocolClasses(); + EReference ROOT__PROTOCOL_CLASSES = eINSTANCE.getRoot_ProtocolClasses(); /** - * The meta object literal for the '<em><b>Used Actor Classes</b></em>' reference list feature. + * The meta object literal for the '<em><b>Actor Classes</b></em>' reference list feature. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ - EReference ROOT__USED_ACTOR_CLASSES = eINSTANCE.getRoot_UsedActorClasses(); + EReference ROOT__ACTOR_CLASSES = eINSTANCE.getRoot_ActorClasses(); /** - * The meta object literal for the '<em><b>Used Room Models</b></em>' reference list feature. + * The meta object literal for the '<em><b>Enum Classes</b></em>' reference list feature. * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ - EReference ROOT__USED_ROOM_MODELS = eINSTANCE.getRoot_UsedRoomModels(); + EReference ROOT__ENUM_CLASSES = eINSTANCE.getRoot_EnumClasses(); /** * The meta object literal for the '<em><b>Sub System Classes</b></em>' reference list feature. @@ -3293,14 +3301,6 @@ public interface ETriceGenPackage extends EPackage { EReference ROOT__WIRED_INSTANCES = eINSTANCE.getRoot_WiredInstances(); /** - * The meta object literal for the '<em><b>Used Enum Classes</b></em>' reference list feature. - * <!-- begin-user-doc --> - * <!-- end-user-doc --> - * @generated - */ - EReference ROOT__USED_ENUM_CLASSES = eINSTANCE.getRoot_UsedEnumClasses(); - - /** * The meta object literal for the '{@link org.eclipse.etrice.core.genmodel.etricegen.impl.InstanceBaseImpl <em>Instance Base</em>}' class. * <!-- begin-user-doc --> * <!-- end-user-doc --> diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ExpandedActorClass.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ExpandedActorClass.java index 0cd82fae9..980dfc04c 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ExpandedActorClass.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ExpandedActorClass.java @@ -26,10 +26,10 @@ import org.eclipse.etrice.core.room.VarDecl; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass#getActorClass <em>Actor Class</em>}</li> * </ul> - * </p> * * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getExpandedActorClass() * @model diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/InstanceBase.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/InstanceBase.java index 542f9d837..b33b002dd 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/InstanceBase.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/InstanceBase.java @@ -28,6 +28,7 @@ import org.eclipse.emf.ecore.EObject; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getName <em>Name</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getPath <em>Path</em>}</li> @@ -35,7 +36,6 @@ import org.eclipse.emf.ecore.EObject; * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getThreadId <em>Thread Id</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.InstanceBase#getNObjIDs <em>NObj IDs</em>}</li> * </ul> - * </p> * * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getInstanceBase() * @model abstract="true" diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/InterfaceItemInstance.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/InterfaceItemInstance.java index b745ddd95..3f2f0d7b5 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/InterfaceItemInstance.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/InterfaceItemInstance.java @@ -29,11 +29,11 @@ import org.eclipse.etrice.core.room.ProtocolClass; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.InterfaceItemInstance#getProtocol <em>Protocol</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.InterfaceItemInstance#getPeers <em>Peers</em>}</li> * </ul> - * </p> * * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getInterfaceItemInstance() * @model diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/OpenBinding.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/OpenBinding.java index 25964bbb3..43ce40822 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/OpenBinding.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/OpenBinding.java @@ -24,11 +24,11 @@ import org.eclipse.etrice.core.room.Port; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.OpenBinding#getPath <em>Path</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.OpenBinding#getPort <em>Port</em>}</li> * </ul> - * </p> * * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getOpenBinding() * @model diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/OpenServiceConnection.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/OpenServiceConnection.java index f9449db39..d9e7adfd4 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/OpenServiceConnection.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/OpenServiceConnection.java @@ -24,11 +24,11 @@ import org.eclipse.etrice.core.room.ProtocolClass; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.OpenServiceConnection#getPath <em>Path</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.OpenServiceConnection#getProtocol <em>Protocol</em>}</li> * </ul> - * </p> * * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getOpenServiceConnection() * @model diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/OptionalActorInstance.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/OptionalActorInstance.java index ca34e8ec6..6987f7313 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/OptionalActorInstance.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/OptionalActorInstance.java @@ -21,11 +21,11 @@ import org.eclipse.etrice.core.room.ActorClass; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.OptionalActorInstance#getActorClass <em>Actor Class</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.OptionalActorInstance#getRequiredServices <em>Required Services</em>}</li> * </ul> - * </p> * * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getOptionalActorInstance() * @model diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/PortInstance.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/PortInstance.java index bcaedd651..d052352e4 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/PortInstance.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/PortInstance.java @@ -24,12 +24,12 @@ import org.eclipse.etrice.core.room.Port; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getPort <em>Port</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getKind <em>Kind</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.PortInstance#getBindings <em>Bindings</em>}</li> * </ul> - * </p> * * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getPortInstance() * @model diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/PortKind.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/PortKind.java index 596a93fcb..83b056c82 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/PortKind.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/PortKind.java @@ -143,6 +143,8 @@ public enum PortKind implements Enumerator { * Returns the '<em><b>Port Kind</b></em>' literal with the specified literal value. * <!-- begin-user-doc --> * <!-- end-user-doc --> + * @param literal the literal. + * @return the matching enumerator or <code>null</code>. * @generated */ public static PortKind get(String literal) { @@ -159,6 +161,8 @@ public enum PortKind implements Enumerator { * Returns the '<em><b>Port Kind</b></em>' literal with the specified name. * <!-- begin-user-doc --> * <!-- end-user-doc --> + * @param name the name. + * @return the matching enumerator or <code>null</code>. * @generated */ public static PortKind getByName(String name) { @@ -175,6 +179,8 @@ public enum PortKind implements Enumerator { * Returns the '<em><b>Port Kind</b></em>' literal with the specified integer value. * <!-- begin-user-doc --> * <!-- end-user-doc --> + * @param value the integer value. + * @return the matching enumerator or <code>null</code>. * @generated */ public static PortKind get(int value) { diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/Root.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/Root.java index 0ee1e8458..7e058a288 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/Root.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/Root.java @@ -30,24 +30,24 @@ import org.eclipse.etrice.core.room.SubSystemClass; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#isLibrary <em>Library</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getSystemInstances <em>System Instances</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getOwnSubSystemInstances <em>Own Sub System Instances</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getSubSystemInstances <em>Sub System Instances</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getModels <em>Models</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getImportedModels <em>Imported Models</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getXpActorClasses <em>Xp Actor Classes</em>}</li> - * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedDataClasses <em>Used Data Classes</em>}</li> - * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedProtocolClasses <em>Used Protocol Classes</em>}</li> - * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedActorClasses <em>Used Actor Classes</em>}</li> - * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedRoomModels <em>Used Room Models</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getDataClasses <em>Data Classes</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getProtocolClasses <em>Protocol Classes</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getActorClasses <em>Actor Classes</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getEnumClasses <em>Enum Classes</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getSubSystemClasses <em>Sub System Classes</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getOptionalInstances <em>Optional Instances</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getOptionalActorClasses <em>Optional Actor Classes</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getWiredInstances <em>Wired Instances</em>}</li> - * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Root#getUsedEnumClasses <em>Used Enum Classes</em>}</li> * </ul> - * </p> * * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot() * @model @@ -142,6 +142,22 @@ public interface Root extends EObject { EList<RoomModel> getModels(); /** + * Returns the value of the '<em><b>Imported Models</b></em>' reference list. + * The list contents are of type {@link org.eclipse.etrice.core.room.RoomModel}. + * <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Imported Models</em>' reference list isn't clear, + * there really should be more of a description here... + * </p> + * <!-- end-user-doc --> + * @return the value of the '<em>Imported Models</em>' reference list. + * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_ImportedModels() + * @model + * @generated + */ + EList<RoomModel> getImportedModels(); + + /** * Returns the value of the '<em><b>Xp Actor Classes</b></em>' containment reference list. * The list contents are of type {@link org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass}. * <!-- begin-user-doc --> @@ -157,68 +173,68 @@ public interface Root extends EObject { EList<ExpandedActorClass> getXpActorClasses(); /** - * Returns the value of the '<em><b>Used Data Classes</b></em>' reference list. + * Returns the value of the '<em><b>Data Classes</b></em>' reference list. * The list contents are of type {@link org.eclipse.etrice.core.room.DataClass}. * <!-- begin-user-doc --> * <p> - * This is a list of all used data classes (i.e. directly or indirectly referenced starting from the top level object - * which is a logical system or, if no such is present, a sub system). + * If the meaning of the '<em>Data Classes</em>' reference list isn't clear, + * there really should be more of a description here... * </p> * <!-- end-user-doc --> - * @return the value of the '<em>Used Data Classes</em>' reference list. - * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_UsedDataClasses() + * @return the value of the '<em>Data Classes</em>' reference list. + * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_DataClasses() * @model transient="true" volatile="true" derived="true" * @generated */ - EList<DataClass> getUsedDataClasses(); + EList<DataClass> getDataClasses(); /** - * Returns the value of the '<em><b>Used Protocol Classes</b></em>' reference list. + * Returns the value of the '<em><b>Protocol Classes</b></em>' reference list. * The list contents are of type {@link org.eclipse.etrice.core.room.ProtocolClass}. * <!-- begin-user-doc --> * <p> - * This is a list of all used protocol classes (i.e. directly or indirectly referenced starting from the top level object - * which is a logical system or, if no such is present, a sub system). + * If the meaning of the '<em>Protocol Classes</em>' reference list isn't clear, + * there really should be more of a description here... * </p> * <!-- end-user-doc --> - * @return the value of the '<em>Used Protocol Classes</em>' reference list. - * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_UsedProtocolClasses() + * @return the value of the '<em>Protocol Classes</em>' reference list. + * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_ProtocolClasses() * @model transient="true" volatile="true" derived="true" * @generated */ - EList<ProtocolClass> getUsedProtocolClasses(); + EList<ProtocolClass> getProtocolClasses(); /** - * Returns the value of the '<em><b>Used Actor Classes</b></em>' reference list. + * Returns the value of the '<em><b>Actor Classes</b></em>' reference list. * The list contents are of type {@link org.eclipse.etrice.core.room.ActorClass}. * <!-- begin-user-doc --> * <p> - * This is a list of all used actor classes (i.e. directly or indirectly referenced starting from the top level object - * which is a logical system or, if no such is present, a sub system). + * If the meaning of the '<em>Actor Classes</em>' reference list isn't clear, + * there really should be more of a description here... * </p> * <!-- end-user-doc --> - * @return the value of the '<em>Used Actor Classes</em>' reference list. - * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_UsedActorClasses() + * @return the value of the '<em>Actor Classes</em>' reference list. + * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_ActorClasses() * @model transient="true" volatile="true" derived="true" * @generated */ - EList<ActorClass> getUsedActorClasses(); + EList<ActorClass> getActorClasses(); /** - * Returns the value of the '<em><b>Used Room Models</b></em>' reference list. - * The list contents are of type {@link org.eclipse.etrice.core.room.RoomModel}. + * Returns the value of the '<em><b>Enum Classes</b></em>' reference list. + * The list contents are of type {@link org.eclipse.etrice.core.room.EnumerationType}. * <!-- begin-user-doc --> * <p> - * This is a list of all used models (i.e. directly or indirectly referenced starting from the top level object - * which is a logical system or, if no such is present, a sub system). + * If the meaning of the '<em>Enum Classes</em>' reference list isn't clear, + * there really should be more of a description here... * </p> * <!-- end-user-doc --> - * @return the value of the '<em>Used Room Models</em>' reference list. - * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_UsedRoomModels() + * @return the value of the '<em>Enum Classes</em>' reference list. + * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_EnumClasses() * @model transient="true" volatile="true" derived="true" * @generated */ - EList<RoomModel> getUsedRoomModels(); + EList<EnumerationType> getEnumClasses(); /** * Returns the value of the '<em><b>Sub System Classes</b></em>' reference list. @@ -285,22 +301,6 @@ public interface Root extends EObject { EList<WiredStructureClass> getWiredInstances(); /** - * Returns the value of the '<em><b>Used Enum Classes</b></em>' reference list. - * The list contents are of type {@link org.eclipse.etrice.core.room.EnumerationType}. - * <!-- begin-user-doc --> - * <p> - * If the meaning of the '<em>Used Enum Classes</em>' reference list isn't clear, - * there really should be more of a description here... - * </p> - * <!-- end-user-doc --> - * @return the value of the '<em>Used Enum Classes</em>' reference list. - * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getRoot_UsedEnumClasses() - * @model transient="true" volatile="true" derived="true" - * @generated - */ - EList<EnumerationType> getUsedEnumClasses(); - - /** * <!-- begin-user-doc --> * @param cls a room class * @return all room models referenced directly or indirectly by this room class @@ -367,6 +367,14 @@ public interface Root extends EObject { * @model * @generated */ + ExpandedActorClass getExpandedActorClass(ActorClass ac); + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @model + * @generated + */ StructureInstance getInstance(String path); /** diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SAPInstance.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SAPInstance.java index b4784ebc3..8c5d8ce9c 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SAPInstance.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SAPInstance.java @@ -22,10 +22,10 @@ import org.eclipse.etrice.core.room.SAP; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.SAPInstance#getSap <em>Sap</em>}</li> * </ul> - * </p> * * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getSAPInstance() * @model diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SPPInstance.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SPPInstance.java index 6e7798d23..ec5623142 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SPPInstance.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SPPInstance.java @@ -23,12 +23,12 @@ import org.eclipse.etrice.core.room.SPP; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.SPPInstance#getSpp <em>Spp</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.SPPInstance#getIncoming <em>Incoming</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.SPPInstance#getOutgoing <em>Outgoing</em>}</li> * </ul> - * </p> * * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getSPPInstance() * @model diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ServiceImplInstance.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ServiceImplInstance.java index 0ce7f4681..706d73591 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ServiceImplInstance.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/ServiceImplInstance.java @@ -22,10 +22,10 @@ import org.eclipse.etrice.core.room.ServiceImplementation; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.ServiceImplInstance#getSvcImpl <em>Svc Impl</em>}</li> * </ul> - * </p> * * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getServiceImplInstance() * @model diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/StructureInstance.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/StructureInstance.java index 501a884bd..fd793e9c4 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/StructureInstance.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/StructureInstance.java @@ -27,6 +27,7 @@ import org.eclipse.etrice.core.room.ActorRef; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getInstances <em>Instances</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getSaps <em>Saps</em>}</li> @@ -37,7 +38,6 @@ import org.eclipse.etrice.core.room.ActorRef; * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getAllContainedInstances <em>All Contained Instances</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.StructureInstance#getOrderedIfItemInstances <em>Ordered If Item Instances</em>}</li> * </ul> - * </p> * * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getStructureInstance() * @model diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SubSystemInstance.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SubSystemInstance.java index 0e7d6aa40..a422e72fe 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SubSystemInstance.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SubSystemInstance.java @@ -22,11 +22,11 @@ import org.eclipse.etrice.core.room.SubSystemClass; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance#getSubSystemClass <em>Sub System Class</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance#getMaxObjId <em>Max Obj Id</em>}</li> * </ul> - * </p> * * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getSubSystemInstance() * @model diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SystemInstance.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SystemInstance.java index 352ba22be..7870894b1 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SystemInstance.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/SystemInstance.java @@ -22,11 +22,11 @@ import org.eclipse.etrice.core.room.LogicalSystem; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.SystemInstance#getInstances <em>Instances</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.SystemInstance#getLogicalSystem <em>Logical System</em>}</li> * </ul> - * </p> * * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getSystemInstance() * @model diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/Wire.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/Wire.java index 0b10f7839..c0337c0d4 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/Wire.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/Wire.java @@ -22,12 +22,12 @@ import org.eclipse.emf.ecore.EObject; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Wire#isDataDriven <em>Data Driven</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Wire#getPath1 <em>Path1</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.Wire#getPath2 <em>Path2</em>}</li> * </ul> - * </p> * * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getWire() * @model diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/WiredActorClass.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/WiredActorClass.java index 671ee44d2..2713e7f33 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/WiredActorClass.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/WiredActorClass.java @@ -20,10 +20,10 @@ import org.eclipse.etrice.core.room.ActorClass; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.WiredActorClass#getActorClass <em>Actor Class</em>}</li> * </ul> - * </p> * * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getWiredActorClass() * @model diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/WiredStructureClass.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/WiredStructureClass.java index 27eb25838..bc9e5bfea 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/WiredStructureClass.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/WiredStructureClass.java @@ -22,13 +22,13 @@ import org.eclipse.emf.ecore.EObject; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.WiredStructureClass#getWires <em>Wires</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.WiredStructureClass#getOpenBindings <em>Open Bindings</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.WiredStructureClass#getProvidedServices <em>Provided Services</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.WiredStructureClass#getRequiredServices <em>Required Services</em>}</li> * </ul> - * </p> * * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getWiredStructureClass() * @model abstract="true" diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/WiredSubSystemClass.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/WiredSubSystemClass.java index e2208e20e..d05700351 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/WiredSubSystemClass.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/WiredSubSystemClass.java @@ -20,10 +20,10 @@ import org.eclipse.etrice.core.room.SubSystemClass; * * <p> * The following features are supported: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.WiredSubSystemClass#getSubSystemClass <em>Sub System Class</em>}</li> * </ul> - * </p> * * @see org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage#getWiredSubSystemClass() * @model diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/AbstractInstanceImpl.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/AbstractInstanceImpl.java index b95215144..170ed3c43 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/AbstractInstanceImpl.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/AbstractInstanceImpl.java @@ -32,10 +32,10 @@ import org.eclipse.etrice.core.room.ProtocolClass; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.AbstractInstanceImpl#getPorts <em>Ports</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ActorInstanceImpl.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ActorInstanceImpl.java index ac01e578a..d9d5ec35e 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ActorInstanceImpl.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ActorInstanceImpl.java @@ -27,12 +27,12 @@ import org.eclipse.etrice.core.room.ActorClass; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ActorInstanceImpl#getActorClass <em>Actor Class</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ActorInstanceImpl#getReplIdx <em>Repl Idx</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ActorInstanceImpl#getUnindexedName <em>Unindexed Name</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ActorInterfaceInstanceImpl.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ActorInterfaceInstanceImpl.java index 97e8c3400..9c937341a 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ActorInterfaceInstanceImpl.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ActorInterfaceInstanceImpl.java @@ -31,13 +31,13 @@ import org.eclipse.etrice.core.room.ActorClass; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ActorInterfaceInstanceImpl#getActorClass <em>Actor Class</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ActorInterfaceInstanceImpl#getProvidedServices <em>Provided Services</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ActorInterfaceInstanceImpl#getOptionalInstances <em>Optional Instances</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ActorInterfaceInstanceImpl#isArray <em>Array</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/BindingInstanceImpl.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/BindingInstanceImpl.java index 9574c85bd..0272cc8af 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/BindingInstanceImpl.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/BindingInstanceImpl.java @@ -39,11 +39,11 @@ import org.eclipse.etrice.core.room.Binding; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.BindingInstanceImpl#getPorts <em>Ports</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.BindingInstanceImpl#getBinding <em>Binding</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ConnectionInstanceImpl.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ConnectionInstanceImpl.java index 5aafbbf2d..84c17a3db 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ConnectionInstanceImpl.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ConnectionInstanceImpl.java @@ -30,13 +30,13 @@ import org.eclipse.etrice.core.room.LayerConnection; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ConnectionInstanceImpl#getFromAI <em>From AI</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ConnectionInstanceImpl#getFromSPP <em>From SPP</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ConnectionInstanceImpl#getToSPP <em>To SPP</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ConnectionInstanceImpl#getConnection <em>Connection</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ETriceGenPackageImpl.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ETriceGenPackageImpl.java index 5a25a75ef..ff18bb954 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ETriceGenPackageImpl.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ETriceGenPackageImpl.java @@ -348,7 +348,7 @@ public class ETriceGenPackageImpl extends EPackageImpl implements ETriceGenPacka * <!-- end-user-doc --> * @generated */ - public EReference getRoot_XpActorClasses() { + public EReference getRoot_ImportedModels() { return (EReference)rootEClass.getEStructuralFeatures().get(5); } @@ -357,7 +357,7 @@ public class ETriceGenPackageImpl extends EPackageImpl implements ETriceGenPacka * <!-- end-user-doc --> * @generated */ - public EReference getRoot_UsedDataClasses() { + public EReference getRoot_XpActorClasses() { return (EReference)rootEClass.getEStructuralFeatures().get(6); } @@ -366,7 +366,7 @@ public class ETriceGenPackageImpl extends EPackageImpl implements ETriceGenPacka * <!-- end-user-doc --> * @generated */ - public EReference getRoot_UsedProtocolClasses() { + public EReference getRoot_DataClasses() { return (EReference)rootEClass.getEStructuralFeatures().get(7); } @@ -375,7 +375,7 @@ public class ETriceGenPackageImpl extends EPackageImpl implements ETriceGenPacka * <!-- end-user-doc --> * @generated */ - public EReference getRoot_UsedActorClasses() { + public EReference getRoot_ProtocolClasses() { return (EReference)rootEClass.getEStructuralFeatures().get(8); } @@ -384,7 +384,7 @@ public class ETriceGenPackageImpl extends EPackageImpl implements ETriceGenPacka * <!-- end-user-doc --> * @generated */ - public EReference getRoot_UsedRoomModels() { + public EReference getRoot_ActorClasses() { return (EReference)rootEClass.getEStructuralFeatures().get(9); } @@ -393,7 +393,7 @@ public class ETriceGenPackageImpl extends EPackageImpl implements ETriceGenPacka * <!-- end-user-doc --> * @generated */ - public EReference getRoot_SubSystemClasses() { + public EReference getRoot_EnumClasses() { return (EReference)rootEClass.getEStructuralFeatures().get(10); } @@ -402,7 +402,7 @@ public class ETriceGenPackageImpl extends EPackageImpl implements ETriceGenPacka * <!-- end-user-doc --> * @generated */ - public EReference getRoot_OptionalInstances() { + public EReference getRoot_SubSystemClasses() { return (EReference)rootEClass.getEStructuralFeatures().get(11); } @@ -411,7 +411,7 @@ public class ETriceGenPackageImpl extends EPackageImpl implements ETriceGenPacka * <!-- end-user-doc --> * @generated */ - public EReference getRoot_OptionalActorClasses() { + public EReference getRoot_OptionalInstances() { return (EReference)rootEClass.getEStructuralFeatures().get(12); } @@ -420,7 +420,7 @@ public class ETriceGenPackageImpl extends EPackageImpl implements ETriceGenPacka * <!-- end-user-doc --> * @generated */ - public EReference getRoot_WiredInstances() { + public EReference getRoot_OptionalActorClasses() { return (EReference)rootEClass.getEStructuralFeatures().get(13); } @@ -429,7 +429,7 @@ public class ETriceGenPackageImpl extends EPackageImpl implements ETriceGenPacka * <!-- end-user-doc --> * @generated */ - public EReference getRoot_UsedEnumClasses() { + public EReference getRoot_WiredInstances() { return (EReference)rootEClass.getEStructuralFeatures().get(14); } @@ -1187,16 +1187,16 @@ public class ETriceGenPackageImpl extends EPackageImpl implements ETriceGenPacka createEReference(rootEClass, ROOT__OWN_SUB_SYSTEM_INSTANCES); createEReference(rootEClass, ROOT__SUB_SYSTEM_INSTANCES); createEReference(rootEClass, ROOT__MODELS); + createEReference(rootEClass, ROOT__IMPORTED_MODELS); createEReference(rootEClass, ROOT__XP_ACTOR_CLASSES); - createEReference(rootEClass, ROOT__USED_DATA_CLASSES); - createEReference(rootEClass, ROOT__USED_PROTOCOL_CLASSES); - createEReference(rootEClass, ROOT__USED_ACTOR_CLASSES); - createEReference(rootEClass, ROOT__USED_ROOM_MODELS); + createEReference(rootEClass, ROOT__DATA_CLASSES); + createEReference(rootEClass, ROOT__PROTOCOL_CLASSES); + createEReference(rootEClass, ROOT__ACTOR_CLASSES); + createEReference(rootEClass, ROOT__ENUM_CLASSES); createEReference(rootEClass, ROOT__SUB_SYSTEM_CLASSES); createEReference(rootEClass, ROOT__OPTIONAL_INSTANCES); createEReference(rootEClass, ROOT__OPTIONAL_ACTOR_CLASSES); createEReference(rootEClass, ROOT__WIRED_INSTANCES); - createEReference(rootEClass, ROOT__USED_ENUM_CLASSES); instanceBaseEClass = createEClass(INSTANCE_BASE); createEAttribute(instanceBaseEClass, INSTANCE_BASE__NAME); @@ -1359,16 +1359,16 @@ public class ETriceGenPackageImpl extends EPackageImpl implements ETriceGenPacka initEReference(getRoot_OwnSubSystemInstances(), this.getSubSystemInstance(), null, "ownSubSystemInstances", null, 0, -1, Root.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getRoot_SubSystemInstances(), this.getSubSystemInstance(), null, "subSystemInstances", null, 0, -1, Root.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); initEReference(getRoot_Models(), theRoomPackage.getRoomModel(), null, "models", null, 0, -1, Root.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getRoot_ImportedModels(), theRoomPackage.getRoomModel(), null, "importedModels", null, 0, -1, Root.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getRoot_XpActorClasses(), this.getExpandedActorClass(), null, "xpActorClasses", null, 0, -1, Root.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getRoot_UsedDataClasses(), theRoomPackage.getDataClass(), null, "usedDataClasses", null, 0, -1, Root.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); - initEReference(getRoot_UsedProtocolClasses(), theRoomPackage.getProtocolClass(), null, "usedProtocolClasses", null, 0, -1, Root.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); - initEReference(getRoot_UsedActorClasses(), theRoomPackage.getActorClass(), null, "usedActorClasses", null, 0, -1, Root.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); - initEReference(getRoot_UsedRoomModels(), theRoomPackage.getRoomModel(), null, "usedRoomModels", null, 0, -1, Root.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); + initEReference(getRoot_DataClasses(), theRoomPackage.getDataClass(), null, "dataClasses", null, 0, -1, Root.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); + initEReference(getRoot_ProtocolClasses(), theRoomPackage.getProtocolClass(), null, "protocolClasses", null, 0, -1, Root.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); + initEReference(getRoot_ActorClasses(), theRoomPackage.getActorClass(), null, "actorClasses", null, 0, -1, Root.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); + initEReference(getRoot_EnumClasses(), theRoomPackage.getEnumerationType(), null, "enumClasses", null, 0, -1, Root.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); initEReference(getRoot_SubSystemClasses(), theRoomPackage.getSubSystemClass(), null, "subSystemClasses", null, 0, -1, Root.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); initEReference(getRoot_OptionalInstances(), this.getOptionalActorInstance(), null, "optionalInstances", null, 0, -1, Root.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getRoot_OptionalActorClasses(), theRoomPackage.getActorClass(), null, "optionalActorClasses", null, 0, -1, Root.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getRoot_WiredInstances(), this.getWiredStructureClass(), null, "wiredInstances", null, 0, -1, Root.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getRoot_UsedEnumClasses(), theRoomPackage.getEnumerationType(), null, "usedEnumClasses", null, 0, -1, Root.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); EOperation op = addEOperation(rootEClass, theRoomPackage.getRoomModel(), "getReferencedModels", 0, -1, IS_UNIQUE, IS_ORDERED); addEParameter(op, theRoomPackage.getRoomClass(), "cls", 0, 1, IS_UNIQUE, IS_ORDERED); @@ -1388,6 +1388,9 @@ public class ETriceGenPackageImpl extends EPackageImpl implements ETriceGenPacka op = addEOperation(rootEClass, this.getExpandedActorClass(), "getExpandedActorClass", 0, 1, IS_UNIQUE, IS_ORDERED); addEParameter(op, this.getActorInstance(), "ai", 0, 1, IS_UNIQUE, IS_ORDERED); + op = addEOperation(rootEClass, this.getExpandedActorClass(), "getExpandedActorClass", 0, 1, IS_UNIQUE, IS_ORDERED); + addEParameter(op, theRoomPackage.getActorClass(), "ac", 0, 1, IS_UNIQUE, IS_ORDERED); + op = addEOperation(rootEClass, this.getStructureInstance(), "getInstance", 0, 1, IS_UNIQUE, IS_ORDERED); addEParameter(op, ecorePackage.getEString(), "path", 0, 1, IS_UNIQUE, IS_ORDERED); diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ExpandedActorClassImpl.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ExpandedActorClassImpl.java index 4cf1314e6..dd5a909b0 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ExpandedActorClassImpl.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ExpandedActorClassImpl.java @@ -45,10 +45,10 @@ import org.eclipse.etrice.core.room.util.RoomHelpers; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ExpandedActorClassImpl#getActorClass <em>Actor Class</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/InstanceBaseImpl.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/InstanceBaseImpl.java index e83abcf93..4db7677b5 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/InstanceBaseImpl.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/InstanceBaseImpl.java @@ -30,6 +30,7 @@ import org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.InstanceBaseImpl#getName <em>Name</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.InstanceBaseImpl#getPath <em>Path</em>}</li> @@ -37,7 +38,6 @@ import org.eclipse.etrice.core.genmodel.etricegen.SubSystemInstance; * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.InstanceBaseImpl#getThreadId <em>Thread Id</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.InstanceBaseImpl#getNObjIDs <em>NObj IDs</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/InterfaceItemInstanceImpl.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/InterfaceItemInstanceImpl.java index 5ee34d7d6..7c4c7be10 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/InterfaceItemInstanceImpl.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/InterfaceItemInstanceImpl.java @@ -36,11 +36,11 @@ import org.eclipse.etrice.core.room.SPP; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.InterfaceItemInstanceImpl#getProtocol <em>Protocol</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.InterfaceItemInstanceImpl#getPeers <em>Peers</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/OpenBindingImpl.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/OpenBindingImpl.java index 9456156fc..631708963 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/OpenBindingImpl.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/OpenBindingImpl.java @@ -30,11 +30,11 @@ import org.eclipse.etrice.core.room.Port; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.OpenBindingImpl#getPath <em>Path</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.OpenBindingImpl#getPort <em>Port</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/OpenServiceConnectionImpl.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/OpenServiceConnectionImpl.java index dcc771ffb..0a25e0929 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/OpenServiceConnectionImpl.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/OpenServiceConnectionImpl.java @@ -30,11 +30,11 @@ import org.eclipse.etrice.core.room.ProtocolClass; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.OpenServiceConnectionImpl#getPath <em>Path</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.OpenServiceConnectionImpl#getProtocol <em>Protocol</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/OptionalActorInstanceImpl.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/OptionalActorInstanceImpl.java index a5f3e66bc..0fb5bafa9 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/OptionalActorInstanceImpl.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/OptionalActorInstanceImpl.java @@ -33,11 +33,11 @@ import org.eclipse.etrice.core.room.ActorClass; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.OptionalActorInstanceImpl#getActorClass <em>Actor Class</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.OptionalActorInstanceImpl#getRequiredServices <em>Required Services</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/PortInstanceImpl.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/PortInstanceImpl.java index 527cd3f15..923c0194a 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/PortInstanceImpl.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/PortInstanceImpl.java @@ -36,12 +36,12 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.PortInstanceImpl#getPort <em>Port</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.PortInstanceImpl#getKind <em>Kind</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.PortInstanceImpl#getBindings <em>Bindings</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/RootImpl.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/RootImpl.java index 6cbb2040f..76f9aa414 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/RootImpl.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/RootImpl.java @@ -17,7 +17,6 @@ import java.util.Collection; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; -import java.util.HashSet; import java.util.Set; import org.eclipse.emf.common.notify.Notification; @@ -25,9 +24,7 @@ import org.eclipse.emf.common.notify.NotificationChain; import org.eclipse.emf.common.util.BasicEList; import org.eclipse.emf.common.util.DelegatingEList; import org.eclipse.emf.common.util.EList; -import org.eclipse.emf.common.util.TreeIterator; import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.InternalEObject; import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.emf.ecore.impl.EObjectImpl; @@ -36,7 +33,6 @@ import org.eclipse.emf.ecore.util.EObjectResolvingEList; import org.eclipse.emf.ecore.util.InternalEList; import org.eclipse.etrice.core.genmodel.etricegen.AbstractInstance; import org.eclipse.etrice.core.genmodel.etricegen.ActorInstance; -import org.eclipse.etrice.core.genmodel.etricegen.ActorInterfaceInstance; import org.eclipse.etrice.core.genmodel.etricegen.ETriceGenPackage; import org.eclipse.etrice.core.genmodel.etricegen.ExpandedActorClass; import org.eclipse.etrice.core.genmodel.etricegen.InstanceBase; @@ -62,24 +58,24 @@ import org.eclipse.etrice.core.room.SubSystemClass; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl#isLibrary <em>Library</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl#getSystemInstances <em>System Instances</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl#getOwnSubSystemInstances <em>Own Sub System Instances</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl#getSubSystemInstances <em>Sub System Instances</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl#getModels <em>Models</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl#getImportedModels <em>Imported Models</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl#getXpActorClasses <em>Xp Actor Classes</em>}</li> - * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl#getUsedDataClasses <em>Used Data Classes</em>}</li> - * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl#getUsedProtocolClasses <em>Used Protocol Classes</em>}</li> - * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl#getUsedActorClasses <em>Used Actor Classes</em>}</li> - * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl#getUsedRoomModels <em>Used Room Models</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl#getDataClasses <em>Data Classes</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl#getProtocolClasses <em>Protocol Classes</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl#getActorClasses <em>Actor Classes</em>}</li> + * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl#getEnumClasses <em>Enum Classes</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl#getSubSystemClasses <em>Sub System Classes</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl#getOptionalInstances <em>Optional Instances</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl#getOptionalActorClasses <em>Optional Actor Classes</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl#getWiredInstances <em>Wired Instances</em>}</li> - * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.RootImpl#getUsedEnumClasses <em>Used Enum Classes</em>}</li> * </ul> - * </p> * * @generated */ @@ -156,6 +152,16 @@ public class RootImpl extends EObjectImpl implements Root { protected EList<RoomModel> models; /** + * The cached value of the '{@link #getImportedModels() <em>Imported Models</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getImportedModels() + * @generated + * @ordered + */ + protected EList<RoomModel> importedModels; + + /** * The cached value of the '{@link #getXpActorClasses() <em>Xp Actor Classes</em>}' containment reference list. * <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -252,23 +258,23 @@ public class RootImpl extends EObjectImpl implements Root { * <!-- end-user-doc --> * @generated */ - public EList<ExpandedActorClass> getXpActorClasses() { - if (xpActorClasses == null) { - xpActorClasses = new EObjectContainmentEList<ExpandedActorClass>(ExpandedActorClass.class, this, ETriceGenPackage.ROOT__XP_ACTOR_CLASSES); + public EList<RoomModel> getImportedModels() { + if (importedModels == null) { + importedModels = new EObjectResolvingEList<RoomModel>(RoomModel.class, this, ETriceGenPackage.ROOT__IMPORTED_MODELS); } - return xpActorClasses; + return importedModels; } /** * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @generated NOT + * @generated */ - public EList<DataClass> getUsedDataClasses() { - if (usedDataClasses==null) { - computeUsedClasses(); + public EList<ExpandedActorClass> getXpActorClasses() { + if (xpActorClasses == null) { + xpActorClasses = new EObjectContainmentEList<ExpandedActorClass>(ExpandedActorClass.class, this, ETriceGenPackage.ROOT__XP_ACTOR_CLASSES); } - return usedDataClasses; + return xpActorClasses; } /** @@ -276,11 +282,11 @@ public class RootImpl extends EObjectImpl implements Root { * <!-- end-user-doc --> * @generated NOT */ - public EList<EnumerationType> getUsedEnumClasses() { - if (usedEnumClasses==null) { + public EList<DataClass> getDataClasses() { + if (dataClasses==null) { computeUsedClasses(); } - return usedEnumClasses; + return dataClasses; } /** @@ -288,11 +294,11 @@ public class RootImpl extends EObjectImpl implements Root { * <!-- end-user-doc --> * @generated NOT */ - public EList<ProtocolClass> getUsedProtocolClasses() { - if (usedProtocolClasses==null) { + public EList<EnumerationType> getEnumClasses() { + if (enumClasses==null) { computeUsedClasses(); } - return usedProtocolClasses; + return enumClasses; } /** @@ -300,11 +306,11 @@ public class RootImpl extends EObjectImpl implements Root { * <!-- end-user-doc --> * @generated NOT */ - public EList<ActorClass> getUsedActorClasses() { - if (usedActorClasses==null) { + public EList<ProtocolClass> getProtocolClasses() { + if (protocolClasses==null) { computeUsedClasses(); } - return usedActorClasses; + return protocolClasses; } /** @@ -312,11 +318,11 @@ public class RootImpl extends EObjectImpl implements Root { * <!-- end-user-doc --> * @generated NOT */ - public EList<RoomModel> getUsedRoomModels() { - if (usedRoomModels==null) { + public EList<ActorClass> getActorClasses() { + if (actorClasses==null) { computeUsedClasses(); } - return usedRoomModels; + return actorClasses; } private BasicEList<SubSystemClass> subSystemClasses = null; @@ -498,6 +504,19 @@ public class RootImpl extends EObjectImpl implements Root { * <!-- end-user-doc --> * @generated NOT */ + public ExpandedActorClass getExpandedActorClass(ActorClass ac) { + for (ExpandedActorClass xpac : getXpActorClasses()) { + if (xpac.getActorClass()==ac) + return xpac; + } + return null; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated NOT + */ public StructureInstance getInstance(String path) { if (!path.startsWith(Character.toString(InstanceBase.pathDelim))) return null; @@ -612,16 +631,18 @@ public class RootImpl extends EObjectImpl implements Root { return getSubSystemInstances(); case ETriceGenPackage.ROOT__MODELS: return getModels(); + case ETriceGenPackage.ROOT__IMPORTED_MODELS: + return getImportedModels(); case ETriceGenPackage.ROOT__XP_ACTOR_CLASSES: return getXpActorClasses(); - case ETriceGenPackage.ROOT__USED_DATA_CLASSES: - return getUsedDataClasses(); - case ETriceGenPackage.ROOT__USED_PROTOCOL_CLASSES: - return getUsedProtocolClasses(); - case ETriceGenPackage.ROOT__USED_ACTOR_CLASSES: - return getUsedActorClasses(); - case ETriceGenPackage.ROOT__USED_ROOM_MODELS: - return getUsedRoomModels(); + case ETriceGenPackage.ROOT__DATA_CLASSES: + return getDataClasses(); + case ETriceGenPackage.ROOT__PROTOCOL_CLASSES: + return getProtocolClasses(); + case ETriceGenPackage.ROOT__ACTOR_CLASSES: + return getActorClasses(); + case ETriceGenPackage.ROOT__ENUM_CLASSES: + return getEnumClasses(); case ETriceGenPackage.ROOT__SUB_SYSTEM_CLASSES: return getSubSystemClasses(); case ETriceGenPackage.ROOT__OPTIONAL_INSTANCES: @@ -630,8 +651,6 @@ public class RootImpl extends EObjectImpl implements Root { return getOptionalActorClasses(); case ETriceGenPackage.ROOT__WIRED_INSTANCES: return getWiredInstances(); - case ETriceGenPackage.ROOT__USED_ENUM_CLASSES: - return getUsedEnumClasses(); } return super.eGet(featureID, resolve, coreType); } @@ -660,25 +679,29 @@ public class RootImpl extends EObjectImpl implements Root { getModels().clear(); getModels().addAll((Collection<? extends RoomModel>)newValue); return; + case ETriceGenPackage.ROOT__IMPORTED_MODELS: + getImportedModels().clear(); + getImportedModels().addAll((Collection<? extends RoomModel>)newValue); + return; case ETriceGenPackage.ROOT__XP_ACTOR_CLASSES: getXpActorClasses().clear(); getXpActorClasses().addAll((Collection<? extends ExpandedActorClass>)newValue); return; - case ETriceGenPackage.ROOT__USED_DATA_CLASSES: - getUsedDataClasses().clear(); - getUsedDataClasses().addAll((Collection<? extends DataClass>)newValue); + case ETriceGenPackage.ROOT__DATA_CLASSES: + getDataClasses().clear(); + getDataClasses().addAll((Collection<? extends DataClass>)newValue); return; - case ETriceGenPackage.ROOT__USED_PROTOCOL_CLASSES: - getUsedProtocolClasses().clear(); - getUsedProtocolClasses().addAll((Collection<? extends ProtocolClass>)newValue); + case ETriceGenPackage.ROOT__PROTOCOL_CLASSES: + getProtocolClasses().clear(); + getProtocolClasses().addAll((Collection<? extends ProtocolClass>)newValue); return; - case ETriceGenPackage.ROOT__USED_ACTOR_CLASSES: - getUsedActorClasses().clear(); - getUsedActorClasses().addAll((Collection<? extends ActorClass>)newValue); + case ETriceGenPackage.ROOT__ACTOR_CLASSES: + getActorClasses().clear(); + getActorClasses().addAll((Collection<? extends ActorClass>)newValue); return; - case ETriceGenPackage.ROOT__USED_ROOM_MODELS: - getUsedRoomModels().clear(); - getUsedRoomModels().addAll((Collection<? extends RoomModel>)newValue); + case ETriceGenPackage.ROOT__ENUM_CLASSES: + getEnumClasses().clear(); + getEnumClasses().addAll((Collection<? extends EnumerationType>)newValue); return; case ETriceGenPackage.ROOT__SUB_SYSTEM_CLASSES: getSubSystemClasses().clear(); @@ -696,10 +719,6 @@ public class RootImpl extends EObjectImpl implements Root { getWiredInstances().clear(); getWiredInstances().addAll((Collection<? extends WiredStructureClass>)newValue); return; - case ETriceGenPackage.ROOT__USED_ENUM_CLASSES: - getUsedEnumClasses().clear(); - getUsedEnumClasses().addAll((Collection<? extends EnumerationType>)newValue); - return; } super.eSet(featureID, newValue); } @@ -724,20 +743,23 @@ public class RootImpl extends EObjectImpl implements Root { case ETriceGenPackage.ROOT__MODELS: getModels().clear(); return; + case ETriceGenPackage.ROOT__IMPORTED_MODELS: + getImportedModels().clear(); + return; case ETriceGenPackage.ROOT__XP_ACTOR_CLASSES: getXpActorClasses().clear(); return; - case ETriceGenPackage.ROOT__USED_DATA_CLASSES: - getUsedDataClasses().clear(); + case ETriceGenPackage.ROOT__DATA_CLASSES: + getDataClasses().clear(); return; - case ETriceGenPackage.ROOT__USED_PROTOCOL_CLASSES: - getUsedProtocolClasses().clear(); + case ETriceGenPackage.ROOT__PROTOCOL_CLASSES: + getProtocolClasses().clear(); return; - case ETriceGenPackage.ROOT__USED_ACTOR_CLASSES: - getUsedActorClasses().clear(); + case ETriceGenPackage.ROOT__ACTOR_CLASSES: + getActorClasses().clear(); return; - case ETriceGenPackage.ROOT__USED_ROOM_MODELS: - getUsedRoomModels().clear(); + case ETriceGenPackage.ROOT__ENUM_CLASSES: + getEnumClasses().clear(); return; case ETriceGenPackage.ROOT__SUB_SYSTEM_CLASSES: getSubSystemClasses().clear(); @@ -751,9 +773,6 @@ public class RootImpl extends EObjectImpl implements Root { case ETriceGenPackage.ROOT__WIRED_INSTANCES: getWiredInstances().clear(); return; - case ETriceGenPackage.ROOT__USED_ENUM_CLASSES: - getUsedEnumClasses().clear(); - return; } super.eUnset(featureID); } @@ -776,16 +795,18 @@ public class RootImpl extends EObjectImpl implements Root { return !getSubSystemInstances().isEmpty(); case ETriceGenPackage.ROOT__MODELS: return models != null && !models.isEmpty(); + case ETriceGenPackage.ROOT__IMPORTED_MODELS: + return importedModels != null && !importedModels.isEmpty(); case ETriceGenPackage.ROOT__XP_ACTOR_CLASSES: return xpActorClasses != null && !xpActorClasses.isEmpty(); - case ETriceGenPackage.ROOT__USED_DATA_CLASSES: - return !getUsedDataClasses().isEmpty(); - case ETriceGenPackage.ROOT__USED_PROTOCOL_CLASSES: - return !getUsedProtocolClasses().isEmpty(); - case ETriceGenPackage.ROOT__USED_ACTOR_CLASSES: - return !getUsedActorClasses().isEmpty(); - case ETriceGenPackage.ROOT__USED_ROOM_MODELS: - return !getUsedRoomModels().isEmpty(); + case ETriceGenPackage.ROOT__DATA_CLASSES: + return !getDataClasses().isEmpty(); + case ETriceGenPackage.ROOT__PROTOCOL_CLASSES: + return !getProtocolClasses().isEmpty(); + case ETriceGenPackage.ROOT__ACTOR_CLASSES: + return !getActorClasses().isEmpty(); + case ETriceGenPackage.ROOT__ENUM_CLASSES: + return !getEnumClasses().isEmpty(); case ETriceGenPackage.ROOT__SUB_SYSTEM_CLASSES: return !getSubSystemClasses().isEmpty(); case ETriceGenPackage.ROOT__OPTIONAL_INSTANCES: @@ -794,8 +815,6 @@ public class RootImpl extends EObjectImpl implements Root { return optionalActorClasses != null && !optionalActorClasses.isEmpty(); case ETriceGenPackage.ROOT__WIRED_INSTANCES: return wiredInstances != null && !wiredInstances.isEmpty(); - case ETriceGenPackage.ROOT__USED_ENUM_CLASSES: - return !getUsedEnumClasses().isEmpty(); } return super.eIsSet(featureID); } @@ -818,80 +837,29 @@ public class RootImpl extends EObjectImpl implements Root { private RoomCrossReferencer crossReferencer = new RoomCrossReferencer(); - private BasicEList<DataClass> usedDataClasses = null; - private BasicEList<EnumerationType> usedEnumClasses = null; - private BasicEList<ProtocolClass> usedProtocolClasses = null; - private BasicEList<ActorClass> usedActorClasses = null; - private BasicEList<RoomModel> usedRoomModels = null; + private BasicEList<DataClass> dataClasses = null; + private BasicEList<EnumerationType> enumClasses = null; + private BasicEList<ProtocolClass> protocolClasses = null; + private BasicEList<ActorClass> actorClasses = null; private void computeUsedClasses() { - if (isLibrary()) { - usedDataClasses = new BasicEList<DataClass>(); - usedEnumClasses = new BasicEList<EnumerationType>(); - usedProtocolClasses = new BasicEList<ProtocolClass>(); - usedActorClasses = new BasicEList<ActorClass>(); - usedRoomModels = new BasicEList<RoomModel>(); - subSystemClasses = new BasicEList<SubSystemClass>(); - for (RoomModel mdl : getModels()) { - usedDataClasses.addAll(mdl.getDataClasses()); - usedEnumClasses.addAll(mdl.getEnumerationTypes()); - - for (GeneralProtocolClass gpc : mdl.getProtocolClasses()) { - if (gpc instanceof ProtocolClass) - usedProtocolClasses.add((ProtocolClass) gpc); - } - - usedActorClasses.addAll(mdl.getActorClasses()); - subSystemClasses.addAll(mdl.getSubSystemClasses()); - usedRoomModels.add(mdl); - } - } - else { - // first we collect actor classes - HashSet<ActorClass> actorClasses = new HashSet<ActorClass>(); - for (SubSystemInstance ci : getSubSystemInstances()) { - TreeIterator<EObject> it = ci.eAllContents(); - while (it.hasNext()) { - EObject obj = it.next(); - if (obj instanceof ActorInstance) { - ActorClass ac = ((ActorInstance)obj).getActorClass(); - actorClasses.add(ac); - } - else if (obj instanceof ActorInterfaceInstance) { - ActorInterfaceInstance aii = (ActorInterfaceInstance) obj; - actorClasses.add(aii.getActorClass()); - for (OptionalActorInstance oai : aii.getOptionalInstances()) { - actorClasses.add(oai.getActorClass()); - } - } - } - } - for (OptionalActorInstance oai: getOptionalInstances()) { - actorClasses.add(oai.getActorClass()); - } - - HashSet<DataClass> dataClasses = new HashSet<DataClass>(); - HashSet<EnumerationType> enumClasses = new HashSet<EnumerationType>(); - HashSet<ProtocolClass> protocolClasses = new HashSet<ProtocolClass>(); - HashSet<RoomModel> models = new HashSet<RoomModel>(); + dataClasses = new BasicEList<DataClass>(); + enumClasses = new BasicEList<EnumerationType>(); + protocolClasses = new BasicEList<ProtocolClass>(); + actorClasses = new BasicEList<ActorClass>(); + subSystemClasses = new BasicEList<SubSystemClass>(); + for (RoomModel mdl : getModels()) { + dataClasses.addAll(mdl.getDataClasses()); + enumClasses.addAll(mdl.getEnumerationTypes()); - crossReferencer.getReferencedClassesAndModels(dataClasses, enumClasses, protocolClasses, - actorClasses, models); + for (GeneralProtocolClass gpc : mdl.getProtocolClasses()) { + if (gpc instanceof ProtocolClass) + protocolClasses.add((ProtocolClass) gpc); + } - usedDataClasses = new BasicEList<DataClass>(dataClasses); - usedEnumClasses = new BasicEList<EnumerationType>(enumClasses); - usedProtocolClasses = new BasicEList<ProtocolClass>(protocolClasses); - usedActorClasses = new BasicEList<ActorClass>(actorClasses); - usedRoomModels = new BasicEList<RoomModel>(models); + actorClasses.addAll(mdl.getActorClasses()); + subSystemClasses.addAll(mdl.getSubSystemClasses()); } - - RoomClassComparator rcComp = new RoomClassComparator(); - RoomModelComparator mdlComp = new RoomModelComparator(); - Collections.sort(usedDataClasses, rcComp); - Collections.sort(usedEnumClasses, rcComp); - Collections.sort(usedProtocolClasses, rcComp); - Collections.sort(usedActorClasses, rcComp); - Collections.sort(usedRoomModels, mdlComp); } } //RootImpl diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/SAPInstanceImpl.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/SAPInstanceImpl.java index f2955a36f..077c3110a 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/SAPInstanceImpl.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/SAPInstanceImpl.java @@ -29,10 +29,10 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.SAPInstanceImpl#getSap <em>Sap</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/SPPInstanceImpl.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/SPPInstanceImpl.java index e087b3d7e..d3686a786 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/SPPInstanceImpl.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/SPPInstanceImpl.java @@ -39,12 +39,12 @@ import org.eclipse.emf.ecore.util.InternalEList; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.SPPInstanceImpl#getSpp <em>Spp</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.SPPInstanceImpl#getIncoming <em>Incoming</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.SPPInstanceImpl#getOutgoing <em>Outgoing</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ServiceImplInstanceImpl.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ServiceImplInstanceImpl.java index b96b8e570..0a7923e3d 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ServiceImplInstanceImpl.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/ServiceImplInstanceImpl.java @@ -30,10 +30,10 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.ServiceImplInstanceImpl#getSvcImpl <em>Svc Impl</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/StructureInstanceImpl.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/StructureInstanceImpl.java index 50b508ce2..e7681c0ae 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/StructureInstanceImpl.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/StructureInstanceImpl.java @@ -45,6 +45,7 @@ import org.eclipse.etrice.core.room.ActorClass; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.StructureInstanceImpl#getInstances <em>Instances</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.StructureInstanceImpl#getSaps <em>Saps</em>}</li> @@ -55,7 +56,6 @@ import org.eclipse.etrice.core.room.ActorClass; * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.StructureInstanceImpl#getAllContainedInstances <em>All Contained Instances</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.StructureInstanceImpl#getOrderedIfItemInstances <em>Ordered If Item Instances</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/SubSystemInstanceImpl.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/SubSystemInstanceImpl.java index 178bc9e54..d00a8909b 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/SubSystemInstanceImpl.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/SubSystemInstanceImpl.java @@ -34,11 +34,11 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.SubSystemInstanceImpl#getSubSystemClass <em>Sub System Class</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.SubSystemInstanceImpl#getMaxObjId <em>Max Obj Id</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/SystemInstanceImpl.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/SystemInstanceImpl.java index 09e226aca..20924bdaf 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/SystemInstanceImpl.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/SystemInstanceImpl.java @@ -36,11 +36,11 @@ import org.eclipse.etrice.core.room.LogicalSystem; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.SystemInstanceImpl#getInstances <em>Instances</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.SystemInstanceImpl#getLogicalSystem <em>Logical System</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/WireImpl.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/WireImpl.java index 0782ee9d4..d7b8f3e46 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/WireImpl.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/WireImpl.java @@ -28,12 +28,12 @@ import org.eclipse.etrice.core.genmodel.etricegen.Wire; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.WireImpl#isDataDriven <em>Data Driven</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.WireImpl#getPath1 <em>Path1</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.WireImpl#getPath2 <em>Path2</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/WiredActorClassImpl.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/WiredActorClassImpl.java index dd2d53644..92867ed2c 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/WiredActorClassImpl.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/WiredActorClassImpl.java @@ -29,10 +29,10 @@ import org.eclipse.etrice.core.room.ActorClass; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.WiredActorClassImpl#getActorClass <em>Actor Class</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/WiredStructureClassImpl.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/WiredStructureClassImpl.java index 7cfea3b4f..4c372538f 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/WiredStructureClassImpl.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/WiredStructureClassImpl.java @@ -32,13 +32,13 @@ import org.eclipse.etrice.core.genmodel.etricegen.WiredStructureClass; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.WiredStructureClassImpl#getWires <em>Wires</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.WiredStructureClassImpl#getOpenBindings <em>Open Bindings</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.WiredStructureClassImpl#getProvidedServices <em>Provided Services</em>}</li> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.WiredStructureClassImpl#getRequiredServices <em>Required Services</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/WiredSubSystemClassImpl.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/WiredSubSystemClassImpl.java index b622e4ad8..2d2e08628 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/WiredSubSystemClassImpl.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/impl/WiredSubSystemClassImpl.java @@ -29,10 +29,10 @@ import org.eclipse.etrice.core.room.SubSystemClass; * <!-- end-user-doc --> * <p> * The following features are implemented: + * </p> * <ul> * <li>{@link org.eclipse.etrice.core.genmodel.etricegen.impl.WiredSubSystemClassImpl#getSubSystemClass <em>Sub System Class</em>}</li> * </ul> - * </p> * * @generated */ diff --git a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/util/ETriceGenSwitch.java b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/util/ETriceGenSwitch.java index 7bce5d0ec..b9de6a85f 100644 --- a/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/util/ETriceGenSwitch.java +++ b/plugins/org.eclipse.etrice.core.genmodel/src/org/eclipse/etrice/core/genmodel/etricegen/util/ETriceGenSwitch.java @@ -56,7 +56,7 @@ public class ETriceGenSwitch<T> extends Switch<T> { * Checks whether this is a switch for the given package. * <!-- begin-user-doc --> * <!-- end-user-doc --> - * @parameter ePackage the package in question. + * @param ePackage the package in question. * @return whether this is a switch for the given package. * @generated */ diff --git a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore index 5deb80bee..362f49fa4 100644 --- a/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore +++ b/plugins/org.eclipse.etrice.core.room/src-gen/org/eclipse/etrice/core/Room.ecore @@ -10,14 +10,14 @@ <details key="documentation" value="<br>The model name is a dot separated fully qualified name and is
used to provide a name space. The generators may use that also
to place the generated code into separate directories.
"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation" + <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>This is an optional documentation.
"/> </eAnnotations> </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EReference" name="imports" upperBound="-1" - eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Import" + eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Import" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>This is a list of all imported models.
"/> @@ -68,7 +68,7 @@ </eAnnotations> </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EReference" name="annotationTypes" upperBound="-1" - eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//AnnotationType" + eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//AnnotationType" containment="true"/> </eClassifiers> <eClassifiers xsi:type="ecore:EClass" name="RoomClass"> @@ -80,7 +80,7 @@ <details key="documentation" value="<br>By this name the actor class is referred to in the model.
"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation" + <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>This is an optional documentation.
"/> @@ -92,7 +92,7 @@ <details key="documentation" value="<br>This class is the super class of the structural classes
<ul>
 <li>{@link ActorContainerClass}</li>
 <li>{@link LogicalSystem}</li>
</ul>
"/> </eAnnotations> <eStructuralFeatures xsi:type="ecore:EReference" name="annotations" upperBound="-1" - eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Annotation" + eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Annotation" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>This is a list of structure class annotations.
"/> @@ -121,19 +121,19 @@ <details key="documentation" value="<br>This is a list of all interface SPPs.
"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="userCode1" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode" + <eStructuralFeatures xsi:type="ecore:EReference" name="userCode1" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>The user code is treated in a generator dependent way.
"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="userCode2" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode" + <eStructuralFeatures xsi:type="ecore:EReference" name="userCode2" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>The user code is treated in a generator dependent way.
"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="userCode3" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode" + <eStructuralFeatures xsi:type="ecore:EReference" name="userCode3" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>The user code is treated in a generator dependent way.
"/> @@ -191,7 +191,7 @@ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>A primitive type describes a type like int, char, float
and can represent the type with a certain precision
in the target language
"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EEnum platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//LiteralType"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EEnum ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//LiteralType"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>This is one of the basic variable types.
"/> </eAnnotations> @@ -243,7 +243,7 @@ <details key="documentation" value="<br>The name of the literal.
"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="literal" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//IntLiteral" + <eStructuralFeatures xsi:type="ecore:EReference" name="literal" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//IntLiteral" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>The value of the literal. It is associated with a target type which defaults to
{@code int} and can be set explicitly using the {@link EnumerationType#getPrimitiveType()}
"/> @@ -275,25 +275,25 @@ </eAnnotations> </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EReference" name="annotations" upperBound="-1" - eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Annotation" + eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Annotation" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>This is a list of data class annotations.
"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="userCode1" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode" + <eStructuralFeatures xsi:type="ecore:EReference" name="userCode1" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>The user code is treated in a generator dependent way.
"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="userCode2" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode" + <eStructuralFeatures xsi:type="ecore:EReference" name="userCode2" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>The user code is treated in a generator dependent way.
"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="userCode3" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode" + <eStructuralFeatures xsi:type="ecore:EReference" name="userCode3" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>The user code is treated in a generator dependent way.
"/> @@ -339,7 +339,7 @@ <details key="documentation" value="<br>This is an optional default value literal.
"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation" + <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>This is an optional documentation.
"/> @@ -367,13 +367,13 @@ <details key="documentation" value="<br>This is an optional return type of the operation.
"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation" + <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>This is an optional documentation.
"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="detailCode" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode" + <eStructuralFeatures xsi:type="ecore:EReference" name="detailCode" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>This is the operation body written in code generator target language.
"/> @@ -406,7 +406,7 @@ </eAnnotations> </eOperations> <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> - <eStructuralFeatures xsi:type="ecore:EReference" name="detailCode" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode" + <eStructuralFeatures xsi:type="ecore:EReference" name="detailCode" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode" containment="true"/> </eClassifiers> <eClassifiers xsi:type="ecore:EEnum" name="CommunicationType"> @@ -419,7 +419,7 @@ <details key="documentation" value="<br>The super class of
<ul>
 <li>{@link ProtocolClass}</li>
 <li>{@link CompoundProtocolClass}</li>
</ul>
"/> </eAnnotations> <eStructuralFeatures xsi:type="ecore:EReference" name="annotations" upperBound="-1" - eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Annotation" + eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Annotation" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>This is a list of protocol class annotations.
"/> @@ -440,19 +440,19 @@ <details key="documentation" value="<br>The base class from which all messages are inherited.
The port classes and the semantics are not inherited.
"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="userCode1" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode" + <eStructuralFeatures xsi:type="ecore:EReference" name="userCode1" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>The user code is treated in a generator dependent way.
"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="userCode2" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode" + <eStructuralFeatures xsi:type="ecore:EReference" name="userCode2" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>The user code is treated in a generator dependent way.
"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="userCode3" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode" + <eStructuralFeatures xsi:type="ecore:EReference" name="userCode3" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>The user code is treated in a generator dependent way.
"/> @@ -482,7 +482,7 @@ <details key="documentation" value="<br>This is the optional conjugate port class specification.
"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="semantics" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//ProtocolSemantics" + <eStructuralFeatures xsi:type="ecore:EReference" name="semantics" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//ProtocolSemantics" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>This is the optional semantics specification for this protocol.
"/> @@ -535,7 +535,7 @@ <details key="documentation" value="<br>This is a reference to optional message data.
"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation" + <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>This is an optional documentation.
"/> @@ -546,7 +546,7 @@ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>A port class can be specified to customize the behavior of a {@link ProtocolClass}.
There can be one for regular ports and another one for conjugate ports independently.

<p>
Port classes can be used to define attributes and operations and message handlers
(or interceptors).
</p>
"/> </eAnnotations> - <eStructuralFeatures xsi:type="ecore:EReference" name="userCode" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode" + <eStructuralFeatures xsi:type="ecore:EReference" name="userCode" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>The user code is treated in a generator dependent way.
"/> @@ -580,7 +580,7 @@ <details key="documentation" value="<br>This is the message that is handled.
"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="detailCode" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode" + <eStructuralFeatures xsi:type="ecore:EReference" name="detailCode" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//DetailCode" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>This is the handler code written in code generator target language.
"/> @@ -597,7 +597,7 @@ <details key="documentation" value="<br>Is a handler (or interceptor) for outgoing messages. In the generated code the
message is available. It is derived from {@link MessageHandler}.
"/> </eAnnotations> </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="ActorClass" eSuperTypes="#//ActorContainerClass platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//ModelComponent"> + <eClassifiers xsi:type="ecore:EClass" name="ActorClass" eSuperTypes="#//ActorContainerClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//ModelComponent"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>Together with {@link ProtocolClass} and {@link DataClass} one of
the main class types of the ROOM language.

<p>
The actor class in ROOM has three compartments which aren't represented as separate model objects.
To understand to which compartment an attribute or reference belongs to here is a list
<ul>
 <li>Interface: everything which is visible from the outside from a model point of view
 <ul>
 <li>{@link #getInterfacePorts}: a list of all interface {@link Port}s</li>
 <li>{@link ActorContainerClass#getServiceProvisionPoints()}: a list of all interface {@link SPP}s</li>
 </ul>
 <li>Structure: all internal structural aspects of an actor class</li>
 <ul>
 <li>{@link #getUserCode1}-3: user defined code with generator dependent meaning</li>
 <li>{@link #getInternalPorts}: a list of all internal end {@link Port}s</li>
 <li>{@link #getExternalPorts}: a list of all {@link ExternalPort}s (the interface ports that
 are end ports, not relay ports</li>
 <li>{@link #getServiceImplementations}: a list of all {@link ServiceImplementation}s</li>
 <li>{@link #getServiceAccessPoints}: a list of all {@link SAP}s used by this actor class</li>
 <li>{@link #getAttributes}: a list of all actor class {@link Attribute}s</li>
 <li>{@link #getActorRefs}: a list of all referenced actor classes (an {@link ActorRef}
 has the meaning of a composition)</li>
 <li>{@link #getBindings}: a list of all port {@link Binding}s of this actor class</li>
 <li>{@link #getConnections}: a list of all {@link LayerConnection}s</li>
 </ul>
 <li>Behavior: the behavioral aspects of an actor class</li>
 <ul>
 <li>{@link #getOperations}: a list of {@link Operation}s</li>
 <li>{@link #getStateMachine}: the {@link StateGraph state machine} definition</li>
 </ul>
</ul>
</p>
"/> </eAnnotations> @@ -626,12 +626,12 @@ <details key="body" value="return getName();
"/> </eAnnotations> </eOperations> - <eOperations name="getAbstractInterfaceItems" upperBound="-1" eType="ecore:EClass http://www.eclipse.org/etrice/core/fsm/FSM#//AbstractInterfaceItem"> + <eOperations name="getAbstractInterfaceItems" upperBound="-1" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//AbstractInterfaceItem"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="body" value="return new <%org.eclipse.emf.common.util.BasicEList%><AbstractInterfaceItem>(new <%org.eclipse.etrice.core.room.util.RoomHelpers%>().getInterfaceItems(this));
"/> </eAnnotations> </eOperations> - <eOperations name="getAllAbstractInterfaceItems" upperBound="-1" eType="ecore:EClass http://www.eclipse.org/etrice/core/fsm/FSM#//AbstractInterfaceItem"> + <eOperations name="getAllAbstractInterfaceItems" upperBound="-1" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//AbstractInterfaceItem"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="body" value="return new <%org.eclipse.emf.common.util.BasicEList%><AbstractInterfaceItem>(new <%org.eclipse.etrice.core.room.util.RoomHelpers%>().getAllInterfaceItems(this));
"/> </eAnnotations> @@ -642,7 +642,7 @@ <details key="documentation" value="<br>This is a list containing all ports of the actor interface.
"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="structureDocu" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation" + <eStructuralFeatures xsi:type="ecore:EReference" name="structureDocu" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>This is an optional documentation of the actor structure.
"/> @@ -678,14 +678,14 @@ <details key="documentation" value="<br>This is a list containing all ports of the actor interface that are end ports.
"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="behaviorDocu" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation" + <eStructuralFeatures xsi:type="ecore:EReference" name="behaviorDocu" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>This is an optional documentation of the actor behavior.
"/> </eAnnotations> </eStructuralFeatures> <eStructuralFeatures xsi:type="ecore:EReference" name="behaviorAnnotations" upperBound="-1" - eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Annotation" + eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Annotation" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>This is a list of annotations to the actor behavior.
"/> @@ -700,7 +700,7 @@ <eStructuralFeatures xsi:type="ecore:EReference" name="structors" upperBound="-1" eType="#//ClassStructor" containment="true"/> </eClassifiers> - <eClassifiers xsi:type="ecore:EClass" name="InterfaceItem" eSuperTypes="platform:/resource/org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//AbstractInterfaceItem"> + <eClassifiers xsi:type="ecore:EClass" name="InterfaceItem" eSuperTypes="../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//AbstractInterfaceItem"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>This is a concrete sub class of an {@link AbstractInterfaceItem}.

It is the super class of
<ul>
 <li>{@link Port}</li>
 <li>{@link SAP}</li>
 <li>{@link SPP}</li>
</ul>
"/> </eAnnotations> @@ -709,7 +709,7 @@ <details key="body" value="if (this instanceof <%org.eclipse.etrice.core.room.Port%>)
	return ((Port) this).getProtocol();
else if (this instanceof <%org.eclipse.etrice.core.room.SAP%>)
	return ((SAP) this).getProtocol();
else if (this instanceof <%org.eclipse.etrice.core.room.SPP%>)
	return ((SPP) this).getProtocol();
return null;
"/> </eAnnotations> </eOperations> - <eOperations name="getSemantics" eType="ecore:EClass http://www.eclipse.org/etrice/core/fsm/FSM#//ProtocolSemantics"> + <eOperations name="getSemantics" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.fsm/model/generated/FSM.ecore#//ProtocolSemantics"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="body" value="if (getGeneralProtocol() instanceof <%org.eclipse.etrice.core.room.ProtocolClass%>)
	return ((ProtocolClass)getGeneralProtocol()).getSemantics();
else
	return null;
"/> </eAnnotations> @@ -755,7 +755,7 @@ <details key="documentation" value="<br>This is the port's protocol class.
"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation" + <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>This is an optional documentation.
"/> @@ -827,7 +827,7 @@ <details key="documentation" value="<br>By this name the actor container reference is referred to in the model.
"/> </eAnnotations> </eStructuralFeatures> - <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass platform:/resource/org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation" + <eStructuralFeatures xsi:type="ecore:EReference" name="docu" eType="ecore:EClass ../../../../../../org.eclipse.etrice.core.common/src-gen/org/eclipse/etrice/core/common/Base.ecore#//Documentation" containment="true"> <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"> <details key="documentation" value="<br>This is an optional documentation.
"/> diff --git a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/ActorClassGen.xtend b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/ActorClassGen.xtend index 471b0a7c2..fb5ccb677 100644 --- a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/ActorClassGen.xtend +++ b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/ActorClassGen.xtend @@ -43,7 +43,7 @@ class ActorClassGen extends GenericActorClassGenerator { @Inject protected ILogger logger def doGenerate(Root root) { - for (xpac: root.xpActorClasses) { + for (xpac: root.actorClasses.map[root.getExpandedActorClass(it)]) { val path = xpac.actorClass.generationTargetPath+xpac.actorClass.getPath val infopath = xpac.actorClass.generationInfoPath+xpac.actorClass.getPath var file = xpac.actorClass.getCHeaderFileName diff --git a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/DataClassGen.xtend b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/DataClassGen.xtend index 985074453..c8d8ed4b3 100644 --- a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/DataClassGen.xtend +++ b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/DataClassGen.xtend @@ -37,7 +37,7 @@ class DataClassGen { @Inject ILogger logger def doGenerate(Root root) { - for (dc: root.usedDataClasses) { + for (dc: root.dataClasses) { val path = dc.generationTargetPath+dc.getPath val infopath = dc.generationInfoPath+dc.getPath var file = dc.getCHeaderFileName diff --git a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/EnumerationTypeGen.xtend b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/EnumerationTypeGen.xtend index f0ce0f4d4..fc0ef2376 100644 --- a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/EnumerationTypeGen.xtend +++ b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/EnumerationTypeGen.xtend @@ -31,7 +31,7 @@ class EnumerationTypeGen { @Inject extension TypeHelpers def doGenerate(Root root) { - for (et: root.usedEnumClasses) { + for (et: root.enumClasses) { val path = et.generationTargetPath+et.getPath val infopath = et.generationInfoPath+et.getPath var file = et.getCHeaderFileName diff --git a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/ProtocolClassGen.xtend b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/ProtocolClassGen.xtend index f792caed0..accde66c6 100644 --- a/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/ProtocolClassGen.xtend +++ b/plugins/org.eclipse.etrice.generator.c/src/org/eclipse/etrice/generator/c/gen/ProtocolClassGen.xtend @@ -40,7 +40,7 @@ class ProtocolClassGen extends GenericProtocolClassGenerator { @Inject ILogger logger def doGenerate(Root root) { - for (pc: root.usedProtocolClasses) { + for (pc: root.protocolClasses) { val path = pc.generationTargetPath+pc.getPath val infopath = pc.generationInfoPath+pc.getPath var file = pc.getCHeaderFileName diff --git a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/ActorClassGen.java b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/ActorClassGen.java index 3393eeb23..f8a9dde27 100644 --- a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/ActorClassGen.java +++ b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/ActorClassGen.java @@ -54,6 +54,7 @@ import org.eclipse.xtend2.lib.StringConcatenation; import org.eclipse.xtext.xbase.lib.Extension; import org.eclipse.xtext.xbase.lib.Functions.Function1; import org.eclipse.xtext.xbase.lib.IterableExtensions; +import org.eclipse.xtext.xbase.lib.ListExtensions; @Singleton @SuppressWarnings("all") @@ -84,8 +85,12 @@ public class ActorClassGen extends GenericActorClassGenerator { protected ILogger logger; public void doGenerate(final Root root) { - EList<ExpandedActorClass> _xpActorClasses = root.getXpActorClasses(); - for (final ExpandedActorClass xpac : _xpActorClasses) { + EList<ActorClass> _actorClasses = root.getActorClasses(); + final Function1<ActorClass, ExpandedActorClass> _function = (ActorClass it) -> { + return root.getExpandedActorClass(it); + }; + List<ExpandedActorClass> _map = ListExtensions.<ActorClass, ExpandedActorClass>map(_actorClasses, _function); + for (final ExpandedActorClass xpac : _map) { { ActorClass _actorClass = xpac.getActorClass(); String _generationTargetPath = this._roomExtensions.getGenerationTargetPath(_actorClass); diff --git a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/DataClassGen.java b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/DataClassGen.java index 9832aa7e2..8f77c7b74 100644 --- a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/DataClassGen.java +++ b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/DataClassGen.java @@ -60,8 +60,8 @@ public class DataClassGen { private ILogger logger; public void doGenerate(final Root root) { - EList<DataClass> _usedDataClasses = root.getUsedDataClasses(); - for (final DataClass dc : _usedDataClasses) { + EList<DataClass> _dataClasses = root.getDataClasses(); + for (final DataClass dc : _dataClasses) { { String _generationTargetPath = this._roomExtensions.getGenerationTargetPath(dc); String _path = this._roomExtensions.getPath(dc); diff --git a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/EnumerationTypeGen.java b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/EnumerationTypeGen.java index bebaf61ed..c6f516f7f 100644 --- a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/EnumerationTypeGen.java +++ b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/EnumerationTypeGen.java @@ -45,8 +45,8 @@ public class EnumerationTypeGen { private TypeHelpers _typeHelpers; public void doGenerate(final Root root) { - EList<EnumerationType> _usedEnumClasses = root.getUsedEnumClasses(); - for (final EnumerationType et : _usedEnumClasses) { + EList<EnumerationType> _enumClasses = root.getEnumClasses(); + for (final EnumerationType et : _enumClasses) { { String _generationTargetPath = this._roomExtensions.getGenerationTargetPath(et); String _path = this._roomExtensions.getPath(et); diff --git a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/ProtocolClassGen.java b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/ProtocolClassGen.java index 0cb9a4361..7252d6dc7 100644 --- a/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/ProtocolClassGen.java +++ b/plugins/org.eclipse.etrice.generator.c/xtend-gen/org/eclipse/etrice/generator/c/gen/ProtocolClassGen.java @@ -76,8 +76,8 @@ public class ProtocolClassGen extends GenericProtocolClassGenerator { private ILogger logger; public void doGenerate(final Root root) { - EList<ProtocolClass> _usedProtocolClasses = root.getUsedProtocolClasses(); - for (final ProtocolClass pc : _usedProtocolClasses) { + EList<ProtocolClass> _protocolClasses = root.getProtocolClasses(); + for (final ProtocolClass pc : _protocolClasses) { { String _generationTargetPath = this._roomExtensions.getGenerationTargetPath(pc); String _path = this._roomExtensions.getPath(pc); diff --git a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.xtend b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.xtend index a9366db52..6ff717e2d 100644 --- a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.xtend +++ b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.xtend @@ -42,7 +42,7 @@ class ActorClassGen extends GenericActorClassGenerator { def doGenerate(Root root) { val Map<ActorClass, WiredActorClass> ac2wired = newHashMap root.wiredInstances.filter(typeof(WiredActorClass)).forEach[ac2wired.put(actorClass, it)] - for (xpac: root.xpActorClasses.filter(cl|cl.actorClass.isValidGenerationLocation)) { + for (xpac: root.actorClasses.filter[isValidGenerationLocation].map[root.getExpandedActorClass(it)]) { val wired = ac2wired.get(xpac.actorClass) val manualBehavior = xpac.actorClass.isBehaviorAnnotationPresent("BehaviorManual") val path = xpac.actorClass.generationTargetPath+xpac.actorClass.getPath diff --git a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/DataClassGen.xtend b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/DataClassGen.xtend index 8c31b08d6..105f639fc 100644 --- a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/DataClassGen.xtend +++ b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/DataClassGen.xtend @@ -38,7 +38,7 @@ class DataClassGen { def doGenerate(Root root) { logger.logInfo("generating code") - for (dc: root.usedDataClasses) { + for (dc: root.dataClasses) { var path = dc.generationTargetPath + dc.getPath // header file diff --git a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.xtend b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.xtend index 223cf131d..38f0da881 100644 --- a/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.xtend +++ b/plugins/org.eclipse.etrice.generator.cpp/src/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.xtend @@ -47,7 +47,7 @@ class ProtocolClassGen extends GenericProtocolClassGenerator { def doGenerate(Root root) { - for (pc: root.usedProtocolClasses.filter(cl|cl.isValidGenerationLocation)) { + for (pc: root.protocolClasses.filter(cl|cl.isValidGenerationLocation)) { val path = pc.generationTargetPath+pc.getPath val infopath = pc.generationInfoPath+pc.getPath switch (pc.commType) { diff --git a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.java b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.java index aa325c002..fb693fa07 100644 --- a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.java +++ b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ActorClassGen.java @@ -92,13 +92,16 @@ public class ActorClassGen extends GenericActorClassGenerator { ac2wired.put(_actorClass, it); }; _filter.forEach(_function); - EList<ExpandedActorClass> _xpActorClasses = root.getXpActorClasses(); - final Function1<ExpandedActorClass, Boolean> _function_1 = (ExpandedActorClass cl) -> { - ActorClass _actorClass = cl.getActorClass(); - return Boolean.valueOf(this._fileSystemHelpers.isValidGenerationLocation(_actorClass)); + EList<ActorClass> _actorClasses = root.getActorClasses(); + final Function1<ActorClass, Boolean> _function_1 = (ActorClass it) -> { + return Boolean.valueOf(this._fileSystemHelpers.isValidGenerationLocation(it)); }; - Iterable<ExpandedActorClass> _filter_1 = IterableExtensions.<ExpandedActorClass>filter(_xpActorClasses, _function_1); - for (final ExpandedActorClass xpac : _filter_1) { + Iterable<ActorClass> _filter_1 = IterableExtensions.<ActorClass>filter(_actorClasses, _function_1); + final Function1<ActorClass, ExpandedActorClass> _function_2 = (ActorClass it) -> { + return root.getExpandedActorClass(it); + }; + Iterable<ExpandedActorClass> _map = IterableExtensions.<ActorClass, ExpandedActorClass>map(_filter_1, _function_2); + for (final ExpandedActorClass xpac : _map) { { ActorClass _actorClass = xpac.getActorClass(); final WiredActorClass wired = ac2wired.get(_actorClass); diff --git a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/DataClassGen.java b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/DataClassGen.java index 90aef2972..f97e5e339 100644 --- a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/DataClassGen.java +++ b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/DataClassGen.java @@ -71,8 +71,8 @@ public class DataClassGen { public void doGenerate(final Root root) { this.logger.logInfo("generating code"); - EList<DataClass> _usedDataClasses = root.getUsedDataClasses(); - for (final DataClass dc : _usedDataClasses) { + EList<DataClass> _dataClasses = root.getDataClasses(); + for (final DataClass dc : _dataClasses) { { String _generationTargetPath = this.roomExt.getGenerationTargetPath(dc); String _path = this.roomExt.getPath(dc); diff --git a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.java b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.java index 844f3f2f3..9f3ceacb5 100644 --- a/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.java +++ b/plugins/org.eclipse.etrice.generator.cpp/xtend-gen/org/eclipse/etrice/generator/cpp/gen/ProtocolClassGen.java @@ -85,11 +85,11 @@ public class ProtocolClassGen extends GenericProtocolClassGenerator { private ILogger logger; public void doGenerate(final Root root) { - EList<ProtocolClass> _usedProtocolClasses = root.getUsedProtocolClasses(); + EList<ProtocolClass> _protocolClasses = root.getProtocolClasses(); final Function1<ProtocolClass, Boolean> _function = (ProtocolClass cl) -> { return Boolean.valueOf(this._fileSystemHelpers.isValidGenerationLocation(cl)); }; - Iterable<ProtocolClass> _filter = IterableExtensions.<ProtocolClass>filter(_usedProtocolClasses, _function); + Iterable<ProtocolClass> _filter = IterableExtensions.<ProtocolClass>filter(_protocolClasses, _function); for (final ProtocolClass pc : _filter) { { String _generationTargetPath = this.roomExt.getGenerationTargetPath(pc); diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ActorClassGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ActorClassGen.xtend index 3c23c9a32..d573ba315 100644 --- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ActorClassGen.xtend +++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ActorClassGen.xtend @@ -56,7 +56,7 @@ class ActorClassGen extends GenericActorClassGenerator { def doGenerate(Root root) { val HashMap<ActorClass, WiredActorClass> ac2wired = new HashMap<ActorClass, WiredActorClass> root.wiredInstances.filter(w|w instanceof WiredActorClass).forEach[w|ac2wired.put((w as WiredActorClass).actorClass, w as WiredActorClass)] - for (xpac: root.xpActorClasses.filter(cl|cl.actorClass.isValidGenerationLocation)) { + for (xpac: root.actorClasses.filter[isValidGenerationLocation].map[root.getExpandedActorClass(it)]) { val wired = ac2wired.get(xpac.actorClass) val manualBehavior = xpac.actorClass.isBehaviorAnnotationPresent("BehaviorManual") val path = xpac.actorClass.generationTargetPath+xpac.actorClass.getPath diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/DataClassGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/DataClassGen.xtend index 4928d7b16..6f10d38d0 100644 --- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/DataClassGen.xtend +++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/DataClassGen.xtend @@ -37,7 +37,7 @@ class DataClassGen { @Inject RoomHelpers roomHelpers def doGenerate(Root root) { - for (dc: root.usedDataClasses.filter(cl|cl.isValidGenerationLocation)) { + for (dc: root.dataClasses.filter(cl|cl.isValidGenerationLocation)) { var path = dc.generationTargetPath+dc.getPath var infopath = dc.generationInfoPath+dc.getPath var file = dc.getJavaFileName diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/EnumerationTypeGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/EnumerationTypeGen.xtend index 3e25711d7..49747db36 100644 --- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/EnumerationTypeGen.xtend +++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/EnumerationTypeGen.xtend @@ -32,7 +32,7 @@ class EnumerationTypeGen { @Inject extension FileSystemHelpers def doGenerate(Root root) { - for (et: root.usedEnumClasses.filter(cl|cl.isValidGenerationLocation)) { + for (et: root.enumClasses.filter(cl|cl.isValidGenerationLocation)) { var path = et.generationTargetPath+et.getPath var infopath = et.generationInfoPath+et.getPath var file = et.getJavaFileName diff --git a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.xtend b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.xtend index 6bdb49beb..9bb517b43 100644 --- a/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.xtend +++ b/plugins/org.eclipse.etrice.generator.java/src/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.xtend @@ -42,7 +42,7 @@ class ProtocolClassGen extends GenericProtocolClassGenerator { @Inject ILogger logger def doGenerate(Root root) { - for (pc: root.usedProtocolClasses.filter(cl|cl.isValidGenerationLocation)) { + for (pc: root.protocolClasses.filter(cl|cl.isValidGenerationLocation)) { val path = pc.generationTargetPath+pc.getPath val infopath = pc.generationInfoPath+pc.getPath val file = pc.getJavaFileName diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ActorClassGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ActorClassGen.java index 97efb1068..aebf1d1ff 100644 --- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ActorClassGen.java +++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ActorClassGen.java @@ -117,13 +117,16 @@ public class ActorClassGen extends GenericActorClassGenerator { ac2wired.put(_actorClass, ((WiredActorClass) w)); }; _filter.forEach(_function_1); - EList<ExpandedActorClass> _xpActorClasses = root.getXpActorClasses(); - final Function1<ExpandedActorClass, Boolean> _function_2 = (ExpandedActorClass cl) -> { - ActorClass _actorClass = cl.getActorClass(); - return Boolean.valueOf(this._fileSystemHelpers.isValidGenerationLocation(_actorClass)); + EList<ActorClass> _actorClasses = root.getActorClasses(); + final Function1<ActorClass, Boolean> _function_2 = (ActorClass it) -> { + return Boolean.valueOf(this._fileSystemHelpers.isValidGenerationLocation(it)); }; - Iterable<ExpandedActorClass> _filter_1 = IterableExtensions.<ExpandedActorClass>filter(_xpActorClasses, _function_2); - for (final ExpandedActorClass xpac : _filter_1) { + Iterable<ActorClass> _filter_1 = IterableExtensions.<ActorClass>filter(_actorClasses, _function_2); + final Function1<ActorClass, ExpandedActorClass> _function_3 = (ActorClass it) -> { + return root.getExpandedActorClass(it); + }; + Iterable<ExpandedActorClass> _map = IterableExtensions.<ActorClass, ExpandedActorClass>map(_filter_1, _function_3); + for (final ExpandedActorClass xpac : _map) { { ActorClass _actorClass = xpac.getActorClass(); final WiredActorClass wired = ac2wired.get(_actorClass); diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/DataClassGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/DataClassGen.java index c0497456a..f64d09d04 100644 --- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/DataClassGen.java +++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/DataClassGen.java @@ -65,11 +65,11 @@ public class DataClassGen { private RoomHelpers roomHelpers; public void doGenerate(final Root root) { - EList<DataClass> _usedDataClasses = root.getUsedDataClasses(); + EList<DataClass> _dataClasses = root.getDataClasses(); final Function1<DataClass, Boolean> _function = (DataClass cl) -> { return Boolean.valueOf(this._fileSystemHelpers.isValidGenerationLocation(cl)); }; - Iterable<DataClass> _filter = IterableExtensions.<DataClass>filter(_usedDataClasses, _function); + Iterable<DataClass> _filter = IterableExtensions.<DataClass>filter(_dataClasses, _function); for (final DataClass dc : _filter) { { String _generationTargetPath = this._roomExtensions.getGenerationTargetPath(dc); diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/EnumerationTypeGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/EnumerationTypeGen.java index 932972f8a..20799c42b 100644 --- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/EnumerationTypeGen.java +++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/EnumerationTypeGen.java @@ -45,11 +45,11 @@ public class EnumerationTypeGen { private FileSystemHelpers _fileSystemHelpers; public void doGenerate(final Root root) { - EList<EnumerationType> _usedEnumClasses = root.getUsedEnumClasses(); + EList<EnumerationType> _enumClasses = root.getEnumClasses(); final Function1<EnumerationType, Boolean> _function = (EnumerationType cl) -> { return Boolean.valueOf(this._fileSystemHelpers.isValidGenerationLocation(cl)); }; - Iterable<EnumerationType> _filter = IterableExtensions.<EnumerationType>filter(_usedEnumClasses, _function); + Iterable<EnumerationType> _filter = IterableExtensions.<EnumerationType>filter(_enumClasses, _function); for (final EnumerationType et : _filter) { { String _generationTargetPath = this._roomExtensions.getGenerationTargetPath(et); diff --git a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.java b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.java index aee53016d..9ebd9bebc 100644 --- a/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.java +++ b/plugins/org.eclipse.etrice.generator.java/xtend-gen/org/eclipse/etrice/generator/java/gen/ProtocolClassGen.java @@ -84,11 +84,11 @@ public class ProtocolClassGen extends GenericProtocolClassGenerator { private ILogger logger; public void doGenerate(final Root root) { - EList<ProtocolClass> _usedProtocolClasses = root.getUsedProtocolClasses(); + EList<ProtocolClass> _protocolClasses = root.getProtocolClasses(); final Function1<ProtocolClass, Boolean> _function = (ProtocolClass cl) -> { return Boolean.valueOf(this._fileSystemHelpers.isValidGenerationLocation(cl)); }; - Iterable<ProtocolClass> _filter = IterableExtensions.<ProtocolClass>filter(_usedProtocolClasses, _function); + Iterable<ProtocolClass> _filter = IterableExtensions.<ProtocolClass>filter(_protocolClasses, _function); for (final ProtocolClass pc : _filter) { { String _generationTargetPath = this._roomExtensions.getGenerationTargetPath(pc); diff --git a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/base/AbstractGenerator.java b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/base/AbstractGenerator.java index 5edefad90..94370646b 100644 --- a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/base/AbstractGenerator.java +++ b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/base/AbstractGenerator.java @@ -17,6 +17,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; +import java.util.HashSet; import java.util.Iterator; import java.util.List; @@ -444,20 +445,39 @@ public abstract class AbstractGenerator implements IDetailCodeTranslator { */ protected Root createGeneratorModel(boolean asLibrary, String genModelPath) { // create instance and mapping for test instances - if(!new TestInstanceCreator(logger).createInstancesAndMapping(getResourceSet())){ + List<Resource> testInstanceResources = new TestInstanceCreator(logger).createInstancesAndMapping(getResourceSet()); + if (testInstanceResources==null) { logger.logError("-- terminating", null); return null; } // create a list of ROOM models - List<RoomModel> rml = new ArrayList<RoomModel>(); + HashSet<URI> mainModelURIs = modelLoader.getMainModelURIs(); + List<RoomModel> mainModels = new ArrayList<RoomModel>(); + List<RoomModel> importedModels = new ArrayList<RoomModel>(); for (Resource resource : getResourceSet().getResources()) { - for(EObject content : resource.getContents()){ - if(content instanceof RoomModel) - rml.add((RoomModel) content); + boolean isMainModel = mainModelURIs.contains(resource.getURI()); + for (EObject content : resource.getContents()){ + if (content instanceof RoomModel) { + if (isMainModel) { + mainModels.add((RoomModel) content); + } + else { + importedModels.add((RoomModel) content); + } + } + } + } + if (!testInstanceResources.isEmpty()) { + for (Resource resource : testInstanceResources) { + for (EObject content : resource.getContents()){ + if (content instanceof RoomModel) { + mainModels.add((RoomModel) content); + } + } } } - if (rml.isEmpty()) { + if (importedModels.isEmpty() && mainModels.isEmpty()) { logger.logError("no ROOM models found", null); logger.logError("-- terminating", null); return null; @@ -465,7 +485,7 @@ public abstract class AbstractGenerator implements IDetailCodeTranslator { else { logger.logInfo("-- creating generator model"); GeneratorModelBuilder gmb = new GeneratorModelBuilder(logger, diagnostician); - Root gmRoot = gmb.createGeneratorModel(rml, asLibrary); + Root gmRoot = gmb.createGeneratorModel(mainModels, importedModels, asLibrary); if (diagnostician.isFailed()) { logger.logError("validation failed during build of generator model", null); logger.logError("-- terminating", null); @@ -567,12 +587,12 @@ public abstract class AbstractGenerator implements IDetailCodeTranslator { translateDetailCodesOfTree(xpac.getStateMachine(), dct); } - for (DataClass dc : gmRoot.getUsedDataClasses()) { + for (DataClass dc : gmRoot.getDataClasses()) { DetailCodeTranslator dct = new DetailCodeTranslator(dc, translationProvider, doTranslate); translateDetailCodesOfTree(dc, dct); } - for (ProtocolClass pc : gmRoot.getUsedProtocolClasses()) { + for (ProtocolClass pc : gmRoot.getProtocolClasses()) { if (pc.getConjugated()!=null) { DetailCodeTranslator dct = new DetailCodeTranslator(pc.getConjugated(), translationProvider, doTranslate); translateDetailCodesOfTree(pc.getConjugated(), dct); diff --git a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/base/ModelLoader.java b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/base/ModelLoader.java index cb2cbf95e..3794a8562 100644 --- a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/base/ModelLoader.java +++ b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/base/ModelLoader.java @@ -56,6 +56,7 @@ public class ModelLoader { private ResourceSet resourceSet; private HashSet<URI> modelURIs = new HashSet<URI>(); + private HashSet<URI> mainModelURIs = new HashSet<URI>(); private HashSet<URI> loadedModelURIs = new HashSet<URI>(); public boolean loadModels(List<String> uriList) { @@ -79,6 +80,9 @@ public class ModelLoader { addResourceURI(uriResolver.resolve(uri, null)); } + // now that we have a list of normalized input models we make a copy of them + mainModelURIs.addAll(modelURIs); + boolean ok = true; while (!modelURIs.isEmpty()) { URI uri = modelURIs.iterator().next(); @@ -173,4 +177,11 @@ public class ModelLoader { public ResourceSet getResourceSet() { return resourceSet; } + + /** + * @return the mainModelURIs + */ + public HashSet<URI> getMainModelURIs() { + return mainModelURIs; + } } diff --git a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/PrepareFileSystem.xtend b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/PrepareFileSystem.xtend index b149bb12c..3f65bc576 100644 --- a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/PrepareFileSystem.xtend +++ b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/PrepareFileSystem.xtend @@ -39,7 +39,7 @@ class PrepareFileSystem { var Set<String> pathes = new HashSet<String>(); for (e: resource.contents){ if (e instanceof Root) { - for (mdl : (e as Root).usedRoomModels) { + for (mdl : (e as Root).models) { val tgtpath = mdl.generationTargetPath if (tgtpath!=null && !tgtpath.empty) pathes.add(tgtpath) @@ -53,7 +53,7 @@ class PrepareFileSystem { var Set<String> pathes = new HashSet<String>(); for (e: resource.contents){ if (e instanceof Root) { - for (mdl : (e as Root).usedRoomModels) { + for (mdl : (e as Root).models) { val tgtpath = mdl.docGenerationTargetPath if (tgtpath!=null && !tgtpath.empty) pathes.add(tgtpath) diff --git a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/TestInstanceCreator.xtend b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/TestInstanceCreator.xtend index fc35cfae0..2063e672a 100644 --- a/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/TestInstanceCreator.xtend +++ b/plugins/org.eclipse.etrice.generator/src/org/eclipse/etrice/generator/generic/TestInstanceCreator.xtend @@ -37,7 +37,7 @@ class TestInstanceCreator { * @param rs ResourceSet for new resources * @return false, if creation failed and generation should stop */ - def boolean createInstancesAndMapping(ResourceSet rs) { + def List<Resource> createInstancesAndMapping(ResourceSet rs) { val roomModels = newArrayList val physModels = newArrayList rs.resources.forEach[contents.forall[switch it { RoomModel: roomModels += it PhysicalModel: physModels += it }]] @@ -45,6 +45,7 @@ class TestInstanceCreator { // try find annotated SubSystemClass val allTestSubSystems = roomModels.fold(newArrayList, [list, model | list += model.subSystemClasses.filter[hasTestAnnotation] return list]) val List<StructureClass> allAnnotatedClasses = newArrayList(allTestSubSystems) + val result = newArrayList // try find annotated ActorClasses and map them to virtual sub system { @@ -61,7 +62,9 @@ class TestInstanceCreator { allTestSubSystems += derivedSubSystem } - if(allTestSubSystems.isEmpty) return true + if(allTestSubSystems.isEmpty) { + return result + } // if (roomModels.exists[model|!model.systems.empty]) { // allAnnotatedClasses.forEach[roomCls| // logger.logInfo( @@ -73,14 +76,14 @@ class TestInstanceCreator { if (allAnnotatedClasses.size > 1) { allAnnotatedClasses.forEach[roomCls| logger.logError('''TestInstanceCreator: mapping failed, multiple test instances present''', roomCls)] - return false + return null } // get physical system val List<PhysicalSystem> allPhysSystems = physModels.fold(newArrayList,[list, model|list += model.systems return list]) if (allPhysSystems.size != 1) { logger.logError('''TestInstanceCreator: mapping failed, found «allPhysSystems.size» physical systems''', null) - return false + return null } // create mapping @@ -111,9 +114,14 @@ class TestInstanceCreator { // create memory resource with same uri locations as test instance val Resource existingResource = if(testSubSystem.eResource !== null) testSubSystem.eResource else allAnnotatedClasses.head.eResource val uriPath = existingResource.URI.trimFileExtension.trimSegments(1) - rs.createResource(uriPath.appendSegment("DerivedTestMappingModel").appendFileExtension("etmap")).contents += testMappingModel - rs.createResource(uriPath.appendSegment("DerivedTestRoomModel").appendFileExtension("room")).contents += testRoomModel - + var res = rs.createResource(uriPath.appendSegment("DerivedTestMappingModel").appendFileExtension("etmap")) + res.contents += testMappingModel + result.add(res) + res = rs.createResource(uriPath.appendSegment("DerivedTestRoomModel").appendFileExtension("room")) + res.contents += testRoomModel + result.add(res) + + return result } def protected hasTestAnnotation(StructureClass cls) { diff --git a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/PrepareFileSystem.java b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/PrepareFileSystem.java index dc314ed5e..667fe42c5 100644 --- a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/PrepareFileSystem.java +++ b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/PrepareFileSystem.java @@ -50,8 +50,8 @@ public class PrepareFileSystem { EList<EObject> _contents = resource.getContents(); for (final EObject e : _contents) { if ((e instanceof Root)) { - EList<RoomModel> _usedRoomModels = ((Root) e).getUsedRoomModels(); - for (final RoomModel mdl : _usedRoomModels) { + EList<RoomModel> _models = ((Root) e).getModels(); + for (final RoomModel mdl : _models) { { final String tgtpath = this._roomExtensions.getGenerationTargetPath(mdl); if (((!Objects.equal(tgtpath, null)) && (!tgtpath.isEmpty()))) { @@ -69,8 +69,8 @@ public class PrepareFileSystem { EList<EObject> _contents = resource.getContents(); for (final EObject e : _contents) { if ((e instanceof Root)) { - EList<RoomModel> _usedRoomModels = ((Root) e).getUsedRoomModels(); - for (final RoomModel mdl : _usedRoomModels) { + EList<RoomModel> _models = ((Root) e).getModels(); + for (final RoomModel mdl : _models) { { final String tgtpath = this._roomExtensions.getDocGenerationTargetPath(mdl); if (((!Objects.equal(tgtpath, null)) && (!tgtpath.isEmpty()))) { diff --git a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/TestInstanceCreator.java b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/TestInstanceCreator.java index aa46cc204..5df095c60 100644 --- a/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/TestInstanceCreator.java +++ b/plugins/org.eclipse.etrice.generator/xtend-gen/org/eclipse/etrice/generator/generic/TestInstanceCreator.java @@ -68,209 +68,210 @@ public class TestInstanceCreator { * @param rs ResourceSet for new resources * @return false, if creation failed and generation should stop */ - public boolean createInstancesAndMapping(final ResourceSet rs) { - boolean _xblockexpression = false; - { - final ArrayList<RoomModel> roomModels = CollectionLiterals.<RoomModel>newArrayList(); - final ArrayList<PhysicalModel> physModels = CollectionLiterals.<PhysicalModel>newArrayList(); - EList<Resource> _resources = rs.getResources(); - final Consumer<Resource> _function = (Resource it) -> { - EList<EObject> _contents = it.getContents(); - final Function1<EObject, Boolean> _function_1 = (EObject it_1) -> { - boolean _switchResult = false; - boolean _matched = false; - if (it_1 instanceof RoomModel) { + public List<Resource> createInstancesAndMapping(final ResourceSet rs) { + final ArrayList<RoomModel> roomModels = CollectionLiterals.<RoomModel>newArrayList(); + final ArrayList<PhysicalModel> physModels = CollectionLiterals.<PhysicalModel>newArrayList(); + EList<Resource> _resources = rs.getResources(); + final Consumer<Resource> _function = (Resource it) -> { + EList<EObject> _contents = it.getContents(); + final Function1<EObject, Boolean> _function_1 = (EObject it_1) -> { + boolean _switchResult = false; + boolean _matched = false; + if (it_1 instanceof RoomModel) { + _matched=true; + _switchResult = roomModels.add(((RoomModel)it_1)); + } + if (!_matched) { + if (it_1 instanceof PhysicalModel) { _matched=true; - _switchResult = roomModels.add(((RoomModel)it_1)); - } - if (!_matched) { - if (it_1 instanceof PhysicalModel) { - _matched=true; - _switchResult = physModels.add(((PhysicalModel)it_1)); - } + _switchResult = physModels.add(((PhysicalModel)it_1)); } - return Boolean.valueOf(_switchResult); - }; - IterableExtensions.<EObject>forall(_contents, _function_1); + } + return Boolean.valueOf(_switchResult); }; - _resources.forEach(_function); - ArrayList<SubSystemClass> _newArrayList = CollectionLiterals.<SubSystemClass>newArrayList(); - final Function2<ArrayList<SubSystemClass>, RoomModel, ArrayList<SubSystemClass>> _function_1 = (ArrayList<SubSystemClass> list, RoomModel model) -> { - EList<SubSystemClass> _subSystemClasses = model.getSubSystemClasses(); - final Function1<SubSystemClass, Boolean> _function_2 = (SubSystemClass it) -> { - return Boolean.valueOf(this.hasTestAnnotation(it)); - }; - Iterable<SubSystemClass> _filter = IterableExtensions.<SubSystemClass>filter(_subSystemClasses, _function_2); - Iterables.<SubSystemClass>addAll(list, _filter); - return list; + IterableExtensions.<EObject>forall(_contents, _function_1); + }; + _resources.forEach(_function); + ArrayList<SubSystemClass> _newArrayList = CollectionLiterals.<SubSystemClass>newArrayList(); + final Function2<ArrayList<SubSystemClass>, RoomModel, ArrayList<SubSystemClass>> _function_1 = (ArrayList<SubSystemClass> list, RoomModel model) -> { + EList<SubSystemClass> _subSystemClasses = model.getSubSystemClasses(); + final Function1<SubSystemClass, Boolean> _function_2 = (SubSystemClass it) -> { + return Boolean.valueOf(this.hasTestAnnotation(it)); }; - final ArrayList<SubSystemClass> allTestSubSystems = IterableExtensions.<RoomModel, ArrayList<SubSystemClass>>fold(roomModels, _newArrayList, _function_1); - final List<StructureClass> allAnnotatedClasses = CollectionLiterals.<StructureClass>newArrayList(((StructureClass[])Conversions.unwrapArray(allTestSubSystems, StructureClass.class))); - { - SubSystemClass _createSubSystemClass = this._roomFactory.createSubSystemClass(); - final Procedure1<SubSystemClass> _function_2 = (SubSystemClass it) -> { - it.setName("DerivedTestSubSystem"); - }; - final SubSystemClass derivedSubSystem = ObjectExtensions.<SubSystemClass>operator_doubleArrow(_createSubSystemClass, _function_2); - final Consumer<RoomModel> _function_3 = (RoomModel model) -> { - EList<ActorRef> _actorRefs = derivedSubSystem.getActorRefs(); - EList<ActorClass> _actorClasses = model.getActorClasses(); - final Function1<ActorClass, Boolean> _function_4 = (ActorClass it) -> { - return Boolean.valueOf(this.hasTestAnnotation(it)); - }; - Iterable<ActorClass> _filter = IterableExtensions.<ActorClass>filter(_actorClasses, _function_4); - final Function1<ActorClass, ActorRef> _function_5 = (ActorClass ac) -> { - ActorRef _xblockexpression_1 = null; - { - allAnnotatedClasses.add(ac); - ActorRef _createActorRef = this._roomFactory.createActorRef(); - final Procedure1<ActorRef> _function_6 = (ActorRef it) -> { - String _name = ac.getName(); - String _plus = ("ref_" + _name); - it.setName(_plus); - it.setType(ac); - }; - _xblockexpression_1 = ObjectExtensions.<ActorRef>operator_doubleArrow(_createActorRef, _function_6); - } - return _xblockexpression_1; - }; - Iterable<ActorRef> _map = IterableExtensions.<ActorClass, ActorRef>map(_filter, _function_5); - Iterables.<ActorRef>addAll(_actorRefs, _map); - }; - roomModels.forEach(_function_3); + Iterable<SubSystemClass> _filter = IterableExtensions.<SubSystemClass>filter(_subSystemClasses, _function_2); + Iterables.<SubSystemClass>addAll(list, _filter); + return list; + }; + final ArrayList<SubSystemClass> allTestSubSystems = IterableExtensions.<RoomModel, ArrayList<SubSystemClass>>fold(roomModels, _newArrayList, _function_1); + final List<StructureClass> allAnnotatedClasses = CollectionLiterals.<StructureClass>newArrayList(((StructureClass[])Conversions.unwrapArray(allTestSubSystems, StructureClass.class))); + final ArrayList<Resource> result = CollectionLiterals.<Resource>newArrayList(); + { + SubSystemClass _createSubSystemClass = this._roomFactory.createSubSystemClass(); + final Procedure1<SubSystemClass> _function_2 = (SubSystemClass it) -> { + it.setName("DerivedTestSubSystem"); + }; + final SubSystemClass derivedSubSystem = ObjectExtensions.<SubSystemClass>operator_doubleArrow(_createSubSystemClass, _function_2); + final Consumer<RoomModel> _function_3 = (RoomModel model) -> { EList<ActorRef> _actorRefs = derivedSubSystem.getActorRefs(); - boolean _isEmpty = _actorRefs.isEmpty(); - boolean _not = (!_isEmpty); - if (_not) { - allTestSubSystems.add(derivedSubSystem); - } - } - boolean _isEmpty = allTestSubSystems.isEmpty(); - if (_isEmpty) { - return true; - } - int _size = allAnnotatedClasses.size(); - boolean _greaterThan = (_size > 1); - if (_greaterThan) { - final Consumer<StructureClass> _function_2 = (StructureClass roomCls) -> { - StringConcatenation _builder = new StringConcatenation(); - _builder.append("TestInstanceCreator: mapping failed, multiple test instances present"); - this.logger.logError(_builder.toString(), roomCls); + EList<ActorClass> _actorClasses = model.getActorClasses(); + final Function1<ActorClass, Boolean> _function_4 = (ActorClass it) -> { + return Boolean.valueOf(this.hasTestAnnotation(it)); }; - allAnnotatedClasses.forEach(_function_2); - return false; - } - ArrayList<PhysicalSystem> _newArrayList_1 = CollectionLiterals.<PhysicalSystem>newArrayList(); - final Function2<ArrayList<PhysicalSystem>, PhysicalModel, ArrayList<PhysicalSystem>> _function_3 = (ArrayList<PhysicalSystem> list, PhysicalModel model) -> { - EList<PhysicalSystem> _systems = model.getSystems(); - Iterables.<PhysicalSystem>addAll(list, _systems); - return list; + Iterable<ActorClass> _filter = IterableExtensions.<ActorClass>filter(_actorClasses, _function_4); + final Function1<ActorClass, ActorRef> _function_5 = (ActorClass ac) -> { + ActorRef _xblockexpression = null; + { + allAnnotatedClasses.add(ac); + ActorRef _createActorRef = this._roomFactory.createActorRef(); + final Procedure1<ActorRef> _function_6 = (ActorRef it) -> { + String _name = ac.getName(); + String _plus = ("ref_" + _name); + it.setName(_plus); + it.setType(ac); + }; + _xblockexpression = ObjectExtensions.<ActorRef>operator_doubleArrow(_createActorRef, _function_6); + } + return _xblockexpression; + }; + Iterable<ActorRef> _map = IterableExtensions.<ActorClass, ActorRef>map(_filter, _function_5); + Iterables.<ActorRef>addAll(_actorRefs, _map); }; - final List<PhysicalSystem> allPhysSystems = IterableExtensions.<PhysicalModel, ArrayList<PhysicalSystem>>fold(physModels, _newArrayList_1, _function_3); - int _size_1 = allPhysSystems.size(); - boolean _notEquals = (_size_1 != 1); - if (_notEquals) { - StringConcatenation _builder = new StringConcatenation(); - _builder.append("TestInstanceCreator: mapping failed, found "); - int _size_2 = allPhysSystems.size(); - _builder.append(_size_2, ""); - _builder.append(" physical systems"); - this.logger.logError(_builder.toString(), null); - return false; + roomModels.forEach(_function_3); + EList<ActorRef> _actorRefs = derivedSubSystem.getActorRefs(); + boolean _isEmpty = _actorRefs.isEmpty(); + boolean _not = (!_isEmpty); + if (_not) { + allTestSubSystems.add(derivedSubSystem); } - StringConcatenation _builder_1 = new StringConcatenation(); - _builder_1.append("TestInstanceCreator: creating instance and mapping for "); - StructureClass _head = IterableExtensions.<StructureClass>head(allAnnotatedClasses); - String _name = _head.getName(); - _builder_1.append(_name, ""); - _builder_1.append(":"); - StructureClass _head_1 = IterableExtensions.<StructureClass>head(allAnnotatedClasses); - EClass _eClass = _head_1.eClass(); - String _name_1 = _eClass.getName(); - _builder_1.append(_name_1, ""); - this.logger.logInfo(_builder_1.toString()); - final PhysicalSystem physSystem = IterableExtensions.<PhysicalSystem>head(allPhysSystems); - final SubSystemClass testSubSystem = IterableExtensions.<SubSystemClass>head(allTestSubSystems); - LogicalSystem _createLogicalSystem = this._roomFactory.createLogicalSystem(); - final Procedure1<LogicalSystem> _function_4 = (LogicalSystem it) -> { - it.setName("DerivedTestSystem"); - }; - final LogicalSystem testSystem = ObjectExtensions.<LogicalSystem>operator_doubleArrow(_createLogicalSystem, _function_4); - EList<SubSystemRef> _subSystems = testSystem.getSubSystems(); - SubSystemRef _createSubSystemRef = this._roomFactory.createSubSystemRef(); - final Procedure1<SubSystemRef> _function_5 = (SubSystemRef it) -> { - String _name_2 = testSubSystem.getName(); - String _plus = ("ref_" + _name_2); - it.setName(_plus); - it.setType(testSubSystem); - }; - SubSystemRef _doubleArrow = ObjectExtensions.<SubSystemRef>operator_doubleArrow(_createSubSystemRef, _function_5); - _subSystems.add(_doubleArrow); - RoomModel _createRoomModel = this._roomFactory.createRoomModel(); - final Procedure1<RoomModel> _function_6 = (RoomModel it) -> { - it.setName("DerivedTestRoomModel"); - EList<LogicalSystem> _systems = it.getSystems(); - _systems.add(testSystem); - Resource _eResource = testSubSystem.eResource(); - boolean _tripleEquals = (_eResource == null); - if (_tripleEquals) { - EList<SubSystemClass> _subSystemClasses = it.getSubSystemClasses(); - _subSystemClasses.add(testSubSystem); - } + } + boolean _isEmpty = allTestSubSystems.isEmpty(); + if (_isEmpty) { + return result; + } + int _size = allAnnotatedClasses.size(); + boolean _greaterThan = (_size > 1); + if (_greaterThan) { + final Consumer<StructureClass> _function_2 = (StructureClass roomCls) -> { + StringConcatenation _builder = new StringConcatenation(); + _builder.append("TestInstanceCreator: mapping failed, multiple test instances present"); + this.logger.logError(_builder.toString(), roomCls); }; - final RoomModel testRoomModel = ObjectExtensions.<RoomModel>operator_doubleArrow(_createRoomModel, _function_6); - MappingModel _createMappingModel = this._eTMapFactory.createMappingModel(); - final Procedure1<MappingModel> _function_7 = (MappingModel it) -> { - it.setName("DerivedTestMappingModel"); - EList<Mapping> _mappings = it.getMappings(); - Mapping _createMapping = this._eTMapFactory.createMapping(); - final Procedure1<Mapping> _function_8 = (Mapping it_1) -> { - it_1.setLogicalSys(testSystem); - it_1.setPhysicalSys(physSystem); - EList<SubSystemMapping> _subsysMappings = it_1.getSubsysMappings(); - EList<SubSystemRef> _subSystems_1 = testSystem.getSubSystems(); - final Function1<SubSystemRef, SubSystemMapping> _function_9 = (SubSystemRef subSysRef) -> { - SubSystemMapping _createSubSystemMapping = this._eTMapFactory.createSubSystemMapping(); - final Procedure1<SubSystemMapping> _function_10 = (SubSystemMapping it_2) -> { - it_2.setLogicalSubSys(subSysRef); - EList<NodeRef> _nodeRefs = physSystem.getNodeRefs(); - NodeRef _head_2 = IterableExtensions.<NodeRef>head(_nodeRefs); - it_2.setNode(_head_2); - }; - return ObjectExtensions.<SubSystemMapping>operator_doubleArrow(_createSubSystemMapping, _function_10); + allAnnotatedClasses.forEach(_function_2); + return null; + } + ArrayList<PhysicalSystem> _newArrayList_1 = CollectionLiterals.<PhysicalSystem>newArrayList(); + final Function2<ArrayList<PhysicalSystem>, PhysicalModel, ArrayList<PhysicalSystem>> _function_3 = (ArrayList<PhysicalSystem> list, PhysicalModel model) -> { + EList<PhysicalSystem> _systems = model.getSystems(); + Iterables.<PhysicalSystem>addAll(list, _systems); + return list; + }; + final List<PhysicalSystem> allPhysSystems = IterableExtensions.<PhysicalModel, ArrayList<PhysicalSystem>>fold(physModels, _newArrayList_1, _function_3); + int _size_1 = allPhysSystems.size(); + boolean _notEquals = (_size_1 != 1); + if (_notEquals) { + StringConcatenation _builder = new StringConcatenation(); + _builder.append("TestInstanceCreator: mapping failed, found "); + int _size_2 = allPhysSystems.size(); + _builder.append(_size_2, ""); + _builder.append(" physical systems"); + this.logger.logError(_builder.toString(), null); + return null; + } + StringConcatenation _builder_1 = new StringConcatenation(); + _builder_1.append("TestInstanceCreator: creating instance and mapping for "); + StructureClass _head = IterableExtensions.<StructureClass>head(allAnnotatedClasses); + String _name = _head.getName(); + _builder_1.append(_name, ""); + _builder_1.append(":"); + StructureClass _head_1 = IterableExtensions.<StructureClass>head(allAnnotatedClasses); + EClass _eClass = _head_1.eClass(); + String _name_1 = _eClass.getName(); + _builder_1.append(_name_1, ""); + this.logger.logInfo(_builder_1.toString()); + final PhysicalSystem physSystem = IterableExtensions.<PhysicalSystem>head(allPhysSystems); + final SubSystemClass testSubSystem = IterableExtensions.<SubSystemClass>head(allTestSubSystems); + LogicalSystem _createLogicalSystem = this._roomFactory.createLogicalSystem(); + final Procedure1<LogicalSystem> _function_4 = (LogicalSystem it) -> { + it.setName("DerivedTestSystem"); + }; + final LogicalSystem testSystem = ObjectExtensions.<LogicalSystem>operator_doubleArrow(_createLogicalSystem, _function_4); + EList<SubSystemRef> _subSystems = testSystem.getSubSystems(); + SubSystemRef _createSubSystemRef = this._roomFactory.createSubSystemRef(); + final Procedure1<SubSystemRef> _function_5 = (SubSystemRef it) -> { + String _name_2 = testSubSystem.getName(); + String _plus = ("ref_" + _name_2); + it.setName(_plus); + it.setType(testSubSystem); + }; + SubSystemRef _doubleArrow = ObjectExtensions.<SubSystemRef>operator_doubleArrow(_createSubSystemRef, _function_5); + _subSystems.add(_doubleArrow); + RoomModel _createRoomModel = this._roomFactory.createRoomModel(); + final Procedure1<RoomModel> _function_6 = (RoomModel it) -> { + it.setName("DerivedTestRoomModel"); + EList<LogicalSystem> _systems = it.getSystems(); + _systems.add(testSystem); + Resource _eResource = testSubSystem.eResource(); + boolean _tripleEquals = (_eResource == null); + if (_tripleEquals) { + EList<SubSystemClass> _subSystemClasses = it.getSubSystemClasses(); + _subSystemClasses.add(testSubSystem); + } + }; + final RoomModel testRoomModel = ObjectExtensions.<RoomModel>operator_doubleArrow(_createRoomModel, _function_6); + MappingModel _createMappingModel = this._eTMapFactory.createMappingModel(); + final Procedure1<MappingModel> _function_7 = (MappingModel it) -> { + it.setName("DerivedTestMappingModel"); + EList<Mapping> _mappings = it.getMappings(); + Mapping _createMapping = this._eTMapFactory.createMapping(); + final Procedure1<Mapping> _function_8 = (Mapping it_1) -> { + it_1.setLogicalSys(testSystem); + it_1.setPhysicalSys(physSystem); + EList<SubSystemMapping> _subsysMappings = it_1.getSubsysMappings(); + EList<SubSystemRef> _subSystems_1 = testSystem.getSubSystems(); + final Function1<SubSystemRef, SubSystemMapping> _function_9 = (SubSystemRef subSysRef) -> { + SubSystemMapping _createSubSystemMapping = this._eTMapFactory.createSubSystemMapping(); + final Procedure1<SubSystemMapping> _function_10 = (SubSystemMapping it_2) -> { + it_2.setLogicalSubSys(subSysRef); + EList<NodeRef> _nodeRefs = physSystem.getNodeRefs(); + NodeRef _head_2 = IterableExtensions.<NodeRef>head(_nodeRefs); + it_2.setNode(_head_2); }; - List<SubSystemMapping> _map = ListExtensions.<SubSystemRef, SubSystemMapping>map(_subSystems_1, _function_9); - Iterables.<SubSystemMapping>addAll(_subsysMappings, _map); + return ObjectExtensions.<SubSystemMapping>operator_doubleArrow(_createSubSystemMapping, _function_10); }; - Mapping _doubleArrow_1 = ObjectExtensions.<Mapping>operator_doubleArrow(_createMapping, _function_8); - _mappings.add(_doubleArrow_1); + List<SubSystemMapping> _map = ListExtensions.<SubSystemRef, SubSystemMapping>map(_subSystems_1, _function_9); + Iterables.<SubSystemMapping>addAll(_subsysMappings, _map); }; - final MappingModel testMappingModel = ObjectExtensions.<MappingModel>operator_doubleArrow(_createMappingModel, _function_7); - Resource _xifexpression = null; - Resource _eResource = testSubSystem.eResource(); - boolean _tripleNotEquals = (_eResource != null); - if (_tripleNotEquals) { - _xifexpression = testSubSystem.eResource(); - } else { - StructureClass _head_2 = IterableExtensions.<StructureClass>head(allAnnotatedClasses); - _xifexpression = _head_2.eResource(); - } - final Resource existingResource = _xifexpression; - URI _uRI = existingResource.getURI(); - URI _trimFileExtension = _uRI.trimFileExtension(); - final URI uriPath = _trimFileExtension.trimSegments(1); - URI _appendSegment = uriPath.appendSegment("DerivedTestMappingModel"); - URI _appendFileExtension = _appendSegment.appendFileExtension("etmap"); - Resource _createResource = rs.createResource(_appendFileExtension); - EList<EObject> _contents = _createResource.getContents(); - _contents.add(testMappingModel); - URI _appendSegment_1 = uriPath.appendSegment("DerivedTestRoomModel"); - URI _appendFileExtension_1 = _appendSegment_1.appendFileExtension("room"); - Resource _createResource_1 = rs.createResource(_appendFileExtension_1); - EList<EObject> _contents_1 = _createResource_1.getContents(); - _xblockexpression = _contents_1.add(testRoomModel); + Mapping _doubleArrow_1 = ObjectExtensions.<Mapping>operator_doubleArrow(_createMapping, _function_8); + _mappings.add(_doubleArrow_1); + }; + final MappingModel testMappingModel = ObjectExtensions.<MappingModel>operator_doubleArrow(_createMappingModel, _function_7); + Resource _xifexpression = null; + Resource _eResource = testSubSystem.eResource(); + boolean _tripleNotEquals = (_eResource != null); + if (_tripleNotEquals) { + _xifexpression = testSubSystem.eResource(); + } else { + StructureClass _head_2 = IterableExtensions.<StructureClass>head(allAnnotatedClasses); + _xifexpression = _head_2.eResource(); } - return _xblockexpression; + final Resource existingResource = _xifexpression; + URI _uRI = existingResource.getURI(); + URI _trimFileExtension = _uRI.trimFileExtension(); + final URI uriPath = _trimFileExtension.trimSegments(1); + URI _appendSegment = uriPath.appendSegment("DerivedTestMappingModel"); + URI _appendFileExtension = _appendSegment.appendFileExtension("etmap"); + Resource res = rs.createResource(_appendFileExtension); + EList<EObject> _contents = res.getContents(); + _contents.add(testMappingModel); + result.add(res); + URI _appendSegment_1 = uriPath.appendSegment("DerivedTestRoomModel"); + URI _appendFileExtension_1 = _appendSegment_1.appendFileExtension("room"); + Resource _createResource = rs.createResource(_appendFileExtension_1); + res = _createResource; + EList<EObject> _contents_1 = res.getContents(); + _contents_1.add(testRoomModel); + result.add(res); + return result; } protected boolean hasTestAnnotation(final StructureClass cls) { diff --git a/runtime/org.eclipse.etrice.modellib.java/jgen_modellib_java.launch b/runtime/org.eclipse.etrice.modellib.java/jgen_modellib_java.launch index 02583c781..f0eb39db5 100644 --- a/runtime/org.eclipse.etrice.modellib.java/jgen_modellib_java.launch +++ b/runtime/org.eclipse.etrice.modellib.java/jgen_modellib_java.launch @@ -6,7 +6,14 @@ <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES"> <listEntry value="1"/> </listAttribute> +<listAttribute key="org.eclipse.jdt.launching.CLASSPATH"> +<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry containerPath="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8" path="1" type="4"/> "/> +<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry path="3" projectName="org.eclipse.etrice.generator.java" type="1"/> "/> +<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry containerPath="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER" path="3" type="4"/> "/> +<listEntry value="<?xml version="1.0" encoding="UTF-8" standalone="no"?> <runtimeClasspathEntry internalArchive="/org.eclipse.etrice.generator.java/bin" path="3" type="2"/> "/> +</listAttribute> <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/> +<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/> <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.etrice.generator.java.Main"/> <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="${workspace_loc:org.eclipse.etrice.modellib.java}/model/ALogService.room ${workspace_loc:org.eclipse.etrice.modellib.java}/model/TimingService.room ${workspace_loc:org.eclipse.etrice.modellib.java}/model/TcpService.room -lib -msc_instr"/> diff --git a/tests/org.eclipse.etrice.core.genmodel.fsm.tests/bin/org/eclipse/etrice/core/genmodel/fsm/tests/.gitignore b/tests/org.eclipse.etrice.core.genmodel.fsm.tests/bin/org/eclipse/etrice/core/genmodel/fsm/tests/.gitignore deleted file mode 100644 index 0ab9915f8..000000000 --- a/tests/org.eclipse.etrice.core.genmodel.fsm.tests/bin/org/eclipse/etrice/core/genmodel/fsm/tests/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -/FsmGenTestBase.java -/TestFlatFSM.java -/TestFlatInheritedFSM.java -/TestHierFSM.java -/TestHierInheritedFSM.java diff --git a/tests/org.eclipse.etrice.core.genmodel.tests/src/org/eclipse/etrice/core/genmodel/TestInstanceModelBuilderBase.java b/tests/org.eclipse.etrice.core.genmodel.tests/src/org/eclipse/etrice/core/genmodel/TestInstanceModelBuilderBase.java index c7ef1a568..9b8643f70 100644 --- a/tests/org.eclipse.etrice.core.genmodel.tests/src/org/eclipse/etrice/core/genmodel/TestInstanceModelBuilderBase.java +++ b/tests/org.eclipse.etrice.core.genmodel.tests/src/org/eclipse/etrice/core/genmodel/TestInstanceModelBuilderBase.java @@ -114,7 +114,8 @@ public class TestInstanceModelBuilderBase { protected Root buildInstanceModel(String modelName) { GeneratorModelBuilder builder = new GeneratorModelBuilder(new Logger(), new Diagnostician()); LinkedList<RoomModel> models = getModels(modelName); - Root root = builder.createGeneratorModel(models, false); + ArrayList<RoomModel> importedModels = new ArrayList<>(); + Root root = builder.createGeneratorModel(models, importedModels, false); return root; } diff --git a/tests/org.eclipse.etrice.generator.c.tests/make.xml b/tests/org.eclipse.etrice.generator.c.tests/make.xml index a3c29ea5e..07e2df06e 100644 --- a/tests/org.eclipse.etrice.generator.c.tests/make.xml +++ b/tests/org.eclipse.etrice.generator.c.tests/make.xml @@ -9,7 +9,7 @@ <target name="testing" depends="common.testing"> <!-- add test here, testid==testSuiteFileName --> - <test testid="StaticConfigTest" models="${models.path}/staticConfig/StaticConfigTest.etmap ${models.path}/staticConfig/StaticConfigTest.config" /> + <test testid="StaticConfigTest" models="${models.path}/staticConfig/StaticConfigTest.etmap ${models.path}/staticConfig/StaticConfigTest.room ${models.path}/staticConfig/StaticConfigTest.config ${models.path}/TimingService.room" /> <!-- fail on build server --> <!--<test testid="SendingDataTestC" models="${models.path}/sendingData/SendingDataTestC.room ${models.path}/GenericPhysical.etphys" />--> diff --git a/tests/org.eclipse.etrice.generator.common.tests/common.xml b/tests/org.eclipse.etrice.generator.common.tests/common.xml index 1e154cce7..63b4ab7d3 100644 --- a/tests/org.eclipse.etrice.generator.common.tests/common.xml +++ b/tests/org.eclipse.etrice.generator.common.tests/common.xml @@ -4,16 +4,16 @@ <target name="testing" depends="copyModels"> <!-- add test here, testid==testSuiteFileName --> - <test testid="ActorCommunicationTest" models="${models.path}/ActorCommunicationTest.room ${models.path}/GenericPhysical.etphys" /> + <test testid="ActorCommunicationTest" models="${models.path}/ActorCommunicationTest.room ${models.path}/GenericPhysical.etphys ${models.path}/TimingService.room" /> <test testid="ChoicePointTest" models="${models.path}/ChoicePointTest.room ${models.path}/GenericPhysical.etphys" /> <test testid="ChoicePointTestExtended" models="${models.path}/ChoicePointTestExtended.room ${models.path}/GenericPhysical.etphys" /> - <test testid="DataDrivenTest" models="${models.path}/DataDrivenTest.room ${models.path}/GenericPhysical.etphys" /> + <test testid="DataDrivenTest" models="${models.path}/DataDrivenTest.room ${models.path}/GenericPhysical.etphys ${models.path}/TimingService.room" /> <test testid="EnumTest" models="${models.path}/EnumTest.room ${models.path}/GenericPhysical.etphys" /> - <test testid="CompileTests" models="${models.path}/CompileTests.room ${models.path}/GenericPhysical.etphys" /> + <test testid="CompileTests" models="${models.path}/CompileTests.room ${models.path}/GenericPhysical.etphys ${models.path}/DetailExpressionTest.room ${models.path}/StatemachineInterfaceTest.room ${models.path}/StatemachineInterfaceInheritedTest.room ${models.path}/StatemachineInterfaceTest.room ${models.path}/ContinuationTransitionTest.room ${models.path}/TimingService.room" /> <test testid="HandlerTest" models="${models.path}/HandlerTest.room ${models.path}/GenericPhysical.etphys" /> <test testid="OperationInheritanceTest" models="${models.path}/OperationInheritanceTest.room ${models.path}/GenericPhysical.etphys" /> - <test testid="PingPongThreadTest" models="${models.path}/PingPongThreadTest.etmap" /> - <test testid="PingPongThreadReplPortTest" models="${models.path}/PingPongThreadReplPortTest.etmap" /> + <test testid="PingPongThreadTest" models="${models.path}/PingPongThreadTest.etmap ${models.path}/PingPongThreadTest.room ${models.path}/TimingService.room" /> + <test testid="PingPongThreadReplPortTest" models="${models.path}/PingPongThreadReplPortTest.etmap ${models.path}/PingPongThreadReplPortTest.room ${models.path}/TimingService.room" /> <echo>done with ${ant.project.name}</echo> diff --git a/tests/org.eclipse.etrice.generator.common.tests/models/ContinuationTransitionTest.room b/tests/org.eclipse.etrice.generator.common.tests/models/ContinuationTransitionTest.room index 1b720c1be..b5d4c79e5 100644 --- a/tests/org.eclipse.etrice.generator.common.tests/models/ContinuationTransitionTest.room +++ b/tests/org.eclipse.etrice.generator.common.tests/models/ContinuationTransitionTest.room @@ -330,19 +330,19 @@ RoomModel ContinuationTransitionTest { } } - ActorClass TransitionChainWithData_Sub extends TransitionChainWithData_Base{ - Structure { } - Behavior { - StateMachine { - Transition tr3: state3 -> cp cp0 { - triggers { - <in2: p0> - } - } - State state3 - } - } - } +// ActorClass TransitionChainWithData_Sub extends TransitionChainWithData_Base{ +// Structure { } +// Behavior { +// StateMachine { +// Transition tr3: state3 -> cp cp0 { +// triggers { +// <in2: p0> +// } +// } +// State state3 +// } +// } +// } abstract ActorClass TransitionChainWithoutIfItem_Base { Structure { diff --git a/tests/org.eclipse.etrice.generator.common.tests/models/StatemachineInterfaceInheritedTest.room b/tests/org.eclipse.etrice.generator.common.tests/models/StatemachineInterfaceInheritedTest.room index 84bb771ec..a32d0f09a 100644 --- a/tests/org.eclipse.etrice.generator.common.tests/models/StatemachineInterfaceInheritedTest.room +++ b/tests/org.eclipse.etrice.generator.common.tests/models/StatemachineInterfaceInheritedTest.room @@ -43,16 +43,16 @@ RoomModel StatemachineInterfaceTestInheritedModel { } - async ActorClass EmptyAsyncAppManualExt extends EmptyAsyncAppManual { +// async ActorClass EmptyAsyncAppManualExt extends EmptyAsyncAppManual { +// +// } - } - - datadriven ActorClass EmptyDataAppManualExt extends EmptyDataAppManual { - - } - - ActorClass EmptyEventAppManualExt extends EmptyEventAppManual { +// datadriven ActorClass EmptyDataAppManualExt extends EmptyDataAppManual { +// +// } - } +// ActorClass EmptyEventAppManualExt extends EmptyEventAppManual { +// +// } }
\ No newline at end of file diff --git a/tests/org.eclipse.etrice.generator.common.tests/models/StatemachineInterfaceTest.room b/tests/org.eclipse.etrice.generator.common.tests/models/StatemachineInterfaceTest.room index dc995d5ec..962ecaacf 100644 --- a/tests/org.eclipse.etrice.generator.common.tests/models/StatemachineInterfaceTest.room +++ b/tests/org.eclipse.etrice.generator.common.tests/models/StatemachineInterfaceTest.room @@ -81,33 +81,33 @@ RoomModel StatemachineInterfaceTestModel { } } - ActorClass EmptyEventAppManual { - Structure { - Port p1 : EventProtocol - } - Behavior { - @BehaviorManual - } - } +// ActorClass EmptyEventAppManual { +// Structure { +// Port p1 : EventProtocol +// } +// Behavior { +// @BehaviorManual +// } +// } - async ActorClass EmptyAsyncAppManual { - Structure { - Port p0 : DataProtocol - Port p1 : EventProtocol - } - Behavior { - @BehaviorManual - } - } +// async ActorClass EmptyAsyncAppManual { +// Structure { +// Port p0 : DataProtocol +// Port p1 : EventProtocol +// } +// Behavior { +// @BehaviorManual +// } +// } - datadriven ActorClass EmptyDataAppManual { - Structure { - Port p0 : DataProtocol - } - Behavior { - @BehaviorManual - } - } +// datadriven ActorClass EmptyDataAppManual { +// Structure { +// Port p0 : DataProtocol +// } +// Behavior { +// @BehaviorManual +// } +// } ProtocolClass EventProtocol { incoming { diff --git a/tests/org.eclipse.etrice.generator.cpp.tests/make.xml b/tests/org.eclipse.etrice.generator.cpp.tests/make.xml index b793aa202..af3fe27d6 100644 --- a/tests/org.eclipse.etrice.generator.cpp.tests/make.xml +++ b/tests/org.eclipse.etrice.generator.cpp.tests/make.xml @@ -15,15 +15,15 @@ <target name="testing" depends="copyModels"> <!-- modified target from common.xml because cpp is not complete yet --> <test testid="SendingDataTestCpp" models="${models.path}/sendingData/SendingDataTestCpp.room ${models.path}/GenericPhysical.etphys" /> - <test testid="CompileTests" models="${models.path}/CompileTests.room ${models.path}/GenericPhysical.etphys" /> - <test testid="ActorCommunicationTest" models="${models.path}/ActorCommunicationTest.room ${models.path}/GenericPhysical.etphys" /> + <test testid="CompileTests" models="${models.path}/CompileTests.room ${models.path}/GenericPhysical.etphys ${models.path}/DetailExpressionTest.room ${models.path}/StatemachineInterfaceTest.room ${models.path}/StatemachineInterfaceInheritedTest.room ${models.path}/StatemachineInterfaceTest.room ${models.path}/ContinuationTransitionTest.room ${models.path}/TimingService.room" /> + <test testid="ActorCommunicationTest" models="${models.path}/ActorCommunicationTest.room ${models.path}/GenericPhysical.etphys ${models.path}/TimingService.room" /> <test testid="ChoicePointTest" models="${models.path}/ChoicePointTest.room ${models.path}/GenericPhysical.etphys" /> <test testid="ChoicePointTestExtended" models="${models.path}/ChoicePointTestExtended.room ${models.path}/GenericPhysical.etphys" /> - <test testid="DataDrivenTest" models="${models.path}/DataDrivenTest.room ${models.path}/GenericPhysical.etphys" /> + <test testid="DataDrivenTest" models="${models.path}/DataDrivenTest.room ${models.path}/GenericPhysical.etphys ${models.path}/TimingService.room" /> <test testid="HandlerTest" models="${models.path}/HandlerTest.room ${models.path}/GenericPhysical.etphys" /> <test testid="OperationInheritanceTest" models="${models.path}/OperationInheritanceTest.room ${models.path}/GenericPhysical.etphys" /> - <test testid="PingPongThreadTest" models="${models.path}/PingPongThreadTest.etmap" /> - <test testid="PingPongThreadReplPortTest" models="${models.path}/PingPongThreadReplPortTest.etmap" /> + <test testid="PingPongThreadTest" models="${models.path}/PingPongThreadTest.etmap ${models.path}/PingPongThreadTest.room ${models.path}/TimingService.room" /> + <test testid="PingPongThreadReplPortTest" models="${models.path}/PingPongThreadReplPortTest.etmap ${models.path}/PingPongThreadReplPortTest.room ${models.path}/TimingService.room" /> <test testid="InitializationTest" models="${models.path}/InitializationTest.room ${models.path}/GenericPhysical.etphys" /> </target> diff --git a/tests/org.eclipse.etrice.generator.java.tests/.gitignore b/tests/org.eclipse.etrice.generator.java.tests/.gitignore index 6ecbffaf0..074d50426 100644 --- a/tests/org.eclipse.etrice.generator.java.tests/.gitignore +++ b/tests/org.eclipse.etrice.generator.java.tests/.gitignore @@ -5,3 +5,4 @@ results src-gen log /tmp/ +/*.obj diff --git a/tests/org.eclipse.etrice.generator.java.tests/make.xml b/tests/org.eclipse.etrice.generator.java.tests/make.xml index 78f0d91e5..a75d0330c 100644 --- a/tests/org.eclipse.etrice.generator.java.tests/make.xml +++ b/tests/org.eclipse.etrice.generator.java.tests/make.xml @@ -10,9 +10,9 @@ <!-- add test here, testid==testSuiteFileName --> <test testid="SendingDataTestJava" models="${models.path}/sendingData/SendingDataTestJava.room ${models.path}/GenericPhysical.etphys" /> - <test testid="TCPTest" models="${models.path}/TCPTest.room ${models.path}/GenericPhysical.etphys" /> - <test testid="DynamicConfigTest" models="${models.path}/DynamicConfigTest.etmap ${models.path}/DynamicConfigTest.config"/> - <test testid="StaticConfigTest" models="${models.path}/staticConfig/StaticConfigTest.etmap ${models.path}/staticConfig/StaticConfigTest.config" /> + <test testid="TCPTest" models="${models.path}/TCPTest.room ${models.path}/GenericPhysical.etphys ${models.path}/TcpService.room" /> + <test testid="DynamicConfigTest" models="${models.path}/DynamicConfigTest.etmap ${models.path}/DynamicConfigTest.room ${models.path}/DynamicConfigTest.config ${models.path}/TimingService.room"/> + <test testid="StaticConfigTest" models="${models.path}/staticConfig/StaticConfigTest.etmap ${models.path}/staticConfig/StaticConfigTest.room ${models.path}/staticConfig/StaticConfigTest.config ${models.path}/TimingService.room" /> <echo>done with ${ant.project.name}</echo> </target> @@ -20,13 +20,13 @@ <target name="dynamicActorTests"> <property name="genOptions" value="-persistable -storeDataObj"/> - <test testid="DynamicActorTest1" genOptions="${genOptions}" models="${models.path}/DynamicActorTest1.etmap" /> - <test testid="DynamicActorTest2" genOptions="${genOptions}" models="${models.path}/DynamicActorTest2.etmap" /> + <test testid="DynamicActorTest1" genOptions="${genOptions}" models="${models.path}/DynamicActorTest1.etmap ${models.path}/DynamicActorTest1.room" /> + <test testid="DynamicActorTest2" genOptions="${genOptions}" models="${models.path}/DynamicActorTest2.etmap ${models.path}/DynamicActorTest2.room" /> <test testid="DynamicActorTest3" genOptions="${genOptions}" models="${models.path}/DynamicActorTest3.room ${models.path}/GenericPhysical.etphys" /> <test testid="DynamicActorTest4" genOptions="${genOptions}" models="${models.path}/DynamicActorTest4.room ${models.path}/GenericPhysical.etphys" /> <test testid="DynamicActorTest5" genOptions="${genOptions}" models="${models.path}/DynamicActorTest5.room ${models.path}/GenericPhysical.etphys" /> <test testid="DynamicActorTest6" genOptions="${genOptions}" models="${models.path}/DynamicActorTest6.room ${models.path}/GenericPhysical.etphys" /> - <test testid="DynamicActorTest7" genOptions="${genOptions}" models="${models.path}/DynamicActorTest7.etmap" /> + <test testid="DynamicActorTest7" genOptions="${genOptions}" models="${models.path}/DynamicActorTest7.etmap ${models.path}/DynamicActorTest7.room" /> <test testid="StoreRestore" genOptions="${genOptions}" models="${models.path}/StoreRestore.room ${models.path}/GenericPhysical.etphys" /> </target> diff --git a/tests/org.eclipse.etrice.ui.behavior.tests/output/.gitignore b/tests/org.eclipse.etrice.ui.behavior.tests/output/.gitignore new file mode 100644 index 000000000..ccd488a3d --- /dev/null +++ b/tests/org.eclipse.etrice.ui.behavior.tests/output/.gitignore @@ -0,0 +1 @@ +*.fsmgen diff --git a/tests/org.eclipse.etrice.ui.behavior.tests/src/org/eclipse/etrice/ui/behavior/commands/TestInheritedStateMachine.java b/tests/org.eclipse.etrice.ui.behavior.tests/src/org/eclipse/etrice/ui/behavior/commands/TestInheritedStateMachine.java index ab462c3ec..79d6ed8ee 100644 --- a/tests/org.eclipse.etrice.ui.behavior.tests/src/org/eclipse/etrice/ui/behavior/commands/TestInheritedStateMachine.java +++ b/tests/org.eclipse.etrice.ui.behavior.tests/src/org/eclipse/etrice/ui/behavior/commands/TestInheritedStateMachine.java @@ -44,7 +44,7 @@ public class TestInheritedStateMachine extends AbstractStateMachineTest { @After public void tearDown() { - removeDiagramsDirectory(); +// removeDiagramsDirectory(); } @Override |