Skip to content

Commit 5dc68b4

Browse files
committed
Camel Designer 1.0.12
Adds rules. Fixes import, export.
1 parent 343ad2f commit 5dc68b4

File tree

178 files changed

+5881
-2253
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

178 files changed

+5881
-2253
lines changed

pom.xml

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,14 @@
3535
<type>pom</type>
3636
<scope>provided</scope>
3737
</dependency>
38-
38+
<!--
3939
<dependency>
4040
<groupId>com.google</groupId>
4141
<artifactId>inject</artifactId>
4242
<version>3.0.0</version>
4343
<type>jar</type>
4444
</dependency>
45-
45+
-->
4646
<dependency>
4747
<groupId>org.eclipse.equinox</groupId>
4848
<artifactId>registry</artifactId>
@@ -63,14 +63,14 @@
6363
<version>1.0.0</version>
6464
<type>jar</type>
6565
</dependency>
66-
66+
<!--
6767
<dependency>
6868
<groupId>org.eclipse.orbit.bundles</groupId>
6969
<artifactId>com.google.guava</artifactId>
7070
<version>21.0.0-SNAPSHOT</version>
7171
<type>jar</type>
7272
</dependency>
73-
73+
-->
7474
<dependency>
7575
<groupId>org.eclipse.ocl.xtext</groupId>
7676
<artifactId>oclstdlib</artifactId>
@@ -151,14 +151,14 @@
151151
<artifactId>net4j</artifactId>
152152
<version>4.1.500</version>
153153
</dependency>
154-
154+
<!--
155155
<dependency>
156156
<groupId>com.google.inject</groupId>
157157
<artifactId>multibindings</artifactId>
158158
<version>3.0.0</version>
159159
<type>jar</type>
160160
</dependency>
161-
161+
-->
162162
<dependency>
163163
<groupId>org.eclipse.equinox</groupId>
164164
<artifactId>app</artifactId>
@@ -538,4 +538,13 @@
538538
</pluginManagement>
539539
</build>
540540
<description>Modelio Module for designing the Cloud Application Modelling and Execution Language (CAMEL). For more information about CAMEL see http://camel-dsl.org/</description>
541-
</project>
541+
<dependencyManagement>
542+
<dependencies>
543+
<dependency>
544+
<groupId>com.google</groupId>
545+
<artifactId>inject</artifactId>
546+
<version>3.0.0</version>
547+
</dependency>
548+
</dependencies>
549+
</dependencyManagement>
550+
</project>

src/main/conf/module.xml

Lines changed: 264 additions & 9 deletions
Large diffs are not rendered by default.
3 Bytes
Binary file not shown.

src/main/java/fr/softeam/cameldesigner/api/camelcore/standard/classifier/FeatureClassifier.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,7 @@ public List<FeatureClassifier> getSubFeatures() {
403403
if (OptimisationRequirement.canInstantiate(mObj))
404404
results.add((OptimisationRequirement)CamelDesignerProxyFactory.instantiate(mObj, OptimisationRequirement.STEREOTYPE_NAME));
405405
}
406-
return Collections.unmodifiableList(results);
406+
return (results);
407407
}
408408

409409
@objid ("9a96fc7d-4040-4ea0-8b72-c6e6e3e7fea2")

