emf_jruby 0.1.6-java → 0.1.7-java

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,43 @@
1
+ java_import org.eclipse.emf.ecore.EcoreFactory
2
+ java_import org.eclipse.emf.ecore.impl.DynamicEObjectImpl
3
+ java_import org.eclipse.emf.ecore.EcorePackage
4
+
5
+ module EMF
6
+
7
+ EcoreLiterals = JavaUtilities.get_proxy_class('org.eclipse.emf.ecore.EcorePackage$Literals')
8
+
9
+ def self.create_eclass
10
+ EcoreFactory.eINSTANCE.createEClass
11
+ end
12
+
13
+ def self.create_eattribute
14
+ EcoreFactory.eINSTANCE.createEAttribute
15
+ end
16
+
17
+ def self.create_eobject(eclass)
18
+ DynamicEObjectImpl.new eclass
19
+ end
20
+
21
+ def self.rgen_to_eobject(rgen_obj)
22
+ end
23
+
24
+ def self.rgen_to_edatatype(rgen_datatype)
25
+ if rgen_datatype.name=='EString'
26
+ return EcoreLiterals.ESTRING
27
+ else
28
+ raise "I don't know how to deal with datatype #{rgen_datatype} (name=#{rgen_datatype.name})"
29
+ end
30
+ end
31
+
32
+ def self.rgen_to_eclass(rgen_class)
33
+ emf_eclass = create_eclass
34
+ rgen_class.ecore.getEAttributes.each do |a|
35
+ emf_a = create_eattribute
36
+ emf_a.name = a.name
37
+ emf_a.setEType(rgen_to_edatatype(a.eType))
38
+ emf_eclass.getEStructuralFeatures.add emf_a
39
+ end
40
+ emf_eclass
41
+ end
42
+
43
+ end
data/lib/emf/xmi.rb CHANGED
@@ -14,7 +14,7 @@ module EMF
14
14
  resource_set = ResourceSetImpl.new
15
15
  resource = XMIResourceImpl.new
16
16
  resource_set.resources.add resource
17
- resource.contents.add e_object
17
+ resource.contents.add data
18
18
  to_xmi_str(resource)
19
19
  elsif data.is_a? Resource
20
20
  writer = java.io.StringWriter.new
data/lib/emf_jruby.rb CHANGED
@@ -1,7 +1,5 @@
1
- emf_libs = $:.select{|e| e.gsub('emf_jruby').count>0}
2
- raise "One lib containing 'emf_jruby' expected, found: #{emf_libs}" unless emf_libs.count==1
3
-
4
- Dir[emf_libs[0]+"/jars/*.jar"].each do |jar|
1
+ curr_dir = File.dirname(__FILE__)
2
+ Dir[curr_dir+"/jars/*.jar"].each do |jar|
5
3
  require jar
6
4
  end
7
5
 
@@ -10,4 +8,5 @@ require 'emf/emf_to_json'
10
8
  require 'emf/eobject_util'
11
9
  require 'emf/model'
12
10
  require 'emf/xmi'
13
- require 'emf/stats'
11
+ require 'emf/stats'
12
+ require 'emf/rgen_to_emf'
metadata CHANGED
@@ -1,31 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: emf_jruby
3
3
  version: !ruby/object:Gem::Version
4
+ version: 0.1.7
4
5
  prerelease:
5
- version: 0.1.6
6
6
  platform: java
7
7
  authors:
8
8
  - Federico Tomassetti
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-08-02 00:00:00.000000000 Z
12
+ date: 2013-08-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: json
16
16
  version_requirements: !ruby/object:Gem::Requirement
17
17
  requirements:
18
- - - ">="
18
+ - - '>='
19
19
  - !ruby/object:Gem::Version
20
- version: !binary |-
21
- MA==
20
+ version: '0'
22
21
  none: false
23
22
  requirement: !ruby/object:Gem::Requirement
24
23
  requirements:
25
- - - ">="
24
+ - - '>='
26
25
  - !ruby/object:Gem::Version
27
- version: !binary |-
28
- MA==
26
+ version: '0'
29
27
  none: false
30
28
  prerelease: false
31
29
  type: :runtime
@@ -43,6 +41,7 @@ files:
43
41
  - lib/emf/model.rb
44
42
  - lib/emf/xmi.rb
45
43
  - lib/emf/stats.rb
44
+ - lib/emf/rgen_to_emf.rb
46
45
  - lib/jars/org.antlr.runtime_3.0.0.v200803061811.jar
47
46
  - lib/jars/org.eclipse.emf.common_2.8.0.v20130125-0546.jar
48
47
  - lib/jars/org.eclipse.emf.ecore.xmi_2.8.1.v20130125-0546.jar
@@ -55,17 +54,15 @@ require_paths:
55
54
  - lib
56
55
  required_ruby_version: !ruby/object:Gem::Requirement
57
56
  requirements:
58
- - - ">="
57
+ - - '>='
59
58
  - !ruby/object:Gem::Version
60
- version: !binary |-
61
- MA==
59
+ version: '0'
62
60
  none: false
63
61
  required_rubygems_version: !ruby/object:Gem::Requirement
64
62
  requirements:
65
- - - ">="
63
+ - - '>='
66
64
  - !ruby/object:Gem::Version
67
- version: !binary |-
68
- MA==
65
+ version: '0'
69
66
  none: false
70
67
  requirements: []
71
68
  rubyforge_project: