Skip to content

Commit 19f8602

Browse files
committed
Fixes Measurable Attribute Export
1 parent 1a3af45 commit 19f8602

6 files changed

Lines changed: 1151 additions & 2481 deletions

File tree

src/main/conf/module.xml

Lines changed: 1091 additions & 2423 deletions
Large diffs are not rendered by default.
1 Byte
Binary file not shown.

src/main/java/fr/softeam/cameldesigner/api/camelcore/standard/package_/FeaturePackage.java

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,16 @@
99
import java.util.ArrayList;
1010
import java.util.Collections;
1111
import java.util.List;
12-
import java.util.Objects;
1312
import com.modeliosoft.modelio.javadesigner.annotations.objid;
13+
import org.modelio.api.module.context.IModuleContext;
14+
import org.modelio.metamodel.uml.infrastructure.ModelTree;
15+
import org.modelio.metamodel.uml.infrastructure.Stereotype;
16+
import org.modelio.metamodel.uml.infrastructure.TagType;
17+
import org.modelio.metamodel.uml.statik.Package;
18+
import org.modelio.vcore.smkernel.mapi.MObject;
1419
import fr.softeam.cameldesigner.api.CamelDesignerProxyFactory;
1520
import fr.softeam.cameldesigner.api.ICamelDesignerPeerModule;
21+
import fr.softeam.cameldesigner.api.camelcore.infrastructure.modelelement.CamelElement;
1622
import fr.softeam.cameldesigner.api.camelcore.infrastructure.modelelement.Feature;
1723
import fr.softeam.cameldesigner.api.camelcore.standard.class_.AttributeClass;
1824
import fr.softeam.cameldesigner.api.camelcore.standard.class_.MeasurableAttributeClass;
@@ -36,19 +42,6 @@
3642
import fr.softeam.cameldesigner.api.typemodel.standard.package_.TypeModel;
3743
import fr.softeam.cameldesigner.api.unitmodel.standard.package_.UnitModel;
3844
import fr.softeam.cameldesigner.impl.CamelDesignerModule;
39-
import org.modelio.api.modelio.model.IModelingSession;
40-
import org.modelio.api.modelio.model.PropertyConverter;
41-
import org.modelio.api.module.context.IModuleContext;
42-
import org.modelio.metamodel.mmextensions.infrastructure.ExtensionNotFoundException;
43-
import org.modelio.metamodel.uml.infrastructure.Dependency;
44-
import org.modelio.metamodel.uml.infrastructure.ModelElement;
45-
import org.modelio.metamodel.uml.infrastructure.ModelTree;
46-
import org.modelio.metamodel.uml.infrastructure.Stereotype;
47-
import org.modelio.metamodel.uml.infrastructure.TagType;
48-
import org.modelio.metamodel.uml.infrastructure.properties.PropertyDefinition;
49-
import org.modelio.metamodel.uml.infrastructure.properties.PropertyTableDefinition;
50-
import org.modelio.metamodel.uml.statik.Package;
51-
import org.modelio.vcore.smkernel.mapi.MObject;
5245

