William sent me the data off-list. The output of thrift_dump is
attached. I see one list of length zero, and one list of length 36.
Is this what you are seeing on the Java side, or are both lists zero?
If it is the former, then it looks like there is a problem with
the writer,
and I'll have to defer to the Ruby folks.
--David
David Reiss wrote:
Would you mind emailing your .thrift file and the binary blob
sent to
the server? I'll pipe it to thrift_dump (under contrib) to take a
look to see if the Trips are actually there. Or you can do this
yourself
if you want, assuming you can build the C++ libraries.
--David
William Hatch wrote:
Hi Bryan,
Thrift version 20080411-r761018
Now, I just updated the source and rebuilt and installed it the
other
day, but that output isn't looking very good if my assumption
that the
first part is a date string. Updating just now brought it up to
rev
761976
Bill
On Apr 4, 2009, at 12:47 PM, Bryan Duxbury wrote:
What version of Thrift are you using?
-Bryan
On Apr 4, 2009, at 9:31 AM, William Hatch wrote:
Using the same thrift templates to create Ruby and Java class
files. I have a Vehicle object that has an array of Trip
objects as
an attribute. If I create the ruby Vehicle object, push some Trip
objects into it's trips array, serialize it, send it across the
wire (as simple binary data in a post request, not using
thrift for
that) the java deserialized object will give me a zero count for
the Vehicles' trips list, the previously added Trip is not there.
I've confirmed on the ruby side prior to serialization that it is
there. Any pointers? I should point out that I'm able to make
this
happen from cocoa to java no problem, using the same templates
for
generation. Thanks.
William Hatch
{
01: (string) = "2009-04-04T10:10:20-0400",
02: (bool) = true,
03: (bool) = true,
04: (double) = 111.222,
05: (double) = 122.0564,
06: (double) = 255.3968,
07: (double) = -200,
08: (double) = -100,
09: (list) = list<struct>[1] {
[0] = {
01: (string) = "258693",
02: (string) = "1",
03: (i64) = 300,
04: (string) = "2009-04-03T11:50:32-0400",
05: (i16) = 180,
06: (bool) = true,
07: (bool) = true,
08: (bool) = true,
09: (bool) = true,
10: (bool) = true,
11: (i16) = 1,
12: (i16) = 1,
13: (i16) = 1,
14: (list) = list<struct>[0] {
},
15: (list) = list<struct>[36] {
[0] = {
01: (string) = "1",
02: (string) = "UIApplicationDidFinishLaunching",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 0,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[1] = {
01: (string) = "2",
02: (string) = "MyCustomEvent",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 1,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[2] = {
01: (string) = "3",
02: (string) = "UIApplicationWillTerminateNotification",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 2,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[3] = {
01: (string) = "4",
02: (string) = "UIApplicationDidFinishLaunching",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 3,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[4] = {
01: (string) = "5",
02: (string) = "MyCustomEvent",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 0,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[5] = {
01: (string) = "6",
02: (string) = "UIApplicationWillTerminateNotification",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 1,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[6] = {
01: (string) = "7",
02: (string) = "UIApplicationDidFinishLaunching",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 2,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[7] = {
01: (string) = "8",
02: (string) = "MyCustomEvent",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 3,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[8] = {
01: (string) = "9",
02: (string) = "UIApplicationWillTerminateNotification",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 0,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[9] = {
01: (string) = "10",
02: (string) = "UIApplicationDidFinishLaunching",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 1,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[10] = {
01: (string) = "11",
02: (string) = "MyCustomEvent",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 2,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[11] = {
01: (string) = "12",
02: (string) = "UIApplicationWillTerminateNotification",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 3,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[12] = {
01: (string) = "13",
02: (string) = "UIApplicationDidFinishLaunching",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 0,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[13] = {
01: (string) = "14",
02: (string) = "MyCustomEvent",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 1,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[14] = {
01: (string) = "15",
02: (string) = "UIApplicationWillTerminateNotification",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 2,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[15] = {
01: (string) = "16",
02: (string) = "UIApplicationDidFinishLaunching",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 3,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[16] = {
01: (string) = "17",
02: (string) = "MyCustomEvent",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 0,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[17] = {
01: (string) = "18",
02: (string) = "UIApplicationWillTerminateNotification",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 1,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[18] = {
01: (string) = "19",
02: (string) = "UIApplicationDidFinishLaunching",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 2,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[19] = {
01: (string) = "20",
02: (string) = "MyCustomEvent",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 3,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[20] = {
01: (string) = "21",
02: (string) = "UIApplicationWillTerminateNotification",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 0,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[21] = {
01: (string) = "22",
02: (string) = "UIApplicationDidFinishLaunching",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 1,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[22] = {
01: (string) = "23",
02: (string) = "MyCustomEvent",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 2,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[23] = {
01: (string) = "24",
02: (string) = "UIApplicationWillTerminateNotification",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 3,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[24] = {
01: (string) = "25",
02: (string) = "UIApplicationDidFinishLaunching",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 0,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[25] = {
01: (string) = "26",
02: (string) = "MyCustomEvent",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 1,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[26] = {
01: (string) = "27",
02: (string) = "UIApplicationWillTerminateNotification",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 2,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[27] = {
01: (string) = "28",
02: (string) = "UIApplicationDidFinishLaunching",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 3,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[28] = {
01: (string) = "29",
02: (string) = "MyCustomEvent",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 0,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[29] = {
01: (string) = "30",
02: (string) = "UIApplicationWillTerminateNotification",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 1,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[30] = {
01: (string) = "31",
02: (string) = "UIApplicationDidFinishLaunching",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 2,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[31] = {
01: (string) = "32",
02: (string) = "MyCustomEvent",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 3,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[32] = {
01: (string) = "33",
02: (string) = "UIApplicationWillTerminateNotification",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 0,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[33] = {
01: (string) = "34",
02: (string) = "UIApplicationDidFinishLaunching",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 1,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[34] = {
01: (string) = "35",
02: (string) = "MyCustomEvent",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 2,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
[35] = {
01: (string) = "36",
02: (string) = "UIApplicationWillTerminateNotification",
03: (string) = "2009-04-03T14:23:24-0400",
04: (i32) = 3,
05: (i16) = 1,
06: (i16) = 1,
07: (i16) = 1,
08: (double) = 122,
09: (double) = 133,
10: (double) = 10,
11: (i16) = 0,
12: (i16) = 0,
14: (double) = 1,
15: (double) = 1,
},
},
16: (string) = "",
},
},
} {