@@ -393,6 +393,55 @@ public ObservabilityPipelineConfigProcessorItem deserialize(
393
393
e );
394
394
}
395
395
396
+ // deserialize ObservabilityPipelineSampleProcessor
397
+ try {
398
+ boolean attemptParsing = true ;
399
+ // ensure that we respect type coercion as set on the client ObjectMapper
400
+ if (ObservabilityPipelineSampleProcessor .class .equals (Integer .class )
401
+ || ObservabilityPipelineSampleProcessor .class .equals (Long .class )
402
+ || ObservabilityPipelineSampleProcessor .class .equals (Float .class )
403
+ || ObservabilityPipelineSampleProcessor .class .equals (Double .class )
404
+ || ObservabilityPipelineSampleProcessor .class .equals (Boolean .class )
405
+ || ObservabilityPipelineSampleProcessor .class .equals (String .class )) {
406
+ attemptParsing = typeCoercion ;
407
+ if (!attemptParsing ) {
408
+ attemptParsing |=
409
+ ((ObservabilityPipelineSampleProcessor .class .equals (Integer .class )
410
+ || ObservabilityPipelineSampleProcessor .class .equals (Long .class ))
411
+ && token == JsonToken .VALUE_NUMBER_INT );
412
+ attemptParsing |=
413
+ ((ObservabilityPipelineSampleProcessor .class .equals (Float .class )
414
+ || ObservabilityPipelineSampleProcessor .class .equals (Double .class ))
415
+ && (token == JsonToken .VALUE_NUMBER_FLOAT
416
+ || token == JsonToken .VALUE_NUMBER_INT ));
417
+ attemptParsing |=
418
+ (ObservabilityPipelineSampleProcessor .class .equals (Boolean .class )
419
+ && (token == JsonToken .VALUE_FALSE || token == JsonToken .VALUE_TRUE ));
420
+ attemptParsing |=
421
+ (ObservabilityPipelineSampleProcessor .class .equals (String .class )
422
+ && token == JsonToken .VALUE_STRING );
423
+ }
424
+ }
425
+ if (attemptParsing ) {
426
+ tmp =
427
+ tree .traverse (jp .getCodec ()).readValueAs (ObservabilityPipelineSampleProcessor .class );
428
+ // TODO: there is no validation against JSON schema constraints
429
+ // (min, max, enum, pattern...), this does not perform a strict JSON
430
+ // validation, which means the 'match' count may be higher than it should be.
431
+ if (!((ObservabilityPipelineSampleProcessor ) tmp ).unparsed ) {
432
+ deserialized = tmp ;
433
+ match ++;
434
+ }
435
+ log .log (Level .FINER , "Input data matches schema 'ObservabilityPipelineSampleProcessor'" );
436
+ }
437
+ } catch (Exception e ) {
438
+ // deserialization failed, continue
439
+ log .log (
440
+ Level .FINER ,
441
+ "Input data does not match schema 'ObservabilityPipelineSampleProcessor'" ,
442
+ e );
443
+ }
444
+
396
445
ObservabilityPipelineConfigProcessorItem ret = new ObservabilityPipelineConfigProcessorItem ();
397
446
if (match == 1 ) {
398
447
ret .setActualInstance (deserialized );
@@ -453,6 +502,11 @@ public ObservabilityPipelineConfigProcessorItem(ObservabilityPipelineRenameField
453
502
setActualInstance (o );
454
503
}
455
504
505
+ public ObservabilityPipelineConfigProcessorItem (ObservabilityPipelineSampleProcessor o ) {
506
+ super ("oneOf" , Boolean .FALSE );
507
+ setActualInstance (o );
508
+ }
509
+
456
510
static {
457
511
schemas .put (
458
512
"ObservabilityPipelineFilterProcessor" ,
@@ -472,6 +526,9 @@ public ObservabilityPipelineConfigProcessorItem(ObservabilityPipelineRenameField
472
526
schemas .put (
473
527
"ObservabilityPipelineRenameFieldsProcessor" ,
474
528
new GenericType <ObservabilityPipelineRenameFieldsProcessor >() {});
529
+ schemas .put (
530
+ "ObservabilityPipelineSampleProcessor" ,
531
+ new GenericType <ObservabilityPipelineSampleProcessor >() {});
475
532
JSON .registerDescendants (
476
533
ObservabilityPipelineConfigProcessorItem .class , Collections .unmodifiableMap (schemas ));
477
534
}
@@ -486,7 +543,7 @@ public Map<String, GenericType> getSchemas() {
486
543
* against the oneOf child schemas: ObservabilityPipelineFilterProcessor,
487
544
* ObservabilityPipelineParseJSONProcessor, ObservabilityPipelineQuotaProcessor,
488
545
* ObservabilityPipelineAddFieldsProcessor, ObservabilityPipelineRemoveFieldsProcessor,
489
- * ObservabilityPipelineRenameFieldsProcessor
546
+ * ObservabilityPipelineRenameFieldsProcessor, ObservabilityPipelineSampleProcessor
490
547
*
491
548
* <p>It could be an instance of the 'oneOf' schemas. The oneOf child schemas may themselves be a
492
549
* composed schema (allOf, anyOf, oneOf).
@@ -523,6 +580,11 @@ public void setActualInstance(Object instance) {
523
580
super .setActualInstance (instance );
524
581
return ;
525
582
}
583
+ if (JSON .isInstanceOf (
584
+ ObservabilityPipelineSampleProcessor .class , instance , new HashSet <Class <?>>())) {
585
+ super .setActualInstance (instance );
586
+ return ;
587
+ }
526
588
527
589
if (JSON .isInstanceOf (UnparsedObject .class , instance , new HashSet <Class <?>>())) {
528
590
super .setActualInstance (instance );
@@ -533,19 +595,19 @@ public void setActualInstance(Object instance) {
533
595
+ " ObservabilityPipelineParseJSONProcessor, ObservabilityPipelineQuotaProcessor,"
534
596
+ " ObservabilityPipelineAddFieldsProcessor,"
535
597
+ " ObservabilityPipelineRemoveFieldsProcessor,"
536
- + " ObservabilityPipelineRenameFieldsProcessor" );
598
+ + " ObservabilityPipelineRenameFieldsProcessor, ObservabilityPipelineSampleProcessor " );
537
599
}
538
600
539
601
/**
540
602
* Get the actual instance, which can be the following: ObservabilityPipelineFilterProcessor,
541
603
* ObservabilityPipelineParseJSONProcessor, ObservabilityPipelineQuotaProcessor,
542
604
* ObservabilityPipelineAddFieldsProcessor, ObservabilityPipelineRemoveFieldsProcessor,
543
- * ObservabilityPipelineRenameFieldsProcessor
605
+ * ObservabilityPipelineRenameFieldsProcessor, ObservabilityPipelineSampleProcessor
544
606
*
545
607
* @return The actual instance (ObservabilityPipelineFilterProcessor,
546
608
* ObservabilityPipelineParseJSONProcessor, ObservabilityPipelineQuotaProcessor,
547
609
* ObservabilityPipelineAddFieldsProcessor, ObservabilityPipelineRemoveFieldsProcessor,
548
- * ObservabilityPipelineRenameFieldsProcessor)
610
+ * ObservabilityPipelineRenameFieldsProcessor, ObservabilityPipelineSampleProcessor )
549
611
*/
550
612
@ Override
551
613
public Object getActualInstance () {
@@ -623,4 +685,16 @@ public ObservabilityPipelineRenameFieldsProcessor getObservabilityPipelineRename
623
685
throws ClassCastException {
624
686
return (ObservabilityPipelineRenameFieldsProcessor ) super .getActualInstance ();
625
687
}
688
+
689
+ /**
690
+ * Get the actual instance of `ObservabilityPipelineSampleProcessor`. If the actual instance is
691
+ * not `ObservabilityPipelineSampleProcessor`, the ClassCastException will be thrown.
692
+ *
693
+ * @return The actual instance of `ObservabilityPipelineSampleProcessor`
694
+ * @throws ClassCastException if the instance is not `ObservabilityPipelineSampleProcessor`
695
+ */
696
+ public ObservabilityPipelineSampleProcessor getObservabilityPipelineSampleProcessor ()
697
+ throws ClassCastException {
698
+ return (ObservabilityPipelineSampleProcessor ) super .getActualInstance ();
699
+ }
626
700
}
0 commit comments