Inderjeet Singh
ef30498833
removed Google collections and guice as dependencies
2010-02-02 14:02:21 +00:00
Inderjeet Singh
a7e3971fdd
Added setting of content-length in requests even if the body is non existent.
...
Fixed logs for requests.
Ensured that streams are not inadvertently closed while copying output.
2010-01-26 14:18:19 +00:00
Inderjeet Singh
dbca5571e0
Added Content-Length to each request that goes out.
...
If a web-service request fails, we try to log as much response as possible.
2010-01-24 15:02:17 +00:00
Inderjeet Singh
e4e9254034
Added an asynchronous client for invoking Web-services. This client uses a queue to hold web-service requests and returns the control back to the caller. A separate thread executes these web-service requests and invokes a caller-suplied callback with the results.
...
Made WebServiceClient reusable across different type of Web-service calls.
Added configurable logging support in RequestSender, ResponseReceiver and WebServiceClients. Added some logging.
Throwing WebServiceSystemException instead of RuntimException.
2010-01-20 13:59:59 +00:00
Inderjeet Singh
0a134db2f0
Added a new interface ResponseBuilder that is implemented by handlers to build a response of a specific type.
...
ResponseSender now sets the content-type of the stream to application/json
2010-01-20 13:53:53 +00:00
Inderjeet Singh
e5c89f1ebc
Added a precondition check to ensure that a parameter being added to a ParamMap is compatible with its spec.
...
Added comments in RequestBody and ResponseBody to indicate that their Gson type adapters must be used.
2010-01-20 13:52:22 +00:00
Inderjeet Singh
51efca8457
Removed dependence on Guice and Collections from wsclient.
...
Renamed Builder.create() methods to Builder.build()
2010-01-19 12:58:52 +00:00
Inderjeet Singh
2bcc832ade
removed dependence on Google Guice and Google Collections libraries
2010-01-19 12:47:11 +00:00
Joel Leitch
bf2a0e4e0b
Adding tests to ensure the adapter from the old to new naming strategy is working properly.
2010-01-10 03:27:59 +00:00
Joel Leitch
9816426bba
Add new Cache interface and LRU Cache implementation to cache field annotations per "Class" (rather than per instance). This results in a significant speed-up (approx. 3X) when serializing/deserializing the same classes over and over again.
2010-01-10 00:32:21 +00:00
Joel Leitch
e6496fddd6
Update JavaDoc to link to the correct interface (FieldNamingStrategy2).
2010-01-09 22:48:53 +00:00
Joel Leitch
e3af076ff2
Deprecate the FieldNamingStrategy interface and replace it with FieldNamingStrategy2. This is the first step to help make it easy to cache field annotations across all instances of a class, etc.
2010-01-09 22:43:27 +00:00
Inderjeet Singh
7079799890
Fixed issue 167 by adding support for TreeSet deserialization. Added tests for serialization/deserialization of treesets.
2010-01-08 19:14:42 +00:00
Inderjeet Singh
058f7344db
Revised the setup for date/time tests to use PST time-zone. This fixes bug 184 by ensuring that tests are run in PST time-zone.
2010-01-08 18:53:39 +00:00
Inderjeet Singh
c5e3c32215
Added missing class
2009-12-28 10:17:40 +00:00
Inderjeet Singh
45bf2db854
Created new projects:
...
1. wsdef: contains classes that are used to define a Gson based JSON web service
2. wsclient: contains classes that are used to write a Gson based web-service client
wsf is now only a server-side framework. Moved classes relevant for wsdef and wsclient from it to the individual projects.
2009-12-28 09:44:47 +00:00
Inderjeet Singh
15fa10943c
Fixed serializers and deserializers for java.sql Date and Time to ensure that Date does't serialize time, and time does't serialize the date portion.
2009-12-04 18:15:00 +00:00
Inderjeet Singh
ebf24fbda5
Fixed issue 134 by adding support for java.sql Date and Timestamp classses.
2009-12-04 01:21:13 +00:00
Joel Leitch
c329d020b9
Make some fields final and initialize immediately.
2009-12-03 23:13:39 +00:00
Joel Leitch
33e816dcf0
More lazy initialization done for FieldAttributes.
2009-12-03 22:28:58 +00:00
Joel Leitch
641390b1a1
Lazily initialize fields in FieldAttributes to prevent multiple Java reflection invocations.
2009-12-03 22:17:39 +00:00
Inderjeet Singh
610580b8d9
exposed final fields of Pair for fast access. Pair is used quite a bit during serialization because of its use in ref stack.
2009-12-03 20:58:22 +00:00
Inderjeet Singh
fff9147988
Added some tests to measure serialization and deserialization performance of Gson based on the discussion in http://groups.google.com/group/google-gson/browse_thread/thread/7a50b17a390dfaeb
...
Surprising just marking a field as exposed halves the performance.
2009-10-20 00:04:34 +00:00
Joel Leitch
015d2016c5
Last JavaDoc Update missed adding the new files.
2009-10-09 23:55:54 +00:00
Joel Leitch
be2631e835
Updating JavaDocs
2009-10-09 23:49:13 +00:00
Joel Leitch
102f8b3a71
Adding a few more assert to the InstanceCreatorTest to ensure that the default values are set for sub class fields.
2009-10-09 21:23:51 +00:00
Joel Leitch
d87d3f807f
Added functional tests for user defined exclusion strategy.
...
Added test to ensure empty/null properties are added for the JsonObject.
2009-10-09 21:12:07 +00:00
Inderjeet Singh
bc1e5c5c99
Ensured that custom deserializer is invoked with actual type returned for field values.
...
Fixed a bug where a top-level object was constructed with default values even when the custom deserializer tried to set it to null.
2009-10-09 19:41:33 +00:00
Inderjeet Singh
338758a0d3
implemented support for deserialization to deserialize to more specific type if an instance creator returns a sub-class.
2009-10-09 18:16:16 +00:00
Joel Leitch
fffb204cee
Removed import for java.util.Map.Entry.
2009-10-09 18:10:43 +00:00
Joel Leitch
de6af4411b
Minor fixes.
2009-10-09 15:43:50 +00:00
Inderjeet Singh
60ef777efc
Fixed custom serilization invocation to correctly handle nulls returned by custom serializer.
2009-10-09 15:28:05 +00:00
Joel Leitch
6387c9028e
Updated JavaDoc formatting
2009-10-09 15:26:34 +00:00
Joel Leitch
81e6ae25f1
Make FieldAttributes public so it can be used by public clients.
2009-10-09 03:11:16 +00:00
Joel Leitch
282ef30280
Updating JavaDoc tag to @code instead of @link.
2009-10-09 03:03:04 +00:00
Inderjeet Singh
e37add7836
Implemented some code review comments from r482
2009-10-09 01:35:45 +00:00
Joel Leitch
6d60a7db1d
Fixed comments from r486.
2009-10-09 00:36:22 +00:00
Inderjeet Singh
2bddd575b3
Code review changes from r476
2009-10-08 23:23:52 +00:00
Joel Leitch
93b0008486
Adding restrictions on the JsonElements to disallow Java "null"s.
2009-10-08 22:03:08 +00:00
Joel Leitch
10c39317a1
Makes ExclusionStrategy public.
2009-10-08 21:52:56 +00:00
Joel Leitch
dc5922e703
Addresses comments in r481 (except for the interface change....leaving FieldAttributes as a class).
...
Change the exclusion order in ObjectNavigator to exclude a top-level class (if exclusion strategy suggests class should be skipped) even if it is marked with a custom (de)serializer.
2009-10-08 20:51:40 +00:00
Inderjeet Singh
e9c156b016
Added inheritance tests using toJson() method as well.
2009-10-08 19:32:15 +00:00
Inderjeet Singh
b634804533
Ensured that a base class custom serializer is run when the type is specified explicitly during serialization. For all other situations, ensured that the actual type of the object is taken into consideration while serializing. First a custom handler corresponding to the actual type is looked up, then a custom handler for the specified type.
...
Created some serialization specific tests regarding custom serializers. Revised some tests to use toJsonTree for better asserts instead of string matching.
2009-10-08 19:28:53 +00:00
Joel Leitch
839b0c2f94
Refactored exclusion strategies so that they can easily be exposed as part of the public API.
2009-10-07 09:23:14 +00:00
Joel Leitch
c892738fbb
Re-enabling the ' (apostrophe) escaping with valid JSON escaping.
2009-10-07 03:48:29 +00:00
Inderjeet Singh
536a968b32
Disabled escaping of single quote since it is valid for JSON (though invalid for JavaScript).
...
Added null checks in contexts since the custom type adapter can pass nulls.
2009-10-06 17:10:52 +00:00
Inderjeet Singh
d416361ac5
Added a test to ensure Gson can use JSON fields to store type information.
2009-10-06 04:25:28 +00:00
Inderjeet Singh
ae85e6cce6
A test to ensure that null values override default values when nulls are present in input Json during deserialization.
2009-10-06 01:55:44 +00:00
Inderjeet Singh
1da3ef9891
Ensured that a custom handler is not visited during deserialization.
...
Ensured that JsonTreeNavigator can handle null values as children of JsonObject. This is now possible since Gson exposes toJson(JsonElement) method to which the user can pass a JsonElement with null values.
2009-10-06 01:15:28 +00:00
Inderjeet Singh
ff74224815
Revised equals and hashcode of ObjectTypePair to ensure reference equality of object instead of value equality. Improved JavaDocs for various 1.4 API methods.
2009-10-05 18:17:52 +00:00