src/main/java/fr/softeam/cameldesigner/api/locationmodel/standard/enumeration/GeographicalRegion.java

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,19 @@
1111
import java.util.List;
1212
import java.util.Objects;
1313
import com.modeliosoft.modelio.javadesigner.annotations.objid;
14-
import fr.softeam.cameldesigner.api.CamelDesignerProxyFactory;
15-
import fr.softeam.cameldesigner.api.ICamelDesignerPeerModule;
16-
import fr.softeam.cameldesigner.api.camelcore.infrastructure.modelelement.CamelElement;
17-
import fr.softeam.cameldesigner.impl.CamelDesignerModule;
1814
import org.modelio.api.modelio.model.IModelingSession;
19-
import org.modelio.api.modelio.model.PropertyConverter;
2015
import org.modelio.api.module.context.IModuleContext;
21-
import org.modelio.metamodel.mmextensions.infrastructure.ExtensionNotFoundException;
2216
import org.modelio.metamodel.uml.infrastructure.Dependency;
2317
import org.modelio.metamodel.uml.infrastructure.ModelElement;
2418
import org.modelio.metamodel.uml.infrastructure.Stereotype;
2519
import org.modelio.metamodel.uml.infrastructure.TagType;
26-
import org.modelio.metamodel.uml.infrastructure.properties.PropertyDefinition;
27-
import org.modelio.metamodel.uml.infrastructure.properties.PropertyTableDefinition;
2820
import org.modelio.metamodel.uml.statik.Enumeration;
2921
import org.modelio.metamodel.uml.statik.EnumerationLiteral;
3022
import org.modelio.vcore.smkernel.mapi.MObject;
23+
import fr.softeam.cameldesigner.api.CamelDesignerProxyFactory;
24+
import fr.softeam.cameldesigner.api.ICamelDesignerPeerModule;
25+
import fr.softeam.cameldesigner.api.camelcore.infrastructure.modelelement.CamelElement;
26+
import fr.softeam.cameldesigner.impl.CamelDesignerModule;
3127

