Skip to content

Commit 89922c9

Browse files
Tgroup members added
1 parent 698b41d commit 89922c9

File tree

3 files changed

+81
-62
lines changed

3 files changed

+81
-62
lines changed
Lines changed: 81 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
package fr.softeam.toscadesigner.handlers.propertypages.core;
22

3+
import java.util.ArrayList;
34
import java.util.Arrays;
5+
import java.util.Collections;
46
import java.util.List;
57
import com.modeliosoft.modelio.javadesigner.annotations.objid;
8+
69
import fr.softeam.toscadesigner.api.IToscaDesignerPeerModule;
710
import fr.softeam.toscadesigner.api.ToscaDesignerProxyFactory;
811
import fr.softeam.toscadesigner.api.tosca.standard.class_.TGroupType;
@@ -15,70 +18,86 @@
1518
import org.modelio.vcore.session.api.model.IMObjectFilter;
1619
import org.modelio.vcore.smkernel.mapi.MObject;
1720

18-
@objid ("70b0137e-f426-4173-8bf4-39b754ebb8cc")
21+
@objid("70b0137e-f426-4173-8bf4-39b754ebb8cc")
1922
public class TGroupPropertyPage<T extends TGroup> extends ToscaElementPropertyPage<T> {
20-
@objid ("5430e77a-00d6-4172-b2f1-95179e75ecff")
21-
public TGroupPropertyPage(T elt) {
22-
super(elt);
23-
// TODO Auto-generated constructor stub
24-
}
2523

26-
@objid ("2dfbbee9-dff6-4801-b242-f9ce8f436cc2")
27-
@Override
28-
public void changeProperty(int row, String value) {
29-
switch (row) {
30-
case 1:
31-
this._element.getElement().setName(value);
32-
break;
33-
34-
case 2:
35-
for (ModelElement dep : TGroupType.MdaTypes.STEREOTYPE_ELT.getExtendedElement()) {
36-
if (value.contains(dep.getUuid())) {
37-
this._element.setType(TGroupType.instantiate((org.modelio.metamodel.uml.statik.Class) dep));
38-
}
39-
}
40-
break;
41-
42-
case 3:
43-
Class elt1 = (Class) getModelElt(TNodeTemplate.MdaTypes.STEREOTYPE_ELT.getExtendedElement(), value);
44-
if ((elt1 != null)&& (elt1.isStereotyped(IToscaDesignerPeerModule.MODULE_NAME, TNodeTemplate.STEREOTYPE_NAME))) {
45-
Object pc = ToscaDesignerProxyFactory.instantiate(elt1);
46-
if (value.startsWith(this._add)) {
47-
this._element.addMembers((TNodeTemplate) pc);
48-
} else {
49-
this._element.removeMembers((TNodeTemplate) pc);
50-
}
51-
}
52-
break;
53-
}
54-
}
24+
@objid("5430e77a-00d6-4172-b2f1-95179e75ecff")
25+
public TGroupPropertyPage(T elt) {
26+
super(elt);
27+
// TODO Auto-generated constructor stub
28+
}
29+
30+
@objid("2dfbbee9-dff6-4801-b242-f9ce8f436cc2")
31+
@Override
32+
public void changeProperty(int row, String value) {
33+
switch (row) {
34+
case 1:
35+
this._element.getElement().setName(value);
36+
break;
37+
38+
case 2:
39+
for (ModelElement dep : TGroupType.MdaTypes.STEREOTYPE_ELT.getExtendedElement()) {
40+
if (value.contains(dep.getUuid())) {
41+
this._element.setType(TGroupType.instantiate((org.modelio.metamodel.uml.statik.Class) dep));
42+
}
43+
}
44+
break;
45+
46+
case 3:
47+
Class elt1 = (Class) getModelElt(TNodeTemplate.MdaTypes.STEREOTYPE_ELT.getExtendedElement(), value);
48+
if ((elt1 != null)
49+
&& (elt1.isStereotyped(IToscaDesignerPeerModule.MODULE_NAME, TNodeTemplate.STEREOTYPE_NAME))) {
50+
Object pc = ToscaDesignerProxyFactory.instantiate(elt1);
51+
if (value.startsWith(this._add)) {
52+
this._element.addMembers((TNodeTemplate) pc);
53+
} else {
54+
this._element.removeMembers((TNodeTemplate) pc);
55+
}
56+
}
57+
break;
58+
}
59+
}
60+
61+
@objid("f48d6f31-d6fb-4804-b5cd-1d61d2469c51")
62+
@Override
63+
public void update(IModulePropertyTable table) {
64+
super.update(table);
65+
table.addProperty("Name", _element.getElement().getName());
66+
table.addProperty("Type", this._element.getType() != null ? this._element.getType().getElement() : null,
67+
Arrays.asList(Metamodel.getMClass("Class")), new IMObjectFilter() {
68+
@Override
69+
public boolean accept(MObject element) {
70+
return TGroupType.canInstantiate(element);
71+
}
72+
});
73+
/*
74+
* table.addProperty("Software Components",
75+
* getCamelValue(this._element.getSoftwareComponents()),
76+
* getAddRemove(SoftwareComponent.MdaTypes.STEREOTYPE_ELT.getExtendedElement(),
77+
* this._element.getSoftwareComponents()));
78+
*/
79+
80+
81+
List <ModelElement> members_elt = extractModelElements(this._element.getMembers());
82+
List<ModelElement> nodeTemplateList = (TNodeTemplate.MdaTypes.STEREOTYPE_ELT.getExtendedElement() != null)
83+
? TNodeTemplate.MdaTypes.STEREOTYPE_ELT.getExtendedElement() // Ensure T is compatible with TNodeTemplate
84+
: Collections.emptyList();
5585

56-
@objid ("f48d6f31-d6fb-4804-b5cd-1d61d2469c51")
57-
@Override
58-
public void update(IModulePropertyTable table) {
59-
super.update(table);
60-
table.addProperty("Name", _element.getElement().getName());
61-
table.addProperty("Type",
62-
this._element.getType() != null ? this._element.getType().getElement() : null,
63-
Arrays.asList(Metamodel.getMClass("Class")), new IMObjectFilter() {
64-
@Override
65-
public boolean accept(MObject element) {
66-
return TGroupType.canInstantiate(element);
67-
}
68-
});
69-
70-
//List<? extends ModelElement> members = (List<? extends ModelElement>) this._element.getMembers();
71-
/*
72-
table.addProperty(
73-
"Members",
74-
getToscaValue(members),
75-
getAddRemove(
76-
(TNodeTemplate.MdaTypes.STEREOTYPE_ELT.getExtendedElement() != null)
77-
? TNodeTemplate.MdaTypes.STEREOTYPE_ELT.getExtendedElement() : Collections.emptyList(),
78-
members
79-
)
80-
);
81-
*/
82-
}
86+
table.addProperty(
87+
"Members",
88+
getToscaValue(members_elt),
89+
getAddRemove(nodeTemplateList, extractModelElements(this._element.getMembers()))
90+
);
8391

92+
93+
94+
}
95+
96+
public static List<ModelElement> extractModelElements(List<TNodeTemplate> members) {
97+
List<ModelElement> members_elt = new ArrayList<>();
98+
for (int i = 0; i < members.size(); i++) {
99+
members_elt.add(members.get(i).getElement());
100+
}
101+
return members_elt;
102+
}
84103
}
-966 Bytes
Binary file not shown.
-1.55 KB
Binary file not shown.

0 commit comments

Comments
 (0)