Add method to get YANG module sources for CM handle
[cps.git] / cps-ri / src / main / java / org / onap / cps / spi / impl / CpsModulePersistenceServiceImpl.java
index cbeb1b7..806e7cc 100755 (executable)
@@ -53,6 +53,7 @@ import org.onap.cps.spi.entities.YangResourceModuleReference;
 import org.onap.cps.spi.exceptions.AlreadyDefinedException;
 import org.onap.cps.spi.exceptions.DuplicatedYangResourceException;
 import org.onap.cps.spi.exceptions.ModelValidationException;
+import org.onap.cps.spi.model.ModuleDefinition;
 import org.onap.cps.spi.model.ModuleReference;
 import org.onap.cps.spi.repository.DataspaceRepository;
 import org.onap.cps.spi.repository.ModuleReferenceRepository;
@@ -114,12 +115,22 @@ public class CpsModulePersistenceServiceImpl implements CpsModulePersistenceServ
 
     @Override
     public Collection<ModuleReference> getYangResourceModuleReferences(final String dataspaceName,
-        final String anchorName) {
+                                                                       final String anchorName) {
         final Set<YangResourceModuleReference> yangResourceModuleReferenceList =
-            yangResourceRepository
-                .findAllModuleReferencesByDataspaceAndAnchor(dataspaceName, anchorName);
+                yangResourceRepository
+                        .findAllModuleReferencesByDataspaceAndAnchor(dataspaceName, anchorName);
         return yangResourceModuleReferenceList.stream().map(CpsModulePersistenceServiceImpl::toModuleReference)
-            .collect(Collectors.toList());
+                .collect(Collectors.toList());
+    }
+
+    @Override
+    public Collection<ModuleDefinition> getYangResourceDefinitions(final String dataspaceName,
+                                                                   final String anchorName) {
+        final Set<YangResourceEntity> yangResourceEntities =
+                yangResourceRepository
+                        .findAllModuleDefinitionsByDataspaceAndAnchor(dataspaceName, anchorName);
+        return yangResourceEntities.stream().map(CpsModulePersistenceServiceImpl::toModuleDefinition)
+                .collect(Collectors.toList());
     }
 
     @Override
@@ -343,4 +354,11 @@ public class CpsModulePersistenceServiceImpl implements CpsModulePersistenceServ
             .revision(yangResourceModuleReference.getRevision())
             .build();
     }
+
+    private static ModuleDefinition toModuleDefinition(final YangResourceEntity yangResourceEntity) {
+        return new ModuleDefinition(
+                yangResourceEntity.getModuleName(),
+                yangResourceEntity.getRevision(),
+                yangResourceEntity.getContent());
+    }
 }