@@ -49,23 +49,23 @@ class Deserializer extends JsonDeserializer<RecommendationsHit> {
49
49
@ Override
50
50
public RecommendationsHit deserialize (JsonParser jp , DeserializationContext ctxt ) throws IOException {
51
51
JsonNode tree = jp .readValueAsTree ();
52
- // deserialize RecommendHit
53
- if (tree .isObject ()) {
52
+ // deserialize TrendingFacetHit
53
+ if (tree .isObject () && tree . has ( "facetName" ) && tree . has ( "facetValue" ) ) {
54
54
try (JsonParser parser = tree .traverse (jp .getCodec ())) {
55
- RecommendHit value = parser .readValueAs (RecommendHit .class );
56
- return new RecommendationsHit .RecommendHitWrapper (value );
55
+ return parser .readValueAs (TrendingFacetHit .class );
57
56
} catch (Exception e ) {
58
57
// deserialization failed, continue
59
- LOGGER .finest ("Failed to deserialize oneOf RecommendHit (error: " + e .getMessage () + ") (type: RecommendHit )" );
58
+ LOGGER .finest ("Failed to deserialize oneOf TrendingFacetHit (error: " + e .getMessage () + ") (type: TrendingFacetHit )" );
60
59
}
61
60
}
62
- // deserialize TrendingFacetHit
61
+ // deserialize RecommendHit
63
62
if (tree .isObject ()) {
64
63
try (JsonParser parser = tree .traverse (jp .getCodec ())) {
65
- return parser .readValueAs (TrendingFacetHit .class );
64
+ RecommendHit value = parser .readValueAs (RecommendHit .class );
65
+ return new RecommendationsHit .RecommendHitWrapper (value );
66
66
} catch (Exception e ) {
67
67
// deserialization failed, continue
68
- LOGGER .finest ("Failed to deserialize oneOf TrendingFacetHit (error: " + e .getMessage () + ") (type: TrendingFacetHit )" );
68
+ LOGGER .finest ("Failed to deserialize oneOf RecommendHit (error: " + e .getMessage () + ") (type: RecommendHit )" );
69
69
}
70
70
}
71
71
throw new AlgoliaRuntimeException (String .format ("Failed to deserialize json element: %s" , tree ));
0 commit comments