@@ -523,16 +523,18 @@ public boolean handleUnknownProperty(DeserializationContext ctxt, JsonParser p,
523
523
return true ;
524
524
}
525
525
}).build ();
526
- A aObject = mapper .readValue ("{\" unknownField\" : 1, \" knownField\" : \" test\" }" , A .class );
526
+ A2297 aObject = mapper .readValue ("{\" unknownField\" : 1, \" knownField\" : \" test\" }" ,
527
+ A2297 .class );
527
528
528
529
assertEquals ("test" , aObject .knownField );
529
530
}
530
531
531
- private static class A {
532
+ // For [databind#2297]
533
+ private static class A2297 {
532
534
String knownField ;
533
535
534
536
@ JsonCreator
535
- private A (@ JsonProperty ("knownField" ) String knownField ) {
537
+ private A2297 (@ JsonProperty ("knownField" ) String knownField ) {
536
538
this .knownField = knownField ;
537
539
}
538
540
}
@@ -551,15 +553,18 @@ public void testCustomObjectNode() throws Exception
551
553
public void testCustomArrayNode () throws Exception
552
554
{
553
555
ArrayNode defaultNode = (ArrayNode ) MAPPER .readTree ("[{\" x\" : 1, \" y\" : 2}]" );
554
- CustomArrayNode customArrayNode = new CustomArrayNode (defaultNode );
556
+ DelegatingArrayNode customArrayNode = new DelegatingArrayNode (defaultNode );
555
557
Point [] points = MAPPER .readerFor (Point [].class ).readValue (customArrayNode );
556
558
Point point = points [0 ];
557
559
assertEquals (1 , point .x );
558
560
assertEquals (2 , point .y );
559
561
}
560
562
563
+ // for [databind#3699]
561
564
static class CustomObjectNode extends BaseJsonNode
562
565
{
566
+ private static final long serialVersionUID = 1L ;
567
+
563
568
private final ObjectNode _delegate ;
564
569
565
570
CustomObjectNode (ObjectNode delegate ) {
@@ -681,11 +686,14 @@ public int hashCode() {
681
686
682
687
}
683
688
684
- static class CustomArrayNode extends BaseJsonNode
689
+ // for [databind#3699]
690
+ static class DelegatingArrayNode extends BaseJsonNode
685
691
{
692
+ private static final long serialVersionUID = 1L ;
693
+
686
694
private final ArrayNode _delegate ;
687
695
688
- CustomArrayNode (ArrayNode delegate ) {
696
+ DelegatingArrayNode (ArrayNode delegate ) {
689
697
this ._delegate = delegate ;
690
698
}
691
699
@@ -722,7 +730,7 @@ public void serializeWithType(JsonGenerator g, SerializerProvider ctxt, TypeSeri
722
730
@ Override
723
731
@ SuppressWarnings ("unchecked" )
724
732
public <T extends JsonNode > T deepCopy () {
725
- return (T ) new CustomArrayNode (_delegate );
733
+ return (T ) new DelegatingArrayNode (_delegate );
726
734
}
727
735
728
736
@ Override
@@ -785,17 +793,16 @@ public boolean equals(Object o) {
785
793
if (o == this ) {
786
794
return true ;
787
795
}
788
- if (!(o instanceof CustomArrayNode )) {
796
+ if (!(o instanceof DelegatingArrayNode )) {
789
797
return false ;
790
798
}
791
- CustomArrayNode other = (CustomArrayNode ) o ;
799
+ DelegatingArrayNode other = (DelegatingArrayNode ) o ;
792
800
return this ._delegate .equals (other ._delegate );
793
801
}
794
802
795
803
@ Override
796
804
public int hashCode () {
797
805
return _delegate .hashCode ();
798
806
}
799
-
800
807
}
801
808
}
0 commit comments