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..7c05ab3399b8a170fcf3b6c9316662af0e4a0afd 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 @@ -10,6 +10,7 @@ import org.sunbird.graph.dac.model.Node import org.sunbird.graph.nodes.DataNode import org.sunbird.graph.utils.ScalaJsonUtils import org.sunbird.managers.HierarchyManager +import org.sunbird.telemetry.logger.TelemetryManager import java.util import scala.collection.JavaConverters._ @@ -357,8 +358,14 @@ 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) { + TelemetryManager.info("DIALManager:: populateAssignedDialCodes:: collection DIAL codes:: " + imageCollectionHierarchy.get(DIALConstants.DIALCODES).toString) + 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)