mappum 0.2.0

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.
Files changed (56) hide show
  1. data/.gitignore +4 -0
  2. data/LICENSE +15 -0
  3. data/README +53 -0
  4. data/Rakefile +48 -0
  5. data/VERSION +1 -0
  6. data/bin/mapserver.rb +4 -0
  7. data/java-api/pom.xml +63 -0
  8. data/java-api/src/main/java/pl/ivmx/mappum/JavaTransform.java +12 -0
  9. data/java-api/src/main/java/pl/ivmx/mappum/MappumApi.java +83 -0
  10. data/java-api/src/main/java/pl/ivmx/mappum/TreeElement.java +23 -0
  11. data/java-api/src/main/java/pl/ivmx/mappum/WorkdirLoader.java +12 -0
  12. data/java-api/src/test/java/iv/Client.java +237 -0
  13. data/java-api/src/test/java/iv/Person.java +261 -0
  14. data/java-api/src/test/java/pl/ivmx/mappum/MappumTest.java +122 -0
  15. data/java-api/src/test/resources/map/example_map.rb +88 -0
  16. data/lib/mappum.rb +46 -0
  17. data/lib/mappum/autoconv_catalogue.rb +43 -0
  18. data/lib/mappum/dsl.rb +255 -0
  19. data/lib/mappum/java_transform.rb +107 -0
  20. data/lib/mappum/map.rb +194 -0
  21. data/lib/mappum/mapserver/mapgraph.rb +192 -0
  22. data/lib/mappum/mapserver/mapserver.rb +213 -0
  23. data/lib/mappum/mapserver/maptable.rb +80 -0
  24. data/lib/mappum/mapserver/views/doc.erb +15 -0
  25. data/lib/mappum/mapserver/views/main.erb +39 -0
  26. data/lib/mappum/mapserver/views/maptable.erb +16 -0
  27. data/lib/mappum/mapserver/views/rubysource.erb +25 -0
  28. data/lib/mappum/mapserver/views/transform-ws.wsdl.erb +50 -0
  29. data/lib/mappum/mapserver/views/ws-error.erb +10 -0
  30. data/lib/mappum/open_xml_object.rb +68 -0
  31. data/lib/mappum/ruby_transform.rb +199 -0
  32. data/lib/mappum/xml_transform.rb +382 -0
  33. data/mappum.gemspec +117 -0
  34. data/sample/address_fixture.xml +11 -0
  35. data/sample/crm.rb +9 -0
  36. data/sample/crm_client.xsd +28 -0
  37. data/sample/erp.rb +7 -0
  38. data/sample/erp_person.xsd +44 -0
  39. data/sample/example_conversions.rb +12 -0
  40. data/sample/example_map.rb +92 -0
  41. data/sample/example_notypes.rb +77 -0
  42. data/sample/example_when.rb +13 -0
  43. data/sample/person_fixture.xml +23 -0
  44. data/sample/person_fixture_any.xml +26 -0
  45. data/sample/server/map/example_any.rb +28 -0
  46. data/sample/server/map/example_soap4r.rb +59 -0
  47. data/sample/server/mapserver.sh +1 -0
  48. data/sample/server/schema/crm_client.xsd +29 -0
  49. data/sample/server/schema/erp/erp_person.xsd +38 -0
  50. data/test/test_conversions.rb +24 -0
  51. data/test/test_example.rb +175 -0
  52. data/test/test_openstruct.rb +129 -0
  53. data/test/test_soap4r.rb +108 -0
  54. data/test/test_when.rb +35 -0
  55. data/test/test_xml_any.rb +62 -0
  56. metadata +164 -0
