@@ -49,23 +49,23 @@ class Deserializer extends JsonDeserializer<RecommendationsHit> {
4949 @ Override
5050 public RecommendationsHit deserialize (JsonParser jp , DeserializationContext ctxt ) throws IOException {
5151 JsonNode tree = jp .readValueAsTree ();
52- // deserialize RecommendHit
53- if (tree .isObject ()) {
52+ // deserialize TrendingFacetHit
53+ if (tree .isObject () && tree . has ( "facetName" ) && tree . has ( "facetValue" ) ) {
5454 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 );
5756 } catch (Exception e ) {
5857 // 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 )" );
6059 }
6160 }
62- // deserialize TrendingFacetHit
61+ // deserialize RecommendHit
6362 if (tree .isObject ()) {
6463 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 );
6666 } catch (Exception e ) {
6767 // 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 )" );
6969 }
7070 }
7171 throw new AlgoliaRuntimeException (String .format ("Failed to deserialize json element: %s" , tree ));
0 commit comments