ontomde-demo-flex 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+
2
+ This demonstration requires Adobe flex SDK to be present in this directory.
3
+
4
+ Please download flex SDK from http://www.flex.org and
5
+ add its bin directory to your PATH.
6
+
7
+
@@ -0,0 +1,2 @@
1
+ [InternetShortcut]
2
+ URL=http://flex.org/
@@ -0,0 +1,24 @@
1
+ #!/bin/bash
2
+
3
+ cd `dirname $0`
4
+
5
+ D="`date +%Y-%m-%d-%H-%M`"
6
+ Z="deleted-$D.zip"
7
+ T="$D.timestamp"
8
+ L="$D.TOBEDELETED"
9
+
10
+ find ../domain/src -path '*/.svn/*' -prune \
11
+ -or \( -type d -not -path '*/.svn/*' -empty -delete \) \
12
+ -or -name "*.java" -exec grep --silent XMDA_BEGIN_reverse {} \; \( -exec grep --silent XMDA_BEGIN_reverse=\"yes\" {} \; -exec echo KEEP : {} \; \
13
+ -or -exec echo DELETE: {} \; \) | tee $L | grep -v DELETE
14
+
15
+ find ../webapp/src -path '*/.svn/*' -prune \
16
+ -or \( -type d -not -path '*/.svn/*' -empty -delete \) \
17
+ -or -name "*.java" -exec grep --silent XMDA_BEGIN_reverse {} \; \( -exec grep --silent XMDA_BEGIN_reverse=\"yes\" {} \; -exec echo KEEP : {} \; \
18
+ -or -exec echo DELETE: {} \; \) | tee $L | grep -v DELETE
19
+
20
+ #empty directory are removed by zip
21
+ cat $L | sed 's/^DELETE: *//g' | zip -m $Z -@
22
+ rm $L
23
+
24
+ echo "deleted file have been moved to $Z"
@@ -0,0 +1,182 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project xmlns="http://maven.apache.org/POM/4.0.0"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
5
+ <parent>
6
+ <artifactId>projectbase</artifactId>
7
+ <groupId>ontomde.sample</groupId>
8
+ <version>1.0-SNAPSHOT</version>
9
+ </parent>
10
+ <modelVersion>4.0.0</modelVersion>
11
+ <artifactId>mda</artifactId>
12
+ <packaging>pom</packaging>
13
+ <name>Model</name>
14
+
15
+ <build>
16
+ <defaultGoal>process-sources</defaultGoal>
17
+ <plugins>
18
+ <plugin>
19
+ <artifactId>maven-antrun-plugin</artifactId>
20
+ <executions>
21
+ <execution>
22
+ <id>generate-sources</id>
23
+ <phase>generate-sources</phase>
24
+ <goals>
25
+ <goal>run</goal>
26
+ </goals>
27
+ <configuration>
28
+ <tasks>
29
+ <echo>
30
+ -------- Ontomde Library
31
+ Version lib=${ontomde.lib.version} --------
32
+ </echo>
33
+ <echo>
34
+ - Generate Protege Data Files -
35
+ </echo>
36
+
37
+ <exec
38
+ executable="ontomde-umlToProtege${ontomde.extension}"
39
+ failonerror="true">
40
+ <arg value="${ontomde.generator.version.underscore}" /> <arg value="--no-verbose" />
41
+ <arg value="--nt" />
42
+ <arg
43
+ value="${basedir}/src/main/model/model.emx.nt" />
44
+ </exec>
45
+ <exec
46
+ executable="ontomde-java${ontomde.extension}"
47
+ failonerror="true">
48
+ <arg value="${ontomde.generator.version.underscore}" /> <arg value="--no-verbose" />
49
+ <arg value="--no-verbose" />
50
+
51
+ <arg value="-m" />
52
+ <arg value="jpa" />
53
+ <arg value="--ddl_mode" />
54
+ <!-- database will be created every time -->
55
+ <arg value="create" />
56
+ <!-- update -->
57
+ <!-- unzip is not available (manual unzip required) -->
58
+ <arg value="--useUnzip" />
59
+ <!-- a default implementation will be generate for every method when possible -->
60
+ <arg
61
+ value="--simulateNotImplementedMethods" />
62
+ <arg
63
+ value="--withAutoImplementProperty" />
64
+ <arg
65
+ value="--withAutoImplementOperation" />
66
+ <!-- deactivate enum as string -->
67
+ <arg value="--no-withEnumAsString" />
68
+ <!-- use uml datatype to java type mapping -->
69
+ <arg value="--load" />
70
+ <arg value="src/main/mda/mda.rb" />
71
+ <!-- run generator internal checks -->
72
+ <arg value="--message-check" />
73
+ <!-- use uml model source -->
74
+ <arg value="--nt" />
75
+ <arg
76
+ value="src/main/model/model.emx.nt" />
77
+ <!-- generate application in target directory -->
78
+ <arg value="--targetDir" />
79
+ <arg
80
+ value="${basedir}${file.separator}..${file.separator}" />
81
+ <arg
82
+ value="--webContentRelativeDir" />
83
+ <arg value="webapp/src/main/webapp" />
84
+ <arg value="--javaRelativeDir" />
85
+ <arg value="domain/src/main/java/" />
86
+ <arg value="--jpaConfigDir" />
87
+ <arg
88
+ value="domain/src/main/resources" />
89
+ <arg value="--webResourcesDir" />
90
+ <arg
91
+ value="webapp/src/main/resources/" />
92
+ <arg value="--javaFilePathRegexp" />
93
+ <arg
94
+ value="\-disabled-.methods\.@webapp/src/main/java/" />
95
+ <arg value="--javaFilePathRegexp" />
96
+ <arg
97
+ value="\.struts\.@webapp/src/main/java/" />
98
+ <arg value="--javaFilePathRegexp" />
99
+ <arg
100
+ value="\.as\.@webapp/src/main/flex/" />
101
+
102
+ <arg value="--no-logFileWrite" />
103
+ <arg value="--dbTypeDiscriminator" />
104
+ <arg value="int" />
105
+ <arg value="--load" />
106
+ <arg
107
+ value="src/main/mda/dbDiscriminatorCache.rb" />
108
+ <arg value="--load"/>
109
+ <arg value="src/main/mda/customDataTypes.rb"/>
110
+ <arg
111
+ value="--dbDiscriminatorCacheRelFile" />
112
+ <arg
113
+ value="src/main/mda/dbDiscriminatorCache.rb" />
114
+ <arg
115
+ value="--no-generateAntBuildFile" />
116
+ <arg value="--struts" />
117
+ <arg value="--flex" />
118
+ <arg value="--generateXMLStrutsForm" />
119
+ <arg value="--backTrace" />
120
+ <arg value="--testDataRDF" />
121
+ <arg value="src/main/model/model.emx.nt_kb.rdf" />
122
+ <!-- url should be changed url as desired -->
123
+ <arg value="--rsm6WebDocURI"/> <arg value="../umldoc/"/>
124
+ </exec>
125
+
126
+ <!--
127
+ <copy
128
+ todir="../webapp/src/main/webapp">
129
+ <fileset
130
+ dir="../${ontomde.home}/shared/JavaProject-WebContent" />
131
+ </copy>
132
+ <copy
133
+ todir="../webapp/src/main/webapp/WEB-INF">
134
+ <fileset
135
+ dir="../${ontomde.home}/shared/JavaProject-WEB-INF" />
136
+ </copy>
137
+ <copy
138
+ file="../${ontomde.home}/shared/JavaProject-java/displayTag.properties"
139
+ todir="../webapp/src/main/resources">
140
+ </copy>
141
+ <copy
142
+ file="../${ontomde.home}/shared/JavaProject-java/contextConfigDerby.properties-sample"
143
+ tofile="../webapp/src/main/resources/contextConfigDerby.properties" />
144
+ -->
145
+ </tasks>
146
+ </configuration>
147
+ </execution>
148
+
149
+ </executions>
150
+ </plugin>
151
+ <!--
152
+ <plugin>
153
+ <groupId>ontomde</groupId>
154
+ <artifactId>formatter-maven-plugin</artifactId>
155
+ <configuration>
156
+ <formatterConfigFile>${basedir}\src\main\resources\formatter.properties</formatterConfigFile>
157
+ <javaDirs>
158
+ <javaDir>${basedir}\..\domain\src\main\java</javaDir>
159
+ <javaDir>${basedir}\..\webapp\src\main\java</javaDir>
160
+ </javaDirs>
161
+ </configuration>
162
+ <executions>
163
+ <execution>
164
+ <id>format-sources</id>
165
+ <phase>process-sources</phase>
166
+ <goals>
167
+ <goal>formatter</goal>
168
+ </goals>
169
+ </execution>
170
+
171
+ </executions>
172
+ </plugin>
173
+ -->
174
+
175
+ </plugins>
176
+ </build>
177
+
178
+ <properties>
179
+
180
+ </properties>
181
+ </project>
182
+
@@ -0,0 +1,5 @@
1
+
2
+ # create a custom datatype mapping based on Text datatype.
3
+ # A valid CodeAlliance is 4 alphabetical character followed by 4 digits.
4
+
5
+ addDataTypeMapping("CodeAlliance",JavaMappingText,/[a-zA-Z][a-zA-Z][a-zA-Z][a-zA-Z][0-9][0-9][0-9][0-9]/)
@@ -0,0 +1,74 @@
1
+ # saved discriminator numbers
2
+ # This file is read and rewritten by generator
3
+ def declarePredefinedDiscrimators()
4
+ # first parameter is java qualified class name
5
+ # second parameter is the identifier used in database
6
+ # when different java type are stored in a
7
+ # single table and need to be differenciated.
8
+ db_disc("package1.AdresseType2",0)
9
+ db_disc("package1.Contrat",1)
10
+ db_disc("xmda.test.methods.UserDatagetsession_1MPC",2)
11
+ db_disc("package1.Session",3)
12
+ db_disc("xmda.test.methods.UserDatagetDUPONT1MPC",4)
13
+ db_disc("xmda.test.methods.UserDatagetDUPONT2MPC",5)
14
+ db_disc("package1.AdresseType1",6)
15
+ db_disc("package1.Client",7)
16
+ db_disc("xmda.test.UserData",9)
17
+ db_disc("package1.Adresse",10)
18
+ db_disc("xmda.test.methods.UserDatainit__ns_8_strutsAndTest_emx_nt_kb_Instance_10002MPC",14)
19
+ db_disc("package1.Femme",15)
20
+ db_disc("package1.Homme",16)
21
+ db_disc("xmda.test.methods.UserDatainitDUPONT2MPC",17)
22
+ db_disc("xmda.test.methods.UserDatainitsession_1MPC",18)
23
+ db_disc("xmda.test.methods.UserDatainitDUPONT1MPC",19)
24
+ db_disc("package1.methods.ClientajoutRapideContratMPC",20)
25
+ db_disc("java.lang.Class",21)
26
+ db_disc("com.jbpm.wrapper.process.Process",22)
27
+ db_disc("package1.Deliver",25)
28
+ db_disc("xmda.bpm.client.Process<>",30)
29
+ db_disc("package1.DeliverBis",31)
30
+ db_disc("xmda.bpm.client.Process<String>",32)
31
+ db_disc("package1.GraphVizDemo",33)
32
+ db_disc("package1.BinaryFile",34)
33
+ end
34
+ # ###########################
35
+ # END OF USER MODIFIABLE ZONE
36
+ # ###########################
37
+
38
+
39
+
40
+ # Conversion to model URI
41
+ def db_disc(k,v)
42
+ ::Muml_Class::DB_DISCRIMINATOR[::Muml_Class::DB_URI_ALIAS[k]]=v
43
+ end
44
+ ::Muml_Class::DB_URI_ALIAS.merge!({
45
+ %{com.jbpm.wrapper.process.Process} => %{com.jbpm.wrapper.process.Process} ,
46
+ %{java.lang.Class} => %{java.lang.Class} ,
47
+ %{package1.Deliver} => %{ukb__BZ1m8Ja5Edy8MdcZyeb5Kw_proc} ,
48
+ %{package1.Femme} => %{ukb__DmkocIC5Edykv_1FYm8uuQ} ,
49
+ %{package1.AdresseType1} => %{ukb__OwYN4EDQEdyns9CNPlmfXw} ,
50
+ %{package1.Adresse} => %{ukb__RHhQkDuPEdyltIorAFYEcg} ,
51
+ %{package1.AdresseType2} => %{ukb__VQg6EEDQEdyns9CNPlmfXw} ,
52
+ %{package1.DeliverBis} => %{ukb__XwnHEIu1EdyxkaPAgImFEg} ,
53
+ %{package1.Homme} => %{ukb___gYPIIC4Edykv_1FYm8uuQ} ,
54
+ %{package1.BinaryFile} => %{ukb__gLWKwKKKEdy9rpjqfOC8lg} ,
55
+ %{package1.Session} => %{ukb__jQ4fIDuOEdyltIorAFYEcg} ,
56
+ %{package1.Contrat} => %{ukb__p4-NcDuOEdyltIorAFYEcg} ,
57
+ %{package1.Client} => %{ukb__rtzBEDuOEdyltIorAFYEcg} ,
58
+ %{package1.methods.ClientajoutRapideContratMPC} => %{ukb__rtzBEDuOEdyltIorAFYEcgukb__ozRUMDuPEdyltIorAFYEcg_mpc} ,
59
+ %{package1.GraphVizDemo} => %{ukb__xEb28MkaEdyiw7_cul5zvw} ,
60
+ %{xmda.bpm.client.Process<>} => %{xmda.bpm.client.Process<>} ,
61
+ %{xmda.bpm.client.Process<String>} => %{xmda.bpm.client.Process<String>} ,
62
+ %{xmda.test.UserData} => %{xmda.test.UserData} ,
63
+ %{xmda.test.methods.UserDatagetDUPONT1MPC} => %{xmda.test.UserDatagetDUPONT1_mpc} ,
64
+ %{xmda.test.methods.UserDatagetDUPONT2MPC} => %{xmda.test.UserDatagetDUPONT2_mpc} ,
65
+ %{xmda.test.methods.UserDatagetsession_1MPC} => %{xmda.test.UserDatagetsession_1_mpc} ,
66
+ %{xmda.test.methods.UserDatainit__ns_8_strutsAndTest_emx_nt_kb_Instance_10002MPC} => %{xmda.test.UserDatainit__ns_8_strutsAndTest_emx_nt_kb_Instance_10002_mpc} ,
67
+ %{xmda.test.methods.UserDatainitDUPONT1MPC} => %{xmda.test.UserDataxmda.test.UserDatainitDUPONT1_mpc} ,
68
+ %{xmda.test.methods.UserDatainitDUPONT2MPC} => %{xmda.test.UserDataxmda.test.UserDatainitDUPONT2_mpc} ,
69
+ %{xmda.test.methods.UserDatainitsession_1MPC} => %{xmda.test.UserDataxmda.test.UserDatainitsession_1_mpc} ,
70
+ })
71
+ declarePredefinedDiscrimators();
72
+ #free ressources
73
+ def declarePredefinedDiscrimators()
74
+ end
@@ -0,0 +1,302 @@
1
+ #Template used for jsp input field generation
2
+
3
+ #wrapper to easylly create a new datatype mapping
4
+ #* umlDataTypeName is the name of the data type in source uml model
5
+ #* baseMapping is the base definition mapping to derive from
6
+ #* regexp is the string regexp used for display
7
+ def addDataTypeMapping(umlDataTypeName,baseMapping,regexp=nil,&block)
8
+ rubyName=umlDataTypeName.tr('^a-zA-Z0-9','_')
9
+ s=%{
10
+ class Java_mapping_#{rubyName} < #{baseMapping.name}
11
+ include Singleton
12
+ def appliesTo?(datatype)
13
+ return datatype.uml_name.to_s=="#{umlDataTypeName}"
14
+ end
15
+ #{regexp.nil? ? "" : %{
16
+ def getValidationRegexp
17
+ return /#{regexp.source}/
18
+ end
19
+ }
20
+ }
21
+ end
22
+ Java_mapping_#{rubyName}.class_eval( &block ) unless block.nil?
23
+
24
+ Java_mapping_#{rubyName}.instance #register
25
+ }
26
+ t=eval s
27
+
28
+
29
+ end
30
+
31
+ class Java_mapping
32
+ include Singleton
33
+ def getMappings
34
+ return @@types
35
+ end
36
+ @@types=Array.new
37
+ def initialize
38
+ return if self.class==Java_mapping
39
+ @@types << self
40
+ log.debug { %{registered(##{@@types.size}): #{self.class}} }
41
+ end
42
+ #returns true if this templates applies to datatype
43
+ def appliesTo?(datatype)
44
+ # inheriting class should redefine this method
45
+ log.error %{appliesTo? not implemented for #{self.class}}
46
+ return false
47
+ end
48
+ def getTemplate(datatype)
49
+ @@types.each {|t|
50
+ next unless t.appliesTo?(datatype)
51
+ return t
52
+ }
53
+ if !datatype.context[:silentlyForceUnknownDatatypeToString,false]
54
+ msg= %{No template #{self.class} found for datatype "#{datatype}"}
55
+ log.error msg unless log_already_displayed?(msg)
56
+ end
57
+
58
+ return Java_mapping_Text.instance
59
+ #return Java_mapping_error.instance
60
+ end
61
+
62
+ def getJavaType
63
+ # inheriting class should redefine this method
64
+ log.error %{getJavaType not implemented for #{self.class}}
65
+ return %{/* TODO: implement ruby getJavaType for #{self.class}*/}
66
+ end
67
+
68
+ # max length of this element represented as a string
69
+ attr :maxStringLength
70
+ attr_writer :maxStringLength
71
+ @maxStringLength=nil
72
+
73
+ def getValidationRegexp
74
+ #log.error %{getValidationRegexp not implemented for #{self.class}}
75
+ return nil #%{/* TODO: implement ruby getValidationRegexp for #{self.class}*/}
76
+ end
77
+ end
78
+ class Java_mapping_Text < Java_mapping
79
+ include Singleton
80
+
81
+ #default string length
82
+ @maxStringLength=10
83
+
84
+ MATCHING_UML_NAME=["String","string"]
85
+ #MATCHING_JAVA_NAME=["String","java.lang.String"]
86
+ def appliesTo?(datatype)
87
+ return true if MATCHING_UML_NAME.include?(datatype.uml_name_one)
88
+ #return true if MATCHING_JAVA_NAME.include?(datatype.java_qualifiedName)
89
+ return false
90
+ end
91
+
92
+ def getJavaType
93
+ return "java.lang.String"
94
+ end
95
+ end
96
+ class Java_mapping_Ordinal < Java_mapping_Text
97
+ include Singleton
98
+ end
99
+
100
+ class Java_mapping_Integer < Java_mapping_Ordinal
101
+ include Singleton
102
+ MATCHING_UML_NAME=["integer","Integer","int"]
103
+ #MATCHING_JAVA_NAME=[]
104
+ def appliesTo?(datatype)
105
+ return true if MATCHING_UML_NAME.include?(datatype.uml_name_one)
106
+ # return true if MATCHING_JAVA_NAME.include?(datatype.java_qualifiedName)
107
+ return false
108
+ end
109
+
110
+
111
+ def getJavaType
112
+ return "int"
113
+ end
114
+
115
+ end
116
+ class Java_mapping_Long < Java_mapping_Ordinal
117
+ include Singleton
118
+ MATCHING_UML_NAME=["long"]
119
+ #MATCHING_JAVA_NAME=[]
120
+ def appliesTo?(datatype)
121
+ return true if MATCHING_UML_NAME.include?(datatype.uml_name_one)
122
+ # return true if MATCHING_JAVA_NAME.include?(datatype.java_qualifiedName)
123
+ return false
124
+ end
125
+ def getJavaType
126
+ return "long"
127
+ end
128
+ end
129
+
130
+
131
+ class Java_mapping_File < Java_mapping
132
+ include Singleton
133
+ MATCHING_UML_NAME=["file"]
134
+ def appliesTo?(datatype)
135
+ return false unless datatype.kind_of?(Muml_DataType)
136
+ return true if MATCHING_UML_NAME.include?(datatype.uml_name_one)
137
+ #return datatype.struts_isBlob?
138
+ #return ["image"].include?(datatype.java_qualifiedName)
139
+ end
140
+ end
141
+
142
+ class Java_mapping_Boolean < Java_mapping
143
+ include Singleton
144
+ MATCHING_UML_NAME=["Boolean"]
145
+ #MATCHING_JAVA_NAME=[]
146
+ def appliesTo?(datatype)
147
+ return true if MATCHING_UML_NAME.include?(datatype.uml_name_one)
148
+ # return true if MATCHING_JAVA_NAME.include?(datatype.java_qualifiedName)
149
+ return false
150
+ end
151
+
152
+ #name of the key used by struts to referece
153
+ #current bean in session.
154
+ STRUTS_BEAN_KEY= "org.apache.struts.taglib.html.BEAN";
155
+
156
+
157
+ def getJavaType
158
+ return "boolean"
159
+ end
160
+
161
+ end
162
+
163
+ #struts jsp template for a timestamp datatype.
164
+ #A timestamp is a precise periode in time, including date,hours,minutes and seconds.
165
+ #NOTE:
166
+ # "Date" datatype name is discourage because it is ambiguous.
167
+ # (a java date is a timestamp)
168
+ # Calendar and TimeStamp should be prefered.
169
+ class Java_mapping_TimeStamp < Java_mapping
170
+ include Singleton
171
+ MATCHING_UML_NAME=["TimeStamp","Date"]
172
+ #MATCHING_JAVA_NAME=[]
173
+ def appliesTo?(datatype)
174
+ return true if MATCHING_UML_NAME.include?(datatype.uml_name_one)
175
+ #return true if MATCHING_JAVA_NAME.include?(datatype.java_qualifiedName)
176
+ return false
177
+ end
178
+ def getValidationRegexp
179
+ return nil
180
+ end
181
+ def getJavaType
182
+ return "java.util.Date"
183
+ end
184
+
185
+ end
186
+
187
+ #struts jsp template for a Calendar datatype.
188
+ #A Calendar datatype is a calendar date, not including hours,minutes and seconds
189
+ #A Calendar is not to be mistaken for a TimeStamp
190
+ #NOTE:
191
+ # "Date" datatype name is not used because it is ambiguous.
192
+ # Calendar and TimeStamp are used instead
193
+ class Java_mapping_Calendar < Java_mapping
194
+ include Singleton
195
+ MATCHING_UML_NAME=["Calendar"]
196
+ #MATCHING_JAVA_NAME=[]
197
+ def appliesTo?(datatype)
198
+ return true if MATCHING_UML_NAME.include?(datatype.uml_name_one)
199
+ #return true if MATCHING_JAVA_NAME.include?(datatype.java_qualifiedName)
200
+ return false
201
+ end
202
+
203
+ def getValidationRegexp
204
+ return nil
205
+ end
206
+ def getJavaType
207
+ return "java.util.Date"
208
+ end
209
+
210
+ end
211
+
212
+
213
+
214
+
215
+ class Java_mapping_GenericClass < Java_mapping
216
+ include Singleton
217
+ def appliesTo?(datatype)
218
+ return false if datatype.kind_of?(Muml_Enumeration)
219
+ return false if datatype.kind_of?(Muml_DataType)
220
+ #return true if datatype.kind_of?(Muml_Class)
221
+ return true
222
+ end
223
+
224
+ def getFormCopyTo(field)
225
+ a=field
226
+ if a.umlx_oneSide?
227
+ return %{_to.set#{a.java_NameBean}(this.get#{a.java_NameBean}().compareTo("nil")==0 ? null : #{a.uml_type_one.java_DAOClass_one.java_qualifiedName}.find(Long.parseLong(this.get#{a.java_NameBean}())));\n}
228
+ else # many
229
+ cm=a.java_getCollectionMapping
230
+ return <<END333
231
+ { // UML: #{field.uml_name}
232
+ String[] src=this.get#{a.java_NameBean}();
233
+ #{cm.addCollectionInterface(a.uml_type_one.java_qualifiedName)} newCol= #{cm.addNew(a.uml_type_one.java_qualifiedName)};
234
+ int max=src==null ? 0 : src.length;
235
+ #{a.uml_type_one.java_qualifiedName} item=null;
236
+ for(int i=0; i<max;i++) {
237
+ //log.error("loading : "+src[i]);
238
+ if(src[i]==null) continue;
239
+ item=#{a.uml_type_one.java_DAOClass_one.java_qualifiedName}.find(Long.parseLong(src[i]));
240
+ newCol.add(item);
241
+ }
242
+ _to.set#{a.java_NameBean}(newCol);
243
+ }
244
+ END333
245
+ end
246
+ end
247
+ def getFormInitFrom(field)
248
+ a=field
249
+ if a.umlx_oneSide?
250
+ return %{this.set#{a.java_NameBean}(_from.get#{a.java_NameBean}()==null? "nil" : Long.toString(_from.get#{a.java_NameBean}().getId()));\n}
251
+ else
252
+ return %{
253
+ { /*STRUTS:2001*/
254
+ this.set#{a.java_NameBean}(null);
255
+ Iterator<?> iter=_from.get#{a.java_NameBean}().iterator();
256
+ #{a.uml_type_one.java_qualifiedName} item=null;
257
+ while(iter.hasNext()){
258
+ item=(#{a.uml_type_one.java_qualifiedName})iter.next();
259
+ this.add#{a.java_NameBean}(Long.toString(item.getId()));
260
+ }
261
+ }
262
+ }
263
+ end
264
+ end
265
+ def getJavaType
266
+ mkfljmlkdq
267
+ end
268
+
269
+ end
270
+
271
+ class Java_mapping_GenericEnum < Java_mapping
272
+ include Singleton
273
+ def appliesTo?(datatype)
274
+ return true if datatype.kind_of?(Muml_Enumeration)
275
+ return false
276
+ end
277
+
278
+
279
+ NULL_ENUM_VALUE_AS_STRING="nil"
280
+ def getFormCopyTo(field)
281
+ a=field
282
+ return %{_to.set#{a.java_NameBean}(this.get#{a.java_NameBean}().compareTo("#{NULL_ENUM_VALUE_AS_STRING}")!=0 ? Enum.valueOf(#{a.uml_type_one.java_qualifiedName}.class,this.get#{a.java_NameBean}()):null);\n}
283
+ end
284
+ def getFormInitFrom(field)
285
+ #return "this.set#{field.java_NameBean}(_from.get#{field.java_NameBean}()==null ? -1 :_from.get#{field.java_NameBean}().ordinal());\n"
286
+ return %{this.set#{field.java_NameBean}(_from.get#{field.java_NameBean}()==null ? "#{NULL_ENUM_VALUE_AS_STRING}" :_from.get#{field.java_NameBean}().name());\n}
287
+ end
288
+
289
+
290
+ end
291
+ Java_mapping_GenericEnum.instance #register
292
+
293
+ Java_mapping_Calendar.instance #register
294
+ Java_mapping_Text.instance #register
295
+ Java_mapping_File.instance #register
296
+ Java_mapping_Boolean.instance #register
297
+ Java_mapping_TimeStamp.instance #register
298
+ Java_mapping_GenericClass.instance #register
299
+ Java_mapping_Long.instance #register
300
+ Java_mapping_Integer.instance #register
301
+
302
+