ontomde-java 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (157) hide show
  1. data/History.txt +10 -0
  2. data/Manifest.txt +156 -0
  3. data/README.txt +98 -0
  4. data/Rakefile +21 -0
  5. data/bin/ontomde-java +5 -0
  6. data/generateRdocFile.sh +16 -0
  7. data/lib/ontomde-java.rb +45 -0
  8. data/lib/ontomde-java/crank.rb +13 -0
  9. data/lib/ontomde-java/crank/context.rb +384 -0
  10. data/lib/ontomde-java/crank/crankJpa.rb +103 -0
  11. data/lib/ontomde-java/crank/equals.rb +83 -0
  12. data/lib/ontomde-java/crank/facelets.rb +243 -0
  13. data/lib/ontomde-java/crank/facesconfig.rb +113 -0
  14. data/lib/ontomde-java/crank/helper.rb +46 -0
  15. data/lib/ontomde-java/crank/main.rb +51 -0
  16. data/lib/ontomde-java/crank/menu.rb +39 -0
  17. data/lib/ontomde-java/crank/menu2.rb +78 -0
  18. data/lib/ontomde-java/crank/validation.rb +34 -0
  19. data/lib/ontomde-java/ejb2.rb +3 -0
  20. data/lib/ontomde-java/ejb2/main-ejb2.rb +194 -0
  21. data/lib/ontomde-java/flex.rb +7 -0
  22. data/lib/ontomde-java/flex/Editor.mxml.as.rb +184 -0
  23. data/lib/ontomde-java/flex/Editor.mxml.rb +701 -0
  24. data/lib/ontomde-java/flex/ImportationAS.rb +40 -0
  25. data/lib/ontomde-java/flex/ValueObjectAS.rb +338 -0
  26. data/lib/ontomde-java/flex/fileTypes.rb +19 -0
  27. data/lib/ontomde-java/flex/main.rb +347 -0
  28. data/lib/ontomde-java/frontend/command.rb +324 -0
  29. data/lib/ontomde-java/frontend/command.rdoc +583 -0
  30. data/lib/ontomde-java/frontend/defaultOptions.rb +124 -0
  31. data/lib/ontomde-java/frontend/options.rb +555 -0
  32. data/lib/ontomde-java/frontend/steps.rb +287 -0
  33. data/lib/ontomde-java/java/accessorCode.rb +528 -0
  34. data/lib/ontomde-java/java/accessorSignature.rb +347 -0
  35. data/lib/ontomde-java/java/annotationOntoMDE.rb +88 -0
  36. data/lib/ontomde-java/java/apache.rb +34 -0
  37. data/lib/ontomde-java/java/build.rb +80 -0
  38. data/lib/ontomde-java/java/collectionMapping.rb +112 -0
  39. data/lib/ontomde-java/java/component.rb +446 -0
  40. data/lib/ontomde-java/java/contextualize.rb +43 -0
  41. data/lib/ontomde-java/java/enumAssignable.rb +75 -0
  42. data/lib/ontomde-java/java/enumCompatibilityLayer.rb +195 -0
  43. data/lib/ontomde-java/java/equals.rb +91 -0
  44. data/lib/ontomde-java/java/groovy.rb +95 -0
  45. data/lib/ontomde-java/java/java.rb +1329 -0
  46. data/lib/ontomde-java/java/java.rdoc +78 -0
  47. data/lib/ontomde-java/java/javaDatatypeMapping.rb +156 -0
  48. data/lib/ontomde-java/java/javaHelper.rb +25 -0
  49. data/lib/ontomde-java/java/java_todo.rdoc +3 -0
  50. data/lib/ontomde-java/java/javadoc.rb +254 -0
  51. data/lib/ontomde-java/java/meta.rb +28 -0
  52. data/lib/ontomde-java/java/operationAsClass.rb +144 -0
  53. data/lib/ontomde-java/java/security.rb +260 -0
  54. data/lib/ontomde-java/java/stateMachine.rb +415 -0
  55. data/lib/ontomde-java/java/tenant.rb +65 -0
  56. data/lib/ontomde-java/java/xsd.rb +1363 -0
  57. data/lib/ontomde-java/java/xsdCollectionMapping.rb +112 -0
  58. data/lib/ontomde-java/java/xsdDatatypeMapping.rb +103 -0
  59. data/lib/ontomde-java/jpa.rb +17 -0
  60. data/lib/ontomde-java/jpa/configuration.rb +176 -0
  61. data/lib/ontomde-java/jpa/finder.rb +102 -0
  62. data/lib/ontomde-java/jpa/jpa.rb +531 -0
  63. data/lib/ontomde-java/jpa/jpa.rdoc +20 -0
  64. data/lib/ontomde-java/jpa/locking.rb +18 -0
  65. data/lib/ontomde-java/jpa/mapping.rb +314 -0
  66. data/lib/ontomde-java/jpa/redefined.rb +77 -0
  67. data/lib/ontomde-java/jpa/simulationAutoImplement.rb +54 -0
  68. data/lib/ontomde-java/jpdl.rb +9 -0
  69. data/lib/ontomde-java/jpdl/bpm.pprj +1745 -0
  70. data/lib/ontomde-java/jpdl/bpm.rdf +140 -0
  71. data/lib/ontomde-java/jpdl/bpm.rdfs +231 -0
  72. data/lib/ontomde-java/jpdl/constant.rb +5 -0
  73. data/lib/ontomde-java/jpdl/graphic.rb +52 -0
  74. data/lib/ontomde-java/jpdl/jpdl.rb +281 -0
  75. data/lib/ontomde-java/jpdl/jpdl_deploy.rb +114 -0
  76. data/lib/ontomde-java/jpdl/main.rb +348 -0
  77. data/lib/ontomde-java/jpdl/main.rdoc +2 -0
  78. data/lib/ontomde-java/jpdl/processOperationToClass.rb +316 -0
  79. data/lib/ontomde-java/kbjava.rb +6 -0
  80. data/lib/ontomde-java/kbjava/rdfToJava.rb +407 -0
  81. data/lib/ontomde-java/struts.rb +27 -0
  82. data/lib/ontomde-java/struts/MessageResources.rb +359 -0
  83. data/lib/ontomde-java/struts/action.rb +883 -0
  84. data/lib/ontomde-java/struts/blob.rb +11 -0
  85. data/lib/ontomde-java/struts/exceptionHandling.rb +167 -0
  86. data/lib/ontomde-java/struts/footer.rb +128 -0
  87. data/lib/ontomde-java/struts/form.rb +450 -0
  88. data/lib/ontomde-java/struts/header.rb +37 -0
  89. data/lib/ontomde-java/struts/header_link.rb +39 -0
  90. data/lib/ontomde-java/struts/jsp_edit.rb +870 -0
  91. data/lib/ontomde-java/struts/jsp_edit_field.rb +1 -0
  92. data/lib/ontomde-java/struts/jsp_edit_js.rb +124 -0
  93. data/lib/ontomde-java/struts/jsp_index.rb +136 -0
  94. data/lib/ontomde-java/struts/localeAction.rb +641 -0
  95. data/lib/ontomde-java/struts/main.rb +41 -0
  96. data/lib/ontomde-java/struts/mappingForBean.rb +132 -0
  97. data/lib/ontomde-java/struts/mappingForJsp.rb +272 -0
  98. data/lib/ontomde-java/struts/mappingToJavaHierarchy.rb +87 -0
  99. data/lib/ontomde-java/struts/reloadAction.rb +33 -0
  100. data/lib/ontomde-java/struts/spring.rb +89 -0
  101. data/lib/ontomde-java/struts/struts-config.rb +232 -0
  102. data/lib/ontomde-java/struts/validation.rb +116 -0
  103. data/lib/ontomde-java/struts/validator.rb +341 -0
  104. data/lib/ontomde-java/struts/webXml.rb +195 -0
  105. data/lib/ontomde-java/struts/xmlForm.rb +308 -0
  106. data/lib/ontomde-java/version.rb +5 -0
  107. data/profiling.xls +0 -0
  108. data/test/.classpath +14 -0
  109. data/test/.project +17 -0
  110. data/test/.settings/org.eclipse.jdt.core.prefs +23 -0
  111. data/test/Rakefile +71 -0
  112. data/test/build.xml +34 -0
  113. data/test/classpath.rb +15 -0
  114. data/test/lib/junit-4.1.jar +0 -0
  115. data/test/load1.rb +3 -0
  116. data/test/load2.rb +3 -0
  117. data/test/log4j.properties +46 -0
  118. data/test/model/.project +11 -0
  119. data/test/model/BigProject.mdzip +0 -0
  120. data/test/model/BigProject.mdzip.nt +102866 -0
  121. data/test/model/ClassDiagram.EntArch.gif +0 -0
  122. data/test/model/ClassDiagram.emx.gif +0 -0
  123. data/test/model/ClassDiagram.mdzip.gif +0 -0
  124. data/test/model/model_ea71.bis.ea.xmi +149 -0
  125. data/test/model/model_ea71.ea.xmi +4470 -0
  126. data/test/model/model_ea71.eap +0 -0
  127. data/test/model/model_ea71_README.txt +8 -0
  128. data/test/model/multipleInheritance.emx +466 -0
  129. data/test/model/multipleInheritance.emx.nt +2428 -0
  130. data/test/model/simple1-530.ofp +0 -0
  131. data/test/model/simple1-includedAsReference.emx +169 -0
  132. data/test/model/simple1.emx +3729 -0
  133. data/test/model/simple1.emx.fragments.nt +81 -0
  134. data/test/model/simple1.emx.nt +5760 -0
  135. data/test/model/simple1.mdzip +0 -0
  136. data/test/model/simple1.mdzip.nt +11500 -0
  137. data/test/model/simple1.oe530.nt +1986 -0
  138. data/test/model/simple1.oe600.nt +1627 -0
  139. data/test/src/RuntimeTest.java +656 -0
  140. data/test/src/testsLevel1.java +174 -0
  141. data/test/src/testsLevel2.java +29 -0
  142. data/test/src/testsLevel3.java +40 -0
  143. data/test/test-ea7.sh +15 -0
  144. data/test/test-magicDraw.sh +10 -0
  145. data/test/test-mi.sh +9 -0
  146. data/test/test-oe530.sh +10 -0
  147. data/test/test-oe600.sh +11 -0
  148. data/test/test-rsm.sh +11 -0
  149. data/test/test_export_ea71.rb +5 -0
  150. data/test/test_export_oe530.rb +4 -0
  151. data/test/test_export_oe600.rb +4 -0
  152. data/test/test_export_rsm60.rb +4 -0
  153. data/test/trace +419 -0
  154. data/test/uml_test.rb +1434 -0
  155. data/test/uml_test.xls +0 -0
  156. data/test/unit_test.rb +6 -0
  157. metadata +224 -0