5346
/**
5447
* Proxy class to handle a {@link Package} with << Feature_Package >> stereotype.
@@ -64,7 +57,7 @@ public abstract class FeaturePackage extends Feature {
6457
* Tells whether a {@link FeaturePackage proxy} can be instantiated from a {@link MObject} checking it is a {@link Package} stereotyped << Feature_Package >>.
6558
* <p>
6659
* The method returns <code>false</code> if the instantiation cannot be carried out.
67-
*
60+
*
6861
* @param elt a model object
6962
* @return <code>true</code> if the instantiation can be carried out else <code>false</code>.
7063
*/
@@ -136,7 +129,7 @@ public List<AttributeClass> getAttributes() {
136129

137130
/**
138131
* Get the underlying {@link Package}.
139-
*
132+
*
140133
* @return the Package represented by this proxy, never null.
141134
*/
142135
@objid ("7ab59d08-1a68-48d0-9fe1-562cb5f08bbd")
@@ -200,6 +193,14 @@ public List<FeaturePackage> getSubFeatures() {
200193
return Collections.unmodifiableList(results);
201194
}
202195

196+
@Override
197+
public List<CamelElement> getChilds() {
198+
List<CamelElement> result = new ArrayList<>();
199+
result.addAll(super.getChilds());
200+
result.addAll(getAttributes());
201+
return result;
202+
}
203+
203204
@objid ("032316ff-60a6-4503-b2db-431f420860ea")
204205
@Override
205206
public int hashCode() {

src/main/java/fr/softeam/cameldesigner/api/camelcore/standard/package_/SubModel.java

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,15 @@
77
package fr.softeam.cameldesigner.api.camelcore.standard.package_;
88

99
import java.util.ArrayList;
10-
import java.util.Collections;
11-
import java.util.Objects;
10+
import java.util.List;
1211
import com.modeliosoft.modelio.javadesigner.annotations.objid;
13-
import fr.softeam.cameldesigner.api.CamelDesignerProxyFactory;
12+
import org.modelio.api.module.context.IModuleContext;
13+
import org.modelio.metamodel.uml.infrastructure.Stereotype;
14+
import org.modelio.metamodel.uml.infrastructure.TagType;
15+
import org.modelio.metamodel.uml.statik.Package;
16+
import org.modelio.vcore.smkernel.mapi.MObject;
1417
import fr.softeam.cameldesigner.api.ICamelDesignerPeerModule;
18+
import fr.softeam.cameldesigner.api.camelcore.infrastructure.modelelement.CamelElement;
1519
import fr.softeam.cameldesigner.api.constraintmodel.standard.package_.ConstraintModel;
1620
import fr.softeam.cameldesigner.api.datamodel.standard.package_.DataModel;
1721
import fr.softeam.cameldesigner.api.deploymentmodel.standard.package_.DeploymentModel;
@@ -26,18 +30,6 @@
2630
import fr.softeam.cameldesigner.api.typemodel.standard.package_.TypeModel;
2731
import fr.softeam.cameldesigner.api.unitmodel.standard.package_.UnitModel;
2832
import fr.softeam.cameldesigner.impl.CamelDesignerModule;
29-
import org.modelio.api.modelio.model.IModelingSession;
30-
import org.modelio.api.modelio.model.PropertyConverter;
31-
import org.modelio.api.module.context.IModuleContext;
32-
import org.modelio.metamodel.mmextensions.infrastructure.ExtensionNotFoundException;
33-
import org.modelio.metamodel.uml.infrastructure.Dependency;
34-
import org.modelio.metamodel.uml.infrastructure.ModelElement;
35-
import org.modelio.metamodel.uml.infrastructure.Stereotype;
36-
import org.modelio.metamodel.uml.infrastructure.TagType;
37-
import org.modelio.metamodel.uml.infrastructure.properties.PropertyDefinition;
38-
import org.modelio.metamodel.uml.infrastructure.properties.PropertyTableDefinition;
39-
import org.modelio.metamodel.uml.statik.Package;
40-
import org.modelio.vcore.smkernel.mapi.MObject;
4133

4234
/**
4335
* Proxy class to handle a {@link Package} with << SubModel >> stereotype.
@@ -53,7 +45,7 @@ public abstract class SubModel extends FeaturePackage {
5345
* Tells whether a {@link SubModel proxy} can be instantiated from a {@link MObject} checking it is a {@link Package} stereotyped << SubModel >>.
5446
* <p>
5547
* The method returns <code>false</code> if the instantiation cannot be carried out.
56-
*
48+
*
5749
* @param elt a model object
5850
* @return <code>true</code> if the instantiation can be carried out else <code>false</code>.
5951
*/
@@ -79,6 +71,13 @@ public static SubModel instantiate(final Package obj) {
7971
UnitModel.canInstantiate(obj) ? UnitModel.instantiate(obj) : null;
8072
}
8173

74+
@Override
75+
public List<CamelElement> getChilds() {
76+
List<CamelElement> result = new ArrayList<>();
77+
result.addAll(super.getChilds());
78+
return result;
79+
}
80+
8281
@objid ("308c5d47-d90e-4926-9428-2f3daa76a5f9")
8382
@Override
8483
public boolean equals(final Object obj) {
@@ -97,7 +96,7 @@ public boolean equals(final Object obj) {
9796

9897
/**
9998
* Get the underlying {@link Package}.
100-
*
99+
*
101100
* @return the Package represented by this proxy, never null.
102101
*/
103102
@objid ("223df6df-6562-40e0-b621-b8a5a6057c6f")

src/main/java/fr/softeam/cameldesigner/exchange/exporter/ExporterFactory.java

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,33 @@
11
package fr.softeam.cameldesigner.exchange.exporter;
22

33
import com.modeliosoft.modelio.javadesigner.annotations.objid;
4+
import org.modelio.metamodel.mda.ModuleComponent;
5+
import org.modelio.metamodel.uml.infrastructure.Dependency;
6+
import org.modelio.metamodel.uml.infrastructure.Element;
7+
import org.modelio.metamodel.uml.infrastructure.ModelElement;
8+
import org.modelio.metamodel.uml.infrastructure.Stereotype;
9+
import org.modelio.metamodel.uml.statik.Artifact;
10+
import org.modelio.metamodel.uml.statik.Attribute;
11+
import org.modelio.metamodel.uml.statik.AttributeLink;
12+
import org.modelio.metamodel.uml.statik.Class;
13+
import org.modelio.metamodel.uml.statik.Component;
14+
import org.modelio.metamodel.uml.statik.Connector;
15+
import org.modelio.metamodel.uml.statik.DataType;
16+
import org.modelio.metamodel.uml.statik.Enumeration;
17+
import org.modelio.metamodel.uml.statik.GeneralClass;
18+
import org.modelio.metamodel.uml.statik.Instance;
19+
import org.modelio.metamodel.uml.statik.Package;
20+
import org.modelio.metamodel.uml.statik.Port;
21+
import org.modelio.metamodel.visitors.IDefaultInfrastructureVisitor;
22+
import org.modelio.metamodel.visitors.IDefaultModelVisitor;
23+
import org.modelio.metamodel.visitors.IInfrastructureVisitor;
424
import fr.softeam.cameldesigner.api.ICamelDesignerPeerModule;
525
import fr.softeam.cameldesigner.exchange.exporter.core.AttributeAttributeExporter;
626
import fr.softeam.cameldesigner.exchange.exporter.core.AttributeClassExporter;
727
import fr.softeam.cameldesigner.exchange.exporter.core.FeatureClassExporter;
828
import fr.softeam.cameldesigner.exchange.exporter.core.FeatureInstanceExporter;
929
import fr.softeam.cameldesigner.exchange.exporter.core.FeaturePortExporter;
30+
import fr.softeam.cameldesigner.exchange.exporter.core.MeasurableAttributeClassExporter;
1031
import fr.softeam.cameldesigner.exchange.exporter.data.DataExporter;
1132
import fr.softeam.cameldesigner.exchange.exporter.data.DataInstanceExporter;
1233
import fr.softeam.cameldesigner.exchange.exporter.data.DataInstanceModelExporter;
@@ -124,26 +145,6 @@
124145
import fr.softeam.cameldesigner.exchange.exporter.security.SecuritySLOExporter;
125146
import fr.softeam.cameldesigner.exchange.exporter.type.TypeModelExporter;
126147
import fr.softeam.cameldesigner.exchange.exporter.unit.UnitModelExporter;
127-
import org.modelio.metamodel.mda.ModuleComponent;
128-
import org.modelio.metamodel.uml.infrastructure.Dependency;
129-
import org.modelio.metamodel.uml.infrastructure.Element;
130-
import org.modelio.metamodel.uml.infrastructure.ModelElement;
131-
import org.modelio.metamodel.uml.infrastructure.Stereotype;
132-
import org.modelio.metamodel.uml.statik.Artifact;
133-
import org.modelio.metamodel.uml.statik.Attribute;
134-
import org.modelio.metamodel.uml.statik.AttributeLink;
135-
import org.modelio.metamodel.uml.statik.Class;
136-
import org.modelio.metamodel.uml.statik.Component;
137-
import org.modelio.metamodel.uml.statik.Connector;
138-
import org.modelio.metamodel.uml.statik.DataType;
139-
import org.modelio.metamodel.uml.statik.Enumeration;
140-
import org.modelio.metamodel.uml.statik.GeneralClass;
141-
import org.modelio.metamodel.uml.statik.Instance;
142-
import org.modelio.metamodel.uml.statik.Package;
143-
import org.modelio.metamodel.uml.statik.Port;
144-
import org.modelio.metamodel.visitors.IDefaultInfrastructureVisitor;
145-
import org.modelio.metamodel.visitors.IDefaultModelVisitor;
146-
import org.modelio.metamodel.visitors.IInfrastructureVisitor;
147148

148149
/**
149150
* Factory that instantiates the right exporter class for a model element stereotyped by a 'CamelDesigner' module stereotype.
@@ -157,7 +158,7 @@ public class ExporterFactory {
157158
* Instantiates the right proxy class the given element.
158159
* <br/>The model element must be stereotyped by a 'CamelDesigner' module stereotype.
159160
* <br/>In the other case the method will return <i>null</i>.
160-
*
161+
*
161162
* @param e A model element
162163
* @return the right proxy or <i>null</i>.
163164
*/
@@ -176,7 +177,7 @@ public static final Object instantiateExporter(final ModelElement e) {
176177
* Instantiates the right proxy class the given element with a stereotype name.
177178
* The stereotype must be one of the 'CamelDesigner' module stereotypes.
178179
* In the other case the method will return <i>null</i>.
179-
*
180+
*
180181
* @param e A model element.
181182
* @param stName A stereotype name.
182183
* @return the right proxy or <i>null</i>.
@@ -255,6 +256,7 @@ public final Object visitClass(Class obj) {
255256
switch (this.stName) {
256257
case fr.softeam.cameldesigner.api.camelcore.standard.class_.AttributeClass.STEREOTYPE_NAME: return new AttributeClassExporter<>(fr.softeam.cameldesigner.api.camelcore.standard.class_.AttributeClass.instantiate(obj));
257258
case fr.softeam.cameldesigner.api.camelcore.standard.class_.FeatureClass.STEREOTYPE_NAME: return new FeatureClassExporter<>(fr.softeam.cameldesigner.api.camelcore.standard.class_.FeatureClass.instantiate(obj));
259+
case fr.softeam.cameldesigner.api.camelcore.standard.class_.MeasurableAttributeClass.STEREOTYPE_NAME: return new MeasurableAttributeClassExporter<>(fr.softeam.cameldesigner.api.camelcore.standard.class_.MeasurableAttributeClass.instantiate(obj));
258260
case fr.softeam.cameldesigner.api.datamodel.standard.class_.Data.STEREOTYPE_NAME: return new DataExporter<>(fr.softeam.cameldesigner.api.datamodel.standard.class_.Data.instantiate(obj));
259261
case fr.softeam.cameldesigner.api.datamodel.standard.class_.DataSource.STEREOTYPE_NAME: return new DataSourceExporter<>(fr.softeam.cameldesigner.api.datamodel.standard.class_.DataSource.instantiate(obj));
260262
case fr.softeam.cameldesigner.api.deploymentmodel.standard.class_.RequirementSet.STEREOTYPE_NAME: return new RequirementSetExporter<>(fr.softeam.cameldesigner.api.deploymentmodel.standard.class_.RequirementSet.instantiate(obj));
@@ -466,7 +468,7 @@ public final Object visitPort(Port obj) {
466468
/**
467469
* Get the visitor to delegate to when a {@link IInfrastructureVisitor} is needed.
468470
* <p>If null is returned the caller will return null.
469-
*
471+
*
470472
* @return the {@link IInfrastructureVisitor} visitor or <i>null</i>.
471473
*/
472474
@objid ("811fd899-8f65-4257-b11f-cffff1d5ef23")

src/main/java/fr/softeam/cameldesigner/exchange/exporter/core/MeasurableAttributeExporter.java renamed to src/main/java/fr/softeam/cameldesigner/exchange/exporter/core/MeasurableAttributeClassExporter.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
import org.eclipse.emf.cdo.CDOObject;
1010

1111
@objid ("1e3affd3-a822-46b9-9f98-e4c113b6f02f")
12-
public class MeasurableAttributeExporter<T extends MeasurableAttributeClass> extends CamelAttributeExporter<T> {
12+
public class MeasurableAttributeClassExporter<T extends MeasurableAttributeClass> extends CamelAttributeExporter<T> {
1313
@objid ("f26414ea-1ff1-419c-b922-2d0bdbfea187")
14-
public MeasurableAttributeExporter(T elt) {
14+
public MeasurableAttributeClassExporter(T elt) {
1515
super(elt);
1616
}
1717

0 commit comments

Comments
 (0)