ontomde-uml2-jpa 1.0.4
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.
- data/History.txt +5 -0
- data/Manifest.txt +15 -0
- data/README.txt +41 -0
- data/Rakefile +21 -0
- data/lib/ontomde-uml2-jpa/configuration.rb +176 -0
- data/lib/ontomde-uml2-jpa/finder.rb +72 -0
- data/lib/ontomde-uml2-jpa/jpa.rb +483 -0
- data/lib/ontomde-uml2-jpa/jpa.rdoc +20 -0
- data/lib/ontomde-uml2-jpa/locking.rb +17 -0
- data/lib/ontomde-uml2-jpa/mapping.rb +277 -0
- data/lib/ontomde-uml2-jpa/redefined.rb +75 -0
- data/lib/ontomde-uml2-jpa/simulationAutoImplement.rb +54 -0
- data/lib/ontomde-uml2-jpa/version.rb +8 -0
- data/lib/ontomde-uml2-jpa.rb +21 -0
- data/test/test_ontomde-uml2-jpa.rb +0 -0
- metadata +87 -0
@@ -0,0 +1,277 @@
|
|
1
|
+
#
|
2
|
+
#
|
3
|
+
|
4
|
+
module Muml_Operation
|
5
|
+
#true puts annotation on getter
|
6
|
+
#false puts annotation on attribute
|
7
|
+
JPA_ANNOTATE_GETTER=false
|
8
|
+
|
9
|
+
|
10
|
+
def jpa_addPersistence!
|
11
|
+
# java_AttributeGlobalSetter
|
12
|
+
# java_getter_property
|
13
|
+
if java_getter_property.empty?
|
14
|
+
return if(umlx_hasStereotype?("Create"))
|
15
|
+
#java_annotation_add("@Transient")
|
16
|
+
return
|
17
|
+
end
|
18
|
+
|
19
|
+
p=java_getter_property_one
|
20
|
+
return unless p.jpa_isPersistent?
|
21
|
+
|
22
|
+
if p.uml_type_one.kind_of?(Cuml_Class) && !p.uml_type_one.jpa_isPersistent?
|
23
|
+
p.java_annotation_add("/* not persistent */")
|
24
|
+
return
|
25
|
+
end
|
26
|
+
|
27
|
+
if(JPA_ANNOTATE_GETTER)
|
28
|
+
p.jpa_addPersistenceTo!(self)
|
29
|
+
# HACK
|
30
|
+
p.jpa_addPersistenceTo!(p) #TODO: remove
|
31
|
+
#p.java_annotation_add("@Transient")
|
32
|
+
else
|
33
|
+
p.jpa_addPersistenceTo!(p)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
module Muml_Property
|
39
|
+
def jpa_isPersistent?
|
40
|
+
return true
|
41
|
+
end
|
42
|
+
def jpa_addPersistenceUnidirOneToOne!(ah)
|
43
|
+
#TODO: unicity constraint
|
44
|
+
ah.java_annotation_add("@OneToOne(cascade=CascadeType.ALL) /*TPL: 101*/")
|
45
|
+
#TODO: affiner cascadeType pour les delete
|
46
|
+
end
|
47
|
+
|
48
|
+
def jpa_addPersistenceUnidirOneToMany!(ah)
|
49
|
+
ah.java_annotation_add(%{@OneToMany(cascade=CascadeType.ALL,fetch=FetchType.EAGER) /*TPL:102*/})
|
50
|
+
jpa_addJoinTable(ah)
|
51
|
+
end
|
52
|
+
DEFAULT_CASCADE="(cascade=CascadeType.ALL)"
|
53
|
+
DEFAULT_CASCADE_I=",cascade=CascadeType.ALL"
|
54
|
+
def jpa_addPersistenceUnidirManyToOne!(ah)
|
55
|
+
ah.java_annotation_add("@ManyToOne #{DEFAULT_CASCADE} /*TPL:104*/")
|
56
|
+
jpa_addJoinColumn!(ah)
|
57
|
+
end
|
58
|
+
|
59
|
+
def jpa_addPersistenceUnidirManyToMany!(ah)
|
60
|
+
ah.java_annotation_add("@ManyToMany #{DEFAULT_CASCADE} /*TPL:105*/")
|
61
|
+
jpa_addJoinTable(ah)
|
62
|
+
jpa_addJoinColumn!(ah)
|
63
|
+
end
|
64
|
+
def jpa_addPersistenceBidirManyToManyMaster!(ah)
|
65
|
+
ah.java_annotation_add("@ManyToMany #{DEFAULT_CASCADE}/*TPL:106*/")
|
66
|
+
jpa_addJoinColumn!(ah)
|
67
|
+
jpa_addJoinTable(ah)
|
68
|
+
end
|
69
|
+
def jpa_addPersistenceBidirManyToManySlave!(ah)
|
70
|
+
ah.java_annotation_add("@ManyToMany #{DEFAULT_CASCADE}/*TPL:107*/")
|
71
|
+
jpa_addJoinColumn!(ah)
|
72
|
+
#Do not add join column !
|
73
|
+
#(or you will get 2 join tables)
|
74
|
+
#jpa_addJoinTable(ah)
|
75
|
+
end
|
76
|
+
|
77
|
+
def jpa_addPersistenceBidirOneToOneMaster!(ah)
|
78
|
+
ah.java_annotation_add(%{@OneToOne #{DEFAULT_CASCADE}/*TPL:108*/})
|
79
|
+
jpa_addJoinColumn!(ah)
|
80
|
+
end
|
81
|
+
def jpa_addPersistenceBidirOneToOneSlave!(ah)
|
82
|
+
ah.java_annotation_add(%{@OneToOne(mappedBy="#{umlx_otherEnd.java_NameProperty}" #{DEFAULT_CASCADE_I}) /*TPL:109*/})
|
83
|
+
end
|
84
|
+
|
85
|
+
def jpa_addPersistenceBidirOneToManyMaster!(ah)
|
86
|
+
ah.java_annotation_add(%{@OneToMany (mappedBy="#{umlx_otherEnd.java_NameProperty}"#{DEFAULT_CASCADE_I}) /*TPL:110*/})
|
87
|
+
end
|
88
|
+
def jpa_addPersistenceBidirOneToManySlave!(ah)
|
89
|
+
ah.java_annotation_add(%{@OneToMany (mappedBy="#{umlx_otherEnd.java_NameProperty}"#{DEFAULT_CASCADE_I}) /*TPL:111*/})
|
90
|
+
#jpa_addJoinColumn!(ah)
|
91
|
+
end
|
92
|
+
|
93
|
+
def jpa_addPersistenceBidirManyToOneMaster!(ah)
|
94
|
+
#ah.java_annotation_add(%{@ManyToOne(mappedBy="#{umlx_otherEnd.java_NameProperty}") /*TPL:112*/})
|
95
|
+
ah.java_annotation_add(%{@ManyToOne #{DEFAULT_CASCADE} /*TPL:112*/})
|
96
|
+
#ah.java_annotation_add(%{@JoinColumn(name="#{java_NameProperty}_fk"})
|
97
|
+
jpa_addJoinColumn!(ah)
|
98
|
+
end
|
99
|
+
def jpa_addPersistenceBidirManyToOneSlave!(ah)
|
100
|
+
#ah.java_annotation_add(%{@ManyToOne(mappedBy="#{umlx_otherEnd.java_NameProperty}") /*TPL:113*/})
|
101
|
+
ah.java_annotation_add(%{@ManyToOne #{DEFAULT_CASCADE} /*TPL:113*/})
|
102
|
+
#ah.java_annotation_add(%{@JoinColumn(name="#{java_NameProperty}_fk"})
|
103
|
+
jpa_addJoinColumn!(ah)
|
104
|
+
end
|
105
|
+
|
106
|
+
# adds a java annotation to specify the name of the join table.
|
107
|
+
#
|
108
|
+
#Note:
|
109
|
+
# Explicitely naming join colums and join table is required whenever multiple associations exists between two classes and also with reflexive associations.
|
110
|
+
#
|
111
|
+
#Examples:
|
112
|
+
# Object A (rolea)-->(roleb) Object B
|
113
|
+
# Table A_roleb
|
114
|
+
# field : A_id
|
115
|
+
# field : B_id
|
116
|
+
#
|
117
|
+
# Object A (rolea)-->(roleb) Object A
|
118
|
+
# Table A_roleb
|
119
|
+
# field : A_id
|
120
|
+
# field : A_self_id
|
121
|
+
#
|
122
|
+
def jpa_addJoinTable(ah)
|
123
|
+
postfix=(uml_ownedAttribute_inv_one==uml_type_one) ? "_self" : ""
|
124
|
+
ah.java_annotation_add %{ @JoinTable(
|
125
|
+
name="#{uml_ownedAttribute_inv_one.java_Name}_#{java_NameProperty}",
|
126
|
+
joinColumns={@JoinColumn( name="#{uml_ownedAttribute_inv_one.java_Name}_id")},
|
127
|
+
inverseJoinColumns={@JoinColumn(name="#{uml_type_one.java_Name}#{postfix}_id")}
|
128
|
+
) /*TPL:116*/}
|
129
|
+
end
|
130
|
+
|
131
|
+
# adds JPA annotation for an attribute with a cardinality 0..1 or 1
|
132
|
+
def jpa_addPersistenceOneAttribute!(ah)
|
133
|
+
ml=JavaMapping.instance.getTemplate(self.uml_type_one).maxStringLength
|
134
|
+
if ml.nil?
|
135
|
+
ah.java_annotation_add(%{@Basic /*TPL:114*/})
|
136
|
+
else
|
137
|
+
ah.java_annotation_add(%{@Column(length=#{ml}) /*TPL:114b*/})
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
141
|
+
# adds JPA annotation for an attribute with a cardinality *
|
142
|
+
def jpa_addPersistenceManyAttribute!(ah)
|
143
|
+
ah.java_annotation_add(%{@Transient //TODO: standard JPA cannot handle this case. Hibernate extension @CollectionOfElements is required/*TPL:115*/})
|
144
|
+
end
|
145
|
+
|
146
|
+
def jpa_addJoinColumn!(ah)
|
147
|
+
ah.java_annotation_add(%{@JoinColumn(name="#{java_NameProperty}_fk") /*TPL:103*/})
|
148
|
+
end
|
149
|
+
|
150
|
+
#adds property persistence annotation to annotationHolder.
|
151
|
+
#
|
152
|
+
#annotationHolder may be depending on annotation style:
|
153
|
+
#* property itself self
|
154
|
+
#* getter for the property
|
155
|
+
def jpa_addPersistenceTo!(ah)
|
156
|
+
if umlx_isAttribute?
|
157
|
+
jpa_addPersistenceToAttribute!(ah)
|
158
|
+
else
|
159
|
+
jpa_addPersistenceToAssociation!(ah)
|
160
|
+
end
|
161
|
+
end
|
162
|
+
|
163
|
+
def jpa_addPersistenceToAttribute!(ah)
|
164
|
+
jpa_addPersistenceToAttribute_TypeModificator!(ah)
|
165
|
+
if umlx_upperValueIsOne?
|
166
|
+
jpa_addPersistenceOneAttribute!(ah)
|
167
|
+
else
|
168
|
+
jpa_addPersistenceManyAttribute!(ah)
|
169
|
+
end
|
170
|
+
return
|
171
|
+
end
|
172
|
+
|
173
|
+
def jpa_addPersistenceToAttribute_TypeModificator!(ah)
|
174
|
+
tpl=JavaMapping.instance.getTemplate(self.uml_type_one)
|
175
|
+
tpl.jpa_addTypeModificator(ah)
|
176
|
+
end
|
177
|
+
|
178
|
+
def jpa_addPersistenceToAssociation!(ah)
|
179
|
+
oe=umlx_otherEnd
|
180
|
+
binav=(!oe.nil?) && oe.umlx_isNavigable?
|
181
|
+
if binav
|
182
|
+
jpa_addPersistenceToAssociationBidir!(ah)
|
183
|
+
else
|
184
|
+
jpa_addPersistenceToAssociationUnidir!(ah)
|
185
|
+
end
|
186
|
+
end
|
187
|
+
|
188
|
+
def jpa_addPersistenceToAssociationUnidir!(ah)
|
189
|
+
toOne=umlx_upperValueIsOne?
|
190
|
+
fromOne=umlx_otherEnd.nil? ? true : umlx_otherEnd.umlx_upperValueIsOne?
|
191
|
+
if fromOne && toOne
|
192
|
+
jpa_addPersistenceUnidirOneToOne!(ah)
|
193
|
+
elsif fromOne && !toOne
|
194
|
+
jpa_addPersistenceUnidirOneToMany!(ah)
|
195
|
+
elsif !fromOne && toOne
|
196
|
+
jpa_addPersistenceUnidirManyToOne!(ah)
|
197
|
+
elsif !fromOne && !toOne
|
198
|
+
jpa_addPersistenceUnidirManyToMany!(ah)
|
199
|
+
else
|
200
|
+
raise Warning.new("Internal error")
|
201
|
+
end
|
202
|
+
end
|
203
|
+
def jpa_addPersistenceToAssociationBidir!(ah)
|
204
|
+
toOne=umlx_upperValueIsOne?
|
205
|
+
fromOne=umlx_otherEnd.nil? ? true : umlx_otherEnd.umlx_upperValueIsOne?
|
206
|
+
master=umlx_masterEnd?
|
207
|
+
|
208
|
+
if fromOne && toOne && (master)
|
209
|
+
jpa_addPersistenceBidirOneToOneMaster!(ah)
|
210
|
+
elsif fromOne && toOne && (!master)
|
211
|
+
jpa_addPersistenceBidirOneToOneSlave!(ah)
|
212
|
+
elsif fromOne && !toOne && (master)
|
213
|
+
jpa_addPersistenceBidirOneToManyMaster!(ah)
|
214
|
+
elsif fromOne && !toOne && (!master)
|
215
|
+
jpa_addPersistenceBidirOneToManySlave!(ah)
|
216
|
+
elsif !fromOne && toOne && (master)
|
217
|
+
jpa_addPersistenceBidirManyToOneMaster!(ah)
|
218
|
+
elsif !fromOne && toOne && (!master)
|
219
|
+
jpa_addPersistenceBidirManyToOneSlave!(ah)
|
220
|
+
elsif !fromOne && !toOne && (master)
|
221
|
+
jpa_addPersistenceBidirManyToManyMaster!(ah)
|
222
|
+
elsif !fromOne && !toOne && (!master)
|
223
|
+
jpa_addPersistenceBidirManyToManySlave!(ah)
|
224
|
+
else
|
225
|
+
raise Warning.new("Internal error")
|
226
|
+
end
|
227
|
+
|
228
|
+
return
|
229
|
+
|
230
|
+
# if umlx_oneToOne?
|
231
|
+
# if umlx_otherEnd.nil? || !umlx_otherEnd.umlx_isNavigable?
|
232
|
+
# jpa_addPersistenceUnidirOneToOne!(ah)
|
233
|
+
# #ah.java_annotation_add("@OneToOne")
|
234
|
+
#
|
235
|
+
# elsif umlx_masterEnd?
|
236
|
+
# ah.java_annotation_add("@OneToOne(cascade = {CascadeType.MERGE, CascadeType.REFRESH, CascadeType.PERSIST, CascadeType.REMOVE})")
|
237
|
+
# ah.java_annotation_add("@JoinColumn(name=\"#{umlx_otherEnd.java_NameBean}_fk\")")
|
238
|
+
# elsif
|
239
|
+
# ah.java_annotation_add("@OneToOne(mappedBy=\"#{umlx_otherEnd.java_NameProperty}\")")
|
240
|
+
# end
|
241
|
+
# end
|
242
|
+
# if umlx_manyToOne?
|
243
|
+
# if umlx_unidirectionnel?
|
244
|
+
# ah.java_annotation_add("//TOFIX MANY TO ONE Unideirectionnel NOT IMPLEMENTED")
|
245
|
+
# elsif
|
246
|
+
# ah.java_annotation_add("@ManyToOne")
|
247
|
+
# ah.java_annotation_add("@JoinColumn(name=\"#{umlx_otherEnd.java_NameBean}_fk\")")
|
248
|
+
# end
|
249
|
+
# end
|
250
|
+
|
251
|
+
end
|
252
|
+
end
|
253
|
+
|
254
|
+
class JavaMapping
|
255
|
+
def jpa_addTypeModificator(ah)
|
256
|
+
#nop
|
257
|
+
end
|
258
|
+
end
|
259
|
+
class JavaMappingCalendar < JavaMapping
|
260
|
+
def jpa_addTypeModificator(ah)
|
261
|
+
ah.java_annotation_add("@Temporal(TemporalType.DATE)")
|
262
|
+
end
|
263
|
+
end
|
264
|
+
|
265
|
+
class JavaMappingBLOB < JavaMapping
|
266
|
+
def jpa_addTypeModificator(ah)
|
267
|
+
ah.java_annotation_add("@Lob")
|
268
|
+
#mysql: MEDIUMBLOB LONGBLOB TINYBLOB BLOB
|
269
|
+
ah.java_annotation_add(%{@Column(columnDefinition="LONGBLOB")}) if ah.context[:mysql]
|
270
|
+
#cf: http://db.apache.org/derby/docs/10.1/ref/rrefblob.html
|
271
|
+
ah.java_annotation_add(%{@Column(columnDefinition="BLOB(4M)")}) if ah.context[:derby]
|
272
|
+
end
|
273
|
+
end
|
274
|
+
#class JavaMappingIMG < JavaMappingBLOB
|
275
|
+
#end
|
276
|
+
|
277
|
+
|
@@ -0,0 +1,75 @@
|
|
1
|
+
# This file includes methods redefinitions
|
2
|
+
#
|
3
|
+
module Muml_Interface
|
4
|
+
#returns implementing class dao name (if only one exists)
|
5
|
+
#def db_daoClassName
|
6
|
+
# jpa_daoClassName
|
7
|
+
#end
|
8
|
+
def jpa_daoClass
|
9
|
+
#log.debug { "Muml_Interface::jpa_daoClassName #{self}" }
|
10
|
+
found=nil
|
11
|
+
ext_isReferencedBy.each { |i|
|
12
|
+
next unless i.kind_of?(Muml_Implementation)
|
13
|
+
s=i.uml_supplier_one
|
14
|
+
next if s!=self
|
15
|
+
c=i.uml_client_one
|
16
|
+
raise Warning.new,"Too many jpa_daoClassName found for interface #{self}" unless found.nil? || found==c
|
17
|
+
found=c
|
18
|
+
}
|
19
|
+
raise Warning.new,"No jpa_daoClassName found for interface #{self}" if found.nil?
|
20
|
+
return found #.jpa_daoClassName
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
module Muml_Class
|
25
|
+
#def db_daoClassName
|
26
|
+
#jpa_daoClassName
|
27
|
+
#end
|
28
|
+
#def jpa_daoClassName
|
29
|
+
# return "#{java_qualifiedName}Dao"
|
30
|
+
#end
|
31
|
+
|
32
|
+
def db_getFindAllCall
|
33
|
+
param=context[:db_useExtraTypeParameterForFindAll] ? "(#{self.java_qualifiedName})null" : ""
|
34
|
+
return "#{java_DAOClass_one.java_qualifiedName}.findAll(#{param})"
|
35
|
+
end
|
36
|
+
|
37
|
+
#Method redefined from ontomde-uml2-java
|
38
|
+
#alias :original_java_writeSuggesterBody :java_writeSuggesterBody
|
39
|
+
def java_writeSuggesterBody(oa)
|
40
|
+
#log.debug {"adding suggester to #{self} for #{oa}"}
|
41
|
+
if oa.uml_type_one.jpa_isPersistent?
|
42
|
+
#TODO: recherche du composite commun
|
43
|
+
#TODO: transient object do not have a valid uniq id
|
44
|
+
|
45
|
+
#if oa.umlx_oneSide?
|
46
|
+
if !oa.umlx_manySide?
|
47
|
+
write( %{
|
48
|
+
/* TPL:0001jpa_one #{oa.umlx_oneSide?} */
|
49
|
+
java.util.List<#{oa.uml_type_one.java_qualifiedName}> ret=#{oa.uml_type_one.db_getFindAllCall};
|
50
|
+
#{oa.uml_type_one.java_qualifiedName} elt=get#{oa.java_NameBean}();
|
51
|
+
if(elt!=null && !ret.contains(elt)) {
|
52
|
+
ret.add(elt);
|
53
|
+
}
|
54
|
+
return ret;\n})
|
55
|
+
else
|
56
|
+
write( %{
|
57
|
+
/* TPL:0001jpa_many #{oa.umlx_oneSide?} */
|
58
|
+
java.util.List<#{oa.uml_type_one.java_qualifiedName}> ret=#{oa.uml_type_one.db_getFindAllCall};
|
59
|
+
|
60
|
+
#{oa.uml_type_one.java_qualifiedName} item=null;
|
61
|
+
java.util.Iterator<?> iter=get#{oa.java_NameBean}().iterator();
|
62
|
+
while(iter.hasNext()){
|
63
|
+
item=(#{oa.uml_type_one.java_qualifiedName}) iter.next();
|
64
|
+
if(!ret.contains(item)) {
|
65
|
+
ret.add(item);
|
66
|
+
}
|
67
|
+
}
|
68
|
+
return ret;\n})
|
69
|
+
|
70
|
+
end
|
71
|
+
else
|
72
|
+
super(oa)#original_java_writeSuggesterBody(oa)
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
#automatically populate methods with simulated code.
|
4
|
+
#Methods will return an element or a liste of element
|
5
|
+
#of the specified type.
|
6
|
+
module Mrdf_Model
|
7
|
+
def db_addTestImplementations!
|
8
|
+
jpa_addTestImplementations!
|
9
|
+
end
|
10
|
+
def jpa_addTestImplementations!
|
11
|
+
each { |k,m|
|
12
|
+
next unless m.kind_of?(Muml_Operation)
|
13
|
+
m.jpa_addTestImplementation!
|
14
|
+
}
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
module Muml_Operation
|
19
|
+
JPA_TEST_CODE_TOP=%{
|
20
|
+
//TODO: replace this test code by real implementation
|
21
|
+
//log.error("test method called");\n}
|
22
|
+
def jpa_addTestImplementation!
|
23
|
+
return unless java_code.empty?
|
24
|
+
owner=umlx_owner_one
|
25
|
+
return if owner.kind_of?(Muml_Interface)
|
26
|
+
return if owner.uml_isAbstract?
|
27
|
+
#log.debug { "adding test implementation for #{self.umlx_owner_one}.#{self}" }
|
28
|
+
fp=nil
|
29
|
+
(uml_returnResult+uml_ownedParameter).each { |p|
|
30
|
+
next unless p.uml_direction_one.isReturn?
|
31
|
+
fp=p
|
32
|
+
}
|
33
|
+
if fp.nil?
|
34
|
+
self.java_code=JPA_TEST_CODE_TOP
|
35
|
+
return
|
36
|
+
elsif fp.uml_type_one.kind_of?(Muml_DataType)
|
37
|
+
#TODO: create test code
|
38
|
+
return
|
39
|
+
elsif (!fp.uml_type_one.jpa_isPersistent?) || (fp.uml_type_one.db_isTransient?) || (fp.uml_type_one.java_ignoreMe?)
|
40
|
+
#not a persistent class
|
41
|
+
return
|
42
|
+
elsif fp.umlx_oneSide?
|
43
|
+
self.java_code=%{#{JPA_TEST_CODE_TOP}\nreturn #{fp.uml_type_one.db_getFindAllCall}.get(0);}
|
44
|
+
elsif fp.uml_isOrdered?
|
45
|
+
self.java_code=%{#{JPA_TEST_CODE_TOP}\nreturn #{fp.uml_type_one.db_getFindAllCall};}
|
46
|
+
else
|
47
|
+
self.java_code=%{
|
48
|
+
#{JPA_TEST_CODE_TOP}
|
49
|
+
#{fp.java_propertyAssociationConcreteType} ret=new #{fp.java_propertyAssociationConcreteType}();
|
50
|
+
ret.addAll(#{fp.uml_type_one.db_getFindAllCall});
|
51
|
+
return ret;}
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
|
2
|
+
#:include: ontomde-uml2-jpa/jpa.rdoc
|
3
|
+
|
4
|
+
# this constant is defined in every db module
|
5
|
+
# multiple db module inclusion will trigger a warning
|
6
|
+
DB_PERSISTENCE_MODULE="ontomde-uml2_jpa"
|
7
|
+
|
8
|
+
require 'ontomde-uml2-java'
|
9
|
+
require 'ontomde-uml2-apaCom'
|
10
|
+
|
11
|
+
h="#{File.dirname(__FILE__)}/ontomde-uml2-jpa"
|
12
|
+
|
13
|
+
require "#{h}/version.rb"
|
14
|
+
require "#{h}/jpa.rb"
|
15
|
+
require "#{h}/finder.rb"
|
16
|
+
require "#{h}/configuration.rb"
|
17
|
+
require "#{h}/mapping.rb"
|
18
|
+
require "#{h}/redefined.rb"
|
19
|
+
require "#{h}/simulationAutoImplement.rb"
|
20
|
+
require "#{h}/locking.rb"
|
21
|
+
|
File without changes
|
metadata
ADDED
@@ -0,0 +1,87 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ontomde-uml2-jpa
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.4
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Stephane (Pierre) Carrie
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2008-03-03 00:00:00 +01:00
|
13
|
+
default_executable:
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
16
|
+
name: ontomde-uml2-java
|
17
|
+
version_requirement:
|
18
|
+
version_requirements: !ruby/object:Gem::Requirement
|
19
|
+
requirements:
|
20
|
+
- - "="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.0.4
|
23
|
+
version:
|
24
|
+
- !ruby/object:Gem::Dependency
|
25
|
+
name: hoe
|
26
|
+
version_requirement:
|
27
|
+
version_requirements: !ruby/object:Gem::Requirement
|
28
|
+
requirements:
|
29
|
+
- - ">="
|
30
|
+
- !ruby/object:Gem::Version
|
31
|
+
version: 1.5.0
|
32
|
+
version:
|
33
|
+
description: "JPA annotation generator library. Most users will used this library trough ontomde-java-frontend command line utility options. == FEATURES/PROBLEMS: == SYNOPSIS: == REQUIREMENTS:"
|
34
|
+
email: stephanepierre.carrie@orange-ftgroup.com
|
35
|
+
executables: []
|
36
|
+
|
37
|
+
extensions: []
|
38
|
+
|
39
|
+
extra_rdoc_files:
|
40
|
+
- History.txt
|
41
|
+
- Manifest.txt
|
42
|
+
- README.txt
|
43
|
+
files:
|
44
|
+
- History.txt
|
45
|
+
- Manifest.txt
|
46
|
+
- README.txt
|
47
|
+
- Rakefile
|
48
|
+
- lib/ontomde-uml2-jpa.rb
|
49
|
+
- lib/ontomde-uml2-jpa/version.rb
|
50
|
+
- lib/ontomde-uml2-jpa/configuration.rb
|
51
|
+
- lib/ontomde-uml2-jpa/redefined.rb
|
52
|
+
- lib/ontomde-uml2-jpa/locking.rb
|
53
|
+
- lib/ontomde-uml2-jpa/mapping.rb
|
54
|
+
- lib/ontomde-uml2-jpa/finder.rb
|
55
|
+
- lib/ontomde-uml2-jpa/simulationAutoImplement.rb
|
56
|
+
- lib/ontomde-uml2-jpa/jpa.rb
|
57
|
+
- lib/ontomde-uml2-jpa/jpa.rdoc
|
58
|
+
- test/test_ontomde-uml2-jpa.rb
|
59
|
+
has_rdoc: true
|
60
|
+
homepage: http://ontomde.rubyforge.org
|
61
|
+
post_install_message:
|
62
|
+
rdoc_options:
|
63
|
+
- --main
|
64
|
+
- README.txt
|
65
|
+
require_paths:
|
66
|
+
- lib
|
67
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - ">="
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: 1.8.6
|
72
|
+
version:
|
73
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
74
|
+
requirements:
|
75
|
+
- - ">="
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 1.0.0
|
78
|
+
version:
|
79
|
+
requirements: []
|
80
|
+
|
81
|
+
rubyforge_project: ontomde
|
82
|
+
rubygems_version: 1.0.1
|
83
|
+
signing_key:
|
84
|
+
specification_version: 2
|
85
|
+
summary: OntoMDE JPA cartridge
|
86
|
+
test_files:
|
87
|
+
- test/test_ontomde-uml2-jpa.rb
|