@@ -0,0 +1,7 @@
1
+ require 'ontomde-java'
2
+ require 'ontomde-java/struts'
3
+
4
+ require 'ontomde-java/flex/ValueObjectAS.rb'
5
+ require 'ontomde-java/flex/Editor.mxml.rb'
6
+ require 'ontomde-java/flex/Editor.mxml.as.rb'
7
+ require 'ontomde-java/flex/ImportationAS.rb'
@@ -0,0 +1,184 @@
1
+ class Crdf_Resource
2
+ def flex_localizeMsg(msg)
3
+ #TODO
4
+ return("localized #{msg}")
5
+ end
6
+ end
7
+
8
+ module Muml_Class
9
+
10
+
11
+ def flex_mxml_as_generateAs
12
+ #flex_mxml_as_generateAs_jspHeader
13
+ flex_mxml_as_generateAs_commun
14
+ flex_mxml_as_generateAs_operations
15
+ flex_mxml_as_generateAs_edit_remove_add
16
+ flex_mxml_as_generateAs_validateForm
17
+ flex_mxml_as_generateAs_createAndAdd
18
+ end
19
+
20
+
21
+ def flex_mxml_as_generateAs_createAndAdd
22
+ flex_ownedAttributeSet.each { |a|
23
+ next unless a.umlx_isComposite?
24
+ #next if a.umlx_oneSide?
25
+ f="createAndAdd#{a.java_NameBean}"
26
+ write %{
27
+ public function #{f}(reqTypeParam:String):void {
28
+ this.#{Muml_Class::STRUTS_DISPATCH_FIELD_NAME}="#{f}";
29
+ this.#{STRUTS_REQUESTED_CREATION_TYPE_FIELD_NAME}=reqTypeParam;
30
+ submit();
31
+ }
32
+ }}
33
+ end
34
+
35
+ def flex_mxml_as_generateAs_validateForm
36
+ head=<<-ENDHEAD
37
+ public function validForm():Boolean{
38
+ ENDHEAD
39
+
40
+ foot=<<-ENDFOOT
41
+ return true;
42
+ }
43
+ ENDFOOT
44
+
45
+ encloseWrite(head,foot){ flex_ownedAttributeSet.each { |prop|
46
+ tpl=DatatypeMapping.instance.getMapping(prop.uml_type_one)
47
+ tpl.flex_writeMXML_validate(prop)
48
+ }}
49
+
50
+ end
51
+
52
+ def flex_mxml_as_generateAs_operations
53
+ uml_ownedOperation.each {|biz|
54
+ next unless biz.umlx_businessMethod?
55
+ f=biz.java_Name
56
+ write <<-ENDMETH
57
+ public function #{f}() :void{
58
+ this.#{Muml_Class::STRUTS_DISPATCH_FIELD_NAME}="#{f}";
59
+ submit();
60
+ }
61
+ ENDMETH
62
+ }
63
+ end
64
+
65
+ def flex_mxml_as_generateAs_commun
66
+ #//TODO this.#{Muml_Class::STRUTS_REQUESTED_TAB}=model.id.toString();
67
+ write <<-END_SCRIPT
68
+ public function #{STRUTS_REFRESH_ACTION}() :void{
69
+ this.#{Muml_Class::STRUTS_DISPATCH_FIELD_NAME}="#{STRUTS_REFRESH_ACTION}";
70
+ submit();
71
+ }
72
+ public function #{STRUTS_RETURN_ACTION}() :void{
73
+ this.#{Muml_Class::STRUTS_DISPATCH_FIELD_NAME}="#{STRUTS_RETURN_ACTION}";
74
+ submit();
75
+ }
76
+ public function #{STRUTS_PROCEED_ACTION}() :void{
77
+ this.#{Muml_Class::STRUTS_DISPATCH_FIELD_NAME}="#{STRUTS_PROCEED_ACTION}";
78
+ submit();
79
+ }
80
+ END_SCRIPT
81
+ end
82
+
83
+ def flex_mxml_as_generateAs_edit_remove_add
84
+ flex_ownedAttributeSet.each { |a|
85
+ #next unless a.umlx_isComposite?
86
+ #next unless a.umlx_isAssociation?
87
+ #next if a.umlx_oneSide?
88
+ li=a.uml_isReadOnly? ? ["edit"] : ["edit","removeAndDelete"]
89
+ li.each {|meth|
90
+ f="#{meth}#{a.java_NameBean}"
91
+ write <<-END
92
+ public function #{f}(objidParam:String) :void{
93
+ if("_"+objidParam != "_empty") {
94
+ this.#{Muml_Class::STRUTS_DISPATCH_FIELD_NAME}="#{f}";
95
+ this.#{Muml_Class::STRUTS_REQUESTED_TAB}=objidParam;
96
+ submit();
97
+ } else {
98
+ ExtendedAlert.error("no element selected for \\n#{flex_localizeMsg("#{self.java_qualifiedName}.#{a.java_Name}")}");
99
+ }
100
+ }
101
+ END
102
+ }
103
+ li=a.uml_isReadOnly? ? [] : ["add"]
104
+ li.each {|meth|
105
+ f="#{meth}#{a.java_NameBean}"
106
+ write <<-END
107
+ public function #{f}(e:SuggestionAddedEvent) :void{
108
+ if("_"+e.idToAdd != "_empty") {
109
+ this.#{Muml_Class::STRUTS_DISPATCH_FIELD_NAME}="#{f}";
110
+ this.#{Muml_Class::STRUTS_REQUESTED_TAB}=e.idToAdd;
111
+ submit();
112
+ } else {
113
+ ExtendedAlert.error("no element selected for \\n#{flex_localizeMsg("#{self.java_qualifiedName}.#{a.java_Name}")}");
114
+ }
115
+ }
116
+ END
117
+ }
118
+ }
119
+ end
120
+
121
+ end #module
122
+
123
+
124
+ class DatatypeMapping
125
+ def flex_writeMXML_validate(prop)
126
+ prop.write("//#{prop.java_Name}")
127
+ prop.write(" mapping=#{self.class}")
128
+ prop.write(" maxStringLength=#{self.maxStringLength}")
129
+ re=self.getValidationRegexp
130
+ prop.write(%{ regexp=#{re.nil? ? "nil" : re.source}})
131
+ prop.write("\n")
132
+ end
133
+ def flex_writeMXML_MXvalidator(prop)
134
+ #nop
135
+ end
136
+ end
137
+ class DatatypeMappingText < DatatypeMapping
138
+ # Example
139
+ # <mx:RegExpValidator source={le nom du control � valider} property="text" required="true/false pour obligatoire ou pas" expression="l'expression reguliere"/>
140
+ #<mx:StringValidator source="{txtNom}" property="text" required="false"/>
141
+ def flex_writeMXML_MXvalidator(prop)
142
+ re=getValidationRegexp
143
+ validator= re.nil? ? "StringValidator" : "RegExpValidator"
144
+ prop.encloseWrite(" <mx:#{validator}","/>\n") {
145
+ prop.write(%{ source="{#{flex_prefix}#{prop.java_NameBean}}"})
146
+ prop.write(%{ property="text"})
147
+ prop.write(%{ required="#{prop.umlx_lowerValueIsZero? ? "false":"true"}"})
148
+ prop.write(%{ expression="#{re.source}"}) unless re.nil?
149
+ }
150
+ end
151
+ end
152
+ class DatatypeMappingOrdinal < DatatypeMappingText
153
+ def flex_writeMXML_MXvalidator(prop)
154
+ #nop
155
+ end
156
+ def flex_writeMXML_validate(prop)
157
+ super
158
+ end
159
+ end
160
+ class DatatypeMappingTimeStamp < DatatypeMapping
161
+ def flex_writeMXML_validate(prop)
162
+ super
163
+ end
164
+ end
165
+ class DatatypeMappingCalendar < DatatypeMapping
166
+ def flex_writeMXML_validate(prop)
167
+ super
168
+ end
169
+ end
170
+ class DatatypeMappingGenericEnum < DatatypeMapping
171
+ def flex_writeMXML_validate(prop)
172
+ super
173
+ end
174
+ end
175
+ class DatatypeMappingBoolean < DatatypeMapping
176
+ def flex_writeMXML_validate(prop)
177
+ super
178
+ end
179
+ end
180
+ class DatatypeMappingGenericClass < DatatypeMapping
181
+ def flex_writeMXML_validate(prop)
182
+ super
183
+ end
184
+ end
@@ -0,0 +1,701 @@
1
+
2
+ module Mrdf_Repository
3
+
4
+ def flex_generateMXML
5
+ eachStrutsBean { |b|
6
+ next if b.struts_actionForm.empty?
7
+ b.flex_generateMXML
8
+ }
9
+ end
10
+ end
11
+
12
+ module Muml_Class
13
+ def flex_ownedAttributeSet(ignoreId=false)
14
+ return struts_formAttribute(ignoreId)
15
+ end
16
+
17
+ def flex_generateMXML
18
+ mtk_writeSession("#{java_FileName.to_s.gsub(/\.[^.\/]*$/,"")}.mxml"){
19
+ flex_writeMXML
20
+ }
21
+ end
22
+
23
+ def flex_writeMXML
24
+ before=<<ENDHEAD
25
+ <?xml version="1.0" encoding="utf-8"?>
26
+ <mx:Box xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="initForm()" height="100%" width="100%" xmlns:vo="#{FLEX_NS_PREFIX}#{umlx_owner_one.java_qualifiedName}.*" xmlns:utils="utils.*" xmlns:components="components.*" >
27
+ ENDHEAD
28
+
29
+ after=<<ENDFOOT
30
+ </mx:Box>
31
+ ENDFOOT
32
+ encloseWrite(before,after) {
33
+ flex_writeMXML_script
34
+ flex_writeMXML_vo
35
+ flex_writeMXML_menu
36
+ flex_writeMXML_MXvalidators
37
+ flex_writeMXML_Form
38
+
39
+ }
40
+ end
41
+ def flex_writeMXML_MXvalidators
42
+ encloseWrite(%{<mx:Array id="validators">\n},%{</mx:Array>\n}) {
43
+ flex_ownedAttributeSet.each { |prop|
44
+ tpl=DatatypeMapping.instance.getMapping(prop.uml_type_one)
45
+ tpl.flex_writeMXML_MXvalidator(prop)
46
+ }
47
+ }
48
+ end
49
+ #SAMPLE:
50
+
51
+ # ////////////////////////////////////////////////////
52
+ # //debut des fonctions metiers. A qqchose pres c'est comme en JAVA
53
+ # ////////////////////////////////////////////////////
54
+ #
55
+
56
+ #
57
+ # function editAdresse(objid) {
58
+ # if("_"+objid != "_empty") {
59
+ # doWhat="editAdresse";
60
+ # reqtab=objid;
61
+ # submit();
62
+ # } else {
63
+ # Alert.show("no element selected for \nadresse");
64
+ # }
65
+ # }
66
+ #
67
+ # function removeAndDeleteAdresse(objid:String):void {
68
+ # if("_"+objid != "_empty") {
69
+ # doWhat="removeAndDeleteAdresse";
70
+ # reqtab=objid;
71
+ # submit();
72
+ # } else {
73
+ # Alert.show("no element selected for \nadresse");
74
+ # }
75
+ # }
76
+ #
77
+ #
78
+ #
79
+ # function createAndAddAdresse(reqType):void {
80
+ # doWhat="createAndAddAdresse";
81
+ # this.reqType=reqType;
82
+ # submit();
83
+ # }
84
+ #
85
+ #
86
+ #
87
+ # function editFavoris(objid) {
88
+ # if("_"+objid != "_empty") {
89
+ # doWhat="editFavoris";
90
+ # reqtab=objid;
91
+ # submit();
92
+ # } else {
93
+ # Alert.show("no element selected for \nfavoris");
94
+ # }
95
+ # }
96
+ #
97
+ # function removeAndDeleteFavoris(objid) {
98
+ # if("_"+objid != "_empty") {
99
+ # doWhat="removeAndDeleteFavoris";
100
+ # reqtab=objid;
101
+ # submit();
102
+ # } else {
103
+ # Alert.show("no element selected for \nfavoris");
104
+ # }
105
+ # }
106
+ #
107
+ # function addFavoris(objid) {
108
+ # if("_"+objid != "_empty") {
109
+ # doWhat="addFavoris";
110
+ # reqtab=objid;
111
+ # submit();
112
+ # } else {
113
+ # Alert.show("no element selected for \nfavoris");
114
+ # }
115
+ # }
116
+ #
117
+ # function createAndAddContrats(reqType) {
118
+ # doWhat="createAndAddContrats";
119
+ # this.reqType="package1_dot_Contrat";
120
+ # submit();
121
+ # }
122
+ #
123
+ # function editContrats(objid) {
124
+ # if("_"+objid != "_empty") {
125
+ # doWhat="editContrats";
126
+ # reqtab=objid;
127
+ # submit();
128
+ # } else {
129
+ # Alert.show("no element selected for \ncontrats");
130
+ # }
131
+ # }
132
+ #
133
+ # function removeAndDeleteContrats(objid) {
134
+ # if("_"+objid != "_empty") {
135
+ # doWhat="removeAndDeleteContrats";
136
+ # reqtab=objid;
137
+ # submit();
138
+ # } else {
139
+ # Alert.show("no element selected for \ncontrats");
140
+ # }
141
+ # }
142
+ #
143
+ #
144
+ #
145
+ # function addDernierContrat(id) {
146
+ # doWhat="addDernierContrat";
147
+ # this.reqtab=id;
148
+ # submit();
149
+ # }
150
+ #
151
+ # function editDernierContrat(objid) {
152
+ # if("_"+objid != "_empty") {
153
+ # doWhat="editDernierContrat";
154
+ # reqtab=objid;
155
+ # submit();
156
+ # } else {
157
+ # Alert.show("no element selected for \ncontrats");
158
+ # }
159
+ # }
160
+ #
161
+ # function editLastMonthContracts(objid) {
162
+ # if("_"+objid != "_empty") {
163
+ # doWhat="editLastMonthContracts";
164
+ # reqtab=objid;
165
+ # submit();
166
+ # } else {
167
+ # Alert.show("no element selected for \nLastMonthContracts");
168
+ # }
169
+ # }
170
+ #
171
+ #
172
+ #
173
+ # function removeAndDeleteDernierContrat(objid) {
174
+ # if("_"+objid != "_empty") {
175
+ # doWhat="removeAndDeleteDernierContrat";
176
+ # reqtab=objid;
177
+ # submit();
178
+ # } else {
179
+ # Alert.show("no element selected for \ncontrats");
180
+ # }
181
+ # }
182
+ #
183
+ # function ajoutRapideContrat() {
184
+ # doWhat="ajoutRapideContrat";
185
+ # submit();
186
+ # }
187
+ #
188
+ #
189
+ # ////////////////////////////////////////////////////
190
+ # debut des fonctions metiers
191
+ # ////////////////////////////////////////////////////
192
+ def flex_writeMXML_script
193
+
194
+ # (script directory is relative)
195
+ before= <<ENDHEAD
196
+ <mx:Script source="#{"../"*(umlx_hierarchy.length)}script/formsGlobalFunctions.as" />
197
+ <mx:Script>
198
+ <![CDATA[
199
+ ENDHEAD
200
+
201
+ after=<<ENDFOOT
202
+ ]]>
203
+ </mx:Script>
204
+ ENDFOOT
205
+ encloseWrite(before,after) {
206
+ flex_mxml_as_generateAs
207
+ }
208
+ end
209
+
210
+
211
+ #SAMPLE:
212
+ # nom="{txtNom.text}"
213
+ # adresse="{cmbAdresse.selectedItem.id}"
214
+ def flex_writeMXML_vo
215
+ before=<<ENDHEAD
216
+ <vo:#{flex_NameVO} id="model"
217
+ ENDHEAD
218
+
219
+ after=<<ENDFOOT
220
+ />
221
+ ENDFOOT
222
+
223
+ encloseWrite(before,after) {
224
+ noId=true
225
+ flex_ownedAttributeSet(noId).each { |prop|
226
+ tpl=DatatypeMapping.instance.getMapping(prop.uml_type_one)
227
+ tpl.flex_writeMXML_vo_mapping(prop)
228
+ }}
229
+ end
230
+
231
+ #generate menu (fixed and dynamic based on object functions)
232
+ def flex_writeMXML_menu
233
+ before=<<ENDHEAD
234
+ <mx:ArrayCollection id="methods" source="{buXML.businessaction}"/>
235
+
236
+ <mx:Model id="buXML">
237
+ <businessactions>
238
+ <businessaction label="Valider" functionName="biz_proceed" icon="@Embed('/assets/valider.gif')"/>
239
+ <businessaction label="Annuler" functionName="" icon="@Embed('/assets/delete.png')"/>
240
+ <businessaction label="HTML" functionName="HTML_Display" icon="@Embed('/assets/html.gif')"/>
241
+ <businessaction label="Print" functionName="doPrint" icon="@Embed('/assets/printpca.gif')"/>
242
+ <businessaction label="{modelGlob.fullscreen?'Normal Size':'FullScreen'}" functionName="fullScreen" icon="@Embed('/assets/fullscreen.gif')"/>
243
+ ENDHEAD
244
+
245
+ after=<<ENDFOOT
246
+ </businessactions>
247
+ </mx:Model>
248
+ ENDFOOT
249
+ encloseWrite(before,after) {
250
+ uml_ownedOperation.each { |op|
251
+ next unless op.umlx_businessMethod?
252
+ write(%{<businessaction label="{getString('#{op.umlx_owner_one.java_qualifiedName}.#{op.java_Name}')}" functionName="#{op.java_Name}"/>\n})
253
+ }
254
+ }
255
+ end
256
+
257
+
258
+
259
+ def flex_writeMXML_Form
260
+ before= <<ENDHEAD
261
+ <utils:ValidatorForm id="MyForm" defaultButton="{btnValidate}" validators="{validators}" valid="handleFormValidate(event)" invalid="handleFormValidate(event)" width="100%" height="100%">
262
+ <mx:FormHeading styleName="PetitTitrePose" label="{getString('#{self.struts_actionForm_one.java_qualifiedName}.title')}"/>
263
+ ENDHEAD
264
+
265
+ after= <<ENDFOOT
266
+ </utils:ValidatorForm>
267
+
268
+ <mx:ControlBar id="ControlButtons">
269
+ <mx:Text id="status" width="186"/>
270
+ <mx:Button label="{getString('button.validate')}" click="biz_proceed()" id="btnValidate"/>
271
+ <mx:Button label="{getString('button.reset')}" click="this.executeBindings(true)" id="button2"/>
272
+ <mx:Button label="HTML" click="{HTML_Display()}" id="buttontest"/>
273
+ <mx:Button label="print" click="{doPrint()}" id="buttonPrint"/>
274
+ </mx:ControlBar>
275
+ ENDFOOT
276
+
277
+ encloseWrite(before,after) {
278
+ #uml_ownedOperation.each { |operation|
279
+ # next unless operation.umlx_businessMethod?
280
+ # operation.flex_writeMXML_Form_item_methods
281
+ # }
282
+ ignoreId=true
283
+ flex_ownedAttributeSet(ignoreId).each { |prop|
284
+ encloseWrite(%{<mx:FormItem label="{getString('#{self.struts_actionForm_one.java_qualifiedName}.#{prop.java_Name}')}">\n} ,%{</mx:FormItem>\n}) {
285
+ tpl=DatatypeMapping.instance.getMapping(prop.uml_type_one)
286
+ tpl.flex_writeMXML_Form_item_property(prop)
287
+ }
288
+ }
289
+ }
290
+ end
291
+
292
+ end
293
+
294
+
295
+ # <mx:FormItem label="{getString('package1.struts.ClientStrutsForm.adresse')}">
296
+
297
+ # </mx:FormItem>
298
+ #
299
+ #
300
+ #
301
+ #
302
+ # <mx:FormItem label="{getString('package1.struts.ClientStrutsForm.dernierContrat')}">
303
+ # <mx:DataGrid height="49" dataProvider="{model.dernierContrat}">
304
+ # <mx:columns>
305
+ # <mx:DataGridColumn headerText="Column 1" dataField="id"/>
306
+ # <mx:DataGridColumn headerText="Column 2" dataField="info1"/>
307
+ # <mx:DataGridColumn dataField="id" width="30" headerText="" editable="false">
308
+ # <mx:itemRenderer>
309
+ # <mx:Component >
310
+ # <mx:LinkButton label="[R]"
311
+ # click="{outerDocument.removeAndDeleteDernierContrat(data.id)}">
312
+ # </mx:LinkButton>
313
+ # </mx:Component>
314
+ # </mx:itemRenderer>
315
+ # </mx:DataGridColumn>
316
+ # <mx:DataGridColumn dataField="id" width="30" headerText="" editable="false">
317
+ # <mx:itemRenderer>
318
+ # <mx:Component >
319
+ # <mx:LinkButton label="[E]"
320
+ # click="{outerDocument.editDernierContrat(data.id)}" >
321
+ # </mx:LinkButton>
322
+ # </mx:Component>
323
+ # </mx:itemRenderer>
324
+ # </mx:DataGridColumn>
325
+ # </mx:columns>
326
+ # </mx:DataGrid>
327
+ # <mx:ComboBox id="cmbDernierContrats" dataProvider="{model.dernierContratSug}" prompt="select...." change="{addDernierContrat(cmbDernierContrats.selectedItem.id)}" labelField="id"></mx:ComboBox>
328
+ # </mx:FormItem>
329
+ #
330
+ # <mx:FormItem label="{getString('package1.struts.ClientStrutsForm.favoris')}" width="531">
331
+ # <mx:DataGrid width="400" dataProvider="{model.favoris}">
332
+ # <mx:columns>
333
+ # <mx:DataGridColumn headerText="Column 1" dataField="id"/>
334
+ # <mx:DataGridColumn headerText="Column 2" dataField="info1"/>
335
+ # <mx:DataGridColumn dataField="id" width="30" headerText="" editable="false">
336
+ # <mx:itemRenderer>
337
+ # <mx:Component >
338
+ # <mx:LinkButton label="[R]"
339
+ # click="{outerDocument.removeAndDeleteFavoris(data.id)}">
340
+ # </mx:LinkButton>
341
+ # </mx:Component>
342
+ # </mx:itemRenderer>
343
+ # </mx:DataGridColumn>
344
+ # <mx:DataGridColumn dataField="id" width="30" headerText="" editable="false">
345
+ # <mx:itemRenderer>
346
+ # <mx:Component >
347
+ # <mx:LinkButton label="[E]"
348
+ # click="{outerDocument.editFavoris(data.id)}" >
349
+ # </mx:LinkButton>
350
+ # </mx:Component>
351
+ # </mx:itemRenderer>
352
+ # </mx:DataGridColumn>
353
+ # </mx:columns>
354
+ # </mx:DataGrid>
355
+ # <mx:ComboBox id="cmbFavoris" dataProvider="{ClientModel.favorisSug}" change="{addFavoris(cmbFavoris.selectedItem.id)}" prompt="select...." labelField="id">
356
+ #
357
+ # </mx:ComboBox>
358
+ # </mx:FormItem>
359
+ # <mx:FormItem label="{getString('package1.struts.ClientStrutsForm.contrats')}" >
360
+ # <mx:DataGrid width="400" dataProvider="{ClientModel.contrats}">
361
+ # <mx:columns>
362
+ # <mx:DataGridColumn headerText="Column 1" dataField="id"/>
363
+ # <mx:DataGridColumn headerText="Column 2" dataField="info1"/>
364
+ # <mx:DataGridColumn dataField="id" width="30" headerText="" editable="false">
365
+ # <mx:itemRenderer>
366
+ # <mx:Component >
367
+ # <mx:LinkButton label="[R]"
368
+ # click="{outerDocument.removeAndDeleteContrats(data.id)}">
369
+ # </mx:LinkButton>
370
+ # </mx:Component>
371
+ # </mx:itemRenderer>
372
+ # </mx:DataGridColumn>
373
+ # <mx:DataGridColumn dataField="id" width="30" headerText="" editable="false">
374
+ # <mx:itemRenderer>
375
+ # <mx:Component >
376
+ # <mx:LinkButton styleName="edit"
377
+ # click="{outerDocument.editContrats(data.id)}" >
378
+ # </mx:LinkButton>
379
+ # </mx:Component>
380
+ # </mx:itemRenderer>
381
+ # </mx:DataGridColumn>
382
+ # </mx:columns>
383
+ # </mx:DataGrid>
384
+ # <mx:ComboBox id="cmbContrats" dataProvider="{ClientModel.contratsSug}" labelFunction="myLabelFunction" change="{createAndAddContrats(cmbContrats.selectedItem.key)}" prompt="select...." labelField="value"></mx:ComboBox>
385
+ # </mx:FormItem>
386
+ #
387
+ # <mx:FormItem label="{getString('package1.struts.ClientStrutsForm.lastMonthContracts')}" >
388
+ # <mx:DataGrid width="400" dataProvider="{ClientModel.lastMonthContracts}">
389
+ # <mx:columns>
390
+ # <mx:DataGridColumn headerText="Column 1" dataField="id"/>
391
+ # <mx:DataGridColumn headerText="Column 2" dataField="info1"/>
392
+ # <mx:DataGridColumn headerText="Column 3" dataField="infoRO"/>
393
+ # <mx:DataGridColumn dataField="id" width="30" headerText="" editable="false">flex_writeMXML_validate
394
+ # <mx:itemRenderer>
395
+ # <mx:Component>
396
+ # <mx:LinkButton label="[E]"
397
+ # click="{outerDocument.editLastMonthContracts(data.id)}" >
398
+ # </mx:LinkButton>
399
+ # </mx:Component>
400
+ # </mx:itemRenderer>
401
+ # </mx:DataGridColumn>
402
+ # </mx:columns>
403
+ # </mx:DataGrid>
404
+ # </mx:FormItem>
405
+
406
+
407
+ #module Muml_Operation
408
+ # EXAMPLE:
409
+ # <mx:FormItem label="">
410
+ # <mx:Button label="{getString('package1.Client.ajoutRapideContrat')}" click="ajoutRapideContrat()" id="button1"/>
411
+ # </mx:FormItem>
412
+ #def flex_writeMXML_Form_item_methods
413
+ # write <<-ENDMETH
414
+ # <mx:FormItem label="">
415
+ # <mx:Button label="{getString('#{self.umlx_owner_one.java_qualifiedName}.#{self.java_Name}')}" click="{#{self.java_Name}()}" id="button_#{self.java_Name}"/>
416
+ # </mx:FormItem>
417
+ # ENDMETH
418
+ #end
419
+ #end
420
+
421
+
422
+ class DatatypeMappingText < DatatypeMapping
423
+ # EXAMPLE:
424
+ # <mx:TextInput id="txtNom" text="{model.nom}"/>
425
+ def flex_prefix
426
+ return "txt"
427
+ end
428
+ def flex_writeMXML_Form_item_property(prop)
429
+ prop.write(%{<mx:TextInput id="#{flex_prefix}#{prop.java_NameBean}" text="{model.#{prop.java_Name}}" #{maxStringLength.nil? ? "" : " maxChars=\"#{maxStringLength}\"" }/>\n})
430
+ end
431
+
432
+ def flex_writeMXML_vo_mapping(prop)
433
+ prop.write(%{ #{prop.java_Name}="{#{flex_prefix}#{prop.java_NameBean}.text}"})
434
+ end
435
+ def flex_writeMXML_Form_item_property_column(pcol)
436
+ pcol.write(%{<mx:DataGridColumn headerText="{getString('#{pcol.umlx_owner_one.java_qualifiedName}.#{pcol.java_Name}')}" dataField="#{pcol.java_Name}"/>\n})
437
+ end
438
+ end
439
+
440
+ class DatatypeMappingOrdinal < DatatypeMappingText
441
+
442
+ def flex_prefix
443
+ return "num"
444
+ end
445
+
446
+ # EXAMPLE:
447
+ # <mx:NumericStepper id="nNum" value="{model.numero}" stepSize="1"/>
448
+ def flex_writeMXML_Form_item_property(prop)
449
+ prop.write(%{<mx:NumericStepper id="#{flex_prefix}#{prop.java_NameBean}" value="{model.#{prop.java_Name}}" stepSize="1" />\n})
450
+ end
451
+
452
+ # EXAMPLE:
453
+ # numero="{numero.value}"
454
+ def flex_writeMXML_vo_mapping(prop)
455
+ prop.write(%{ #{prop.java_Name}="{#{flex_prefix}#{prop.java_NameBean}.value}"})
456
+ end
457
+
458
+ #def flex_writeMXML_Form_item_property_column(pcol)
459
+ # pcol.write(%{<mx:DataGridColumn headerText="Column " dataField="#{pcol.java_Name}"/>\n})
460
+ #end
461
+ end
462
+
463
+
464
+ class DatatypeMappingTimeStamp < DatatypeMapping
465
+
466
+ def flex_prefix
467
+ return "df"
468
+ end
469
+ # EXAMPLE:
470
+ #<mx:DateField width="150" id="dfDatedenaissance" selectedDate="{model.datedenaissance}" yearNavigationEnabled="true" formatString="DD/MM/YYYY"/>
471
+ def flex_writeMXML_Form_item_property(prop)
472
+ #prop.write %{<mx:DateField width="150" id="#{flex_prefix}#{prop.java_NameBean}" selectedDate="{model.#{prop.java_Name}}" yearNavigationEnabled="true" formatString="DD/MM/YYYY"/>}
473
+ prop.write %{<components:mon_timestamp id="#{flex_prefix}#{prop.java_NameBean}" is24Hour="true" backgroundColor="#000000" backgroundAlpha="0.05" borderColor="#00FF00" borderThickness="1" borderStyle="solid" cornerRadius="5" showDate="true" showTimes="true" showSeconds="true" timeValue="{model.#{prop.java_Name}}" />}
474
+ end
475
+
476
+ # datedenaissance="{dfDatedenaissance.selectedDate}"
477
+ def flex_writeMXML_vo_mapping(prop)
478
+ #prop.write(%{ #{prop.java_Name}="{#{flex_prefix}#{prop.java_NameBean}.selectedDate}"})
479
+ prop.write(%{ #{prop.java_Name}="{#{flex_prefix}#{prop.java_NameBean}.timeValue}"})
480
+ end
481
+ def flex_writeMXML_Form_item_property_column(pcol)
482
+ pcol.write(%{<mx:DataGridColumn headerText="Column " dataField="#{pcol.java_Name}"/>\n})
483
+ end
484
+ end
485
+
486
+ class DatatypeMappingCalendar < DatatypeMapping
487
+ def flex_prefix
488
+ return "df"
489
+ end
490
+ # EXAMPLE:
491
+ #<mx:DateField width="150" id="dfDatedenaissance" selectedDate="{model.datedenaissance}" yearNavigationEnabled="true" formatString="DD/MM/YYYY"/>
492
+ def flex_writeMXML_Form_item_property(prop)
493
+ prop.write %{<mx:DateField width="150" id="#{flex_prefix}#{prop.java_NameBean}" selectedDate="{model.#{prop.java_Name}}" yearNavigationEnabled="true" formatString="DD/MM/YYYY"/>}
494
+ end
495
+
496
+ # datedenaissance="{dfDatedenaissance.selectedDate}"
497
+ def flex_writeMXML_vo_mapping(prop)
498
+ prop.write(%{ #{prop.java_Name}="{#{flex_prefix}#{prop.java_NameBean}.selectedDate}"})
499
+ end
500
+ def flex_writeMXML_Form_item_property_column(pcol)
501
+ pcol.write(%{<mx:DataGridColumn headerText="Column " dataField="#{pcol.java_Name}"/>\n})
502
+ end
503
+ end
504
+
505
+ class DatatypeMappingGenericEnum < DatatypeMapping
506
+ def flex_prefix
507
+ return "cmb"
508
+ end
509
+
510
+ # EXAMPLE:
511
+ # <mx:ComboBox id="cmbCivilite" dataProvider="{model.civiliteSug}" selectedItem="{model.civilite}" labelFunction="myLabelFunction" labelField="value">
512
+ # </mx:ComboBox>
513
+ def flex_writeMXML_Form_item_property(prop)
514
+ prop.write <<-END
515
+ <mx:ComboBox id="#{flex_prefix}#{prop.java_NameBean}" dataProvider="{model.#{prop.java_Name}Sug}" selectedItem="{model.#{prop.java_Name}}" labelFunction="myLabelFunction" labelField="value">
516
+ </mx:ComboBox>
517
+ END
518
+ end
519
+
520
+ # civilite="{cmbCivilite.selectedItem}"
521
+ def flex_writeMXML_vo_mapping(prop)
522
+ prop.write(%{ #{prop.java_Name}="{#{flex_prefix}#{prop.java_NameBean}.selectedItem}"})
523
+ end
524
+
525
+ def flex_writeMXML_Form_item_property_column(pcol)
526
+ pcol.write(%{<mx:DataGridColumn headerText="Column " dataField="#{pcol.java_Name}"/>\n})
527
+ end
528
+
529
+ end
530
+
531
+ class DatatypeMappingBoolean < DatatypeMapping
532
+ def flex_prefix
533
+ return "chk"
534
+ end
535
+ def flex_writeMXML_Form_item_property(prop)
536
+ prop.write(%{<mx:CheckBox id="#{flex_prefix}#{prop.java_NameBean}" label="" selected="{model.#{prop.java_Name}}" />\n})
537
+ end
538
+
539
+ # ascenceur="{chkascenceur.selected}"
540
+ def flex_writeMXML_vo_mapping(prop)
541
+ prop.write(%{ #{prop.java_Name}="{#{flex_prefix}#{prop.java_NameBean}.selected}"})
542
+ end
543
+ def flex_writeMXML_Form_item_property_column(pcol)
544
+ pcol.write(%{<mx:DataGridColumn headerText="Column " dataField="#{pcol.java_Name}"/>\n})
545
+ end
546
+
547
+ end
548
+
549
+ class DatatypeMappingGenericClass < DatatypeMapping
550
+ def flex_prefix
551
+ return "cmb"
552
+ end
553
+
554
+ # EXAMPLE:
555
+ # <mx:DataGrid height="49" dataProvider="{model.adresse}">
556
+ # <mx:columns>
557
+ # <mx:DataGridColumn headerText="Column 1" dataField="ident"/>
558
+ # <mx:DataGridColumn headerText="Column 2" dataField="numero"/>
559
+ # <mx:DataGridColumn dataField="ident" width="30" headerText="" editable="false">
560
+ # <mx:itemRenderer>
561
+ # <mx:Component >
562
+ # <mx:LinkButton label="[R]"
563
+ # click="{outerDocument.removeAndDeleteAdresse(data.ident)}">
564
+ # </mx:LinkButton>
565
+ # </mx:Component>
566
+ # </mx:itemRenderer>
567
+ # </mx:DataGridColumn>
568
+ # <mx:DataGridColumn dataField="ident" width="30" headerText="" editable="false">
569
+ # <mx:itemRenderer>
570
+ # <mx:Component >
571
+ # <mx:LinkButton label="[E]"
572
+ # click="{outerDocument.editAdresse(data.ident)}" >
573
+ # </mx:LinkButton>
574
+ # </mx:Component>
575
+ # </mx:itemRenderer>
576
+ # </mx:DataGridColumn>
577
+ # </mx:columns>
578
+ # </mx:DataGrid>
579
+ # <mx:ComboBox id="cmbAdresse"
580
+ # prompt="Select one..."
581
+ # labelFunction="myLabelFunction"
582
+ # dataProvider="{model.adressesSug}"
583
+ # labelField="value"
584
+ # change="createAndAddAdresse(cmbAdresse.selectedItem.key)">
585
+ # </mx:ComboBox>
586
+
587
+ def flex_writeMXML_Form_item_property(prop)
588
+ before= <<-END_BEFORE
589
+ <mx:HBox>
590
+ <mx:VBox>
591
+
592
+ #{ %{<mx:Button styleName="Add" width="32" height="32" click="{showSug(dg#{prop.java_NameBean},model.#{prop.java_Name}Sug,add#{prop.java_NameBean})}" buttonMode="true" useHandCursor="true" />
593
+ } if !(prop.uml_isReadOnly?) && !(prop.umlx_isComposite?) }
594
+
595
+ #{ %{<mx:Button styleName="#{ prop.umlx_isComposite? ? "Delete" : "Remove" }" width="32" height="32" enabled="{dg#{prop.java_NameBean}.selectedItem}" click="removeAndDelete#{prop.java_NameBean}(dg#{prop.java_NameBean}.selectedItem.id)" buttonMode="true" useHandCursor="true" includeInLayout="{model.#{prop.java_Name}.length>0}" visible="{dg#{prop.java_NameBean}.visible}" />} if !prop.uml_isReadOnly? }
596
+
597
+ <mx:Button styleName="Edit" width="32" height="32" enabled="{dg#{prop.java_NameBean}.selectedItem}" click="edit#{prop.java_NameBean}(dg#{prop.java_NameBean}.selectedItem.id)" includeInLayout="{model.#{prop.java_Name}.length>0}" buttonMode="true" useHandCursor="true" visible="{dg#{prop.java_NameBean}.visible}"/>
598
+ </mx:VBox>
599
+
600
+ <mx:VBox>
601
+ <components:AdvancedDatagrid id="dg#{prop.java_NameBean}" width="100%" horizontalScrollPolicy="auto" maxWidth="{this.width - dg#{prop.java_NameBean}.x -50}" dataProvider="{model.#{prop.java_Name}}" doubleClickEnabled="true" itemDoubleClick="edit#{prop.java_NameBean}(dg#{prop.java_NameBean}.selectedItem.id)" includeInLayout="{model.#{prop.java_Name}.length>0}" visible="{model.#{prop.java_Name}.length>0}">
602
+ <components:columns>
603
+ END_BEFORE
604
+ after= <<-END_AFTER
605
+ </components:columns>
606
+ </components:AdvancedDatagrid>
607
+ #{%{<mx:ComboBox id="#{flex_prefix}#{prop.java_NameBean}"
608
+ prompt="Select one...(create)"
609
+ labelFunction="myLabelFunction"
610
+ dataProvider="{model.#{prop.java_Name}CreateAndAddSug}"
611
+ labelField="value"
612
+ change="createAndAdd#{prop.java_NameBean}(#{flex_prefix}#{prop.java_NameBean}.selectedItem.key)">
613
+ </mx:ComboBox>} if !prop.uml_isReadOnly? && prop.umlx_isComposite?}
614
+ </mx:VBox>
615
+ </mx:HBox>
616
+ END_AFTER
617
+
618
+ prop.encloseWrite(before,after) {
619
+ noId=true
620
+ prop.uml_type_one.flex_ownedAttributeSet(noId).each { |pcol|
621
+ tpl=DatatypeMapping.instance.getMapping(pcol.uml_type_one)
622
+ tpl.flex_writeMXML_Form_item_property_column(pcol)
623
+ }
624
+ }
625
+ end
626
+
627
+
628
+ #def flex_writeMXML_Form_item_property(prop)
629
+ #
630
+ # before=""
631
+ #
632
+ # before=before+ <<-ENDHEAD
633
+ # <mx:DataGrid id="dg#{prop.java_NameBean}" dataProvider="{model.#{prop.java_Name}}">
634
+ # <mx:columns>
635
+ # ENDHEAD
636
+ # after=""
637
+ ## after= prop.uml_isReadOnly? ? "" : <<-ENDBOTTOM
638
+ ## <mx:DataGridColumn dataField="id" width="30" headerText="" editable="false">
639
+ ## <mx:itemRenderer>
640
+ ## <mx:Component >
641
+ ## <mx:LinkButton label="[R]" click="{outerDocument.removeAndDelete#{prop.java_NameBean}(data.id)}">
642
+ ## </mx:LinkButton>
643
+ ## </mx:Component>
644
+ ## </mx:itemRenderer>
645
+ ## </mx:DataGridColumn>
646
+ ## ENDBOTTOM
647
+ # after=after + <<-ENDBOTTOM
648
+ # <mx:DataGridColumn dataField="id" width="30" headerText="" editable="false">
649
+ # <mx:itemRenderer>
650
+ # <mx:Component >
651
+ # <mx:LinkButton label="[E]" click="{outerDocument.edit#{prop.java_NameBean}(data.id)}" >
652
+ # </mx:LinkButton>
653
+ # </mx:Component>
654
+ # </mx:itemRenderer>
655
+ # </mx:DataGridColumn>
656
+ # </mx:columns>
657
+ # </mx:DataGrid>
658
+ # ENDBOTTOM
659
+ #
660
+ # prop.encloseWrite(before,after) {
661
+ # noId=true
662
+ # prop.uml_type_one.flex_ownedAttributeSet(noId).each { |pcol|
663
+ # tpl=DatatypeMapping.instance.getMapping(pcol.uml_type_one)
664
+ # tpl.flex_writeMXML_Form_item_property_column(pcol)
665
+ # }
666
+ # }
667
+ #
668
+ # # si composition
669
+ # if prop.uml_isReadOnly?
670
+ # #nop
671
+ # elsif prop.umlx_isComposite?
672
+ # prop.write <<-END
673
+ # <mx:ComboBox id="#{flex_prefix}#{prop.java_NameBean}"
674
+ # prompt="Select one...(create)"
675
+ # labelFunction="myLabelFunction"
676
+ # dataProvider="{model.#{prop.java_Name}CreateAndAddSug}"
677
+ # labelField="value"
678
+ # change="createAndAdd#{prop.java_NameBean}(#{flex_prefix}#{prop.java_NameBean}.selectedItem.key)">
679
+ # </mx:ComboBox>
680
+ # END
681
+ # else
682
+ # #prop.write <<-END
683
+ # # <mx:Button label="+" click="{showSug(dg#{prop.java_NameBean},model.#{prop.java_Name}Sug,add#{prop.java_NameBean})}" />
684
+ # #END
685
+ #
686
+ #
687
+ # end
688
+ #end
689
+
690
+ def flex_writeMXML_vo_mapping(prop)
691
+ #nop
692
+ end
693
+ def flex_writeMXML_Form_item_property_column(pcol)
694
+ #nop
695
+ end
696
+
697
+ end
698
+
699
+
700
+
701
+