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,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
|
+
|