Allow separate registration of DMIDataPlugin and DmiModelPugin
[cps.git] / cps-ncmp-service / src / main / java / org / onap / cps / ncmp / api / models / PersistenceCmHandlesList.java
index 95e8515..d4f6e95 100644 (file)
@@ -22,15 +22,47 @@ package org.onap.cps.ncmp.api.models;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.List;
+import lombok.Getter;
 
+@Getter
 public class PersistenceCmHandlesList {
 
     @JsonProperty("cm-handles")
-    private List<PersistenceCmHandle> cmHandles;
+    private List<PersistenceCmHandle> persistenceCmHandles = new ArrayList<>();
 
-    public void setCmHandles(final List<PersistenceCmHandle> cmHandlesAsList) {
-        cmHandles = new ArrayList<>(cmHandlesAsList);
+    /**
+     * Create a PersistenceCmHandleList given all service names and a collection of cmHandles.
+     * @param dmiServiceName the dmi service name
+     * @param dmiDataServiceName the dmi data service name
+     * @param dmiModelServiceName the dmi model service name
+     * @param cmHandles cm handles
+     * @return instance of PersistenceCmHandleList
+     */
+    public static PersistenceCmHandlesList toPersistenceCmHandlesList(final String dmiServiceName,
+                                                                      final String dmiDataServiceName,
+                                                                      final String dmiModelServiceName,
+                                                                      final Collection<CmHandle> cmHandles) {
+        final PersistenceCmHandlesList persistenceCmHandlesList = new PersistenceCmHandlesList();
+        for (final CmHandle cmHandle : cmHandles) {
+            final PersistenceCmHandle persistenceCmHandle =
+                PersistenceCmHandle.toPersistenceCmHandle(
+                    dmiServiceName,
+                    dmiDataServiceName,
+                    dmiModelServiceName,
+                    cmHandle);
+            persistenceCmHandlesList.add(persistenceCmHandle);
+        }
+        return persistenceCmHandlesList;
     }
 
+    /**
+     * Add a persistenceCmHandle.
+     *
+     * @param persistenceCmHandle the persistenceCmHandle to add
+     */
+    public void add(final PersistenceCmHandle persistenceCmHandle) {
+        persistenceCmHandles.add(persistenceCmHandle);
+    }
 }