ontomde-demo-flex 1.0.6

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