From c6e093ab8e1f841f013ca4a2ccfd55a234012825 Mon Sep 17 00:00:00 2001
From: Jayaprakash8887 <Jayaprakash.narayanaswamy@tarento.com>
Date: Thu, 6 Oct 2022 15:29:51 +0530
Subject: [PATCH] Issue #KN-257 feat: Content Release DIAL codes API refactor.

---
 .../scala/org/sunbird/content/dial/DIALManager.scala     | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

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 5bb14c093..5177b1dc2 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)
-- 
GitLab