Fix bugs and formatting issues
[dcaegen2/services/son-handler.git] / src / main / java / org / onap / dcaegen2 / services / sonhms / child / PnfUtils.java
index 590a938..43c6c53 100644 (file)
@@ -31,15 +31,19 @@ import org.onap.dcaegen2.services.sonhms.dao.CellInfoRepository;
 import org.onap.dcaegen2.services.sonhms.entity.CellInfo;
 import org.onap.dcaegen2.services.sonhms.exceptions.ConfigDbNotFoundException;
 import org.onap.dcaegen2.services.sonhms.model.CellPciPair;
+import org.onap.dcaegen2.services.sonhms.restclient.AnrSolutions;
 import org.onap.dcaegen2.services.sonhms.restclient.PciSolutions;
 import org.onap.dcaegen2.services.sonhms.restclient.SdnrRestClient;
 import org.onap.dcaegen2.services.sonhms.restclient.Solutions;
 import org.onap.dcaegen2.services.sonhms.utils.BeanUtil;
+import org.slf4j.Logger;
 
 
 
 public class PnfUtils {
 
+    private static final Logger log = org.slf4j.LoggerFactory.getLogger(ChildThreadUtils.class);
+
     /**
      * get pnfs.
      *
@@ -72,4 +76,32 @@ public class PnfUtils {
         }
         return pnfs;
     }
+    
+    /**
+     * get pnfs for ANR solutions
+     * 
+     */
+    public Map<String, List<Map<String,List<String>>>> getPnfsForAnrSolutions(List<AnrSolutions> anrSolutions) throws ConfigDbNotFoundException {
+        
+        Map<String, List<Map<String,List<String>>>> anrPnfs = new HashMap<>();
+        
+        List<String> removeableNeighbors;
+        for(AnrSolutions anrSolution : anrSolutions) {
+            String cellId = anrSolution.getCellId();
+            String pnfName = SdnrRestClient.getPnfName(cellId);
+            removeableNeighbors = anrSolution.getRemoveableNeighbors();
+            Map<String,List<String>> cellRemNeighborsPair = new HashMap<>();
+            cellRemNeighborsPair.put(cellId, removeableNeighbors);
+            if(anrPnfs.containsKey(pnfName)) {
+                anrPnfs.get(pnfName).add(cellRemNeighborsPair);
+            }else {
+                List<Map<String,List<String>>> anrCells = new ArrayList<>();
+                anrCells.add(cellRemNeighborsPair);
+                anrPnfs.put(pnfName, anrCells);
+            }
+        }
+        log.info("anr Pnfs {}",anrPnfs.toString());
+        return anrPnfs;
+        
+    }
 }