@@ -159,7 +159,12 @@ pub extern "C" fn Java_io_bitdrift_capture_CaptureTestJniLibrary_nextUploadedLog
159159 let message: JObject < ' _ > = match log. typed_message ( ) {
160160 StringOrBytes :: String ( s) => env. new_string ( & s) . unwrap ( ) . into ( ) ,
161161 StringOrBytes :: SharedString ( s) => env. new_string ( & * s) . unwrap ( ) . into ( ) ,
162- StringOrBytes :: Bytes ( _) => JObject :: null ( ) ,
162+ StringOrBytes :: StaticString ( s) => env. new_string ( s) . unwrap ( ) . into ( ) ,
163+ StringOrBytes :: Bytes ( _)
164+ | StringOrBytes :: Boolean ( _)
165+ | StringOrBytes :: U64 ( _)
166+ | StringOrBytes :: I64 ( _)
167+ | StringOrBytes :: Double ( _) => JObject :: null ( ) ,
163168 } ;
164169
165170 // TODO(Augustyniak): Extract the logic below into a helper function.
@@ -210,6 +215,26 @@ pub extern "C" fn Java_io_bitdrift_capture_CaptureTestJniLibrary_nextUploadedLog
210215 }
211216 . unwrap ( )
212217 } ,
218+ StringOrBytes :: StaticString ( s) => {
219+ let value = env. new_string ( s) . unwrap ( ) ;
220+
221+ let class = env
222+ . find_class ( "io/bitdrift/capture/providers/FieldValue$StringField" )
223+ . unwrap ( ) ;
224+
225+ let constructor_id = env
226+ . get_method_id ( & class, "<init>" , "(Ljava/lang/String;)V" )
227+ . unwrap ( ) ;
228+
229+ unsafe {
230+ env. new_object_unchecked (
231+ class,
232+ constructor_id,
233+ & [ JValueWrapper :: Object ( value. into ( ) ) . into ( ) ] ,
234+ )
235+ }
236+ . unwrap ( )
237+ } ,
213238 StringOrBytes :: Bytes ( b) => {
214239 let value = env. byte_array_from_slice ( b) . unwrap ( ) ;
215240
@@ -230,6 +255,86 @@ pub extern "C" fn Java_io_bitdrift_capture_CaptureTestJniLibrary_nextUploadedLog
230255 }
231256 . unwrap ( )
232257 } ,
258+ StringOrBytes :: Boolean ( b) => {
259+ let value = env. new_string ( b. to_string ( ) ) . unwrap ( ) ;
260+
261+ let class = env
262+ . find_class ( "io/bitdrift/capture/providers/FieldValue$StringField" )
263+ . unwrap ( ) ;
264+
265+ let constructor_id = env
266+ . get_method_id ( & class, "<init>" , "(Ljava/lang/String;)V" )
267+ . unwrap ( ) ;
268+
269+ unsafe {
270+ env. new_object_unchecked (
271+ class,
272+ constructor_id,
273+ & [ JValueWrapper :: Object ( value. into ( ) ) . into ( ) ] ,
274+ )
275+ }
276+ . unwrap ( )
277+ } ,
278+ StringOrBytes :: U64 ( n) => {
279+ let value = env. new_string ( n. to_string ( ) ) . unwrap ( ) ;
280+
281+ let class = env
282+ . find_class ( "io/bitdrift/capture/providers/FieldValue$StringField" )
283+ . unwrap ( ) ;
284+
285+ let constructor_id = env
286+ . get_method_id ( & class, "<init>" , "(Ljava/lang/String;)V" )
287+ . unwrap ( ) ;
288+
289+ unsafe {
290+ env. new_object_unchecked (
291+ class,
292+ constructor_id,
293+ & [ JValueWrapper :: Object ( value. into ( ) ) . into ( ) ] ,
294+ )
295+ }
296+ . unwrap ( )
297+ } ,
298+ StringOrBytes :: I64 ( n) => {
299+ let value = env. new_string ( n. to_string ( ) ) . unwrap ( ) ;
300+
301+ let class = env
302+ . find_class ( "io/bitdrift/capture/providers/FieldValue$StringField" )
303+ . unwrap ( ) ;
304+
305+ let constructor_id = env
306+ . get_method_id ( & class, "<init>" , "(Ljava/lang/String;)V" )
307+ . unwrap ( ) ;
308+
309+ unsafe {
310+ env. new_object_unchecked (
311+ class,
312+ constructor_id,
313+ & [ JValueWrapper :: Object ( value. into ( ) ) . into ( ) ] ,
314+ )
315+ }
316+ . unwrap ( )
317+ } ,
318+ StringOrBytes :: Double ( n) => {
319+ let value = env. new_string ( n. to_string ( ) ) . unwrap ( ) ;
320+
321+ let class = env
322+ . find_class ( "io/bitdrift/capture/providers/FieldValue$StringField" )
323+ . unwrap ( ) ;
324+
325+ let constructor_id = env
326+ . get_method_id ( & class, "<init>" , "(Ljava/lang/String;)V" )
327+ . unwrap ( ) ;
328+
329+ unsafe {
330+ env. new_object_unchecked (
331+ class,
332+ constructor_id,
333+ & [ JValueWrapper :: Object ( value. into ( ) ) . into ( ) ] ,
334+ )
335+ }
336+ . unwrap ( )
337+ } ,
233338 } ;
234339
235340 _ = fields. put ( & mut env, & key, & value) ;
@@ -369,7 +474,6 @@ pub extern "C" fn Java_io_bitdrift_capture_CaptureTestJniLibrary_runEventsListen
369474 platform_test_helpers:: run_events_listener_target_tests ( & target) ;
370475}
371476
372-
373477#[ no_mangle]
374478pub extern "C" fn Java_io_bitdrift_capture_CaptureTestJniLibrary_disableRuntimeFeature (
375479 mut env : JNIEnv < ' _ > ,
0 commit comments