jrjackson 0.2.9 → 0.3.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.
- checksums.yaml +4 -4
- data/{.jrubyrc → .__jrubyrc} +2 -2
- data/.gitignore +5 -0
- data/Gemfile +1 -0
- data/alt_bench.rb +46 -0
- data/dependency-reduced-pom.xml +6 -5
- data/lib/jrjackson/build_info.rb +2 -2
- data/lib/jrjackson/jars/jrjackson-1.2.16.jar +0 -0
- data/lib/jrjackson/jrjackson.rb +38 -13
- data/pom.xml +11 -10
- data/run_all_individual_bench.sh +17 -15
- data/run_jruby_individual_bench.sh +20 -0
- data/run_mri_individual_bench.sh +7 -0
- data/src/main/java/com/jrjackson/IParseHandler.java +53 -0
- data/src/main/java/com/jrjackson/JavaBigDecimalValueConverter.java +17 -0
- data/src/main/java/com/jrjackson/JavaBigIntValueConverter.java +17 -0
- data/src/main/java/com/jrjackson/JavaConverter.java +10 -0
- data/src/main/java/com/jrjackson/JavaFloatValueConverter.java +16 -0
- data/src/main/java/com/jrjackson/JavaHandler.java +118 -0
- data/src/main/java/com/jrjackson/JavaLongValueConverter.java +16 -0
- data/src/main/java/com/jrjackson/JjParse.java +147 -0
- data/src/main/java/com/jrjackson/JrJacksonBase.java +159 -0
- data/src/main/java/com/jrjackson/JrJacksonJava.java +81 -0
- data/src/main/java/com/jrjackson/JrJacksonRaw.java +59 -102
- data/src/main/java/com/jrjackson/JrJacksonRuby.java +117 -0
- data/src/main/java/com/jrjackson/JrJacksonSaj.java +26 -0
- data/src/main/java/com/jrjackson/JrJacksonSch.java +25 -0
- data/src/main/java/com/jrjackson/JrJacksonService.java +15 -0
- data/src/main/java/com/jrjackson/JrParse.java +149 -0
- data/src/main/java/com/jrjackson/RubyAnySerializer.java +112 -55
- data/src/main/java/com/jrjackson/RubyBigDecimalValueConverter.java +18 -0
- data/src/main/java/com/jrjackson/RubyBigIntValueConverter.java +21 -0
- data/src/main/java/com/jrjackson/RubyConverter.java +12 -0
- data/src/main/java/com/jrjackson/RubyDateFormat.java +36 -0
- data/src/main/java/com/jrjackson/RubyFloatValueConverter.java +18 -0
- data/src/main/java/com/jrjackson/RubyHandler.java +119 -0
- data/src/main/java/com/jrjackson/RubyIntValueConverter.java +18 -0
- data/src/main/java/com/jrjackson/RubyJacksonModule.java +40 -38
- data/src/main/java/com/jrjackson/RubyNameConverter.java +9 -0
- data/src/main/java/com/jrjackson/RubyObjectDeserializer.java +24 -33
- data/src/main/java/com/jrjackson/RubyStringConverter.java +1 -2
- data/src/main/java/com/jrjackson/{RubySymbolConverter.java → RubyStringKeyConverter.java} +3 -2
- data/src/main/java/com/jrjackson/RubyStringNameConverter.java +12 -0
- data/src/main/java/com/jrjackson/RubySymbolKeyConverter.java +15 -0
- data/src/main/java/com/jrjackson/RubySymbolNameConverter.java +12 -0
- data/src/main/java/com/jrjackson/RubyUtils.java +40 -1
- data/src/main/java/com/jrjackson/SajParse.java +169 -0
- data/src/main/java/com/jrjackson/SchParse.java +209 -0
- data/src/main/java/com/jrjackson/StreamParse.java +66 -0
- data/test/jrjackson_test.rb +271 -6
- metadata +49 -17
- data/src/test/java/com/jrjackson/jruby/AppTest.java +0 -38
data/test/jrjackson_test.rb
CHANGED
@@ -12,6 +12,15 @@ require 'stringio'
|
|
12
12
|
require 'time'
|
13
13
|
|
14
14
|
class JrJacksonTest < Test::Unit::TestCase
|
15
|
+
# def test_serialize_date
|
16
|
+
# # default date format
|
17
|
+
# time_string = "2014-12-18 18:18:18 +0000"
|
18
|
+
# source_time = Time.parse(time_string)
|
19
|
+
# # source_time = Date.today
|
20
|
+
# serialized_output = JrJackson::Json.dump({current_time: source_time})
|
21
|
+
# assert_equal %Q{{"current_time":"#{time_string}"}}, serialized_output
|
22
|
+
# end
|
23
|
+
# end
|
15
24
|
|
16
25
|
class CustomToH
|
17
26
|
attr_accessor :one, :two, :six
|
@@ -48,12 +57,163 @@ class JrJacksonTest < Test::Unit::TestCase
|
|
48
57
|
@now = tm
|
49
58
|
end
|
50
59
|
def to_time
|
51
|
-
@now
|
60
|
+
@now.to_time
|
52
61
|
end
|
53
62
|
end
|
54
63
|
|
55
64
|
CustomStruct = Struct.new(:one, :two, :six)
|
56
65
|
|
66
|
+
|
67
|
+
class ScHandler
|
68
|
+
attr_accessor :calls
|
69
|
+
|
70
|
+
def initialize(arr = [])
|
71
|
+
@calls = arr
|
72
|
+
end
|
73
|
+
|
74
|
+
def hash_start()
|
75
|
+
@calls << [:hash_start]
|
76
|
+
{}
|
77
|
+
end
|
78
|
+
|
79
|
+
def hash_end()
|
80
|
+
@calls << [:hash_end]
|
81
|
+
end
|
82
|
+
|
83
|
+
def hash_key(key)
|
84
|
+
@calls << [:hash_key, key]
|
85
|
+
return 'too' if 'two' == key
|
86
|
+
return :symbol if 'symbol' == key
|
87
|
+
key
|
88
|
+
end
|
89
|
+
|
90
|
+
def array_start()
|
91
|
+
@calls << [:array_start]
|
92
|
+
[]
|
93
|
+
end
|
94
|
+
|
95
|
+
def array_end()
|
96
|
+
@calls << [:array_end]
|
97
|
+
end
|
98
|
+
|
99
|
+
def add_value(value)
|
100
|
+
@calls << [:add_value, value]
|
101
|
+
end
|
102
|
+
|
103
|
+
def hash_set(h, key, value)
|
104
|
+
# h[key] = value
|
105
|
+
@calls << [:hash_set, key, value]
|
106
|
+
end
|
107
|
+
|
108
|
+
def array_append(a, value)
|
109
|
+
# a.push(value)
|
110
|
+
@calls << [:array_append, value]
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
JsonString = %Q|{
|
115
|
+
"array": [
|
116
|
+
{
|
117
|
+
"num" : 3,
|
118
|
+
"string": "message",
|
119
|
+
"hash" : {
|
120
|
+
"h2" : {
|
121
|
+
"a" : [ 1, 2, 3 ]
|
122
|
+
}
|
123
|
+
}
|
124
|
+
}
|
125
|
+
],
|
126
|
+
"boolean" : true
|
127
|
+
}|
|
128
|
+
|
129
|
+
def test_sc_parse
|
130
|
+
array = []
|
131
|
+
handler = ScHandler.new(array)
|
132
|
+
JrJackson::Json.sc_load(handler, JsonString)
|
133
|
+
assert_equal(
|
134
|
+
[
|
135
|
+
[:hash_start],
|
136
|
+
[:array_start],
|
137
|
+
[:hash_start],
|
138
|
+
[:hash_key, 'num'],
|
139
|
+
[:hash_set, "num", 3],
|
140
|
+
[:hash_key, 'string'],
|
141
|
+
[:hash_set, "string", "message"],
|
142
|
+
[:hash_start],
|
143
|
+
[:hash_start],
|
144
|
+
[:array_start],
|
145
|
+
[:array_append, 1],
|
146
|
+
[:array_append, 2],
|
147
|
+
[:array_append, 3],
|
148
|
+
[:array_end],
|
149
|
+
[:hash_key, "a"],
|
150
|
+
[:hash_set, "a", []],
|
151
|
+
[:hash_end],
|
152
|
+
[:hash_key, "h2"],
|
153
|
+
[:hash_set, "h2", {}],
|
154
|
+
[:hash_end],
|
155
|
+
[:hash_key, "hash"],
|
156
|
+
[:hash_set, "hash", {}],
|
157
|
+
[:hash_end],
|
158
|
+
[:array_append, {}],
|
159
|
+
[:array_end],
|
160
|
+
[:hash_key, "array"],
|
161
|
+
[:hash_set, "array", []],
|
162
|
+
[:hash_key, 'boolean'],
|
163
|
+
[:hash_set, "boolean", true],
|
164
|
+
[:hash_end],
|
165
|
+
[:add_value, {}]
|
166
|
+
],
|
167
|
+
handler.calls
|
168
|
+
)
|
169
|
+
end
|
170
|
+
|
171
|
+
class SjHandler
|
172
|
+
attr_reader :calls
|
173
|
+
def initialize(arr = []) @calls = arr; end
|
174
|
+
def hash_start(key) @calls << [:hash_start, key]; end
|
175
|
+
def hash_end(key) @calls << [:hash_end, key]; end
|
176
|
+
def array_start(key) @calls << [:array_start, key]; end
|
177
|
+
def array_end(key) @calls << [:array_end, key]; end
|
178
|
+
def add_value(value, key) @calls << [:add_value, value, key]; end
|
179
|
+
def error(message, line, column) @calls << [:error, message, line, column]; end
|
180
|
+
end
|
181
|
+
|
182
|
+
def test_sj_parse
|
183
|
+
handler = SjHandler.new()
|
184
|
+
JrJackson::Json.sj_load(handler, JsonString)
|
185
|
+
assert_equal(
|
186
|
+
[
|
187
|
+
[:hash_start, nil],
|
188
|
+
[:array_start, 'array'],
|
189
|
+
[:hash_start, nil],
|
190
|
+
[:add_value, 3, 'num'],
|
191
|
+
[:add_value, 'message', 'string'],
|
192
|
+
[:hash_start, 'hash'],
|
193
|
+
[:hash_start, 'h2'],
|
194
|
+
[:array_start, 'a'],
|
195
|
+
[:add_value, 1, nil],
|
196
|
+
[:add_value, 2, nil],
|
197
|
+
[:add_value, 3, nil],
|
198
|
+
[:array_end, 'a'],
|
199
|
+
[:hash_end, 'h2'],
|
200
|
+
[:hash_end, 'hash'],
|
201
|
+
[:hash_end, nil],
|
202
|
+
[:array_end, 'array'],
|
203
|
+
[:add_value, true, 'boolean'],
|
204
|
+
[:hash_end, nil]
|
205
|
+
],
|
206
|
+
handler.calls
|
207
|
+
)
|
208
|
+
end
|
209
|
+
|
210
|
+
def test_datetime
|
211
|
+
h = {datetime: DateTime.parse("2014-01-27T18:24:46+01:00")}
|
212
|
+
expected = '{"datetime":"2014-01-27 17:24:46 +0000"}'
|
213
|
+
actual = JrJackson::Json.dump(h)
|
214
|
+
assert_equal expected, actual
|
215
|
+
end
|
216
|
+
|
57
217
|
def test_threading
|
58
218
|
q1, q2, q3 = Queue.new, Queue.new, Queue.new
|
59
219
|
|
@@ -79,26 +239,35 @@ class JrJacksonTest < Test::Unit::TestCase
|
|
79
239
|
json_string = JrJackson::Json.dump({"utf8" => "żółć"})
|
80
240
|
expected = {utf8: "żółć"}
|
81
241
|
actual = JrJackson::Json.load(json_string, :symbolize_keys => true)
|
242
|
+
|
243
|
+
assert_equal expected, actual
|
244
|
+
end
|
245
|
+
|
246
|
+
def test_deserialize_JSON_with_two_entries
|
247
|
+
json_string = JrJackson::Json.dump({'foo' => 'foo_value', 'bar' => 'bar_value'})
|
248
|
+
expected = {foo: 'foo_value', bar: 'bar_value'}
|
249
|
+
actual = JrJackson::Json.load(json_string, :symbolize_keys => true)
|
82
250
|
assert_equal expected, actual
|
83
251
|
end
|
84
252
|
|
85
253
|
def test_serialize_non_json_datatypes_as_values
|
86
254
|
dt = Time.now
|
255
|
+
today = Date.today
|
87
256
|
co1 = CustomToH.new("uno", :two, 6.0)
|
88
257
|
co2 = CustomToHash.new("uno", :two, 6.0)
|
89
258
|
co3 = CustomToJson.new(1.0, 2, 6.0)
|
90
259
|
co4 = CustomStruct.new(1, 2, 6)
|
91
|
-
co5 = CustomToTime.new(
|
260
|
+
co5 = CustomToTime.new(today)
|
92
261
|
source = {'sym' => :a_symbol, 'dt' => dt, 'co1' => co1, 'co2' => co2, 'co3' => co3, 'co4' => co4, 'co5' => co5}
|
93
262
|
json_string = JrJackson::Json.dump(source)
|
94
263
|
expected = {
|
95
264
|
:sym => "a_symbol",
|
96
|
-
:dt => dt.
|
265
|
+
:dt => dt.to_s,
|
97
266
|
:co1 => {:one => "uno", :two => "two", :six => 6.0 },
|
98
267
|
:co2 => {:one => "uno", :two => "two", :six => 6.0 },
|
99
268
|
:co3 => {:one => 1.0, :two => 2.0, :six => 6.0 },
|
100
269
|
:co4 => [1, 2, 6],
|
101
|
-
:co5 =>
|
270
|
+
:co5 => today.to_time.to_s
|
102
271
|
}
|
103
272
|
actual = JrJackson::Json.load(json_string, :symbolize_keys => true)
|
104
273
|
assert_equal expected, actual
|
@@ -153,6 +322,89 @@ class JrJacksonTest < Test::Unit::TestCase
|
|
153
322
|
assert_equal "{\"time\":\"2014-06-10T22:18:40.000Z\"}", JrJackson::Json.dump({"time" => time}, :date_format => "yyyy-MM-dd'T'HH:mm:ss.SSSX", :timezone => "UTC")
|
154
323
|
end
|
155
324
|
|
325
|
+
def test_can_parse_returning_java_objects
|
326
|
+
expected = {"arr"=>[2, 3, 4],
|
327
|
+
"flo"=>0.333E1,
|
328
|
+
"moo"=>"bar",
|
329
|
+
"utf8"=>"żółć",
|
330
|
+
"zzz"=>{"bar"=>-9}}
|
331
|
+
json = '{"utf8":"żółć", "moo": "bar", "zzz": {"bar":-9}, "arr": [2,3,4], "flo": 3.33}'
|
332
|
+
|
333
|
+
actual = JrJackson::Json.parse_java(json)
|
334
|
+
|
335
|
+
assert_equal Java::JavaUtil::HashMap, actual.class
|
336
|
+
assert_equal Java::JavaUtil::ArrayList, actual["arr"].class
|
337
|
+
assert_equal Java::JavaMath::BigDecimal, actual["flo"].class
|
338
|
+
assert_equal "3.33", actual["flo"].to_s
|
339
|
+
assert_equal "bar", actual["moo"]
|
340
|
+
assert_equal "żółć", actual["utf8"]
|
341
|
+
assert_equal Java::JavaUtil::HashMap, actual["zzz"].class
|
342
|
+
assert_equal Bignum, actual["zzz"]["bar"].class
|
343
|
+
assert_equal -9, actual["zzz"]["bar"]
|
344
|
+
end
|
345
|
+
|
346
|
+
def test_can_parse_returning_ruby_objects_string_keys
|
347
|
+
expected = {
|
348
|
+
"a"=>"żółć", # string
|
349
|
+
"b"=>true, # boolean
|
350
|
+
"c"=>12345, # number
|
351
|
+
"d"=>
|
352
|
+
[true,
|
353
|
+
[false,
|
354
|
+
[-123456789, nil],
|
355
|
+
0.39676E1,
|
356
|
+
["Something else.", false],
|
357
|
+
nil]], # mix it up array
|
358
|
+
"e"=>{"zero"=>nil, "one"=>1, "two"=>2, "three"=>[3], "four"=>[0, 1, 2, 3, 4]}, # hash
|
359
|
+
"żółć"=>nil,# nil
|
360
|
+
"h"=>{"a"=>{"b"=>{"c"=>{"d"=>{"e"=>{"f"=>{"g"=>nil}}}}}}},# deep hash, not that deep
|
361
|
+
"i"=>[[[[[[[nil]]]]]]] # deep array, again, not that deep
|
362
|
+
}
|
363
|
+
json = JrJackson::Json.dump(expected)
|
364
|
+
actual = JrJackson::Json.parse_ruby(json)
|
365
|
+
assert_equal expected, actual
|
366
|
+
actual = JrJackson::Ruby.parse(json, {})
|
367
|
+
assert_equal expected, actual
|
368
|
+
end
|
369
|
+
|
370
|
+
def test_can_compat_parse_returning_ruby_objects_string_keys
|
371
|
+
expected = {
|
372
|
+
"a"=>"żółć", # string
|
373
|
+
"b"=>true, # boolean
|
374
|
+
"c"=>12345, # number
|
375
|
+
"d"=>
|
376
|
+
[true,
|
377
|
+
[false,
|
378
|
+
[-123456789, nil],
|
379
|
+
0.39676E1,
|
380
|
+
["Something else.", false],
|
381
|
+
nil]], # mix it up array
|
382
|
+
"e"=>{"zero"=>nil, "one"=>1, "two"=>2, "three"=>[3], "four"=>[0, 1, 2, 3, 4]}, # hash
|
383
|
+
"żółć"=>nil,# nil
|
384
|
+
"h"=>{"a"=>{"b"=>{"c"=>{"d"=>{"e"=>{"f"=>{"g"=>nil}}}}}}},# deep hash, not that deep
|
385
|
+
"i"=>[[[[[[[nil]]]]]]] # deep array, again, not that deep
|
386
|
+
}
|
387
|
+
json = JrJackson::Json.dump(expected)
|
388
|
+
actual = JrJackson::Ruby.compat_parse(json, {})
|
389
|
+
assert_equal expected, actual
|
390
|
+
end
|
391
|
+
|
392
|
+
def test_can_parse_returning_ruby_objects_symbol_keys
|
393
|
+
expected = {:a=>"Alpha",
|
394
|
+
:b=>true,
|
395
|
+
:c=>12345,
|
396
|
+
:d=>
|
397
|
+
[true, [false, [-123456789, nil], 3.9676, ["Something else.", false], nil]],
|
398
|
+
:e=>{:zero=>nil, :one=>1, :two=>2, :three=>[3], :four=>[0, 1, 2, 3, 4]},
|
399
|
+
:f=>nil,
|
400
|
+
:h=>{:a=>{:b=>{:c=>{:d=>{:e=>{:f=>{:g=>nil}}}}}}},
|
401
|
+
:i=>[[[[[[[nil]]]]]]]
|
402
|
+
}
|
403
|
+
json = JrJackson::Json.dump(expected)
|
404
|
+
actual = JrJackson::Ruby.parse_sym(json, {})
|
405
|
+
assert_equal expected, actual
|
406
|
+
end
|
407
|
+
|
156
408
|
def test_can_parse_nulls
|
157
409
|
expected = {"foo" => nil}
|
158
410
|
json = '{"foo":null}'
|
@@ -163,7 +415,7 @@ class JrJacksonTest < Test::Unit::TestCase
|
|
163
415
|
def test_stringio
|
164
416
|
expected = {"foo" => 5, "utf8" => "żółć"}
|
165
417
|
json = ::StringIO.new('{"foo":5, "utf8":"żółć"}')
|
166
|
-
actual = JrJackson::Json.
|
418
|
+
actual = JrJackson::Json.load_ruby(json)
|
167
419
|
assert_equal expected, actual
|
168
420
|
end
|
169
421
|
|
@@ -200,8 +452,12 @@ class JrJacksonTest < Test::Unit::TestCase
|
|
200
452
|
actual = JrJackson::Json.parse(json, :use_bigdecimal => true, :symbolize_keys => true)[:foo]
|
201
453
|
assert_bigdecimal_equal expected, actual
|
202
454
|
|
455
|
+
actual = JrJackson::Java.parse(json, {})['foo']
|
456
|
+
assert_bigdecimal_similar expected, actual
|
457
|
+
|
203
458
|
actual = JrJackson::Json.parse(json, :use_bigdecimal => true, :raw => true)['foo']
|
204
459
|
assert_bigdecimal_similar expected, actual
|
460
|
+
|
205
461
|
end
|
206
462
|
|
207
463
|
def test_cannot_serialize_object
|
@@ -214,6 +470,15 @@ class JrJacksonTest < Test::Unit::TestCase
|
|
214
470
|
assert_match /Cannot find Serializer for class: org.jruby.RubyBasicObject/, err.message
|
215
471
|
end
|
216
472
|
|
473
|
+
def test_supports_pretty_printing
|
474
|
+
object = {"foo" => 5, "utf8" => "żółć"}
|
475
|
+
|
476
|
+
actual = JrJackson::Json.dump(object, :pretty => true)
|
477
|
+
assert_equal "{\n \"foo\" : 5,\n \"utf8\" : \"żółć\"\n}", actual
|
478
|
+
end
|
479
|
+
|
480
|
+
# -----------------------------
|
481
|
+
|
217
482
|
def assert_bigdecimal_equal(expected, actual)
|
218
483
|
assert_equal expected, actual
|
219
484
|
assert_equal expected.class, actual.class
|
@@ -221,7 +486,7 @@ class JrJacksonTest < Test::Unit::TestCase
|
|
221
486
|
end
|
222
487
|
|
223
488
|
def assert_bigdecimal_similar(expected, actual)
|
224
|
-
assert_equal BigDecimal.new(expected.to_s), BigDecimal.new(actual.to_s)
|
489
|
+
assert_equal BigDecimal.new(expected.to_s).round(11), BigDecimal.new(actual.to_s).round(11)
|
225
490
|
assert_equal Java::JavaMath::BigDecimal, actual.class
|
226
491
|
end
|
227
492
|
|
metadata
CHANGED
@@ -1,27 +1,27 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jrjackson
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Guy Boertje
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-09-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name: bundler
|
15
14
|
requirement: !ruby/object:Gem::Requirement
|
16
15
|
requirements:
|
17
|
-
- -
|
16
|
+
- - ~>
|
18
17
|
- !ruby/object:Gem::Version
|
19
18
|
version: '1.0'
|
20
|
-
|
19
|
+
name: bundler
|
21
20
|
prerelease: false
|
21
|
+
type: :development
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.0'
|
27
27
|
description: A mostly native JRuby wrapper for the java jackson json processor jar
|
@@ -31,56 +31,88 @@ executables: []
|
|
31
31
|
extensions: []
|
32
32
|
extra_rdoc_files: []
|
33
33
|
files:
|
34
|
-
-
|
35
|
-
-
|
34
|
+
- .__jrubyrc
|
35
|
+
- .gitignore
|
36
36
|
- Gemfile
|
37
37
|
- README.md
|
38
38
|
- Rakefile
|
39
|
+
- alt_bench.rb
|
39
40
|
- changelog.md
|
40
41
|
- dependency-reduced-pom.xml
|
41
42
|
- jrjackson.gemspec
|
42
43
|
- lib/jrjackson.rb
|
43
44
|
- lib/jrjackson/build_info.rb
|
44
45
|
- lib/jrjackson/jars/jrjackson-1.2.12.jar
|
46
|
+
- lib/jrjackson/jars/jrjackson-1.2.16.jar
|
45
47
|
- lib/jrjackson/jrjackson.rb
|
46
48
|
- lib/require_relative_patch.rb
|
47
49
|
- pom.xml
|
48
50
|
- profiling/profiled.rb
|
49
51
|
- run_all_individual_bench.sh
|
52
|
+
- run_jruby_individual_bench.sh
|
53
|
+
- run_mri_individual_bench.sh
|
54
|
+
- src/main/java/com/jrjackson/IParseHandler.java
|
55
|
+
- src/main/java/com/jrjackson/JavaBigDecimalValueConverter.java
|
56
|
+
- src/main/java/com/jrjackson/JavaBigIntValueConverter.java
|
57
|
+
- src/main/java/com/jrjackson/JavaConverter.java
|
58
|
+
- src/main/java/com/jrjackson/JavaFloatValueConverter.java
|
59
|
+
- src/main/java/com/jrjackson/JavaHandler.java
|
60
|
+
- src/main/java/com/jrjackson/JavaLongValueConverter.java
|
61
|
+
- src/main/java/com/jrjackson/JjParse.java
|
62
|
+
- src/main/java/com/jrjackson/JrJacksonBase.java
|
63
|
+
- src/main/java/com/jrjackson/JrJacksonJava.java
|
50
64
|
- src/main/java/com/jrjackson/JrJacksonRaw.java
|
65
|
+
- src/main/java/com/jrjackson/JrJacksonRuby.java
|
66
|
+
- src/main/java/com/jrjackson/JrJacksonSaj.java
|
67
|
+
- src/main/java/com/jrjackson/JrJacksonSch.java
|
51
68
|
- src/main/java/com/jrjackson/JrJacksonService.java
|
69
|
+
- src/main/java/com/jrjackson/JrParse.java
|
52
70
|
- src/main/java/com/jrjackson/ParseError.java
|
53
71
|
- src/main/java/com/jrjackson/RubyAnySerializer.java
|
72
|
+
- src/main/java/com/jrjackson/RubyBigDecimalValueConverter.java
|
73
|
+
- src/main/java/com/jrjackson/RubyBigIntValueConverter.java
|
74
|
+
- src/main/java/com/jrjackson/RubyConverter.java
|
75
|
+
- src/main/java/com/jrjackson/RubyDateFormat.java
|
76
|
+
- src/main/java/com/jrjackson/RubyFloatValueConverter.java
|
77
|
+
- src/main/java/com/jrjackson/RubyHandler.java
|
78
|
+
- src/main/java/com/jrjackson/RubyIntValueConverter.java
|
54
79
|
- src/main/java/com/jrjackson/RubyJacksonModule.java
|
55
80
|
- src/main/java/com/jrjackson/RubyKeyConverter.java
|
81
|
+
- src/main/java/com/jrjackson/RubyNameConverter.java
|
56
82
|
- src/main/java/com/jrjackson/RubyObjectDeserializer.java
|
57
83
|
- src/main/java/com/jrjackson/RubyStringConverter.java
|
58
|
-
- src/main/java/com/jrjackson/
|
84
|
+
- src/main/java/com/jrjackson/RubyStringKeyConverter.java
|
85
|
+
- src/main/java/com/jrjackson/RubyStringNameConverter.java
|
86
|
+
- src/main/java/com/jrjackson/RubySymbolKeyConverter.java
|
87
|
+
- src/main/java/com/jrjackson/RubySymbolNameConverter.java
|
59
88
|
- src/main/java/com/jrjackson/RubyUtils.java
|
60
|
-
- src/
|
89
|
+
- src/main/java/com/jrjackson/SajParse.java
|
90
|
+
- src/main/java/com/jrjackson/SchParse.java
|
91
|
+
- src/main/java/com/jrjackson/StreamParse.java
|
61
92
|
- test/jrjackson_test.rb
|
62
93
|
homepage: http://github.com/guyboertje/jrjackson
|
63
94
|
licenses:
|
64
95
|
- Apache License 2.0
|
65
96
|
metadata: {}
|
66
|
-
post_install_message:
|
97
|
+
post_install_message:
|
67
98
|
rdoc_options: []
|
68
99
|
require_paths:
|
69
100
|
- lib
|
70
101
|
required_ruby_version: !ruby/object:Gem::Requirement
|
71
102
|
requirements:
|
72
|
-
- -
|
103
|
+
- - '>='
|
73
104
|
- !ruby/object:Gem::Version
|
74
105
|
version: '0'
|
75
106
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
76
107
|
requirements:
|
77
|
-
- -
|
108
|
+
- - '>='
|
78
109
|
- !ruby/object:Gem::Version
|
79
110
|
version: '0'
|
80
111
|
requirements: []
|
81
|
-
rubyforge_project:
|
82
|
-
rubygems_version: 2.4.
|
83
|
-
signing_key:
|
112
|
+
rubyforge_project:
|
113
|
+
rubygems_version: 2.4.8
|
114
|
+
signing_key:
|
84
115
|
specification_version: 4
|
85
116
|
summary: A JRuby wrapper for the java jackson json processor jar
|
86
117
|
test_files: []
|
118
|
+
has_rdoc:
|
@@ -1,38 +0,0 @@
|
|
1
|
-
package com.jrjackson.jruby;
|
2
|
-
|
3
|
-
import junit.framework.Test;
|
4
|
-
import junit.framework.TestCase;
|
5
|
-
import junit.framework.TestSuite;
|
6
|
-
|
7
|
-
/**
|
8
|
-
* Unit test for simple App.
|
9
|
-
*/
|
10
|
-
public class AppTest
|
11
|
-
extends TestCase
|
12
|
-
{
|
13
|
-
/**
|
14
|
-
* Create the test case
|
15
|
-
*
|
16
|
-
* @param testName name of the test case
|
17
|
-
*/
|
18
|
-
public AppTest( String testName )
|
19
|
-
{
|
20
|
-
super( testName );
|
21
|
-
}
|
22
|
-
|
23
|
-
/**
|
24
|
-
* @return the suite of tests being tested
|
25
|
-
*/
|
26
|
-
public static Test suite()
|
27
|
-
{
|
28
|
-
return new TestSuite( AppTest.class );
|
29
|
-
}
|
30
|
-
|
31
|
-
/**
|
32
|
-
* Rigourous Test :-)
|
33
|
-
*/
|
34
|
-
public void testApp()
|
35
|
-
{
|
36
|
-
assertTrue( true );
|
37
|
-
}
|
38
|
-
}
|