Skip to content

Commit 69dccad

Browse files
Service template property page update
1 parent 1c8044e commit 69dccad

File tree

5 files changed

+132
-31
lines changed

5 files changed

+132
-31
lines changed

ToscaDesigner/src/main/java/fr/softeam/toscadesigner/api/tosca/standard/package_/TServiceTemplate.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,7 @@ public int hashCode() {
398398
public boolean removeGroups(final TGroup obj) {
399399
if (obj != null) {
400400
for (Dependency d : new ArrayList<>(this.elt.getDependsOnDependency())) {
401-
if (d.isStereotyped(TServiceTemplate.MdaTypes.MDAASSOCDEP) && Objects.equals(d.getTagValue(TServiceTemplate.MdaTypes.MDAASSOCDEP_ROLE), ""))
401+
if (d.isStereotyped(TServiceTemplate.MdaTypes.MDAASSOCDEP) && Objects.equals(d.getTagValue(TServiceTemplate.MdaTypes.MDAASSOCDEP_ROLE), "groups"))
402402
if (Objects.equals(d.getDependsOn(), obj.getElement())) {
403403
d.delete();
404404
return true;
@@ -419,7 +419,7 @@ public boolean removeGroups(final TGroup obj) {
419419
public boolean removeNodeTypes(final TNodeType obj) {
420420
if (obj != null) {
421421
for (Dependency d : new ArrayList<>(this.elt.getDependsOnDependency())) {
422-
if (d.isStereotyped(TServiceTemplate.MdaTypes.MDAASSOCDEP) && Objects.equals(d.getTagValue(TServiceTemplate.MdaTypes.MDAASSOCDEP_ROLE), ""))
422+
if (d.isStereotyped(TServiceTemplate.MdaTypes.MDAASSOCDEP) && Objects.equals(d.getTagValue(TServiceTemplate.MdaTypes.MDAASSOCDEP_ROLE), "nodeTypes"))
423423
if (Objects.equals(d.getDependsOn(), obj.getElement())) {
424424
d.delete();
425425
return true;
@@ -440,7 +440,7 @@ public boolean removeNodeTypes(final TNodeType obj) {
440440
public boolean removeRelationships(final TRelationshipType obj) {
441441
if (obj != null) {
442442
for (Dependency d : new ArrayList<>(this.elt.getDependsOnDependency())) {
443-
if (d.isStereotyped(TServiceTemplate.MdaTypes.MDAASSOCDEP) && Objects.equals(d.getTagValue(TServiceTemplate.MdaTypes.MDAASSOCDEP_ROLE), ""))
443+
if (d.isStereotyped(TServiceTemplate.MdaTypes.MDAASSOCDEP) && Objects.equals(d.getTagValue(TServiceTemplate.MdaTypes.MDAASSOCDEP_ROLE), "relationships"))
444444
if (Objects.equals(d.getDependsOn(), obj.getElement())) {
445445
d.delete();
446446
return true;

ToscaDesigner/src/main/java/fr/softeam/toscadesigner/handlers/propertypages/ToscaDesignerPropertyPageFactory.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import fr.softeam.toscadesigner.handlers.propertypages.serviceTemplate.TRelationshipTypePropertyPage;
2323
import fr.softeam.toscadesigner.handlers.propertypages.serviceTemplate.TRequirementDefinitionPropertyPage;
2424
import fr.softeam.toscadesigner.handlers.propertypages.serviceTemplate.TRequirementDefinitionTypePropertyPage;
25+
import fr.softeam.toscadesigner.handlers.propertypages.serviceTemplate.TServiceTemplatePropertyPage;
2526
import fr.softeam.toscadesigner.handlers.propertypages.topologyTemplate.TTopologyTemplatePropertyPage;
2627
import fr.softeam.toscadesigner.handlers.propertypages.topologyTemplate.RequirementsTypePropertyPage;
2728
import fr.softeam.toscadesigner.handlers.propertypages.topologyTemplate.TDeploymentArtifactPropertyPage;
@@ -242,6 +243,7 @@ public final Object visitPackage(Package obj) {
242243
switch (this.stName) {
243244
case fr.softeam.toscadesigner.api.tosca.standard.package_.TGroup.STEREOTYPE_NAME: return new TGroupPropertyPage<>(TGroup.instantiate(obj));
244245
case fr.softeam.toscadesigner.api.tosca.standard.package_.TTopologyTemplate.STEREOTYPE_NAME: return new TTopologyTemplatePropertyPage<>(fr.softeam.toscadesigner.api.tosca.standard.package_.TTopologyTemplate.instantiate(obj));
246+
case fr.softeam.toscadesigner.api.tosca.standard.package_.TServiceTemplate.STEREOTYPE_NAME: return new TServiceTemplatePropertyPage<>(fr.softeam.toscadesigner.api.tosca.standard.package_.TServiceTemplate.instantiate(obj));
245247

246248
default:
247249
break;

ToscaDesigner/src/main/java/fr/softeam/toscadesigner/handlers/propertypages/serviceTemplate/TServiceTemplatePropertyPage.java

Lines changed: 127 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,38 +2,137 @@
22

33
import com.modeliosoft.modelio.javadesigner.annotations.objid;
44

5+
import fr.softeam.toscadesigner.api.IToscaDesignerPeerModule;
6+
import fr.softeam.toscadesigner.api.ToscaDesignerProxyFactory;
7+
import fr.softeam.toscadesigner.api.tosca.infrastructure.modelelement.InterfacesType;
8+
import fr.softeam.toscadesigner.api.tosca.standard.association.TRelationshipTemplate;
9+
import fr.softeam.toscadesigner.api.tosca.standard.class_.TNodeTemplate;
10+
import fr.softeam.toscadesigner.api.tosca.standard.class_.TNodeType;
11+
import fr.softeam.toscadesigner.api.tosca.standard.class_.TRelationshipType;
12+
import fr.softeam.toscadesigner.api.tosca.standard.class_.TTopologyElementInstanceStates;
13+
import fr.softeam.toscadesigner.api.tosca.standard.package_.TGroup;
514
import fr.softeam.toscadesigner.api.tosca.standard.package_.TServiceTemplate;
15+
import fr.softeam.toscadesigner.api.tosca.standard.package_.TTopologyTemplate;
616
import fr.softeam.toscadesigner.handlers.propertypages.core.ToscaElementPropertyPage;
17+
18+
import java.util.Arrays;
19+
import java.util.Collections;
20+
import java.util.List;
21+
722
import org.modelio.api.module.propertiesPage.IModulePropertyTable;
23+
import org.modelio.metamodel.Metamodel;
24+
import org.modelio.metamodel.uml.infrastructure.ModelElement;
25+
import org.modelio.metamodel.uml.statik.Class;
26+
import org.modelio.vcore.session.api.model.IMObjectFilter;
27+
import org.modelio.vcore.smkernel.mapi.MObject;
828

9-
@objid ("a7f33f74-8435-4a95-a221-94a56c5f4cfd")
29+
@objid("a7f33f74-8435-4a95-a221-94a56c5f4cfd")
1030
public class TServiceTemplatePropertyPage<T extends TServiceTemplate> extends ToscaElementPropertyPage<T> {
11-
@objid ("6b40406a-9893-459b-872a-046f069c5b49")
12-
public TServiceTemplatePropertyPage(T elt) {
13-
super(elt);
14-
// TODO Auto-generated constructor stub
15-
}
16-
17-
@objid ("004035a6-3c47-440d-8d27-c3032b9db0fc")
18-
@Override
19-
public void changeProperty(int row, String value) {
20-
switch (row) {
21-
case 1:
22-
this._element.getElement().setName(value);
23-
break;
24-
25-
}
26-
}
27-
28-
@objid ("42d61cbc-7b7b-42bc-8d36-c08a126e4d21")
29-
@Override
30-
public void update(IModulePropertyTable table) {
31-
super.update(table);
32-
table.addProperty("Name", _element.getElement().getName());
33-
//topology
34-
//nodetypes
35-
// relationship types
36-
// groups
37-
}
31+
@objid("6b40406a-9893-459b-872a-046f069c5b49")
32+
public TServiceTemplatePropertyPage(T elt) {
33+
super(elt);
34+
// TODO Auto-generated constructor stub
35+
}
36+
37+
@objid("004035a6-3c47-440d-8d27-c3032b9db0fc")
38+
@Override
39+
public void changeProperty(int row, String value) {
40+
switch (row) {
41+
case 1:
42+
this._element.getElement().setName(value);
43+
break;
44+
45+
case 2:
46+
for (ModelElement dep : TTopologyTemplate.MdaTypes.STEREOTYPE_ELT.getExtendedElement()) {
47+
if (value.contains(dep.getUuid())) {
48+
this._element.setTopologyTemplate(
49+
TTopologyTemplate.instantiate((org.modelio.metamodel.uml.statik.Package) dep));
50+
}
51+
}
52+
break;
53+
54+
case 3:
55+
Class elt2 = (Class) getModelElt(TNodeType.MdaTypes.STEREOTYPE_ELT.getExtendedElement(), value);
56+
if ((elt2 != null)
57+
&& (elt2.isStereotyped(IToscaDesignerPeerModule.MODULE_NAME, TNodeType.STEREOTYPE_NAME))) {
58+
Object pc = ToscaDesignerProxyFactory.instantiate(elt2);
59+
if (value.startsWith(this._add)) {
60+
this._element.addNodeTypes((TNodeType) pc);
61+
} else {
62+
this._element.removeNodeTypes((TNodeType) pc);
63+
}
64+
}
65+
break;
66+
67+
case 4:
68+
Class elt3 = (Class) getModelElt(TRelationshipType.MdaTypes.STEREOTYPE_ELT.getExtendedElement(), value);
69+
if ((elt3 != null)
70+
&& (elt3.isStereotyped(IToscaDesignerPeerModule.MODULE_NAME, TRelationshipType.STEREOTYPE_NAME))) {
71+
Object pc = ToscaDesignerProxyFactory.instantiate(elt3);
72+
if (value.startsWith(this._add)) {
73+
this._element.addRelationships((TRelationshipType) pc);
74+
} else {
75+
this._element.removeRelationships((TRelationshipType) pc);
76+
}
77+
}
78+
break;
79+
case 5:
80+
ModelElement elt1 = getModelElt(TGroup.MdaTypes.STEREOTYPE_ELT.getExtendedElement(), value);
81+
if ((elt1 != null) && (elt1.isStereotyped(IToscaDesignerPeerModule.MODULE_NAME, TGroup.STEREOTYPE_NAME))) {
82+
Object pc = ToscaDesignerProxyFactory.instantiate(elt1);
83+
if (value.startsWith(this._add)) {
84+
this._element.addGroups((TGroup) pc);
85+
} else {
86+
this._element.removeGroups((TGroup) pc);
87+
}
88+
}
89+
break;
90+
}
91+
}
92+
93+
@objid("42d61cbc-7b7b-42bc-8d36-c08a126e4d21")
94+
@Override
95+
public void update(IModulePropertyTable table) {
96+
super.update(table);
97+
table.addProperty("Name", _element.getElement().getName());
98+
99+
// TOPOLOGY TEMPLATE
100+
table.addProperty("Topology",
101+
this._element.getTopologyTemplate() != null ? this._element.getTopologyTemplate().getElement() : null,
102+
Arrays.asList(Metamodel.getMClass("Package")), new IMObjectFilter() {
103+
@Override
104+
public boolean accept(MObject element) {
105+
return TTopologyTemplate.canInstantiate(element);
106+
}
107+
});
108+
109+
// NODE TYPES
110+
List<ModelElement> members_elt = extractModelElements(this._element.getNodeTypes());
111+
List<ModelElement> nodeTypeList = (TNodeType.MdaTypes.STEREOTYPE_ELT.getExtendedElement() != null)
112+
? TNodeType.MdaTypes.STEREOTYPE_ELT.getExtendedElement()
113+
: Collections.emptyList();
114+
115+
table.addProperty("Node types", getToscaValue(members_elt),
116+
getAddRemove(nodeTypeList, extractModelElements(this._element.getNodeTypes())));
117+
118+
// RELATIONSHIP types
119+
members_elt = extractModelElements(this._element.getRelationships());
120+
List<ModelElement> relationships = (TRelationshipType.MdaTypes.STEREOTYPE_ELT.getExtendedElement() != null)
121+
? TRelationshipType.MdaTypes.STEREOTYPE_ELT.getExtendedElement()
122+
: Collections.emptyList();
123+
124+
table.addProperty("Relationship types", getToscaValue(members_elt),
125+
getAddRemove(relationships, extractModelElements(this._element.getRelationships())));
126+
127+
// GROUPS
128+
members_elt = extractModelElements(this._element.getGroups());
129+
List<ModelElement> groupList = (TGroup.MdaTypes.STEREOTYPE_ELT.getExtendedElement() != null)
130+
? TGroup.MdaTypes.STEREOTYPE_ELT.getExtendedElement()
131+
: Collections.emptyList();
132+
133+
table.addProperty("Groups", getToscaValue(members_elt),
134+
getAddRemove(groupList, extractModelElements(this._element.getGroups())));
135+
136+
}
38137

39138
}
2.65 KB
Binary file not shown.
2.78 KB
Binary file not shown.

0 commit comments

Comments
 (0)