emf_jruby 0.1.6-java → 0.1.7-java

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