@@ -249,7 +249,7 @@ private JsonObject fetchCaptionandDepictionsFromMediaDetailResponse(MediaDetailR
249
249
Map <String , LinkedTreeMap > datavalue = (Map <String , LinkedTreeMap >) mainsnak .get ("datavalue" );
250
250
LinkedTreeMap value = datavalue .get ("value" );
251
251
String id = value .get ("id" ).toString ();
252
- JsonObject jsonObject = getLabelForDepiction (id )
252
+ JsonObject jsonObject = getLabelForDepiction (id , Locale . getDefault (). getLanguage () )
253
253
.subscribeOn (Schedulers .newThread ())
254
254
.blockingGet ();
255
255
jsonArray .add (jsonObject );
@@ -284,21 +284,22 @@ private JsonObject fetchCaptionandDepictionsFromMediaDetailResponse(MediaDetailR
284
284
* @return Json Object having label and wikidata url for the Depiction Entity
285
285
*/
286
286
287
- public Single <JsonObject > getLabelForDepiction (String entityId ) {
288
- return mediaDetailInterface .fetchLabelForWikidata (entityId )
287
+ public Single <JsonObject > getLabelForDepiction (String entityId , String language ) {
288
+ return mediaDetailInterface .getDepictions (entityId , language )
289
289
.map (jsonResponse -> {
290
290
try {
291
291
if (jsonResponse .get ("success" ).toString ().equals ("1" )) {
292
- JsonArray search = (JsonArray ) jsonResponse .get ("search" );
293
- JsonObject searchElement = (JsonObject ) search .get (0 );
294
- String label = searchElement .get ("label" ).toString ();
295
- String url = searchElement .get ("concepturi" ).toString ();
292
+ JsonObject entities = (JsonObject ) jsonResponse .getAsJsonObject ().get ("entities" );
293
+ JsonObject responseObject = (JsonObject ) entities .getAsJsonObject ().get (entityId );
294
+ JsonObject labels = responseObject .getAsJsonObject ("labels" );
295
+ JsonObject languageObject = labels .getAsJsonObject (language );
296
+ String label = String .valueOf (languageObject .get ("value" ));
297
+
298
+
296
299
JsonElement labelJson = new JsonPrimitive (label );
297
- JsonElement urlJson = new JsonPrimitive (url );
298
300
JsonElement idJson = new JsonPrimitive (entityId );
299
301
JsonObject jsonObject = new JsonObject ();
300
302
jsonObject .add ("label" , labelJson );
301
- jsonObject .add ("url" , urlJson );
302
303
jsonObject .add ("id" , idJson );
303
304
return jsonObject ;
304
305
}
0 commit comments