data/test/test_when.rb ADDED
@@ -0,0 +1,35 @@
1
+ $:.unshift File.join(File.dirname(__FILE__),'..','lib')
2
+
3
+ require 'mappum/ruby_transform'
4
+ require 'test/unit'
5
+ require 'sample/example_when'
6
+
7
+ class TestWhen < Test::Unit::TestCase
8
+ def test_when
9
+ catalogue = Mappum.catalogue
10
+ rt = Mappum::RubyTransform.new(catalogue)
11
+ foo = OpenStruct.new
12
+ foo.age = 9
13
+ foo.mem =11
14
+ foo.pol =15
15
+ bar = rt.transform(foo, :foo)
16
+ assert_equal(bar.tem, 11)
17
+ assert_equal(bar.gem, nil)
18
+ assert_equal(bar.gol,15)
19
+ foo.mem = 2
20
+ foo.pol = 0
21
+ bar = rt.transform(foo, :foo)
22
+ assert_equal(bar.gem, 2)
23
+ assert_equal(bar.tem, nil)
24
+ assert_equal(bar.gol, nil)
25
+ end
26
+ def test_when_not
27
+ catalogue = Mappum.catalogue
28
+ rt = Mappum::RubyTransform.new(catalogue)
29
+ foo = OpenStruct.new
30
+ foo.age = 99
31
+ bar = rt.transform(foo, :foo)
32
+ assert_equal(bar, nil)
33
+ end
34
+ end
35
+
@@ -0,0 +1,62 @@
1
+ $:.unshift File.join(File.dirname(__FILE__),'..','lib')
2
+ #TODO fix imports
3
+ require 'mappum/xml_transform'
4
+ require 'test/unit'
5
+ require 'rubygems'
6
+ gem 'soap4r'
7
+ gem 'facets'
8
+ require 'facets/equatable'
9
+ require 'soap/marshal'
10
+ require 'sample/example_notypes'
11
+
12
+ NsXMLSchema = "http://www.w3.org/2001/XMLSchema"
13
+ class TestXmlAny < Test::Unit::TestCase
14
+
15
+ def test_xml_any
16
+ catalogue = Mappum.catalogue("NOTYPE-CRM-ERP")
17
+ rt = Mappum::XmlTransform.new(catalogue)
18
+ xml = IO.read("sample/person_fixture_any.xml")
19
+ client_xml = rt.transform(xml, :notype_person_to_client)
20
+
21
+ reg = ::SOAP::Mapping::LiteralRegistry.new()
22
+
23
+ cli = XSD::Mapping::Mapper.new(reg).xml2obj(client_xml)
24
+
25
+ assert_equal("sir", cli.title)
26
+ assert_equal("ASDDSA", cli.id)
27
+ assert_equal("2", cli.sex_id)
28
+ assert_equal("Skoryski", cli.surname)
29
+ assert_equal("Victoria", cli.address.street)
30
+ assert_equal(["j@j.com", "k@k.com", "l@l.com"], cli.emails)
31
+ assert_equal(["21311231", "21311232"], cli.phones)
32
+ assert_equal("09876567", cli.main_phone)
33
+ assert_equal({XSD::QName.new(nil,"ident") => "123212"}, cli.__xmlattr)
34
+
35
+ person2_xml = rt.transform(client_xml, :client)
36
+ person = XSD::Mapping::Mapper.new(reg).xml2obj(xml)
37
+ person2 = XSD::Mapping::Mapper.new(reg).xml2obj(person2_xml)
38
+
39
+ assert_equal(person, person2)
40
+
41
+ end
42
+ def test_xml_any_map_name
43
+ catalogue = Mappum.catalogue("NOTYPE-CRM-ERP")
44
+ rt = Mappum::XmlTransform.new(catalogue)
45
+ xml = IO.read("sample/person_fixture_any.xml")
46
+ client_xml = rt.transform(xml, :person)
47
+
48
+ reg = ::SOAP::Mapping::LiteralRegistry.new()
49
+
50
+ cli = XSD::Mapping::Mapper.new(reg).xml2obj(client_xml)
51
+
52
+ assert_equal("sir", cli.title)
53
+ assert_equal("ASDDSA", cli.id)
54
+ assert_equal("2", cli.sex_id)
55
+ assert_equal("Skoryski", cli.surname)
56
+ assert_equal("Victoria", cli.address.street)
57
+ assert_equal(["j@j.com", "k@k.com", "l@l.com"], cli.emails)
58
+ assert_equal(["21311231", "21311232"], cli.phones)
59
+ assert_equal("09876567", cli.main_phone)
60
+
61
+ end
62
+ end
metadata ADDED
@@ -0,0 +1,164 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mappum
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ platform: ruby
6
+ authors:
7
+ - "Jan Topi\xC5\x84ski"
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-11-08 00:00:00 +01:00
13
+ default_executable: mapserver.rb
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: facets
17
+ type: :runtime
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 2.5.2
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: soap4r
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 1.5.8
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: sinatra
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: 0.9.2
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: thin
47
+ type: :runtime
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 1.2.2
54
+ version:
55
+ - !ruby/object:Gem::Dependency
56
+ name: syntax
57
+ type: :runtime
58
+ version_requirement:
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: 1.0.0
64
+ version:
65
+ description: ""
66
+ email: jtopinski@chatka.org
67
+ executables:
68
+ - mapserver.rb
69
+ extensions: []
70
+
71
+ extra_rdoc_files:
72
+ - LICENSE
73
+ - README
74
+ files:
75
+ - .gitignore
76
+ - LICENSE
77
+ - README
78
+ - Rakefile
79
+ - VERSION
80
+ - bin/mapserver.rb
81
+ - java-api/pom.xml
82
+ - java-api/src/main/java/pl/ivmx/mappum/JavaTransform.java
83
+ - java-api/src/main/java/pl/ivmx/mappum/MappumApi.java
84
+ - java-api/src/main/java/pl/ivmx/mappum/TreeElement.java
85
+ - java-api/src/main/java/pl/ivmx/mappum/WorkdirLoader.java
86
+ - java-api/src/test/java/iv/Client.java
87
+ - java-api/src/test/java/iv/Person.java
88
+ - java-api/src/test/java/pl/ivmx/mappum/MappumTest.java
89
+ - java-api/src/test/resources/map/example_map.rb
90
+ - lib/mappum.rb
91
+ - lib/mappum/autoconv_catalogue.rb
92
+ - lib/mappum/dsl.rb
93
+ - lib/mappum/java_transform.rb
94
+ - lib/mappum/map.rb
95
+ - lib/mappum/mapserver/mapgraph.rb
96
+ - lib/mappum/mapserver/mapserver.rb
97
+ - lib/mappum/mapserver/maptable.rb
98
+ - lib/mappum/mapserver/views/doc.erb
99
+ - lib/mappum/mapserver/views/main.erb
100
+ - lib/mappum/mapserver/views/maptable.erb
101
+ - lib/mappum/mapserver/views/rubysource.erb
102
+ - lib/mappum/mapserver/views/transform-ws.wsdl.erb
103
+ - lib/mappum/mapserver/views/ws-error.erb
104
+ - lib/mappum/open_xml_object.rb
105
+ - lib/mappum/ruby_transform.rb
106
+ - lib/mappum/xml_transform.rb
107
+ - mappum.gemspec
108
+ - sample/address_fixture.xml
109
+ - sample/crm.rb
110
+ - sample/crm_client.xsd
111
+ - sample/erp.rb
112
+ - sample/erp_person.xsd
113
+ - sample/example_conversions.rb
114
+ - sample/example_map.rb
115
+ - sample/example_notypes.rb
116
+ - sample/example_when.rb
117
+ - sample/person_fixture.xml
118
+ - sample/person_fixture_any.xml
119
+ - sample/server/map/example_any.rb
120
+ - sample/server/map/example_soap4r.rb
121
+ - sample/server/mapserver.sh
122
+ - sample/server/schema/crm_client.xsd
123
+ - sample/server/schema/erp/erp_person.xsd
124
+ - test/test_conversions.rb
125
+ - test/test_example.rb
126
+ - test/test_openstruct.rb
127
+ - test/test_soap4r.rb
128
+ - test/test_when.rb
129
+ - test/test_xml_any.rb
130
+ has_rdoc: true
131
+ homepage: http://wiki.github.com/simcha/mappum
132
+ licenses: []
133
+
134
+ post_install_message:
135
+ rdoc_options:
136
+ - --charset=UTF-8
137
+ require_paths:
138
+ - lib
139
+ required_ruby_version: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ version: "0"
144
+ version:
145
+ required_rubygems_version: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - ">="
148
+ - !ruby/object:Gem::Version
149
+ version: "0"
150
+ version:
151
+ requirements: []
152
+
153
+ rubyforge_project:
154
+ rubygems_version: 1.3.5
155
+ signing_key:
156
+ specification_version: 3
157
+ summary: Mappum is the tree to tree (object, bean etc.) mapping DSL.
158
+ test_files:
159
+ - test/test_example.rb
160
+ - test/test_openstruct.rb
161
+ - test/test_when.rb
162
+ - test/test_conversions.rb
163
+ - test/test_xml_any.rb
164
+ - test/test_soap4r.rb