Commit Graph

326 Commits

Author SHA1 Message Date
Jesse Wilson
4c53c0640e Exhaustive test coverage for mixed streaming & binding. 2010-09-03 07:24:59 +00:00
Jesse Wilson
4e28bf3a39 Check in a passing test for issue 204. 2010-09-03 06:44:41 +00:00
Jesse Wilson
202bbfeef0 Fixing the Java 1.5 build. 2010-09-02 09:29:26 +00:00
Jesse Wilson
747e3c3051 Support mixed streaming and databinding with new APIs. 2010-09-02 00:15:23 +00:00
Jesse Wilson
ffdf0e7012 Fix some test problems.
JsonWriter was using suboptimal escape characters for newlines etc: unicode escapes rather than \x escapes.

JsonObjectTest was banning empty and whitespace-only keys. These values are permitted as of r585.
2010-09-02 00:10:26 +00:00
Jesse Wilson
fa40b4c63a Rename GsonReader to Streams; check that class in. 2010-09-02 00:10:02 +00:00
Jesse Wilson
78d1011ec5 Test escaping HTML characters! 2010-09-02 00:03:18 +00:00
Jesse Wilson
486820f515 Fix some test problems.
JsonWriter was using suboptimal escape characters for newlines etc: unicode escapes rather than \x escapes.

JsonObjectTest was banning empty and whitespace-only keys. These values are permitted as of r585.
2010-08-28 08:18:13 +00:00
Jesse Wilson
ff7aa3f331 Escape only the required characters when emitting JSON. This means that instead of emitting
["foo\nbar", "baz"]

we'll emit this:

  ["foo
bar", baz"]

This simple change measured about ~35% faster for in-memory writes!
2010-08-28 07:29:22 +00:00
Jesse Wilson
7e1e4eab07 Remove the constraint that map keys mustn't be the empty string.
See bug 227.
2010-08-28 05:02:33 +00:00
Jesse Wilson
69ecb9465a Test case demonstrating that issue 212 is fixed. We got comment parsing support for free when we switched to JsonReader. 2010-08-27 07:33:33 +00:00
Jesse Wilson
d5741b321f Don't exclude enum constants, even if they are anonymous.
See issue 226.
2010-08-27 07:26:35 +00:00
Jesse Wilson
eb7b1e4ac7 Test attempting (and failing) to reproduce issue 215. 2010-08-27 07:10:00 +00:00
Jesse Wilson
7a7bbf754c Use JsonReader internally rather than JsonParserJavacc.
For raw parsing (ie. new JsonParser().parse()) the parse time has improved substantially. For example, JsonParserJavacc parsed my 48KiB buzz feed in 4.8ms. JsonReader parses the same feed in 0.9ms.

http://microbenchmarks.appspot.com/run/limpbizkit@gmail.com/com.google.gson.GsonBenchmark/430001
2010-08-27 05:59:18 +00:00
Jesse Wilson
765a9f1ecd Brand new classes for streaming JSON efficiently.
Notable features:
 - Efficiency. The parser is faster than the current javacc parser. It's also faster than popular libraries for JSON streaming.
 - Toggle lenient/strict
 - Toggle pretty/compact
 - Friendly error messages on bad JSON
 - GSON-quality Javadoc
 - Non-execute prefix handling

This doesn't wire JsonReader up into Gson just yet. That's coming soon...
2010-08-26 08:44:02 +00:00
Joel Leitch
5bffa1f679 Fix for Issue 178. 2010-08-21 06:50:52 +00:00
Joel Leitch
3fc4bcc061 Minor test fixes. Explicitly fail test if the expected exception was not thrown. 2010-08-21 03:19:17 +00:00
Inderjeet Singh
de0f8da151 replaced unchecked suppressed warnings token with more specific rawtypes.
removed unused imports.
2010-08-20 16:27:46 +00:00
Inderjeet Singh
ed838ec104 replaced unchecked suppressed warnings token with more specific rawtypes 2010-08-20 16:20:37 +00:00
Jesse Wilson
bc5b836103 Test demonstrating a bug reported in issue 182, wherein malformed JSON is emitted when an property name contains a double-quote. 2010-08-20 05:45:51 +00:00
Jesse Wilson
8b5cc3256d Test demonstrating a bug reported in issue 178, wherein malformed JSON is emitted when a map key contains a double-quote. 2010-08-20 05:43:17 +00:00
Inderjeet Singh
cb6de44b56 Javadocs for Gson 1.5 2010-08-20 01:12:27 +00:00
Inderjeet Singh
24fd66f645 removed @since for non-public classes 2010-08-20 00:35:48 +00:00
Inderjeet Singh
dc60cb1931 Made FieldNamingStrategy2 is package protected class.
Made type hierarchy adapter registration package protected.
Marked some of the classes final.
Minor changes in the performance tests.
2010-08-19 00:10:42 +00:00
Joel Leitch
89c18452ae Ensure date with pattern is not override with the "default" date type adapter when a custom JsonSerializer/JsonDeserializer is registered. 2010-08-18 23:58:52 +00:00
Inderjeet Singh
01ce73441e Updated Gson version to 1.5 in maven configuration to match the current version. 2010-07-20 05:32:21 +00:00
Inderjeet Singh
08d3827dae Added methods with TypedKeys 2010-07-20 00:36:40 +00:00
Inderjeet Singh
8122deb364 fixed copyright notice, minor cosmetic changes. 2010-07-20 00:34:40 +00:00
Inderjeet Singh
425a59043d Added an example of a servlet class that uses Gson for web-service implementation. 2010-07-20 00:31:33 +00:00
Inderjeet Singh
c3f61ee5ad Added a test to reproduce bug described in http://groups.google.com/group/google-gson/browse_thread/thread/9591c539e3c19d59
Seems like an invalid bug report as Gson can deserialize primitive values in Integer fields.
2010-07-19 23:32:24 +00:00
Inderjeet Singh
341c4ce5d1 Added an example client to invoke example web-service
Update license files
2010-07-16 16:06:41 +00:00
Inderjeet Singh
8d24fe61f2 fixed the maven configuration file for relative paths 2010-07-13 21:59:35 +00:00
Inderjeet Singh
ceb2f8fdb0 A Web-service example 2010-07-13 21:47:37 +00:00
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