3228
/**
3329
* Proxy class to handle a {@link Enumeration} with << GeographicalRegion >> stereotype.
@@ -43,7 +39,7 @@ public class GeographicalRegion extends Location {
4339
* Tells whether a {@link GeographicalRegion proxy} can be instantiated from a {@link MObject} checking it is a {@link Enumeration} stereotyped << GeographicalRegion >>.
4440
* <p>
4541
* The method returns <code>false</code> if the instantiation cannot be carried out.
46-
*
42+
*
4743
* @param elt a model object
4844
* @return <code>true</code> if the instantiation can be carried out else <code>false</code>.
4945
*/
@@ -54,7 +50,7 @@ public static boolean canInstantiate(final MObject elt) {
5450

5551
/**
5652
* Create a new {@link Enumeration} stereotyped << GeographicalRegion >> then instantiate a {@link GeographicalRegion} proxy.
57-
*
53+
*
5854
* @return a {@link GeographicalRegion} proxy on the created {@link Enumeration}.
5955
*/
6056
@objid ("35865ac2-47bd-40b3-8f8a-16ba3b74f46d")
@@ -68,7 +64,7 @@ public static GeographicalRegion create() {
6864
* Tries to instantiate a {@link GeographicalRegion} proxy from a {@link Enumeration} stereotyped << GeographicalRegion >> checking its metaclass and its stereotype.
6965
* <p>
7066
* The method returns <i>null</i> if the instantiation cannot be carried out.
71-
*
67+
*
7268
* @param obj a Enumeration
7369
* @return a {@link GeographicalRegion} proxy or <i>null</i>.
7470
*/
@@ -81,7 +77,7 @@ public static GeographicalRegion instantiate(final Enumeration obj) {
8177
* Tries to instantiate a {@link GeographicalRegion} proxy from a {@link Enumeration} stereotyped << GeographicalRegion >> checking its metaclass and its stereotype.
8278
* <p>
8379
* The method throws an {@link IllegalArgumentException} if the instantiation cannot be carried out.
84-
*
80+
*
8581
* @param obj a {@link Enumeration}
8682
* @return a {@link GeographicalRegion} proxy.
8783
* @throws java.lang.IllegalArgumentException if the instantiation cannot be carried out.
@@ -127,7 +123,7 @@ public boolean equals(final Object obj) {
127123

128124
/**
129125
* Get the underlying {@link Enumeration}.
130-
*
126+
*
131127
* @return the Enumeration represented by this proxy, never null.
132128
*/
133129
@objid ("a423e5ed-fdb7-41d0-906c-c0782f9a3052")

src/main/java/fr/softeam/cameldesigner/audit/CheckerPlan.java

Lines changed: 174 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,85 @@
77
import com.modeliosoft.modelio.javadesigner.annotations.objid;
88
import fr.softeam.cameldesigner.api.camelcore.infrastructure.modelelement.CamelElement;
99
import fr.softeam.cameldesigner.audit.rule.IRule;
10+
import fr.softeam.cameldesigner.audit.rule.constraint.Rule1301;
11+
import fr.softeam.cameldesigner.audit.rule.constraint.Rule1302;
12+
import fr.softeam.cameldesigner.audit.rule.constraint.Rule1303;
13+
import fr.softeam.cameldesigner.audit.rule.constraint.Rule1304;
14+
import fr.softeam.cameldesigner.audit.rule.constraint.Rule1305;
15+
import fr.softeam.cameldesigner.audit.rule.constraint.Rule1306;
16+
import fr.softeam.cameldesigner.audit.rule.constraint.Rule1307;
17+
import fr.softeam.cameldesigner.audit.rule.constraint.Rule1308;
18+
import fr.softeam.cameldesigner.audit.rule.constraint.Rule1309;
1019
import fr.softeam.cameldesigner.audit.rule.core.Rule0101;
20+
import fr.softeam.cameldesigner.audit.rule.core.Rule0102;
21+
import fr.softeam.cameldesigner.audit.rule.data.Rule1401;
22+
import fr.softeam.cameldesigner.audit.rule.data.Rule1402;
23+
import fr.softeam.cameldesigner.audit.rule.data.Rule1403;
1124
import fr.softeam.cameldesigner.audit.rule.deployment.Rule0301;
25+
import fr.softeam.cameldesigner.audit.rule.deployment.Rule0302;
26+
import fr.softeam.cameldesigner.audit.rule.deployment.Rule0303;
27+
import fr.softeam.cameldesigner.audit.rule.deployment.Rule0304;
28+
import fr.softeam.cameldesigner.audit.rule.deployment.Rule0305;
29+
import fr.softeam.cameldesigner.audit.rule.deployment.Rule0306;
30+
import fr.softeam.cameldesigner.audit.rule.deployment.Rule0307;
31+
import fr.softeam.cameldesigner.audit.rule.deployment.Rule0308;
32+
import fr.softeam.cameldesigner.audit.rule.deployment.Rule0309;
33+
import fr.softeam.cameldesigner.audit.rule.deployment.Rule0310;
34+
import fr.softeam.cameldesigner.audit.rule.deployment.Rule0311;
35+
import fr.softeam.cameldesigner.audit.rule.deployment.Rule0312;
36+
import fr.softeam.cameldesigner.audit.rule.deployment.Rule0313;
37+
import fr.softeam.cameldesigner.audit.rule.deployment.Rule0314;
38+
import fr.softeam.cameldesigner.audit.rule.deployment.Rule0315;
39+
import fr.softeam.cameldesigner.audit.rule.location.Rule0501;
40+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0601;
41+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0602;
42+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0603;
43+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0604;
44+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0605;
45+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0606;
46+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0607;
47+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0608;
48+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0609;
49+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0610;
50+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0611;
51+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0612;
52+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0613;
53+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0614;
54+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0615;
55+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0616;
56+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0617;
57+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0618;
58+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0619;
59+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0620;
60+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0621;
61+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0622;
62+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0623;
63+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0624;
64+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0625;
65+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0626;
66+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0627;
67+
import fr.softeam.cameldesigner.audit.rule.metric.Rule0628;
1268
import fr.softeam.cameldesigner.audit.rule.mms.Rule0201;
69+
import fr.softeam.cameldesigner.audit.rule.mms.Rule0202;
70+
import fr.softeam.cameldesigner.audit.rule.mms.Rule0203;
71+
import fr.softeam.cameldesigner.audit.rule.mms.Rule0204;
72+
import fr.softeam.cameldesigner.audit.rule.mms.Rule0205;
73+
import fr.softeam.cameldesigner.audit.rule.mms.Rule0206;
74+
import fr.softeam.cameldesigner.audit.rule.mms.Rule0207;
75+
import fr.softeam.cameldesigner.audit.rule.requirement.Rule0801;
76+
import fr.softeam.cameldesigner.audit.rule.requirement.Rule0802;
77+
import fr.softeam.cameldesigner.audit.rule.requirement.Rule0803;
78+
import fr.softeam.cameldesigner.audit.rule.requirement.Rule0804;
79+
import fr.softeam.cameldesigner.audit.rule.requirement.Rule0805;
80+
import fr.softeam.cameldesigner.audit.rule.requirement.Rule0806;
81+
import fr.softeam.cameldesigner.audit.rule.requirement.Rule0807;
82+
import fr.softeam.cameldesigner.audit.rule.requirement.Rule0808;
83+
import fr.softeam.cameldesigner.audit.rule.requirement.Rule0809;
84+
import fr.softeam.cameldesigner.audit.rule.requirement.Rule0810;
85+
import fr.softeam.cameldesigner.audit.rule.requirement.Rule0811;
86+
import fr.softeam.cameldesigner.audit.rule.requirement.Rule0812;
87+
import fr.softeam.cameldesigner.audit.rule.requirement.Rule0813;
88+
import fr.softeam.cameldesigner.audit.rule.unit.Rule1201;
1389
import fr.softeam.cameldesigner.impl.CamelDesignerModule;
1490
import org.modelio.metamodel.uml.infrastructure.Stereotype;
1591

@@ -20,9 +96,107 @@ public class CheckerPlan {
2096

2197
@objid ("b24979d2-4590-48da-b62e-1ea155d79f31")
2298
public CheckerPlan() {
99+
//Core
23100
new Rule0101<>().registerRule(this);
101+
new Rule0102<>().registerRule(this);
102+
103+
//mms
24104
new Rule0201<>().registerRule(this);
105+
new Rule0202<>().registerRule(this);
106+
new Rule0203<>().registerRule(this);
107+
new Rule0204<>().registerRule(this);
108+
new Rule0205<>().registerRule(this);
109+
new Rule0206<>().registerRule(this);
110+
new Rule0207<>().registerRule(this);
111+
112+
113+
114+
//Deployment
25115
new Rule0301<>().registerRule(this);
116+
new Rule0302<>().registerRule(this);
117+
new Rule0303<>().registerRule(this);
118+
new Rule0304<>().registerRule(this);
119+
new Rule0305<>().registerRule(this);
120+
new Rule0306<>().registerRule(this);
121+
new Rule0307<>().registerRule(this);
122+
new Rule0308<>().registerRule(this);
123+
new Rule0309<>().registerRule(this);
124+
new Rule0310<>().registerRule(this);
125+
new Rule0311<>().registerRule(this);
126+
new Rule0312<>().registerRule(this);
127+
new Rule0313<>().registerRule(this);
128+
new Rule0314<>().registerRule(this);
129+
new Rule0315<>().registerRule(this);
130+
131+
132+
//Location
133+
new Rule0501<>().registerRule(this);
134+
135+
136+
//Metric
137+
new Rule0601<>().registerRule(this);
138+
new Rule0602<>().registerRule(this);
139+
new Rule0603<>().registerRule(this);
140+
new Rule0604<>().registerRule(this);
141+
new Rule0605<>().registerRule(this);
142+
new Rule0606<>().registerRule(this);
143+
new Rule0607<>().registerRule(this);
144+
new Rule0608<>().registerRule(this);
145+
new Rule0609<>().registerRule(this);
146+
new Rule0610<>().registerRule(this);
147+
new Rule0611<>().registerRule(this);
148+
new Rule0612<>().registerRule(this);
149+
new Rule0613<>().registerRule(this);
150+
new Rule0614<>().registerRule(this);
151+
new Rule0615<>().registerRule(this);
152+
new Rule0616<>().registerRule(this);
153+
new Rule0617<>().registerRule(this);
154+
new Rule0618<>().registerRule(this);
155+
new Rule0619<>().registerRule(this);
156+
new Rule0620<>().registerRule(this);
157+
new Rule0621<>().registerRule(this);
158+
new Rule0622<>().registerRule(this);
159+
new Rule0623<>().registerRule(this);
160+
new Rule0624<>().registerRule(this);
161+
new Rule0625<>().registerRule(this);
162+
new Rule0626<>().registerRule(this);
163+
new Rule0627<>().registerRule(this);
164+
new Rule0628<>().registerRule(this);
165+
166+
//Requirement
167+
new Rule0801<>().registerRule(this);
168+
new Rule0802<>().registerRule(this);
169+
new Rule0803<>().registerRule(this);
170+
new Rule0804<>().registerRule(this);
171+
new Rule0805<>().registerRule(this);
172+
new Rule0806<>().registerRule(this);
173+
new Rule0807<>().registerRule(this);
174+
new Rule0808<>().registerRule(this);
175+
new Rule0809<>().registerRule(this);
176+
new Rule0810<>().registerRule(this);
177+
new Rule0811<>().registerRule(this);
178+
new Rule0812<>().registerRule(this);
179+
new Rule0813<>().registerRule(this);
180+
181+
//Unit
182+
new Rule1201<>().registerRule(this);
183+
184+
//Constraint
185+
new Rule1301<>().registerRule(this);
186+
new Rule1302<>().registerRule(this);
187+
new Rule1303<>().registerRule(this);
188+
new Rule1304<>().registerRule(this);
189+
new Rule1305<>().registerRule(this);
190+
new Rule1306<>().registerRule(this);
191+
new Rule1307<>().registerRule(this);
192+
new Rule1308<>().registerRule(this);
193+
new Rule1309<>().registerRule(this);
194+
195+
196+
//Data
197+
new Rule1401<>().registerRule(this);
198+
new Rule1402<>().registerRule(this);
199+
new Rule1403<>().registerRule(this);
26200
}
27201

28202
@objid ("1436be35-7866-4bd2-9f0c-1923493700b7")

src/main/java/fr/softeam/cameldesigner/audit/rule/constraint/Rule1301.java

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,36 @@
11
package fr.softeam.cameldesigner.audit.rule.constraint;
22

3+
import camel.constraint.ComparisonOperatorType;
34
import com.modeliosoft.modelio.javadesigner.annotations.objid;
4-
import fr.softeam.cameldesigner.api.deploymentinstancemodel.standard.package_.DeploymentInstanceModel;
5+
import fr.softeam.cameldesigner.api.constraintmodel.standard.constraint.UnaryConstraint;
56
import fr.softeam.cameldesigner.audit.CheckerPlan;
67
import fr.softeam.cameldesigner.audit.rule.AbstractRule;
78

89
@objid ("295c6494-24a8-4479-99a9-17b63e2dbaef")
9-
public class Rule1301<T extends DeploymentInstanceModel> extends AbstractRule<T> {
10+
public class Rule1301<T extends UnaryConstraint> extends AbstractRule<T> {
1011
@objid ("eb51ef03-33af-4216-8c54-ea5a53cee54b")
11-
private static final String RULEID = "R0301";
12+
private static final String RULEID = "R1301";
1213

1314
@objid ("60916abb-ccee-4255-bb10-c481d17f061c")
1415
@Override
1516
public boolean isViolated(T context) {
16-
return (context.getType() == null);
17+
String operator = context.getComparisonOperator();
18+
if ((operator == null) ||(operator.equals(""))){
19+
return true;
20+
}else {
21+
try {
22+
ComparisonOperatorType.valueOf(operator);
23+
}catch(@SuppressWarnings ("unused") Exception e) {
24+
return true;
25+
}
26+
}
27+
return false;
1728
}
1829

1930
@objid ("ce02a125-33f7-485f-ab2e-1f51ec219fa8")
2031
@Override
2132
public String getDescription(T elt) {
22-
return "Type of " + elt.getName() + " has not been defined.";
33+
return "Comparison Operator of " + elt.getName() + " is not valid.";
2334
}
2435

2536
@objid ("cd75f47d-0ade-48ed-8713-270b5cef46e3")

0 commit comments

Comments
 (0)