Centralize all JSON serialization
Reported by Ben Hood | November 17th, 2010 @ 03:52 PM
Currently, JSON serialization is performed in a variety of places:
- JSONEncodingUtils
- AbstractJSONHandler
- ChangesHandler
- ChangesRestClient
- ParticipantHandler
- ParticipantRestClient
These usages should all be in one central place, i.e. the JSONEncodingUtils.
Futhermore, we currently use a mixture of Jackson and Jettison, for various reasons. It might be a good idea to see whether one of those libraries can be eliminated. Whilst the version of Jackson that we currently use (1.5.3) doesn't support Scala collections OOTB, there appears to be some development in this area (see http://jira.codehaus.org/browse/JACKSON-211).
Comments and changes to this ticket
-

Ben Hood December 2nd, 2010 @ 02:59 PM
(from [221c5cdea024377bfdbab2159e30e5a457a49876]) Added wire event, registry and test [#150] https://github.com/lshift/diffa/commit/221c5cdea024377bfdbab2159e30...
-

Ben Hood December 2nd, 2010 @ 03:23 PM
(from [af1581e27bda89a00652eff6e811c8c0261645f9]) Wired in Changes JSON frontends to use new serialization structure [#150] https://github.com/lshift/diffa/commit/af1581e27bda89a00652eff6e811...
-

Ben Hood December 3rd, 2010 @ 07:26 PM
(from [abbb49cf49f325e32d96d74ff3c614825cb9c423]) Implemented content requests [#150] https://github.com/lshift/diffa/commit/abbb49cf49f325e32d96d74ff3c6...
-

Ben Hood December 3rd, 2010 @ 07:26 PM
(from [f6ed9badaf2f97b9f10a61f827bda8e31e4a4068]) Implented content responses [#150] https://github.com/lshift/diffa/commit/f6ed9badaf2f97b9f10a61f827bd...
-

Ben Hood December 3rd, 2010 @ 07:40 PM
(from [f0cf2790fa9f39f6ab84d993df1db7c57879fd63]) Implemented entity body requests [#150] https://github.com/lshift/diffa/commit/f0cf2790fa9f39f6ab84d993df1d...
-

Ben Hood December 7th, 2010 @ 05:44 PM
(from [00636ab71d845bf8e38efbbee030e011f87c0a72]) Implemented processing responses [#150] https://github.com/lshift/diffa/commit/00636ab71d845bf8e38efbbee030...
-

Ben Hood December 7th, 2010 @ 07:24 PM
(from [37170c7fd37aa207bdbeca96aaec3a9346f31ede]) Migrated the action invocation serialization [#150] https://github.com/lshift/diffa/commit/37170c7fd37aa207bdbeca96aaec...
-

Ben Hood December 7th, 2010 @ 07:27 PM
(from [e2093b4bd3014857bc74df1c85f0075d71fc5a49]) Deleted depedency on Jettison in AbstractJSONHandler [#150] https://github.com/lshift/diffa/commit/e2093b4bd3014857bc74df1c85f0...
-

-

-

-

Ben Hood December 22nd, 2010 @ 02:06 PM
(from [058b970b47559ab802bd0b76a02b207527a2c4d4]) Moved wire classes into their own package [#150] https://github.com/lshift/diffa/commit/058b970b47559ab802bd0b76a02b...
-

Ben Hood December 22nd, 2010 @ 02:14 PM
(from [03d5c49416329124d1e8dfcc14b8467bed173e2c]) Removed Jettison from the POMs [#150] https://github.com/lshift/diffa/commit/03d5c49416329124d1e8dfcc14b8...
-

Ben Hood December 22nd, 2010 @ 02:18 PM
(from [bff382a8f4d212757f90b12469bf5e891e4cc1bc]) Bumped the version of Jackson [#150] https://github.com/lshift/diffa/commit/bff382a8f4d212757f90b12469bf...
-

Ben Hood December 22nd, 2010 @ 02:28 PM
- State changed from new to resolved
- Assigned user set to Paul Jones
Changes made:
- All of the serialization is now in the JSONEncodingUtils
- The wire contract is now layered so that the serializer only has to pack/unpack a grab bag of attributes (see the frontend.wire package for this layer)
- Jettison has been removed as a dependency
- Jackson has been upgraded to 1.6.4
- All transitive dependencies of earlier versions of Jackson have been removed
Although there was a remark to Scalarize the Jackson serialization, this feature hasn't yet landed in the upstream, but I have noticed that they've created a project to tackle this: https://github.com/FasterXML/jackson-module-scala
=> resolving
-

Ben Hood December 22nd, 2010 @ 02:28 PM
- no changes were found...
-

-

Paul Jones January 12th, 2011 @ 09:30 AM
- State changed from resolved to closed
QA+ (and merged)
One minor enhancement we could make would be to change serializeSimpleMap to take a list of String, String tuple pairs, thereby allowing it to be invoked like ("message" -> "abcdef")
Please Sign in or create a free account to add a new ticket.
With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป
A Real Time Differencing Tool.
People watching this ticket
Referenced by
-
150
Centralize all JSON serialization
(from [00636ab71d845bf8e38efbbee030e011f87c0a72])
Impleme...
-
150
Centralize all JSON serialization
(from [37170c7fd37aa207bdbeca96aaec3a9346f31ede])
Migrate...
-
150
Centralize all JSON serialization
(from [e2093b4bd3014857bc74df1c85f0075d71fc5a49])
Deleted...
-
150
Centralize all JSON serialization
(from [8ca2adc4396c76fa67a0aabf835d3d96b107f7ae])
Minor t...
-
150
Centralize all JSON serialization
(from [f288812d1f4ce9ce8fdb6d20c2d9c2aa12357f2e])
Introdu...
-
150
Centralize all JSON serialization
(from [c83d6683e737dee8c6ebfb7ea6453b954b2d80bb])
Some mi...
-
2
Generalize entity partition criteria and granularity function
#150 - to refactor all JSON handling
-
150
Centralize all JSON serialization
(from [058b970b47559ab802bd0b76a02b207527a2c4d4])
Moved w...
-
150
Centralize all JSON serialization
(from [03d5c49416329124d1e8dfcc14b8467bed173e2c])
Removed...
-
150
Centralize all JSON serialization
(from [bff382a8f4d212757f90b12469bf5e891e4cc1bc])
Bumped ...
-
150
Centralize all JSON serialization
(from [221c5cdea024377bfdbab2159e30e5a457a49876])
Added w...
-
150
Centralize all JSON serialization
(from [af1581e27bda89a00652eff6e811c8c0261645f9])
Wired i...
-
150
Centralize all JSON serialization
(from [3f04a92421fb076314c78f2a0d5498ca1e345c54])
Merge [...
-
150
Centralize all JSON serialization
(from [abbb49cf49f325e32d96d74ff3c614825cb9c423])
Impleme...
-
150
Centralize all JSON serialization
(from [f6ed9badaf2f97b9f10a61f827bda8e31e4a4068])
Implent...
-
150
Centralize all JSON serialization
(from [f0cf2790fa9f39f6ab84d993df1db7c57879fd63])
Impleme...
-
143
AMQP Transport
We need to introduce a JSON over AMQP transport to betwee...