Lines 4-10
Link Here
|
4 |
import org.eclipse.gmf.gmfgraph.util.*; |
4 |
import org.eclipse.gmf.gmfgraph.util.*; |
5 |
import org.eclipse.gmf.common.codegen.*; |
5 |
import org.eclipse.gmf.common.codegen.*; |
6 |
import org.eclipse.gmf.graphdef.codegen.*; |
6 |
import org.eclipse.gmf.graphdef.codegen.*; |
|
|
7 |
import org.eclipse.emf.ecore.*; |
7 |
import java.util.Iterator; |
8 |
import java.util.Iterator; |
|
|
9 |
import org.eclipse.emf.ecore.util.EcoreUtil; |
10 |
import org.eclipse.emf.codegen.util.CodeGenUtil;; |
8 |
|
11 |
|
9 |
public class TopConnectionGenerator |
12 |
public class TopConnectionGenerator |
10 |
{ |
13 |
{ |
Lines 21-54
Link Here
|
21 |
protected final String TEXT_1 = ""; |
24 |
protected final String TEXT_1 = ""; |
22 |
protected final String TEXT_2 = NL + NL + "/**" + NL + " * @generated" + NL + " */" + NL + "public class "; |
25 |
protected final String TEXT_2 = NL + NL + "/**" + NL + " * @generated" + NL + " */" + NL + "public class "; |
23 |
protected final String TEXT_3 = " extends "; |
26 |
protected final String TEXT_3 = " extends "; |
24 |
protected final String TEXT_4 = " {" + NL + "" + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic "; |
27 |
protected final String TEXT_4 = " {" + NL; |
25 |
protected final String TEXT_5 = "() {"; |
28 |
protected final String TEXT_5 = NL; |
26 |
protected final String TEXT_6 = NL; |
29 |
protected final String TEXT_6 = "\t\t" + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate "; |
27 |
protected final String TEXT_7 = NL + "\t\tsetSourceDecoration(createSourceDecoration());"; |
30 |
protected final String TEXT_7 = " "; |
28 |
protected final String TEXT_8 = NL + "\t\tsetTargetDecoration(createTargetDecoration());"; |
31 |
protected final String TEXT_8 = "() {" + NL + "\t\t"; |
29 |
protected final String TEXT_9 = NL + "\t}" + NL; |
32 |
protected final String TEXT_9 = " result = new "; |
30 |
protected final String TEXT_10 = NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate "; |
33 |
protected final String TEXT_10 = "();" + NL + "\t\t"; |
31 |
protected final String TEXT_11 = " createSourceDecoration() {"; |
34 |
protected final String TEXT_11 = NL + "\t\treturn result;" + NL + "\t}"; |
32 |
protected final String TEXT_12 = NL; |
35 |
protected final String TEXT_12 = NL + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic "; |
33 |
protected final String TEXT_13 = NL + "\t\treturn df;" + NL + "\t}"; |
36 |
protected final String TEXT_13 = "() {"; |
34 |
protected final String TEXT_14 = NL; |
37 |
protected final String TEXT_14 = NL; |
35 |
protected final String TEXT_15 = NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate "; |
38 |
protected final String TEXT_15 = NL + "\t\tsetSourceDecoration(createSourceDecoration());"; |
36 |
protected final String TEXT_16 = " createTargetDecoration() {"; |
39 |
protected final String TEXT_16 = NL + "\t\tsetTargetDecoration(createTargetDecoration());"; |
37 |
protected final String TEXT_17 = NL; |
40 |
protected final String TEXT_17 = NL + "\t}" + NL; |
38 |
protected final String TEXT_18 = NL + "\t\treturn df;" + NL + "\t}"; |
41 |
protected final String TEXT_18 = NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate "; |
39 |
protected final String TEXT_19 = NL; |
42 |
protected final String TEXT_19 = " createSourceDecoration() {"; |
40 |
protected final String TEXT_20 = NL + "}" + NL + "\t"; |
43 |
protected final String TEXT_20 = NL; |
41 |
protected final String TEXT_21 = NL + "\t" + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final "; |
44 |
protected final String TEXT_21 = NL + "\t\treturn df;" + NL + "\t}"; |
42 |
protected final String TEXT_22 = " "; |
45 |
protected final String TEXT_22 = NL; |
43 |
protected final String TEXT_23 = " = "; |
46 |
protected final String TEXT_23 = NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tprivate "; |
44 |
protected final String TEXT_24 = ";"; |
47 |
protected final String TEXT_24 = " createTargetDecoration() {"; |
45 |
protected final String TEXT_25 = NL + "\t"; |
48 |
protected final String TEXT_25 = NL; |
46 |
protected final String TEXT_26 = NL + "\t" + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final "; |
49 |
protected final String TEXT_26 = NL + "\t\treturn df;" + NL + "\t}"; |
47 |
protected final String TEXT_27 = " "; |
50 |
protected final String TEXT_27 = NL; |
48 |
protected final String TEXT_28 = " = "; |
51 |
protected final String TEXT_28 = NL + "}" + NL + "\t"; |
49 |
protected final String TEXT_29 = ";"; |
52 |
protected final String TEXT_29 = NL + "\t" + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final "; |
50 |
protected final String TEXT_30 = NL + "}"; |
53 |
protected final String TEXT_30 = " "; |
51 |
protected final String TEXT_31 = NL; |
54 |
protected final String TEXT_31 = " = "; |
|
|
55 |
protected final String TEXT_32 = ";"; |
56 |
protected final String TEXT_33 = NL + "\t"; |
57 |
protected final String TEXT_34 = NL + "\t" + NL + "\t/**" + NL + "\t * @generated" + NL + "\t */" + NL + "\tpublic static final "; |
58 |
protected final String TEXT_35 = " "; |
59 |
protected final String TEXT_36 = " = "; |
60 |
protected final String TEXT_37 = ";"; |
61 |
protected final String TEXT_38 = NL + "}"; |
62 |
protected final String TEXT_39 = NL; |
52 |
|
63 |
|
53 |
public String generate(Object argument) |
64 |
public String generate(Object argument) |
54 |
{ |
65 |
{ |
Lines 69-144
Link Here
|
69 |
stringBuffer.append(TEXT_3); |
80 |
stringBuffer.append(TEXT_3); |
70 |
stringBuffer.append(fqnSwitch.get(figure, importManager)); |
81 |
stringBuffer.append(fqnSwitch.get(figure, importManager)); |
71 |
stringBuffer.append(TEXT_4); |
82 |
stringBuffer.append(TEXT_4); |
72 |
stringBuffer.append(figure.getName()); |
|
|
73 |
stringBuffer.append(TEXT_5); |
83 |
stringBuffer.append(TEXT_5); |
|
|
84 |
|
85 |
//input: [oeg].common.codegen.ImportAssistant importManager |
86 |
//input: [oeg].graphdef.codegen GraphDefDispatcher dispatcher |
87 |
//input: [oeg].gmfgraph.Figure figure |
88 |
|
89 |
{ //namespace -- use "bfm" (stands for BorderFactoryMethod) to avoid name clashes |
90 |
int bfmNextIndex = 1; |
91 |
String bfmLastFigureName = ""; |
92 |
for (Iterator bfmAllCustomBorders = EcoreUtil.getAllContents(figure, false); bfmAllCustomBorders.hasNext();){ |
93 |
EObject bfmNext = (EObject)bfmAllCustomBorders.next(); |
94 |
if (GMFGraphPackage.eINSTANCE.getFigure().isSuperTypeOf(bfmNext.eClass())){ |
95 |
bfmLastFigureName = (String)bfmNext.eGet(GMFGraphPackage.eINSTANCE.getIdentity_Name()); |
96 |
if (bfmLastFigureName == null){ |
97 |
bfmLastFigureName = ""; |
98 |
} |
99 |
} |
100 |
if (bfmNext.eClass().getClassifierID() != GMFGraphPackage.CUSTOM_BORDER){ |
101 |
continue; |
102 |
} |
103 |
|
104 |
String bfmNextImplClass = dispatcher.getFQNSwitch().get(bfmNext, importManager); |
105 |
String bfmNextMethodName = "createBorder_" + CodeGenUtil.capName(bfmLastFigureName) + "_" + (bfmNextIndex++); |
106 |
|
107 |
|
74 |
stringBuffer.append(TEXT_6); |
108 |
stringBuffer.append(TEXT_6); |
|
|
109 |
stringBuffer.append(importManager.getImportedName("org.eclipse.draw2d.Border")); |
110 |
stringBuffer.append(TEXT_7); |
111 |
stringBuffer.append(bfmNextMethodName); |
112 |
stringBuffer.append(TEXT_8); |
113 |
stringBuffer.append(bfmNextImplClass); |
114 |
stringBuffer.append(TEXT_9); |
115 |
stringBuffer.append(bfmNextImplClass); |
116 |
stringBuffer.append(TEXT_10); |
117 |
stringBuffer.append(dispatcher.dispatch("customAttributes", new Object[] {bfmNext, dispatcher, "result"} )); |
118 |
stringBuffer.append(TEXT_11); |
119 |
|
120 |
dispatcher.getAuxiliaryDataStorage().registerData(bfmNext, bfmNextMethodName); |
121 |
} |
122 |
} //end of namespace |
123 |
|
124 |
stringBuffer.append(TEXT_12); |
125 |
stringBuffer.append(figure.getName()); |
126 |
stringBuffer.append(TEXT_13); |
127 |
stringBuffer.append(TEXT_14); |
75 |
stringBuffer.append(dispatcher.dispatch("Shape", dispatcher.create(figure, "this"))); |
128 |
stringBuffer.append(dispatcher.dispatch("Shape", dispatcher.create(figure, "this"))); |
76 |
if (figure.getSourceDecoration() != null) { |
129 |
if (figure.getSourceDecoration() != null) { |
77 |
stringBuffer.append(TEXT_7); |
130 |
stringBuffer.append(TEXT_15); |
78 |
} |
131 |
} |
79 |
if (figure.getTargetDecoration() != null) { |
132 |
if (figure.getTargetDecoration() != null) { |
80 |
stringBuffer.append(TEXT_8); |
133 |
stringBuffer.append(TEXT_16); |
81 |
} |
134 |
} |
82 |
stringBuffer.append(TEXT_9); |
135 |
stringBuffer.append(TEXT_17); |
83 |
if (figure.getSourceDecoration() != null) { |
136 |
if (figure.getSourceDecoration() != null) { |
84 |
final String className = fqnSwitch.get(figure.getSourceDecoration(), importManager); |
137 |
final String className = fqnSwitch.get(figure.getSourceDecoration(), importManager); |
85 |
stringBuffer.append(TEXT_10); |
138 |
stringBuffer.append(TEXT_18); |
86 |
stringBuffer.append(className); |
139 |
stringBuffer.append(className); |
87 |
stringBuffer.append(TEXT_11); |
140 |
stringBuffer.append(TEXT_19); |
88 |
stringBuffer.append(TEXT_12); |
141 |
stringBuffer.append(TEXT_20); |
89 |
stringBuffer.append(dispatcher.dispatch("instantiate", dispatcher.create(figure.getSourceDecoration(), "df"))); |
142 |
stringBuffer.append(dispatcher.dispatch("instantiate", dispatcher.create(figure.getSourceDecoration(), "df"))); |
90 |
stringBuffer.append(TEXT_13); |
143 |
stringBuffer.append(TEXT_21); |
91 |
} /*if sourceDecoration != null */ |
144 |
} /*if sourceDecoration != null */ |
92 |
stringBuffer.append(TEXT_14); |
145 |
stringBuffer.append(TEXT_22); |
93 |
if (figure.getTargetDecoration() != null) { |
146 |
if (figure.getTargetDecoration() != null) { |
94 |
final String className = fqnSwitch.get(figure.getTargetDecoration(), importManager); |
147 |
final String className = fqnSwitch.get(figure.getTargetDecoration(), importManager); |
95 |
stringBuffer.append(TEXT_15); |
148 |
stringBuffer.append(TEXT_23); |
96 |
stringBuffer.append(className); |
149 |
stringBuffer.append(className); |
97 |
stringBuffer.append(TEXT_16); |
150 |
stringBuffer.append(TEXT_24); |
98 |
stringBuffer.append(TEXT_17); |
151 |
stringBuffer.append(TEXT_25); |
99 |
stringBuffer.append(dispatcher.dispatch("instantiate", dispatcher.create(figure.getTargetDecoration(), "df"))); |
152 |
stringBuffer.append(dispatcher.dispatch("instantiate", dispatcher.create(figure.getTargetDecoration(), "df"))); |
100 |
stringBuffer.append(TEXT_18); |
153 |
stringBuffer.append(TEXT_26); |
101 |
} |
154 |
} |
102 |
stringBuffer.append(TEXT_19); |
155 |
stringBuffer.append(TEXT_27); |
103 |
|
156 |
|
104 |
//input: [oeg].graphdef.codegen GraphDefDispatcher dispatcher |
157 |
//input: [oeg].graphdef.codegen GraphDefDispatcher dispatcher |
105 |
//input: boolean isInnerClass |
158 |
//input: boolean isInnerClass |
106 |
if (isInnerClass){ /*put fields out of inner class body*/ |
159 |
if (isInnerClass){ /*put fields out of inner class body*/ |
107 |
stringBuffer.append(TEXT_20); |
160 |
stringBuffer.append(TEXT_28); |
108 |
|
161 |
|
109 |
//input: [oeg].graphdef.codegen GraphDefDispatcher dispatcher |
162 |
//input: [oeg].graphdef.codegen GraphDefDispatcher dispatcher |
110 |
for (Iterator allFields = dispatcher.getStaticFieldsManager().allFields(); allFields.hasNext();) { |
163 |
for (Iterator allFields = dispatcher.getStaticFieldsManager().allFields(); allFields.hasNext();) { |
111 |
StaticFieldsManager.StaticField next = (StaticFieldsManager.StaticField)allFields.next(); |
164 |
StaticFieldsManager.StaticField next = (StaticFieldsManager.StaticField)allFields.next(); |
112 |
stringBuffer.append(TEXT_21); |
165 |
stringBuffer.append(TEXT_29); |
113 |
stringBuffer.append(next.getType()); |
166 |
stringBuffer.append(next.getType()); |
114 |
stringBuffer.append(TEXT_22); |
167 |
stringBuffer.append(TEXT_30); |
115 |
stringBuffer.append(next.getName()); |
168 |
stringBuffer.append(next.getName()); |
116 |
stringBuffer.append(TEXT_23); |
169 |
stringBuffer.append(TEXT_31); |
117 |
stringBuffer.append(next.getValue()); |
170 |
stringBuffer.append(next.getValue()); |
118 |
stringBuffer.append(TEXT_24); |
171 |
stringBuffer.append(TEXT_32); |
119 |
|
172 |
|
120 |
} |
173 |
} |
121 |
|
174 |
|
122 |
} else { |
175 |
} else { |
123 |
stringBuffer.append(TEXT_25); |
176 |
stringBuffer.append(TEXT_33); |
124 |
|
177 |
|
125 |
//input: [oeg].graphdef.codegen GraphDefDispatcher dispatcher |
178 |
//input: [oeg].graphdef.codegen GraphDefDispatcher dispatcher |
126 |
for (Iterator allFields = dispatcher.getStaticFieldsManager().allFields(); allFields.hasNext();) { |
179 |
for (Iterator allFields = dispatcher.getStaticFieldsManager().allFields(); allFields.hasNext();) { |
127 |
StaticFieldsManager.StaticField next = (StaticFieldsManager.StaticField)allFields.next(); |
180 |
StaticFieldsManager.StaticField next = (StaticFieldsManager.StaticField)allFields.next(); |
128 |
stringBuffer.append(TEXT_26); |
181 |
stringBuffer.append(TEXT_34); |
129 |
stringBuffer.append(next.getType()); |
182 |
stringBuffer.append(next.getType()); |
130 |
stringBuffer.append(TEXT_27); |
183 |
stringBuffer.append(TEXT_35); |
131 |
stringBuffer.append(next.getName()); |
184 |
stringBuffer.append(next.getName()); |
132 |
stringBuffer.append(TEXT_28); |
185 |
stringBuffer.append(TEXT_36); |
133 |
stringBuffer.append(next.getValue()); |
186 |
stringBuffer.append(next.getValue()); |
134 |
stringBuffer.append(TEXT_29); |
187 |
stringBuffer.append(TEXT_37); |
135 |
|
188 |
|
136 |
} |
189 |
} |
137 |
|
190 |
|
138 |
stringBuffer.append(TEXT_30); |
191 |
stringBuffer.append(TEXT_38); |
139 |
} |
192 |
} |
140 |
importManager.emitSortedImports(); |
193 |
importManager.emitSortedImports(); |
141 |
stringBuffer.append(TEXT_31); |
194 |
stringBuffer.append(TEXT_39); |
142 |
return stringBuffer.toString(); |
195 |
return stringBuffer.toString(); |
143 |
} |
196 |
} |
144 |
} |
197 |
} |