From 4529c4fc6eb570ddac719367264ec2fa3aa49e98 Mon Sep 17 00:00:00 2001
From: Jayaprakash8887 <Jayaprakash.narayanaswamy@tarento.com>
Date: Fri, 7 Oct 2022 15:26:00 +0530
Subject: [PATCH] Issue #KN-547 fix: Collection hierarchy dialcodes coming as
 string

---
 .../org/sunbird/content/dial/DIALManager.scala  | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 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 9a1deaf91..c50ea16c5 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
@@ -356,15 +356,12 @@ object DIALManager {
 
 		HierarchyManager.getHierarchy(request).flatMap(getImageHierarchyResponse => {
 			val imageCollectionHierarchy = getImageHierarchyResponse.getResult.getOrDefault(ContentConstants.CONTENT, new java.util.HashMap[String, AnyRef]()).asInstanceOf[java.util.Map[String, AnyRef]]
-			TelemetryManager.info("DIALManager:: populateAssignedDialCodes:: imageCollectionHierarchy:: " + imageCollectionHierarchy)
 			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) {
-				TelemetryManager.info("DIALManager:: populateAssignedDialCodes:: collection DIAL codes:: " + imageCollectionHierarchy.get(DIALConstants.DIALCODES))
-				val hierarchyDialCodeStr = ScalaJsonUtils.serialize(imageCollectionHierarchy.get(DIALConstants.DIALCODES))
-				TelemetryManager.info("DIALManager:: populateAssignedDialCodes:: hierarchyDialCodeStr:: " + hierarchyDialCodeStr)
-				val hierarchyDialCode = ScalaJsonUtils.deserialize[List[String]](hierarchyDialCodeStr)
-				imageChildrenAssignedDIALList ++ hierarchyDialCode
+				val collectionDialCodeStr = ScalaJsonUtils.serialize(imageCollectionHierarchy.get(DIALConstants.DIALCODES))
+				val collectionDialCode = ScalaJsonUtils.deserialize[List[String]](collectionDialCodeStr)
+				imageChildrenAssignedDIALList ++ collectionDialCode
 			}
 			else imageChildrenAssignedDIALList
 
@@ -375,9 +372,11 @@ object DIALManager {
 					val collectionHierarchy = getHierarchyResponse.getResult.getOrDefault(ContentConstants.CONTENT, new java.util.HashMap[String, AnyRef]()).asInstanceOf[java.util.Map[String, AnyRef]]
 					val childrenHierarchy = collectionHierarchy.get(ContentConstants.CHILDREN).asInstanceOf[util.List[util.Map[String, AnyRef]]].asScala.toList
 					val childrenAssignedDIALList = getAssignedDIALcodes(childrenHierarchy)
-					val contentAssignedDIALList = if(collectionHierarchy.containsKey(DIALConstants.DIALCODES) && collectionHierarchy.get(DIALConstants.DIALCODES) != null)
-						childrenAssignedDIALList ++ collectionHierarchy.getOrDefault(DIALConstants.DIALCODES, List.empty[String]).asInstanceOf[List[String]]
-					else childrenAssignedDIALList
+					val contentAssignedDIALList = if(collectionHierarchy.containsKey(DIALConstants.DIALCODES) && collectionHierarchy.get(DIALConstants.DIALCODES) != null) {
+						val collectionDialCodeStr = ScalaJsonUtils.serialize(collectionHierarchy.get(DIALConstants.DIALCODES))
+						val collectionDialCode = ScalaJsonUtils.deserialize[List[String]](collectionDialCodeStr)
+						childrenAssignedDIALList ++ collectionDialCode
+					} else childrenAssignedDIALList
 
 					Future(contentImageAssignedDIALList ++ contentAssignedDIALList)
 				})
-- 
GitLab