ontomde-java 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
|