ontomde-uml2-kbjava 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 ADDED
@@ -0,0 +1,5 @@
1
+ == 1.0.0 / 2007-10-28
2
+
3
+ * 1 major enhancement
4
+ * Birthday!
5
+
data/Manifest.txt ADDED
@@ -0,0 +1,8 @@
1
+ History.txt
2
+ Manifest.txt
3
+ README.txt
4
+ Rakefile
5
+ lib/ontomde-uml2-kbjava.rb
6
+ lib/ontomde-uml2-kbjava/version.rb
7
+ lib/ontomde-uml2-kbjava/rdfToJava.rb
8
+ test/test_ontomde-uml2-kbjava.rb
data/README.txt ADDED
@@ -0,0 +1,43 @@
1
+ ontomde-uml2-kbjava
2
+ by Stephane (Pierre) Carrie
3
+ http://ontomde.rubyforge.org
4
+
5
+ == DESCRIPTION:
6
+
7
+ ontomde-uml2-kbjava is a library to generate tests data as java code and java junit from Prot�g� 2000 data project generated with ontomde-uml2-kb.
8
+
9
+ ontomde-uml2-kbjava should be used through ontomde-java-frontend command line utility.
10
+
11
+ == FEATURES/PROBLEMS:
12
+
13
+ * generator assumes JPA persistence is used.
14
+
15
+ == SYNOPSIS:
16
+
17
+ == REQUIREMENTS:
18
+
19
+ == INSTALL:
20
+
21
+ * (windows) gem install ontomode-uml2-kbjava
22
+ * (unix) sudo gem install ontomode-uml2-kbjava
23
+
24
+ Additional information is available on ontoMDE web site :
25
+ http://ontomde.rubyforge.org/website/download.html
26
+ == LICENSE:
27
+
28
+ Copyright (C) 2008 Orange-labs
29
+ 38 rue General Leclerc
30
+ 92130 ISSY LES MOULINEAUX, France
31
+
32
+ This program is free software: you can redistribute it and/or modify
33
+ it under the terms of the GNU Affero General Public License as
34
+ published by the Free Software Foundation, either version 3 of the
35
+ License, or (at your option) any later version.
36
+
37
+ This program is distributed in the hope that it will be useful,
38
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
39
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
40
+ GNU Affero General Public License for more details.
41
+
42
+ You should have received a copy of the GNU Affero General Public License
43
+ along with this program. If not, see http://www.gnu.org/licenses/.
data/Rakefile ADDED
@@ -0,0 +1,22 @@
1
+ # -*- ruby -*-
2
+
3
+ require 'rubygems'
4
+ require 'hoe'
5
+ require './lib/ontomde-uml2-kbjava/version.rb'
6
+
7
+ Hoe.new('ontomde-uml2-kbjava', Ontomde::Uml2::Kbjava::VERSION) do |p|
8
+ p.rubyforge_name = 'ontomde'
9
+ p.author = 'Stephane (Pierre) Carrie'
10
+ p.email = 'stephanepierre.carrie@orange-ftgroup.com'
11
+ p.summary = 'OntoMDE Protege 2000 java data-test cartridge'
12
+ p.description = p.paragraphs_of('README.txt', 2..5).join("\n\n")
13
+ p.url="http://ontomde.rubyforge.org"
14
+ p.changes = p.paragraphs_of('History.txt', 0..1).join("\n\n")
15
+ p.extra_deps=[
16
+ ['ontomde-uml2-kb',"= #{Ontomde::Uml2::Kbjava::VERSION}"],
17
+ ['ontomde-uml2-java',"= #{Ontomde::Uml2::Kbjava::VERSION}"]
18
+ ]
19
+ p.spec_extras={ :required_ruby_version => '>=1.8.6' ,:required_rubygems_version => '>=1.0.0'}
20
+ end
21
+
22
+ # vim: syntax=Ruby
@@ -0,0 +1,7 @@
1
+ h=File.dirname(__FILE__)
2
+
3
+ require "ontomde-uml2-kb"
4
+ require "ontomde-uml2-java"
5
+
6
+ require "#{h}/ontomde-uml2-kbjava/version.rb"
7
+ require "#{h}/ontomde-uml2-kbjava/rdfToJava.rb"
@@ -0,0 +1,398 @@
1
+ #This module is meant to be applied
2
+ #to a protege 2000 knowledge model
3
+ class Crdf_ProtegeDataModel < Crdf_Model
4
+
5
+ #uml model used to generate this protege data model
6
+ #attr :umlSourceModel
7
+ attr_accessor :kbjava_umlSourceModel
8
+
9
+ #Generates a DataSet
10
+ #default generation path may be overriden by providing appropriate context.
11
+ def kbjava_generate
12
+ mtk_default_context(:dataTestClassName=>'UserData',:dataTestPackageName => 'xmda.test') {
13
+
14
+ dc=@kbjava_umlSourceModel.umlx_reserved_model.umlx_getOrCreateClass("#{context[:dataTestPackageName]}.#{context[:dataTestClassName]}")
15
+ dc.umlx_external=RDF_FALSE
16
+
17
+ #No Gui is provided for TestData (class is too big)
18
+ dc.umlx_businessMethod=RDF_FALSE
19
+
20
+ #UserData must be transient because UserData links
21
+ #eventually to many many many objects and this
22
+ #would generate has many columns in database
23
+ #and as many joins.
24
+ dc.db_isTransient=RDF_TRUE
25
+
26
+ kbjava_addData!(dc)
27
+ }
28
+ end
29
+
30
+
31
+
32
+ #writes all in one java class which will contain all of
33
+ #our test instances loaded from source protege data model.
34
+ def kbjava_addData!(umlDataClass)
35
+ #write "package #{context[:dataTestPackageName]};\n"
36
+ #write("public class #{context[:dataTestClassName]} {\n")
37
+
38
+ #mtk_protected("converter") {
39
+ umlDataClass.java_customCode= <<END
40
+ private static java.text.SimpleDateFormat dfCalendar= new java.text.SimpleDateFormat("yyyy/MM/dd",java.util.Locale.ENGLISH);
41
+ private static java.text.SimpleDateFormat dfTimestamp= new java.text.SimpleDateFormat("yyyy/MM/dd",java.util.Locale.ENGLISH);
42
+ public java.util.Date convertCalendar(final String s) {
43
+ try {
44
+ return dfCalendar.parse(s) ;
45
+ } catch (java.text.ParseException e) {
46
+ throw new java.lang.RuntimeException(e);
47
+ }
48
+ }
49
+ public java.util.Date convertTimestamp(final String s) {
50
+ try {
51
+ return dfTimestamp.parse(s) ;
52
+ } catch (java.text.ParseException e) {
53
+ throw new java.lang.RuntimeException(e);
54
+ }
55
+ }
56
+
57
+ END
58
+
59
+ #}
60
+ [true,false].each {|stepOne|
61
+ self.each { |k,c|
62
+ next unless c.kbjava_isUmlObject?
63
+ c.kbjava_writeJavaObject(@kbjava_umlSourceModel, self,umlDataClass,stepOne)
64
+ }}
65
+ #write "}"
66
+ #@kbjava_umlSourceModel.kbjava_computeCoverage
67
+ end
68
+
69
+ def kbjava_generateJavaJunit!
70
+ self.each { |k,c|
71
+ next unless c.kind_of?(Mkb_UML_TEST_DATA_SET)
72
+ uml_type=c.rdf_type.kbjava_uml_model_element(@kbjava_umlSourceModel)
73
+ p=uml_type.umlx_owner_one
74
+ p=p.umlx_getOrCreatePackage(context[:kbjava_junitSubPackage,"junitUseCase"],p)
75
+ p=p.umlx_getOrCreatePackage(uml_type.java_Name.to_s,p)
76
+
77
+ n=p.umlx_createAndAddClass("#{c.rdf_uri}_junit","junit#{c.kb_UML_DATA_SET_NAME}")
78
+
79
+ #Provide a Gui
80
+ n.umlx_businessMethod=RDF_TRUE
81
+ puts "n=#{n.uml_name} busniess=#{n.umlx_businessMethod?}"
82
+ #n.apaCom_addLogger!
83
+ n.db_isTransient=RDF_TRUE
84
+ #n.struts_isForm=RDF_FALSE
85
+ n.umlx_external=RDF_FALSE
86
+ n.java_import='org.junit.Test'
87
+ #n.java_import_add('java.io.PrintWriter');
88
+ #n.java_import_add('java.io.StringWriter');
89
+ n.java_isATestFile=RDF_TRUE
90
+
91
+ #also avoid org.junit.* import notused warning in Eclipse
92
+ n.java_customCode="@Test\npublic void replaceWithMeaningfulTest(){}\n"
93
+
94
+ m=n.umlx_createAndAddOperation(n.rdf_uri+"merge","merge");
95
+ #TODO merge referenced items
96
+ m.java_code="return this;"
97
+ p=m.umlx_createAndAddReturnParameter(m.rdf_uri+'_ret',"return")
98
+ p.uml_type=n
99
+ m.umlx_businessMethod=RDF_FALSE
100
+
101
+
102
+ persist=n.umlx_createAndAddOperation(n.rdf_uri+"persist","persist");
103
+ persist.java_code="" # #{java_debug(%{log.debug("persisting referenced persistent elements");}\n}"
104
+ p=persist.umlx_createAndAddReturnParameter(persist.rdf_uri+'_ret',"return")
105
+ p.uml_type=n
106
+ persist.umlx_businessMethod=RDF_FALSE
107
+
108
+
109
+ #v=n.umlx_createAndAddProperty(n.rdf_uri+"__source","source");
110
+
111
+ #ds="#{context[:dataTestPackageName]}.#{context[:dataTestClassName]}"
112
+ #TODO: remove hard coded
113
+ ds="xmda.test.UserData"
114
+ #v.uml_type=n.umlx_getOrCreateClass(ds)
115
+ #v.java_code="null"
116
+
117
+ j=<<END
118
+ // using one single source object
119
+ // enables objects retrieved to be linked together.
120
+ // Objects retrieved with a new source will *not* be linked together.
121
+ #{ds} source=new #{ds}();
122
+ END
123
+ c.kb_UML_DATA.each { |d|
124
+ if d.kb_UML_INSTANCE_ALIAS.empty?
125
+ log.warn("data ignored in junit #{c} because of missing UML_INSTANCE_ALIAS")
126
+ next
127
+ end
128
+ u=d.rdf_type.kbjava_uml_model_element(@kbjava_umlSourceModel)
129
+ p=n.umlx_createAndAddProperty(n.rdf_uri+d.rdf_uri,"#{d.kb_UML_INSTANCE_ALIAS}");
130
+ p.uml_type=u
131
+ p.uml_isReadOnly=RDF_TRUE
132
+ p.java_code="null"
133
+
134
+ j="#{j}\n set#{p.java_NameBean}(source.get#{p.java_NameBean}());"
135
+ persist.java_code="#{persist.java_code.to_s} get#{p.java_NameBean}().persist();\n"
136
+ }
137
+
138
+ m=n.umlx_createAndAddOperation(n.rdf_uri+"initData","initData")
139
+ m.umlx_businessMethod=RDF_FALSE
140
+ m.java_code="#{j} return this;"
141
+ m.java_annotation_add(%{@SuppressWarnings("unused")})
142
+ p=m.umlx_createAndAddReturnParameter(m.rdf_uri+'_ret',"return")
143
+ p.uml_type=n
144
+
145
+ persist.java_code="#{persist.java_code.to_s} return this;\n"
146
+ }
147
+ end
148
+
149
+ end
150
+
151
+ class Ckb_UML_SLOT < ::Crdf_Property
152
+ end
153
+
154
+ #
155
+ class Ckb_UML_METACLASS < Crdfs_Class
156
+ def kbjava_uml_model_element(umlSourceModelParam)
157
+ r=umlSourceModelParam[::UriNamespace.instance.urialias(@kb_UML_URI.to_s)]
158
+ return r unless r.nil?
159
+ puts("WARNING: uml item not found for uri=--#{@kb_UML_URI}--")
160
+ return nil
161
+ end
162
+ end
163
+
164
+ class ::Crdfs_Class
165
+
166
+ def kbjava_umlSourceModel
167
+ return rdf_model.kbjava_umlSourceModel
168
+ end
169
+
170
+ #uml model used to generate this protege data model
171
+ rdf_safe_attr_reader_many :kbjava_property
172
+ #rdf_safe_attr_reader_many :kbjava_initMethod
173
+ def kbjava_writeJavaObject(umlSourceModelParam, dataSource,umlDataClass,stepOne)
174
+ uml_type=rdf_type.kbjava_uml_model_element(umlSourceModelParam)
175
+
176
+ return if uml_type.kind_of?(Muml_UseCase)
177
+
178
+ if stepOne
179
+ # Create attributes and every init methods (body expected)
180
+ uml_type.kb_coverage_add(self)
181
+ p=umlDataClass.umlx_createAndAddProperty(umlDataClass.rdf_uri+kbjava_varName,kbjava_varName.to_s)
182
+ p.uml_type=uml_type
183
+ p.uml_visibility= Cuml_VisibilityKind::Private
184
+ #p.java_noAccessors=RDF_TRUE
185
+ self.kbjava_property=p
186
+
187
+ #init method
188
+ #p=self.kbjava_property_one
189
+ #i=umlDataClass.umlx_createAndAddOperation(umlDataClass.rdf_uri+"init"+kbjava_varName,"init#{kbjava_varName}")
190
+ #i.uml_visibility= kbjava_isPublic? ? Cuml_VisibilityKind::Public : Cuml_VisibilityKind::Private
191
+ #r=i.umlx_createAndAddReturnParameter(i.rdf_uri+"ret","_return")
192
+ #r.uml_type=p.uml_type_one
193
+ #self.kbjava_initMethod=i
194
+
195
+ umlDataClass.java_addGlobalGetter!(p)
196
+ else
197
+ # Create init methods body
198
+ p=self.kbjava_property_one
199
+ #i=self.kbjava_initMethod_one
200
+ i=p.java_AttributeGlobalGetter_one
201
+ #write "private #{uml_type.java_qualifiedName} #{kbjava_varName}=null;\n"
202
+ #write "#{kbjava_public ? "public" : "private"} #{uml_type.java_qualifiedName} get#{kbjava_varName}() {"
203
+ #p=self.kbjava_property_one
204
+ i.java_code= <<ENDinit
205
+ if(#{p.java_Name}==null){
206
+ #{p.java_Name}= new #{uml_type.java_qualifiedName}();
207
+ #{p.uml_type_one.java_qualifiedName} elt= #{p.java_Name};
208
+ #{mtk_stss{kbjava_writeJavaObjectSetters(dataSource)}}
209
+ }
210
+ return #{p.java_Name};
211
+ ENDinit
212
+
213
+ # overide getter with init
214
+ end
215
+ end
216
+
217
+ # Returns test object variable name which will be used to store this test object.
218
+ # Return uri if test object has no name.
219
+ def kbjava_varName
220
+ return kbjava_aliasName.nil? ? uri : kbjava_aliasName
221
+ end
222
+
223
+ #
224
+ def kbjava_aliasName
225
+ s=@kb_UML_INSTANCE_ALIAS
226
+ return nil if s.nil? || s.empty?
227
+ return s.to_s
228
+ end
229
+
230
+ def kbjava_isPublic?
231
+ return !kbjava_aliasName.nil?
232
+ end
233
+
234
+ def kbjava_uml_property_values(dataSource)
235
+ ret=Hash.new
236
+ instance_variables.each {
237
+ |m|
238
+ next if ["@kbjava_property","@kb_UML_URI","@kb_UML_LABEL","@rdfs_label","@ext_isReferencedBy","@rdfs_subClassOf", "@kb_UML_INSTANCE_ALIAS","@kb_UML_REFERENCED_USE_CASE","@kb_inv_UML_REFERENCED_USE_CASE","@kb_UML_USE_CASE_ENV"].include?(m)
239
+
240
+ var = instance_variable_get(m)
241
+ rawval = self.instance_variable_get(m)
242
+
243
+ next unless rawval.kind_of?(ArrayOrSingleElement)
244
+
245
+ protprop_ident=m[1,m.length] #remove leading @
246
+ protprop_uri=getRubyNameInverse(protprop_ident)
247
+ protprop=dataSource[protprop_uri]
248
+
249
+ umluri=protprop.instance_variable_get("@kb_UML_URI").to_s
250
+ umlurialiased=::UriNamespace.instance.urialias(umluri)
251
+ umlprop=kbjava_umlSourceModel[umlurialiased]
252
+
253
+ if umlprop.nil?
254
+ log.warn { "uml prop not found for slot '#{m}' umluri='#{umluri}' umluriprop='#{umlurialiased}'" }
255
+ next
256
+ end
257
+ ret[umlprop]=rawval
258
+ }
259
+ return ret
260
+ end
261
+
262
+ def kbjava_writeJavaObjectSetters(dataSource)
263
+ kbjava_uml_property_values(dataSource).each {
264
+ |umlprop,rawval|
265
+ umlprop.kb_coverage_add(rawval)
266
+ rawval.each {|v|
267
+ kbjava_writeJavaObjectSetter(umlprop,v)
268
+ }
269
+ }
270
+ end
271
+
272
+ def kbjava_writeJavaObjectSetter(umlprop,valitem)
273
+ return if umlprop.uml_name.empty?
274
+ return unless umlprop.umlx_isNavigable?
275
+
276
+ #t=umlprop.uml_type_one.java_qualifiedName
277
+
278
+ m=JavaMapping.instance.getTemplate(umlprop.uml_type_one)
279
+ v=m.prot_convertToJava(umlprop,valitem)
280
+ #i=m.prot_init(umlprop,valitem)
281
+
282
+ #puts "i='#{i}'"
283
+ meth=umlprop.umlx_upperValueIsOne? ? "set" : "add"
284
+ #write " #{i}/* tpl-kbjava01 */\n"
285
+ write "// read only " if umlprop.uml_isReadOnly?
286
+ write " elt.#{meth}#{umlprop.java_NameBean}(#{v});\n"
287
+ end
288
+ end
289
+
290
+ module Muml_Element
291
+ rdf_safe_attr_reader_many :kb_coverage
292
+ end
293
+ module Mrdf_Model
294
+ def kbjava_computeCoverage
295
+ puts "COVERAGE REPORT"
296
+ puts %{class|property|hit|min hit\n}
297
+ ret=Array.new
298
+ uml_Class_all.each { |c|
299
+
300
+ next if c.uml_isAbstract?
301
+ next if c.kind_of?(Cuml_Enumeration)
302
+ next if c.uml_ownedAttribute.empty?
303
+ puts %{#{c.uml_name}|id|#{c.kb_coverage.size}|1\n}
304
+ c.uml_ownedAttribute.each {|a|
305
+ max=a.uml_type_one.kind_of?(Muml_Enumeration) ? a.uml_type_one.uml_ownedLiteral.size : "1"
306
+ puts %{#{c.uml_name}|#{a.uml_name}|#{a.kb_coverage.size}|#{max}\n}
307
+ ret<< { "class" => c.uml_name,"property"=> a.uml_name, "hit" =>a.kb_coverage.size, "minhit" => max}
308
+ }
309
+
310
+ }
311
+ puts "COVERAGE REPORT END"
312
+ return ret
313
+ end
314
+ end
315
+
316
+ module Mrdf_Resource
317
+ def kbjava_isUmlObject?
318
+ c=self
319
+ # filters out Protege meta-model element
320
+ return false if (c.kind_of?(Ckb_UML_METACLASS))||(c.kind_of?(Ckb_UML_SLOT))
321
+ # filters out rdf root elements
322
+ return false if (c.class==Crdf_Resource) || (c.class==Crdf_Property)
323
+ return true
324
+ end
325
+ end
326
+
327
+ class JavaMapping
328
+ def prot_init(umlprop,valitem)
329
+ return ""
330
+ end
331
+ end
332
+
333
+ class JavaMappingText < JavaMapping
334
+ # Protege string to Java code conversions
335
+ def prot_convertToJava(umlprop,valitem)
336
+ return %{"#{valitem}"}
337
+ end
338
+ end
339
+ class JavaMappingInteger < JavaMappingOrdinal
340
+ # Protege string to Java code conversions
341
+ def prot_convertToJava(umlprop,valitem)
342
+ #Remove leading 0 (octal)
343
+ return valitem.gsub(/^0*([0-9])/,'\1')
344
+ end
345
+ end
346
+ class JavaMappingLong < JavaMappingOrdinal
347
+ # Protege string to Java code conversions
348
+ def prot_convertToJava(umlprop,valitem)
349
+ #Remove leading 0 (octal)
350
+ return valitem.gsub(/^0*([0-9])/,'\1')
351
+ end
352
+ end
353
+ class JavaMappingFile < JavaMapping
354
+ # Protege string to Java code conversions
355
+ def prot_convertToJava(umlprop,valitem)
356
+ # ??
357
+ return valitem
358
+ end
359
+ end
360
+ class JavaMappingBoolean < JavaMapping
361
+ # Protege string to Java code conversions
362
+ def prot_convertToJava(umlprop,valitem)
363
+ return valitem
364
+ end
365
+ end
366
+ class JavaMappingTimeStamp < JavaMapping
367
+ # Protege string to Java code conversions
368
+ def prot_convertToJava(umlprop,valitem)
369
+ return %{convertTimestamp("#{valitem}")}
370
+ end
371
+ end
372
+ class JavaMappingCalendar < JavaMapping
373
+ # Protege string to Java code conversions
374
+ def prot_convertToJava(umlprop,valitem)
375
+ return %{convertCalendar("#{valitem}")}
376
+ end
377
+ end
378
+ class JavaMappingGenericClass < JavaMapping
379
+ # Protege string to Java code conversions
380
+ def prot_convertToJava(umlprop,valitem)
381
+ return "#{valitem.kbjava_property_one.java_AttributeGlobalGetter_one.java_Name}()"
382
+ end
383
+ def prot_init(umlprop,valitem)
384
+ return ""
385
+ #return "init#{umlprop.java_NameBean}();/* #{umlprop.class} */"
386
+ end
387
+ end
388
+ class JavaMappingGenericEnum < JavaMapping
389
+ # Protege string to Java code conversions
390
+ def prot_convertToJava(umlprop,valitem)
391
+ lit=nil
392
+ umlprop.uml_type_one.uml_ownedLiteral.each { |i|
393
+ next if i.to_s!=valitem.to_s
394
+ lit=i
395
+ }
396
+ return "#{umlprop.uml_type_one.java_qualifiedName}.#{lit.java_Name}"
397
+ end
398
+ end
@@ -0,0 +1,7 @@
1
+ module Ontomde
2
+ module Uml2
3
+ module Kbjava
4
+ VERSION = '1.0.4'
5
+ end
6
+ end
7
+ end
File without changes
metadata ADDED
@@ -0,0 +1,89 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ontomde-uml2-kbjava
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-kb
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: ontomde-uml2-java
26
+ version_requirement:
27
+ version_requirements: !ruby/object:Gem::Requirement
28
+ requirements:
29
+ - - "="
30
+ - !ruby/object:Gem::Version
31
+ version: 1.0.4
32
+ version:
33
+ - !ruby/object:Gem::Dependency
34
+ name: hoe
35
+ version_requirement:
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 1.5.0
41
+ version:
42
+ description: "ontomde-uml2-kbjava is a library to generate tests data as java code and java junit from Prot\xE9g\xE9 2000 data project generated with ontomde-uml2-kb. ontomde-uml2-kbjava should be used through ontomde-java-frontend command line utility. == FEATURES/PROBLEMS: * generator assumes JPA persistence is used. == SYNOPSIS:"
43
+ email: stephanepierre.carrie@orange-ftgroup.com
44
+ executables: []
45
+
46
+ extensions: []
47
+
48
+ extra_rdoc_files:
49
+ - History.txt
50
+ - Manifest.txt
51
+ - README.txt
52
+ files:
53
+ - History.txt
54
+ - Manifest.txt
55
+ - README.txt
56
+ - Rakefile
57
+ - lib/ontomde-uml2-kbjava.rb
58
+ - lib/ontomde-uml2-kbjava/version.rb
59
+ - lib/ontomde-uml2-kbjava/rdfToJava.rb
60
+ - test/test_ontomde-uml2-kbjava.rb
61
+ has_rdoc: true
62
+ homepage: http://ontomde.rubyforge.org
63
+ post_install_message:
64
+ rdoc_options:
65
+ - --main
66
+ - README.txt
67
+ require_paths:
68
+ - lib
69
+ required_ruby_version: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: 1.8.6
74
+ version:
75
+ required_rubygems_version: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ version: 1.0.0
80
+ version:
81
+ requirements: []
82
+
83
+ rubyforge_project: ontomde
84
+ rubygems_version: 1.0.1
85
+ signing_key:
86
+ specification_version: 2
87
+ summary: OntoMDE Protege 2000 java data-test cartridge
88
+ test_files:
89
+ - test/test_ontomde-uml2-kbjava.rb