ontomde-java 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +10 -0
- data/Manifest.txt +156 -0
- data/README.txt +98 -0
- data/Rakefile +21 -0
- data/bin/ontomde-java +5 -0
- data/generateRdocFile.sh +16 -0
- data/lib/ontomde-java.rb +45 -0
- data/lib/ontomde-java/crank.rb +13 -0
- data/lib/ontomde-java/crank/context.rb +384 -0
- data/lib/ontomde-java/crank/crankJpa.rb +103 -0
- data/lib/ontomde-java/crank/equals.rb +83 -0
- data/lib/ontomde-java/crank/facelets.rb +243 -0
- data/lib/ontomde-java/crank/facesconfig.rb +113 -0
- data/lib/ontomde-java/crank/helper.rb +46 -0
- data/lib/ontomde-java/crank/main.rb +51 -0
- data/lib/ontomde-java/crank/menu.rb +39 -0
- data/lib/ontomde-java/crank/menu2.rb +78 -0
- data/lib/ontomde-java/crank/validation.rb +34 -0
- data/lib/ontomde-java/ejb2.rb +3 -0
- data/lib/ontomde-java/ejb2/main-ejb2.rb +194 -0
- data/lib/ontomde-java/flex.rb +7 -0
- data/lib/ontomde-java/flex/Editor.mxml.as.rb +184 -0
- data/lib/ontomde-java/flex/Editor.mxml.rb +701 -0
- data/lib/ontomde-java/flex/ImportationAS.rb +40 -0
- data/lib/ontomde-java/flex/ValueObjectAS.rb +338 -0
- data/lib/ontomde-java/flex/fileTypes.rb +19 -0
- data/lib/ontomde-java/flex/main.rb +347 -0
- data/lib/ontomde-java/frontend/command.rb +324 -0
- data/lib/ontomde-java/frontend/command.rdoc +583 -0
- data/lib/ontomde-java/frontend/defaultOptions.rb +124 -0
- data/lib/ontomde-java/frontend/options.rb +555 -0
- data/lib/ontomde-java/frontend/steps.rb +287 -0
- data/lib/ontomde-java/java/accessorCode.rb +528 -0
- data/lib/ontomde-java/java/accessorSignature.rb +347 -0
- data/lib/ontomde-java/java/annotationOntoMDE.rb +88 -0
- data/lib/ontomde-java/java/apache.rb +34 -0
- data/lib/ontomde-java/java/build.rb +80 -0
- data/lib/ontomde-java/java/collectionMapping.rb +112 -0
- data/lib/ontomde-java/java/component.rb +446 -0
- data/lib/ontomde-java/java/contextualize.rb +43 -0
- data/lib/ontomde-java/java/enumAssignable.rb +75 -0
- data/lib/ontomde-java/java/enumCompatibilityLayer.rb +195 -0
- data/lib/ontomde-java/java/equals.rb +91 -0
- data/lib/ontomde-java/java/groovy.rb +95 -0
- data/lib/ontomde-java/java/java.rb +1329 -0
- data/lib/ontomde-java/java/java.rdoc +78 -0
- data/lib/ontomde-java/java/javaDatatypeMapping.rb +156 -0
- data/lib/ontomde-java/java/javaHelper.rb +25 -0
- data/lib/ontomde-java/java/java_todo.rdoc +3 -0
- data/lib/ontomde-java/java/javadoc.rb +254 -0
- data/lib/ontomde-java/java/meta.rb +28 -0
- data/lib/ontomde-java/java/operationAsClass.rb +144 -0
- data/lib/ontomde-java/java/security.rb +260 -0
- data/lib/ontomde-java/java/stateMachine.rb +415 -0
- data/lib/ontomde-java/java/tenant.rb +65 -0
- data/lib/ontomde-java/java/xsd.rb +1363 -0
- data/lib/ontomde-java/java/xsdCollectionMapping.rb +112 -0
- data/lib/ontomde-java/java/xsdDatatypeMapping.rb +103 -0
- data/lib/ontomde-java/jpa.rb +17 -0
- data/lib/ontomde-java/jpa/configuration.rb +176 -0
- data/lib/ontomde-java/jpa/finder.rb +102 -0
- data/lib/ontomde-java/jpa/jpa.rb +531 -0
- data/lib/ontomde-java/jpa/jpa.rdoc +20 -0
- data/lib/ontomde-java/jpa/locking.rb +18 -0
- data/lib/ontomde-java/jpa/mapping.rb +314 -0
- data/lib/ontomde-java/jpa/redefined.rb +77 -0
- data/lib/ontomde-java/jpa/simulationAutoImplement.rb +54 -0
- data/lib/ontomde-java/jpdl.rb +9 -0
- data/lib/ontomde-java/jpdl/bpm.pprj +1745 -0
- data/lib/ontomde-java/jpdl/bpm.rdf +140 -0
- data/lib/ontomde-java/jpdl/bpm.rdfs +231 -0
- data/lib/ontomde-java/jpdl/constant.rb +5 -0
- data/lib/ontomde-java/jpdl/graphic.rb +52 -0
- data/lib/ontomde-java/jpdl/jpdl.rb +281 -0
- data/lib/ontomde-java/jpdl/jpdl_deploy.rb +114 -0
- data/lib/ontomde-java/jpdl/main.rb +348 -0
- data/lib/ontomde-java/jpdl/main.rdoc +2 -0
- data/lib/ontomde-java/jpdl/processOperationToClass.rb +316 -0
- data/lib/ontomde-java/kbjava.rb +6 -0
- data/lib/ontomde-java/kbjava/rdfToJava.rb +407 -0
- data/lib/ontomde-java/struts.rb +27 -0
- data/lib/ontomde-java/struts/MessageResources.rb +359 -0
- data/lib/ontomde-java/struts/action.rb +883 -0
- data/lib/ontomde-java/struts/blob.rb +11 -0
- data/lib/ontomde-java/struts/exceptionHandling.rb +167 -0
- data/lib/ontomde-java/struts/footer.rb +128 -0
- data/lib/ontomde-java/struts/form.rb +450 -0
- data/lib/ontomde-java/struts/header.rb +37 -0
- data/lib/ontomde-java/struts/header_link.rb +39 -0
- data/lib/ontomde-java/struts/jsp_edit.rb +870 -0
- data/lib/ontomde-java/struts/jsp_edit_field.rb +1 -0
- data/lib/ontomde-java/struts/jsp_edit_js.rb +124 -0
- data/lib/ontomde-java/struts/jsp_index.rb +136 -0
- data/lib/ontomde-java/struts/localeAction.rb +641 -0
- data/lib/ontomde-java/struts/main.rb +41 -0
- data/lib/ontomde-java/struts/mappingForBean.rb +132 -0
- data/lib/ontomde-java/struts/mappingForJsp.rb +272 -0
- data/lib/ontomde-java/struts/mappingToJavaHierarchy.rb +87 -0
- data/lib/ontomde-java/struts/reloadAction.rb +33 -0
- data/lib/ontomde-java/struts/spring.rb +89 -0
- data/lib/ontomde-java/struts/struts-config.rb +232 -0
- data/lib/ontomde-java/struts/validation.rb +116 -0
- data/lib/ontomde-java/struts/validator.rb +341 -0
- data/lib/ontomde-java/struts/webXml.rb +195 -0
- data/lib/ontomde-java/struts/xmlForm.rb +308 -0
- data/lib/ontomde-java/version.rb +5 -0
- data/profiling.xls +0 -0
- data/test/.classpath +14 -0
- data/test/.project +17 -0
- data/test/.settings/org.eclipse.jdt.core.prefs +23 -0
- data/test/Rakefile +71 -0
- data/test/build.xml +34 -0
- data/test/classpath.rb +15 -0
- data/test/lib/junit-4.1.jar +0 -0
- data/test/load1.rb +3 -0
- data/test/load2.rb +3 -0
- data/test/log4j.properties +46 -0
- data/test/model/.project +11 -0
- data/test/model/BigProject.mdzip +0 -0
- data/test/model/BigProject.mdzip.nt +102866 -0
- data/test/model/ClassDiagram.EntArch.gif +0 -0
- data/test/model/ClassDiagram.emx.gif +0 -0
- data/test/model/ClassDiagram.mdzip.gif +0 -0
- data/test/model/model_ea71.bis.ea.xmi +149 -0
- data/test/model/model_ea71.ea.xmi +4470 -0
- data/test/model/model_ea71.eap +0 -0
- data/test/model/model_ea71_README.txt +8 -0
- data/test/model/multipleInheritance.emx +466 -0
- data/test/model/multipleInheritance.emx.nt +2428 -0
- data/test/model/simple1-530.ofp +0 -0
- data/test/model/simple1-includedAsReference.emx +169 -0
- data/test/model/simple1.emx +3729 -0
- data/test/model/simple1.emx.fragments.nt +81 -0
- data/test/model/simple1.emx.nt +5760 -0
- data/test/model/simple1.mdzip +0 -0
- data/test/model/simple1.mdzip.nt +11500 -0
- data/test/model/simple1.oe530.nt +1986 -0
- data/test/model/simple1.oe600.nt +1627 -0
- data/test/src/RuntimeTest.java +656 -0
- data/test/src/testsLevel1.java +174 -0
- data/test/src/testsLevel2.java +29 -0
- data/test/src/testsLevel3.java +40 -0
- data/test/test-ea7.sh +15 -0
- data/test/test-magicDraw.sh +10 -0
- data/test/test-mi.sh +9 -0
- data/test/test-oe530.sh +10 -0
- data/test/test-oe600.sh +11 -0
- data/test/test-rsm.sh +11 -0
- data/test/test_export_ea71.rb +5 -0
- data/test/test_export_oe530.rb +4 -0
- data/test/test_export_oe600.rb +4 -0
- data/test/test_export_rsm60.rb +4 -0
- data/test/trace +419 -0
- data/test/uml_test.rb +1434 -0
- data/test/uml_test.xls +0 -0
- data/test/unit_test.rb +6 -0
- metadata +224 -0
@@ -0,0 +1,40 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
module Mrdf_Repository
|
4
|
+
|
5
|
+
# EXAMPLE
|
6
|
+
# // ActionScript file
|
7
|
+
# import src.package1.Adresse;
|
8
|
+
# import src.package1.AdresseType2;
|
9
|
+
# import src.package1.AdresseType1;
|
10
|
+
# import src.package1.Session;
|
11
|
+
# import src.package1.Client;
|
12
|
+
# import src.package1.Contrat;
|
13
|
+
# import src.package1.methods.ClientajoutRapideContratMPC;
|
14
|
+
#
|
15
|
+
#
|
16
|
+
#
|
17
|
+
# cpForm:AdresseType1;
|
18
|
+
# cpForm:AdresseType2;
|
19
|
+
# cpForm:Adresse;
|
20
|
+
# cpForm:ClientajoutRapideContratMPC;
|
21
|
+
# cpForm:Contrat;
|
22
|
+
# cpForm:Client;
|
23
|
+
# cpForm:Session;
|
24
|
+
def flex_generateImportationAS
|
25
|
+
mtk_writeSession("#{context[:javaDir]}/importation.as"){
|
26
|
+
flex_writeImportationAS
|
27
|
+
}
|
28
|
+
end
|
29
|
+
def flex_writeImportationAS
|
30
|
+
write("// Action Script file used to force inclusion of view into .swf\n")
|
31
|
+
struts_viewableClassifier(true).each { |b|
|
32
|
+
write("import #{Muml_Class::FLEX_NS_PREFIX}#{b.java_qualifiedName};\n")
|
33
|
+
}
|
34
|
+
write("\n//force inclusion of class in .swf by creating dummy instances\n")
|
35
|
+
struts_viewableClassifier(true).each { |b|
|
36
|
+
write("cpForm:#{b.java_Name};\n")
|
37
|
+
}
|
38
|
+
write("// eof \n")
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,338 @@
|
|
1
|
+
|
2
|
+
module Mrdf_Repository
|
3
|
+
def flex_generateVO
|
4
|
+
struts_viewableClassifier(false).each { |b|
|
5
|
+
b.flex_generateVO
|
6
|
+
}
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
module Muml_Class
|
11
|
+
def flex_generateVO
|
12
|
+
mtk_writeSession("#{java_FileName.to_s.gsub(/\.[^.\/]*$/,"")}VO.as") {
|
13
|
+
flex_writeVO
|
14
|
+
}
|
15
|
+
end
|
16
|
+
|
17
|
+
|
18
|
+
def flex_NameVO
|
19
|
+
return "#{java_Name}VO"
|
20
|
+
end
|
21
|
+
FLEX_NS_PREFIX=STRUTS_XML_VIEW_PREFIX
|
22
|
+
def flex_writeVO
|
23
|
+
importSet=Set.new
|
24
|
+
flex_ownedAttributeSet.each { |c|
|
25
|
+
t=c.uml_type_one
|
26
|
+
next if t.kind_of?(Muml_DataType)
|
27
|
+
importSet.add(t)
|
28
|
+
}
|
29
|
+
|
30
|
+
importString=""
|
31
|
+
importSet.each { |t|
|
32
|
+
importString="#{importString}\n import #{FLEX_NS_PREFIX}#{t.java_qualifiedName}VO;"
|
33
|
+
}
|
34
|
+
|
35
|
+
before= <<ENDHEAD
|
36
|
+
package #{FLEX_NS_PREFIX}#{umlx_owner_one.java_qualifiedName}
|
37
|
+
{
|
38
|
+
import mx.collections.ArrayCollection;
|
39
|
+
import utils.DeserializeXMLUtil;
|
40
|
+
#{importString}
|
41
|
+
[Bindable]
|
42
|
+
public class #{flex_NameVO}
|
43
|
+
{
|
44
|
+
ENDHEAD
|
45
|
+
|
46
|
+
after= <<ENDBOTTOM
|
47
|
+
}
|
48
|
+
}
|
49
|
+
ENDBOTTOM
|
50
|
+
|
51
|
+
encloseWrite(before,after) {
|
52
|
+
flex_writeVO_vars
|
53
|
+
flex_writeVO_initFromXML
|
54
|
+
flex_writeVO_initItemFromXML
|
55
|
+
flex_writeVO_getParameter
|
56
|
+
}
|
57
|
+
end
|
58
|
+
|
59
|
+
def flex_writeVO_vars
|
60
|
+
flex_ownedAttributeSet.each { |prop|
|
61
|
+
tpl=DatatypeMapping.instance.getMapping(prop.uml_type_one)
|
62
|
+
tpl.flex_writeVO_vars_datatype(prop)
|
63
|
+
}
|
64
|
+
end
|
65
|
+
|
66
|
+
#Generates variable declaration
|
67
|
+
def flex_writeVO_initFromXML
|
68
|
+
before= <<ENDHEAD
|
69
|
+
//initialisation du formulaire a partir du XML recu de l'application Struts
|
70
|
+
public function initFromXML(source:XML):void{
|
71
|
+
ENDHEAD
|
72
|
+
|
73
|
+
after= <<ENDBOTTOM
|
74
|
+
} // end initFromXML
|
75
|
+
ENDBOTTOM
|
76
|
+
|
77
|
+
encloseWrite(before,after) {
|
78
|
+
flex_ownedAttributeSet.each { |prop|
|
79
|
+
tpl=DatatypeMapping.instance.getMapping(prop.uml_type_one)
|
80
|
+
tpl.flex_writeVO_initFromXML_mapping(prop)
|
81
|
+
}
|
82
|
+
}
|
83
|
+
end
|
84
|
+
|
85
|
+
|
86
|
+
# EXAMPLES:
|
87
|
+
# nom = utils.DeserializeXMLUtil.getOptionAttributValue(source, 'nom');
|
88
|
+
# id= DeserializeXMLUtil.getOptionAttributValue(source, 'id');
|
89
|
+
# //recuperation de la valeur de type date de l'atribut x de l'option
|
90
|
+
# datedenaissance = DeserializeXMLUtil.getOptionDateAttributValue(source, 'datedenaissance');
|
91
|
+
def flex_writeVO_initItemFromXML
|
92
|
+
before= <<ENDHEAD
|
93
|
+
//initialisation d'un item du type de la class pour etre referencer dans les VOs a partir des options du XML
|
94
|
+
public function initItemFromXML(source:XMLList):void{
|
95
|
+
ENDHEAD
|
96
|
+
|
97
|
+
after=<<ENDBOTTOM
|
98
|
+
} // initItemFromXML
|
99
|
+
ENDBOTTOM
|
100
|
+
|
101
|
+
encloseWrite(before,after) {
|
102
|
+
flex_ownedAttributeSet.each { |prop|
|
103
|
+
tpl=DatatypeMapping.instance.getMapping(prop.uml_type_one)
|
104
|
+
tpl.flex_writeVO_initItemFromXML_mapping(prop)
|
105
|
+
}
|
106
|
+
}
|
107
|
+
end
|
108
|
+
def flex_writeVO_getParameter
|
109
|
+
before=<<ENDHEAD
|
110
|
+
//parametres complementaires à passer aux requetes concernant cette objet
|
111
|
+
public function getParameter():Object{
|
112
|
+
var param:Object= {};
|
113
|
+
ENDHEAD
|
114
|
+
|
115
|
+
after=<<ENDBOTTOM
|
116
|
+
return param;
|
117
|
+
} // getParameter
|
118
|
+
ENDBOTTOM
|
119
|
+
|
120
|
+
encloseWrite(before,after) {
|
121
|
+
flex_ownedAttributeSet.each { |prop|
|
122
|
+
tpl=DatatypeMapping.instance.getMapping(prop.uml_type_one)
|
123
|
+
tpl.flex_writeVO_getParameter(prop)
|
124
|
+
}}
|
125
|
+
|
126
|
+
end
|
127
|
+
|
128
|
+
end
|
129
|
+
|
130
|
+
class DatatypeMapping
|
131
|
+
def flex_writeVO_vars_datatype(prop)
|
132
|
+
prop.write("<!-- # no mapping for #{prop.java_Name} errcode=1 (#{self.class}) -->\n")
|
133
|
+
end
|
134
|
+
def flex_writeVO_getParameter(prop)
|
135
|
+
prop.write("<!-- # no mapping for #{prop.java_Name} errcode=2 (#{self.class}) -->\n")
|
136
|
+
end
|
137
|
+
def flex_writeVO_initItemFromXML_mapping(prop)
|
138
|
+
prop.write("<!-- # no mapping for #{prop.java_Name} errcode=3 (#{self.class}) -->\n")
|
139
|
+
end
|
140
|
+
|
141
|
+
def flex_writeVO_initFromXML_mapping(prop)
|
142
|
+
prop.write("<!-- # no mapping for #{prop.java_Name} errcode=4 (#{self.class}) -->\n")
|
143
|
+
end
|
144
|
+
def flex_writeMXML_vo_mapping(prop)
|
145
|
+
puts("WARNING: Unknown flex_writeMXML_vo_mapping for property #{prop.java_Name} and mapping=#{self.class}")
|
146
|
+
#ignore element
|
147
|
+
#prop.write("<!-- # no mapping for #{prop.java_Name} errcode=5 (#{self.class}) -->\n")
|
148
|
+
end
|
149
|
+
def flex_writeMXML_Form_item_property(prop)
|
150
|
+
prop.write("<!-- # no mapping for #{prop.java_Name} errcode=6 (#{self.class}) -->\n")
|
151
|
+
end
|
152
|
+
def flex_writeMXML_Form_item_property_column(prop)
|
153
|
+
prop.write("<!-- # no mapping for #{prop.java_Name} errcode=7 (#{self.class}) -->\n")
|
154
|
+
end
|
155
|
+
end
|
156
|
+
|
157
|
+
class DatatypeMappingBoolean < DatatypeMapping
|
158
|
+
def flex_writeVO_vars_datatype(prop)
|
159
|
+
prop.write("public var #{prop.java_Name}:Boolean;\n")
|
160
|
+
end
|
161
|
+
def flex_writeVO_getParameter(prop)
|
162
|
+
prop.write("param.#{prop.java_Name} = #{prop.java_Name};\n")
|
163
|
+
end
|
164
|
+
|
165
|
+
# EXAMPLES:
|
166
|
+
# isX = DeserializeXMLUtil.getFormBooleanAttributValue(source, 'isX');
|
167
|
+
def flex_writeVO_initFromXML_mapping(prop)
|
168
|
+
prop.write("#{prop.java_Name} = DeserializeXMLUtil.getFormBooleanAttributValue(source, '#{prop.java_Name}');\n")
|
169
|
+
end
|
170
|
+
|
171
|
+
def flex_writeVO_initItemFromXML_mapping(prop)
|
172
|
+
prop.write("#{prop.java_Name}=DeserializeXMLUtil.getOptionBooleanAttributValue(source,'#{prop.java_Name}');\n")
|
173
|
+
end
|
174
|
+
end
|
175
|
+
|
176
|
+
class DatatypeMappingText < DatatypeMapping
|
177
|
+
# EXAMPLES:
|
178
|
+
# public var nom:String;
|
179
|
+
# public var id:String;
|
180
|
+
def flex_writeVO_vars_datatype(prop)
|
181
|
+
prop.write("public var #{prop.java_Name}:String;\n")
|
182
|
+
end
|
183
|
+
|
184
|
+
# EXAMPLE:
|
185
|
+
# param.nom = nom;
|
186
|
+
def flex_writeVO_getParameter(prop)
|
187
|
+
prop.write("param.#{prop.java_Name} = #{prop.java_Name};\n")
|
188
|
+
end
|
189
|
+
|
190
|
+
# nom = DeserializeXMLUtil.getFormAttributValue(source, 'nom');
|
191
|
+
# id = DeserializeXMLUtil.getFormAttributValue(source, 'id');
|
192
|
+
def flex_writeVO_initFromXML_mapping(prop)
|
193
|
+
prop.write("#{prop.java_Name} = DeserializeXMLUtil.getFormAttributValue(source, '#{prop.java_Name}');\n")
|
194
|
+
end
|
195
|
+
def flex_writeVO_initItemFromXML_mapping(prop)
|
196
|
+
prop.write("#{prop.java_Name}=DeserializeXMLUtil.getOptionAttributValue(source,'#{prop.java_Name}');\n")
|
197
|
+
end
|
198
|
+
end
|
199
|
+
class DatatypeMappingOrdinal < DatatypeMappingText
|
200
|
+
# EXAMPLES:
|
201
|
+
# public var datedenaissance:Number;
|
202
|
+
def flex_writeVO_vars_datatype(prop)
|
203
|
+
prop.write("public var #{prop.java_Name}:Number;\n")
|
204
|
+
end
|
205
|
+
# EXAMPLE:
|
206
|
+
# DeserializeXMLUtil.getFormNumberAttributValue(source, 'numero');
|
207
|
+
def flex_writeVO_initFromXML_mapping(prop)
|
208
|
+
prop.write("#{prop.java_Name} = DeserializeXMLUtil.getFormNumberAttributValue(source, '#{prop.java_Name}');\n")
|
209
|
+
end
|
210
|
+
# EXAMPLE:
|
211
|
+
# numero=DeserializeXMLUtil.getOptionNumberAttributValue(source,'numero');
|
212
|
+
def flex_writeVO_initItemFromXML_mapping(prop)
|
213
|
+
prop.write("#{prop.java_Name}=DeserializeXMLUtil.getOptionNumberAttributValue(source,'#{prop.java_Name}');\n")
|
214
|
+
end
|
215
|
+
end
|
216
|
+
|
217
|
+
class DatatypeMappingTimeStamp < DatatypeMapping
|
218
|
+
# EXAMPLES:
|
219
|
+
# public var datedenaissance:Date;
|
220
|
+
def flex_writeVO_vars_datatype(prop)
|
221
|
+
prop.write("public var #{prop.java_Name}:Date;\n")
|
222
|
+
end
|
223
|
+
# EXAMPLES:
|
224
|
+
# param.datedenaissance = utils.DateUtil.FormatForDatabase(datedenaissance);
|
225
|
+
def flex_writeVO_getParameter(prop)
|
226
|
+
prop.write("param.#{prop.java_Name} = utils.DateUtil.FormatForDatabase(#{prop.java_Name});\n")
|
227
|
+
end
|
228
|
+
|
229
|
+
# EXAMPLES:
|
230
|
+
# datedenaissance = DeserializeXMLUtil.getFormDateAttributValue(source, 'datedenaissance');
|
231
|
+
def flex_writeVO_initFromXML_mapping(prop)
|
232
|
+
prop.write("#{prop.java_Name} = DeserializeXMLUtil.getFormDateAttributValue(source, '#{prop.java_Name}');\n")
|
233
|
+
end
|
234
|
+
def flex_writeVO_initItemFromXML_mapping(prop)
|
235
|
+
prop.write("#{prop.java_Name}=DeserializeXMLUtil.getOptionDateAttributValue(source,'#{prop.java_Name}');\n")
|
236
|
+
end
|
237
|
+
end
|
238
|
+
|
239
|
+
# EXAMPLES:
|
240
|
+
# public var datedenaissance:Date;
|
241
|
+
class DatatypeMappingCalendar < DatatypeMapping
|
242
|
+
def flex_writeVO_vars_datatype(prop)
|
243
|
+
prop.write("public var #{prop.java_Name}:Date;\n")
|
244
|
+
end
|
245
|
+
|
246
|
+
# EXAMPLES:
|
247
|
+
# param.datedenaissance = utils.DateUtil.FormatForDatabase(datedenaissance);
|
248
|
+
def flex_writeVO_getParameter(prop)
|
249
|
+
prop.write("param.#{prop.java_Name} = utils.DateUtil.FormatForDatabase(#{prop.java_Name});\n")
|
250
|
+
end
|
251
|
+
|
252
|
+
# EXAMPLES:
|
253
|
+
# datedenaissance = DeserializeXMLUtil.getFormDateAttributValue(source, 'datedenaissance');
|
254
|
+
def flex_writeVO_initFromXML_mapping(prop)
|
255
|
+
prop.write("#{prop.java_Name} = DeserializeXMLUtil.getFormDateAttributValue(source, '#{prop.java_Name}');\n")
|
256
|
+
end
|
257
|
+
|
258
|
+
def flex_writeVO_initItemFromXML_mapping(prop)
|
259
|
+
prop.write("#{prop.java_Name}=DeserializeXMLUtil.getOptionDateAttributValue(source,'#{prop.java_Name}');\n")
|
260
|
+
end
|
261
|
+
end
|
262
|
+
|
263
|
+
class DatatypeMappingGenericEnum < DatatypeMapping
|
264
|
+
# EXAMPLES:
|
265
|
+
# public var civilite:Object;
|
266
|
+
# public var selectedItemCivilite:Object;
|
267
|
+
# public var civiliteSug:ArrayCollection;
|
268
|
+
def flex_writeVO_vars_datatype(prop)
|
269
|
+
prop.write("public var #{prop.java_Name}:Object;\n")
|
270
|
+
prop.write("public var #{prop.java_Name}Sug:ArrayCollection;\n")
|
271
|
+
prop.write("public var selectedItem#{prop.java_Name}:Object;\n")
|
272
|
+
end
|
273
|
+
|
274
|
+
# EXAMPLES:
|
275
|
+
# //key car c'est un item de l'enum
|
276
|
+
# param.civilite = civilite.key;
|
277
|
+
def flex_writeVO_getParameter(prop)
|
278
|
+
prop.write("param.#{prop.java_Name} = #{prop.java_Name}.key;\n")
|
279
|
+
end
|
280
|
+
|
281
|
+
# EXAMPLES:
|
282
|
+
# civiliteSug = DeserializeXMLUtil.getFormEnum(source, 'civilite');
|
283
|
+
# civilite = DeserializeXMLUtil.getFormEnumAttributSelected(source, 'civilite', civiliteSug);
|
284
|
+
def flex_writeVO_initFromXML_mapping(prop)
|
285
|
+
prop.write("#{prop.java_Name}Sug = DeserializeXMLUtil.getFormEnum(source, '#{prop.java_Name}');\n")
|
286
|
+
prop.write("#{prop.java_Name} = DeserializeXMLUtil.getFormEnumAttributSelected(source, '#{prop.java_Name}', #{prop.java_Name}Sug);\n")
|
287
|
+
end
|
288
|
+
|
289
|
+
def flex_writeVO_initItemFromXML_mapping(prop)
|
290
|
+
#nop
|
291
|
+
end
|
292
|
+
end
|
293
|
+
|
294
|
+
class DatatypeMappingGenericClass < DatatypeMapping
|
295
|
+
|
296
|
+
# EXAMPLES:
|
297
|
+
# public var adresse:ArrayCollection;
|
298
|
+
# public var adressesSug:ArrayCollection;
|
299
|
+
# public var dernierContrat:ArrayCollection;
|
300
|
+
# public var dernierContratSug:ArrayCollection;
|
301
|
+
def flex_writeVO_vars_datatype(prop)
|
302
|
+
prop.write("public var #{prop.java_Name}:ArrayCollection;\n")
|
303
|
+
if(prop.umlx_isComposite?)
|
304
|
+
prop.write("public var #{prop.java_Name}CreateAndAddSug:ArrayCollection;\n")
|
305
|
+
prop.write("public var #{prop.java_Name}Sug:ArrayCollection;\n")
|
306
|
+
else
|
307
|
+
prop.write("public var #{prop.java_Name}Sug:ArrayCollection;\n")
|
308
|
+
end
|
309
|
+
end
|
310
|
+
def flex_writeVO_getParameter(prop)
|
311
|
+
prop.write("// #{prop.java_Name}\n")
|
312
|
+
end
|
313
|
+
|
314
|
+
#EXAMPLES:
|
315
|
+
# For a composition:
|
316
|
+
# adresseSug = DeserializeXMLUtil.getFormAttributeAssignable(source, 'adresse');
|
317
|
+
# adresse = DeserializeXMLUtil.getFormAttributSelection(source, 'adresse', AdresseVO);
|
318
|
+
# for an association:
|
319
|
+
# adresse = DeserializeXMLUtil.getFormAttributSelection(source, 'adresse', AdresseVO);
|
320
|
+
# favorisSug = DeserializeXMLUtil.getFormAttributSug(source, 'favoris', ContratVO);
|
321
|
+
def flex_writeVO_initFromXML_mapping(prop)
|
322
|
+
|
323
|
+
if(prop.umlx_isComposite?)
|
324
|
+
prop.write("#{prop.java_Name}CreateAndAddSug = DeserializeXMLUtil.getFormAttributeAssignable(source, '#{prop.java_Name}');\n")
|
325
|
+
else
|
326
|
+
prop.write("#{prop.java_Name}Sug = DeserializeXMLUtil.getFormAttributSug(source, '#{prop.java_Name}',#{prop.uml_type_one.java_Name}VO);\n")
|
327
|
+
end
|
328
|
+
prop.write("#{prop.java_Name} = DeserializeXMLUtil.getFormAttributSelection(source, '#{prop.java_Name}', #{prop.uml_type_one.java_Name}VO);\n")
|
329
|
+
end
|
330
|
+
|
331
|
+
def flex_writeVO_initItemFromXML_mapping(prop)
|
332
|
+
#nop
|
333
|
+
end
|
334
|
+
end
|
335
|
+
#
|
336
|
+
|
337
|
+
|
338
|
+
#
|
@@ -0,0 +1,19 @@
|
|
1
|
+
|
2
|
+
#require 'ontomde-core'
|
3
|
+
#
|
4
|
+
#
|
5
|
+
##Action Script file type
|
6
|
+
#class FileTypeActionScript < FileTypeJava
|
7
|
+
# def initialize(ext=".as")
|
8
|
+
# super(ext)
|
9
|
+
# end
|
10
|
+
#end
|
11
|
+
#FileTypeActionScript.instance # register
|
12
|
+
#
|
13
|
+
#class FileTypeJavaScript < FileTypeActionScript
|
14
|
+
# def initialize(ext=".js")
|
15
|
+
# super(ext)
|
16
|
+
# end
|
17
|
+
#end
|
18
|
+
#FileTypeJavaScript.instance # register
|
19
|
+
|
@@ -0,0 +1,347 @@
|
|
1
|
+
# http://livedocs.adobe.com/specs/actionscript/3/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=as3_specification.html
|
2
|
+
|
3
|
+
require "rdfmda-uml2"
|
4
|
+
require "rdfmda-uml2_java"
|
5
|
+
|
6
|
+
module Muml_DataType
|
7
|
+
#Predefined UML datatype to Java type mapping.
|
8
|
+
UML_TO_ACTIONSCRIPT_PRIMITIVE_TYPE_MAPPING.clear
|
9
|
+
UML_TO_ACTIONSCRIPT_PRIMITIVE_TYPE_MAPPING.merge!({"byte"=>"byte","short"=>"Number","long"=>"Number","Boolean"=>"boolean","boolean"=>"boolean","int"=>"Number","integer"=>"Number","Integer"=>"Number", "String"=>"String","string"=>"String","date"=>"Date","double"=>"Number","char"=>"char"})
|
10
|
+
end
|
11
|
+
|
12
|
+
|
13
|
+
|
14
|
+
module Muml_TypedElement
|
15
|
+
#ActionScript Collection container type.
|
16
|
+
ACTION_SCRIPT_COLLECTION='mx.collections.ArrayCollection'
|
17
|
+
end
|
18
|
+
module Muml_Classifier
|
19
|
+
|
20
|
+
# No default import
|
21
|
+
ACTIONSCRIPT_DEFAULT_IMPORTS.clear
|
22
|
+
ACTIONSCRIPT_DEFAULT_IMPORTS<< Muml_TypedElement::ACTION_SCRIPT_COLLECTION
|
23
|
+
|
24
|
+
ACTIONSCRIPT_IMPORT_COMPUTED_DEPENDENCIES=true
|
25
|
+
|
26
|
+
def as_FileName
|
27
|
+
return "#{as_FilePath}#{as_Name}.as"
|
28
|
+
end
|
29
|
+
|
30
|
+
def as_writePackageDeclaration(&block)
|
31
|
+
p = umlx_package
|
32
|
+
if p.nil?
|
33
|
+
write("package {\n")
|
34
|
+
else
|
35
|
+
write("package #{p.as_qualifiedName} {\n")
|
36
|
+
end
|
37
|
+
yield
|
38
|
+
if p.nil?
|
39
|
+
write("//end of package *unnamed*\n")
|
40
|
+
else
|
41
|
+
write("} // end of package #{p.as_qualifiedName};\n")
|
42
|
+
end
|
43
|
+
end
|
44
|
+
def as_FDS_writeConfiguration
|
45
|
+
write %{
|
46
|
+
<destination id="#{as_destinationName}">
|
47
|
+
<adapter ref="#{Mrdf_Repository::ACTIONSCRIPT_JAVA_ADAPTER_ID}"/>
|
48
|
+
<properties>
|
49
|
+
<source>#{java_qualifiedName}Assembler</source>
|
50
|
+
<scope>application</scope>
|
51
|
+
<metadata>
|
52
|
+
<identity property="id"></identity>
|
53
|
+
#{mtk_stss{as_write_metadata()}}
|
54
|
+
</metadata>
|
55
|
+
<server>
|
56
|
+
<fill-method>
|
57
|
+
<name>load</name>
|
58
|
+
</fill-method>
|
59
|
+
<fill-method>
|
60
|
+
<name>load</name>
|
61
|
+
<params>java.lang.String</params>
|
62
|
+
</fill-method>
|
63
|
+
<sync-method>
|
64
|
+
<name>sync</name>
|
65
|
+
</sync-method>
|
66
|
+
</server>
|
67
|
+
</properties>
|
68
|
+
</destination>
|
69
|
+
}
|
70
|
+
end
|
71
|
+
def as_write_metadata
|
72
|
+
uml_ownedAttribute.each { |a|
|
73
|
+
a.as_write_metadata
|
74
|
+
}
|
75
|
+
end
|
76
|
+
def as_destinationName
|
77
|
+
return "dst-#{as_qualifiedName}"
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
module Muml_Property
|
82
|
+
def as_lazyMode
|
83
|
+
return "false"
|
84
|
+
#return "true"
|
85
|
+
end
|
86
|
+
def as_write_metadata
|
87
|
+
if uml_type_one.kind_of?(Muml_DataType)
|
88
|
+
write %{ <!-- datatype property="#{as_Name}" -->\n}
|
89
|
+
elsif umlx_oneToMany?
|
90
|
+
write %{ <one-to-many property="#{as_Name}" destination="#{uml_type_one.as_destinationName}" lazy="#{as_lazyMode}"/>\n}
|
91
|
+
elsif umlx_manyToOne?
|
92
|
+
write %{ <!-- many-to-one property="#{as_Name}" destination="#{uml_type_one.as_destinationName}" lazy="#{as_lazyMode}"/ -->\n}
|
93
|
+
elsif umlx_oneToOne?
|
94
|
+
write %{ <!-- one-to-one property="#{as_Name}" destination="#{uml_type_one.as_destinationName}" lazy="#{as_lazyMode}"/ -->\n}
|
95
|
+
elsif umlx_manyToMany?
|
96
|
+
write %{ <!-- many-to-many property="#{as_Name}" destination="#{uml_type_one.as_destinationName}" lazy="#{as_lazyMode}"/ -->\n}
|
97
|
+
else
|
98
|
+
write %{ <!-- property="#{as_Name}" destination="#{uml_type_one.as_destinationName}" lazy="#{as_lazyMode}"/ -->\n}
|
99
|
+
end
|
100
|
+
end
|
101
|
+
def as_write
|
102
|
+
return if uml_type_one.kind_of?(Muml_Enumeration)
|
103
|
+
write("var");
|
104
|
+
write(" _#{as_NameProperty}")
|
105
|
+
write(":#{as_propertyAssociationType}")
|
106
|
+
write(";\n")
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
module Muml_Parameter
|
111
|
+
def as_write
|
112
|
+
write(" #{as_Name}:") unless uml_direction_one.isReturn?
|
113
|
+
write("#{as_propertyAssociationType} ")
|
114
|
+
#write(" /* #{uml_lowerValue}..#{uml_upperValue}*/ ")
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
module Muml_Operation
|
119
|
+
#Hack
|
120
|
+
def as_Name
|
121
|
+
s=super
|
122
|
+
if !self.as_getter_property.empty?
|
123
|
+
return "get #{s[3,s.length]}"
|
124
|
+
end
|
125
|
+
if !self.as_setter_property.empty?
|
126
|
+
return "set #{s[3,s.length]}"
|
127
|
+
end
|
128
|
+
return s
|
129
|
+
end
|
130
|
+
|
131
|
+
def as_write
|
132
|
+
#TODO: decide what to do with functions in actionscript
|
133
|
+
#write("\/\/IGNORED: function #{as_Name}\n")
|
134
|
+
#return
|
135
|
+
|
136
|
+
write("\n")
|
137
|
+
as_writeAnnotation
|
138
|
+
as_writeMethodModifiers
|
139
|
+
write("function ");
|
140
|
+
|
141
|
+
if umlx_isConstructor?
|
142
|
+
write("#{umlx_class_one.as_Name}")
|
143
|
+
else
|
144
|
+
write("#{as_Name}")
|
145
|
+
end
|
146
|
+
as_writeMethodParameters
|
147
|
+
as_writeMethodThrows
|
148
|
+
|
149
|
+
|
150
|
+
as_writeMethodReturnType unless umlx_isConstructor?
|
151
|
+
|
152
|
+
as_writeMethodBody
|
153
|
+
end
|
154
|
+
|
155
|
+
#write java type parameter (without the name)
|
156
|
+
#
|
157
|
+
#Example:
|
158
|
+
#* void
|
159
|
+
#* int
|
160
|
+
#* pack1.Class1
|
161
|
+
def as_writeParameterType(fp)
|
162
|
+
if (fp.nil?)
|
163
|
+
# fp.write("void ");
|
164
|
+
else
|
165
|
+
write(" : ")
|
166
|
+
fp.as_write
|
167
|
+
#uml_isException (!! a ne pas confondre avec une exception)
|
168
|
+
#uml_isOrdered
|
169
|
+
#uml_isStream
|
170
|
+
#uml_isUnique
|
171
|
+
end
|
172
|
+
end
|
173
|
+
|
174
|
+
#writes default code for a method not implemented
|
175
|
+
def as_writeMethodBodyNotImplemented
|
176
|
+
write <<END
|
177
|
+
{
|
178
|
+
//TODO: implement method body
|
179
|
+
throw new Error("[operation \\"#{as_Name}\\"not implemented]");
|
180
|
+
}
|
181
|
+
END
|
182
|
+
end
|
183
|
+
end
|
184
|
+
|
185
|
+
module Muml_TypedElement
|
186
|
+
|
187
|
+
#Returns an action script array
|
188
|
+
#ActionScript 3 does not support type collection.
|
189
|
+
def as_propertyRoleTypeWithGenerics
|
190
|
+
jtype=""
|
191
|
+
if uml_type.empty?
|
192
|
+
jtype="Number /* TODO: FIX:undefined type in uml model */ "
|
193
|
+
else
|
194
|
+
jtype = uml_type_one.as_qualifiedName
|
195
|
+
end
|
196
|
+
return umlx_upperValueIsOne? ? jtype : ACTION_SCRIPT_COLLECTION
|
197
|
+
end
|
198
|
+
end
|
199
|
+
|
200
|
+
module Mrdf_Repository
|
201
|
+
#adds Flex Data Services annotations
|
202
|
+
def as_addFDSannotations!
|
203
|
+
#must copy before transformation (hash modified runtime error)
|
204
|
+
uml_Class_all.each {|c|
|
205
|
+
next unless c.kind_of?(Muml_Class) || c.kind_of?(Muml_Interface)||c.kind_of?(Muml_Enumeration)
|
206
|
+
|
207
|
+
next if c.kind_of?(Muml_Enumeration)
|
208
|
+
|
209
|
+
if !c.kind_of?(Muml_Interface)
|
210
|
+
c.as_annotation_add(%{[Managed]})
|
211
|
+
c.as_annotation_add(%{[RemoteClass(alias="#{c.java_qualifiedName}")]})
|
212
|
+
end
|
213
|
+
|
214
|
+
#id persistence
|
215
|
+
p=c.umlx_createAndAddProperty(c.rdf_uri+"_auto_id","id")
|
216
|
+
#p.java_annotation_add("@Id")
|
217
|
+
#p.java_annotation_add("@GeneratedValue")
|
218
|
+
p.uml_type=p.umlx_owner_one.umlx_dataType_long
|
219
|
+
p.uml_visibility=::Cuml_VisibilityKind::Private
|
220
|
+
}
|
221
|
+
end
|
222
|
+
|
223
|
+
def as_FDS_generateConfigurationFile
|
224
|
+
mtk_writeSession("#{context[:build]}/data-management-config.xml") {
|
225
|
+
as_FDS_writeConfigurationFile
|
226
|
+
}
|
227
|
+
end
|
228
|
+
#
|
229
|
+
#writes Flex Data Services configuration file
|
230
|
+
def as_FDS_writeConfigurationFile
|
231
|
+
write %{<?xml version="1.0" encoding="UTF-8"?>\n}
|
232
|
+
as_FDS_write_GeneralConfItems {
|
233
|
+
uml_Class_all.each {|c|
|
234
|
+
next if c.kind_of?(Muml_Interface)
|
235
|
+
next if c.kind_of?(Muml_Enumeration)
|
236
|
+
c.as_FDS_writeConfiguration
|
237
|
+
}}
|
238
|
+
end
|
239
|
+
|
240
|
+
#Name of action script adapter
|
241
|
+
ACTIONSCRIPT_JAVA_ADAPTER_ID="java-dao"
|
242
|
+
|
243
|
+
def as_FDS_write_GeneralConfItems(&block)
|
244
|
+
write %{
|
245
|
+
<service id="data-service"
|
246
|
+
class="flex.data.DataService"
|
247
|
+
messageTypes="flex.data.messages.DataMessage">
|
248
|
+
|
249
|
+
<adapters>
|
250
|
+
<adapter-definition id="actionscript" class="flex.data.adapters.ASObjectAdapter" default="true"/>
|
251
|
+
<adapter-definition id="#{ACTIONSCRIPT_JAVA_ADAPTER_ID}" class="flex.data.adapters.JavaAdapter"/>
|
252
|
+
</adapters>
|
253
|
+
|
254
|
+
<default-channels>
|
255
|
+
<channel ref="my-rtmp"/>
|
256
|
+
</default-channels>
|
257
|
+
}
|
258
|
+
|
259
|
+
yield
|
260
|
+
|
261
|
+
write( "</service>\n" )
|
262
|
+
end
|
263
|
+
|
264
|
+
end
|
265
|
+
module Muml_Enumeration
|
266
|
+
#write enum body (list of litterals) using as_writeClassComment, as_writeClassModifiers, as_writeMetaClassName.
|
267
|
+
#
|
268
|
+
#Example:
|
269
|
+
#* { red,blue,green }
|
270
|
+
def as_writeClassBody
|
271
|
+
as_writeClassComment
|
272
|
+
as_writeAnnotation
|
273
|
+
as_writeClassModifiers
|
274
|
+
as_writeMetaClassName
|
275
|
+
write("\n{\n")
|
276
|
+
uml_ownedLiteral.each {|c|
|
277
|
+
write(%{public static var #{c}:#{as_Name} = new EtatDossier("#{c}");\n})
|
278
|
+
}
|
279
|
+
write <<END
|
280
|
+
|
281
|
+
public function #{as_Name}(str:String){
|
282
|
+
name=str;
|
283
|
+
}
|
284
|
+
|
285
|
+
public static function getValues():ArrayCollection{
|
286
|
+
var values:ArrayCollection = new ArrayCollection();
|
287
|
+
END
|
288
|
+
uml_ownedLiteral.each {|c|
|
289
|
+
write(" values.addItem(#{c});\n");
|
290
|
+
}
|
291
|
+
write <<END
|
292
|
+
return values;
|
293
|
+
}
|
294
|
+
|
295
|
+
public function toString(){
|
296
|
+
return name;
|
297
|
+
}
|
298
|
+
END
|
299
|
+
|
300
|
+
#as_writeDeclarationSpecificOnBegin
|
301
|
+
as_writeAttributes
|
302
|
+
write("\n\n")
|
303
|
+
#as_writeConstructors
|
304
|
+
write("\n\n")
|
305
|
+
as_writeOperations
|
306
|
+
#as_writeDeclarationSpecificOnEnd
|
307
|
+
|
308
|
+
|
309
|
+
|
310
|
+
write("\n}");
|
311
|
+
end
|
312
|
+
end
|
313
|
+
|
314
|
+
module Mrdf_Repository
|
315
|
+
def as_addFormReference!
|
316
|
+
uml_Class_all.each {|a|
|
317
|
+
next if a.kind_of?(Muml_Interface)
|
318
|
+
next if a.kind_of?(Muml_Enumeration)
|
319
|
+
a.as_addFormReference!
|
320
|
+
}
|
321
|
+
end
|
322
|
+
end
|
323
|
+
module Muml_Class
|
324
|
+
def as_formClass
|
325
|
+
return umlx_getOrCreateClass("#{as_qualifiedName}Form")
|
326
|
+
end
|
327
|
+
def as_addFormReference!
|
328
|
+
log.error{"adding flexFormRef for #{self}:#{self.class}"}
|
329
|
+
p=umlx_createAndAddProperty("#{self.rdf_uri}_flexFormRef","flexForm")
|
330
|
+
p.uml_isReadOnly="true"
|
331
|
+
|
332
|
+
p.uml_type=as_formClass
|
333
|
+
p.umlx_owner_one.as_addAccessorsFor!(p)
|
334
|
+
p.as_getter_property_inv.each {|get|
|
335
|
+
log.error("maj code")
|
336
|
+
get.as_code=<<END
|
337
|
+
if(#{p.as_Name}==null){
|
338
|
+
#{p.as_Name} = new #{as_formClass.as_Name}();
|
339
|
+
#{p.as_Name}.setModif(this);
|
340
|
+
}
|
341
|
+
return #{p.as_Name};
|
342
|
+
END
|
343
|
+
}
|
344
|
+
end
|
345
|
+
end
|
346
|
+
|
347
|
+
|