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) = "",
},
},
} {