diff --git a/content-api/content-actors/src/main/scala/org/sunbird/content/dial/DIALManager.scala b/content-api/content-actors/src/main/scala/org/sunbird/content/dial/DIALManager.scala index 5bb14c093ad06e4f6a08073c9c36c1291eec6248..5177b1dc27b63fcf9170d2911efa58f9c482af9d 100644 --- a/content-api/content-actors/src/main/scala/org/sunbird/content/dial/DIALManager.scala +++ b/content-api/content-actors/src/main/scala/org/sunbird/content/dial/DIALManager.scala @@ -357,8 +357,13 @@ object DIALManager { val imageCollectionHierarchy = getImageHierarchyResponse.getResult.getOrDefault(ContentConstants.CONTENT, new java.util.HashMap[String, AnyRef]()).asInstanceOf[java.util.Map[String, AnyRef]] val imageChildrenHierarchy = imageCollectionHierarchy.get(ContentConstants.CHILDREN).asInstanceOf[util.List[util.Map[String, AnyRef]]].asScala.toList val imageChildrenAssignedDIALList = getAssignedDIALcodes(imageChildrenHierarchy) - val contentImageAssignedDIALList = if(imageCollectionHierarchy.containsKey(DIALConstants.DIALCODES) && imageCollectionHierarchy.get(DIALConstants.DIALCODES) != null) - imageChildrenAssignedDIALList ++ imageCollectionHierarchy.getOrDefault(DIALConstants.DIALCODES, List.empty[String]).asInstanceOf[List[String]] + val contentImageAssignedDIALList = if(imageCollectionHierarchy.containsKey(DIALConstants.DIALCODES) && imageCollectionHierarchy.get(DIALConstants.DIALCODES) != null) { + val hierarchyDialCode: List[String] = imageCollectionHierarchy.get(DIALConstants.DIALCODES) match { + case strVal: String => ScalaJsonUtils.deserialize(strVal).asInstanceOf[List[String]] + case anyVal => anyVal.asInstanceOf[List[String]] + } + imageChildrenAssignedDIALList ++ hierarchyDialCode + } else imageChildrenAssignedDIALList request.put(ContentConstants.ROOT_ID, contentId)