ontomde-uml2-kbjava 1.0.4

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