@@ -48,6 +48,10 @@ impl Ros2ReflectionMessageParser {
48
48
49
49
// Build Arrow builders for each field in the message
50
50
for field in & message_schema. spec . fields {
51
+ println ! (
52
+ "Creating builder for field: {} of type {:?}" ,
53
+ field. name, field. ty
54
+ ) ;
51
55
let name = field. name . clone ( ) ;
52
56
let builder = arrow_builder_from_type ( & field. ty , & message_schema. dependencies ) ;
53
57
fields. insert (
@@ -78,20 +82,21 @@ impl MessageParser for Ros2ReflectionMessageParser {
78
82
79
83
println ! ( "{}: {:#?}" , msg. channel. topic, value) ;
80
84
81
- // if let Value::Message(message_fields) = value {
82
- // // Iterate over all our builders, adding null values for missing fields
83
- // for (field_name, builder) in &mut self.fields {
84
- // if let Some(field_value) = message_fields.get(field_name) {
85
- // append_value(builder.values(), field_value)?;
86
- // builder.append(true);
87
- // } else {
88
- // append_null_value(builder.values(), field_name, &self.message_schema.spec)?;
89
- // builder.append(false);
90
- // }
91
- // }
92
- // } else {
93
- // return Err(anyhow::anyhow!("Expected message value, got {:?}", value));
94
- // }
85
+ if let Value :: Message ( message_fields) = value {
86
+ // Iterate over all our builders, adding null values for missing fields
87
+ for ( field_name, builder) in & mut self . fields {
88
+ println ! ( "Appending field: {}" , field_name) ;
89
+ if let Some ( field_value) = message_fields. get ( field_name) {
90
+ append_value ( builder. values ( ) , field_value) ?;
91
+ builder. append ( true ) ;
92
+ } else {
93
+ append_null_value ( builder. values ( ) , field_name, & self . message_schema . spec ) ?;
94
+ builder. append ( false ) ;
95
+ }
96
+ }
97
+ } else {
98
+ return Err ( anyhow:: anyhow!( "Expected message value, got {:?}" , value) ) ;
99
+ }
95
100
96
101
Ok ( ( ) )
97
102
}
@@ -101,6 +106,8 @@ impl MessageParser for Ros2ReflectionMessageParser {
101
106
let entity_path = ctx. entity_path ( ) . clone ( ) ;
102
107
let timelines = ctx. build_timelines ( ) ;
103
108
109
+ panic ! ( "done!" ) ;
110
+
104
111
let Self {
105
112
message_schema,
106
113
fields,
0 commit comments