Commit Graph

2043 Commits

Author SHA1 Message Date
Inderjeet Singh
8bcbab629a Added an illustrative comment in the ParamMap precondition check. Added methods to take a formatted message in Preconditions. 2010-07-13 17:24:19 +00:00
Inderjeet Singh
58704f9aad removed the builder method that took String parameter name for better enforcement of type safety. 2010-07-13 17:16:47 +00:00
Inderjeet Singh
16c2832588 Made web-service client non-final to enable its mocks. 2010-07-12 23:10:58 +00:00
Inderjeet Singh
de74482fe8 Implemented hashCode and equals for TypedKey to make it a value object.
Asserted preconditions on constructor input.
2010-07-12 22:13:38 +00:00
Inderjeet Singh
b2af57d288 Added checks to ensure that typeHierarchyAdapter being registered doesn't hide a previously existing one.
Fixed a bug where registerIfAbsent was adding type adapters in the reverse order of priority.
Added toString() to Pair.
2010-06-24 21:51:18 +00:00
Inderjeet Singh
8aedbc84db Added a new GsonBuilder option to register a type adapter for a type hierarchy instead of a single type.
Upgraded Gson version to 1.5 since a new API call is being added.
2010-06-21 23:26:06 +00:00
Inderjeet Singh
6728c742d2 Updated log statements to be localizable. 2010-06-15 20:40:12 +00:00
Joel Leitch
9cd72ca7fb Add new tests with SerializedName annotation that contains a space in the name. 2010-05-28 02:13:11 +00:00
Joel Leitch
855a79a0f0 Stop generating the Parser class on mvn:compile or mvn:package. 2010-05-28 02:11:38 +00:00
Joel Leitch
ba0154867d Add support to allow spaces in the JSON field name. 2010-05-26 17:40:19 +00:00
Joel Leitch
389f918bb8 Add new performance test for large objects (many fields). 2010-05-19 21:29:58 +00:00
Joel Leitch
9c7bfc677a Allow cache size to be configured. 2010-05-19 20:47:27 +00:00
Joel Leitch
2610a2920d Update Parser to add members to an JsonObject within a loop rather than a recursive call. 2010-05-19 20:44:27 +00:00
Inderjeet Singh
e7e2e59f73 added missing put methods with TypedKey 2010-04-21 00:02:25 +00:00
Inderjeet Singh
00b5d77fa6 Revised methods using TypedKey to use the class contained in the TypedKey instead of explicitly asking for it as a method parameter. 2010-04-20 22:45:48 +00:00
Inderjeet Singh
d46fea80db added type cast to fix JDK version mismatch issue 2010-04-03 05:53:11 +00:00
Inderjeet Singh
7a115785b7 Added a getHeader method with a TypedKey in RestRequest. 2010-03-15 13:12:27 +00:00
Inderjeet Singh
d8638badf3 updated Google collections to the latest version 2010-02-16 14:02:42 +00:00
Inderjeet Singh
ad0e0d6f54 Added means to define and implement REST web-service and its clients.
Added missing copyright headers.
Added TypedKey based methods in request/response classes.
2010-02-15 23:24:48 +00:00
Inderjeet Singh
1925fb966c Introduced the notion of TypedKey for a parameter map or spec 2010-02-15 14:46:42 +00:00
Inderjeet Singh
9c8e8bd77e added ability to specify a Gson instance for use in getting a response. 2010-02-03 05:07:52 +00:00
Inderjeet Singh
f300cf35a2 removed Google collections and guice as dependencies 2010-02-02 14:02:35 +00:00
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