diff options
Diffstat (limited to 'cps-ri')
7 files changed, 74 insertions, 55 deletions
diff --git a/cps-ri/pom.xml b/cps-ri/pom.xml index 0a32a3a0b7..63a6ab21c7 100644 --- a/cps-ri/pom.xml +++ b/cps-ri/pom.xml @@ -26,7 +26,7 @@ <parent>
<groupId>org.onap.cps</groupId>
<artifactId>cps-parent</artifactId>
- <version>3.3.7-SNAPSHOT</version>
+ <version>3.3.9-SNAPSHOT</version>
<relativePath>../cps-parent/pom.xml</relativePath>
</parent>
diff --git a/cps-ri/src/main/java/org/onap/cps/spi/entities/AnchorEntity.java b/cps-ri/src/main/java/org/onap/cps/spi/entities/AnchorEntity.java index f0927ca103..ac06b0b5a4 100644 --- a/cps-ri/src/main/java/org/onap/cps/spi/entities/AnchorEntity.java +++ b/cps-ri/src/main/java/org/onap/cps/spi/entities/AnchorEntity.java @@ -20,6 +20,7 @@ package org.onap.cps.spi.entities; + import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.FetchType; diff --git a/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsModulePersistenceServiceImpl.java b/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsModulePersistenceServiceImpl.java index ca88a4da22..0d77530b30 100755 --- a/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsModulePersistenceServiceImpl.java +++ b/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsModulePersistenceServiceImpl.java @@ -46,7 +46,6 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.lang3.StringUtils; import org.hibernate.exception.ConstraintViolationException; -import org.onap.cps.spi.CpsAdminPersistenceService; import org.onap.cps.spi.CpsModulePersistenceService; import org.onap.cps.spi.entities.DataspaceEntity; import org.onap.cps.spi.entities.SchemaSetEntity; @@ -89,8 +88,6 @@ public class CpsModulePersistenceServiceImpl implements CpsModulePersistenceServ private final DataspaceRepository dataspaceRepository; - private final CpsAdminPersistenceService cpsAdminPersistenceService; - private final ModuleReferenceRepository moduleReferenceRepository; @Override diff --git a/cps-ri/src/main/java/org/onap/cps/spi/repository/AnchorRepository.java b/cps-ri/src/main/java/org/onap/cps/spi/repository/AnchorRepository.java index b8503a7fea..19646c5239 100755 --- a/cps-ri/src/main/java/org/onap/cps/spi/repository/AnchorRepository.java +++ b/cps-ri/src/main/java/org/onap/cps/spi/repository/AnchorRepository.java @@ -70,13 +70,25 @@ public interface AnchorRepository extends JpaRepository<AnchorEntity, Long> { Integer countByDataspace(DataspaceEntity dataspaceEntity); - @Query(value = "SELECT anchor.* FROM yang_resource\n" - + "JOIN schema_set_yang_resources ON schema_set_yang_resources.yang_resource_id = yang_resource.id\n" - + "JOIN schema_set ON schema_set.id = schema_set_yang_resources.schema_set_id\n" - + "JOIN anchor ON anchor.schema_set_id = schema_set.id\n" - + "WHERE schema_set.dataspace_id = :dataspaceId AND module_name = ANY (:moduleNames)\n" - + "GROUP BY anchor.id, anchor.name, anchor.dataspace_id, anchor.schema_set_id\n" - + "HAVING COUNT(DISTINCT module_name) = :sizeOfModuleNames", nativeQuery = true) + @Query(value = """ + SELECT + anchor.* + FROM + yang_resource + JOIN schema_set_yang_resources ON schema_set_yang_resources.yang_resource_id = yang_resource.id + JOIN schema_set ON schema_set.id = schema_set_yang_resources.schema_set_id + JOIN anchor ON anchor.schema_set_id = schema_set.id + WHERE + schema_set.dataspace_id = :dataspaceId + AND module_name = ANY ( :moduleNames ) + GROUP BY + anchor.id, + anchor.name, + anchor.dataspace_id, + anchor.schema_set_id + HAVING + COUNT(DISTINCT module_name) = :sizeOfModuleNames + """, nativeQuery = true) Collection<AnchorEntity> getAnchorsByDataspaceIdAndModuleNames(@Param("dataspaceId") int dataspaceId, @Param("moduleNames") String[] moduleNames, @Param("sizeOfModuleNames") int sizeOfModuleNames); diff --git a/cps-ri/src/main/java/org/onap/cps/spi/repository/YangResourceRepository.java b/cps-ri/src/main/java/org/onap/cps/spi/repository/YangResourceRepository.java index df21ccc52e..e833796337 100644 --- a/cps-ri/src/main/java/org/onap/cps/spi/repository/YangResourceRepository.java +++ b/cps-ri/src/main/java/org/onap/cps/spi/repository/YangResourceRepository.java @@ -41,56 +41,65 @@ public interface YangResourceRepository extends JpaRepository<YangResourceEntity return findAllByChecksumIn(checksums.toArray(new String[0])); } - @Query(value = "SELECT DISTINCT\n" - + "yang_resource.module_name AS module_name,\n" - + "yang_resource.revision AS revision\n" - + "FROM\n" - + "dataspace\n" - + "JOIN schema_set ON schema_set.dataspace_id = dataspace.id\n" - + "JOIN schema_set_yang_resources ON schema_set_yang_resources.schema_set_id = " - + "schema_set.id\n" - + "JOIN yang_resource ON yang_resource.id = schema_set_yang_resources.yang_resource_id\n" - + "WHERE\n" - + "dataspace.name = :dataspaceName", nativeQuery = true) + @Query(value = """ + SELECT DISTINCT + yang_resource.module_name AS module_name, + yang_resource.revision AS revision + FROM + dataspace + JOIN schema_set ON schema_set.dataspace_id = dataspace.id + JOIN schema_set_yang_resources ON schema_set_yang_resources.schema_set_id = schema_set.id + JOIN yang_resource ON yang_resource.id = schema_set_yang_resources.yang_resource_id + WHERE + dataspace.name = :dataspaceName + """, nativeQuery = true) Set<YangResourceModuleReference> findAllModuleReferencesByDataspace(@Param("dataspaceName") String dataspaceName); - @Query(value = "SELECT DISTINCT\n" - + "yang_resource.module_Name AS module_name,\n" - + "yang_resource.revision AS revision\n" - + "FROM\n" - + "dataspace\n" - + "JOIN anchor ON anchor.dataspace_id = dataspace.id\n" - + "JOIN schema_set ON schema_set.id = anchor.schema_set_id\n" - + "JOIN schema_set_yang_resources ON schema_set_yang_resources.schema_set_id = " - + "schema_set.id\n" - + "JOIN yang_resource ON yang_resource.id = schema_set_yang_resources.yang_resource_id\n" - + "WHERE\n" - + "dataspace.name = :dataspaceName AND\n" - + "anchor.name =:anchorName", nativeQuery = true) + @Query(value = """ + SELECT DISTINCT + yang_resource.module_name AS module_name, + yang_resource.revision AS revision + FROM + dataspace + JOIN anchor ON anchor.dataspace_id = dataspace.id + JOIN schema_set ON schema_set.id = anchor.schema_set_id + JOIN schema_set_yang_resources ON schema_set_yang_resources.schema_set_id = schema_set.id + JOIN yang_resource ON yang_resource.id = schema_set_yang_resources.yang_resource_id + WHERE + dataspace.name = :dataspaceName + AND anchor.name = :anchorName + """, nativeQuery = true) Set<YangResourceModuleReference> findAllModuleReferencesByDataspaceAndAnchor( @Param("dataspaceName") String dataspaceName, @Param("anchorName") String anchorName); - @Query(value = "SELECT DISTINCT yang_resource.*\n" - + "FROM dataspace\n" - + "JOIN anchor ON anchor.dataspace_id = dataspace.id\n" - + "JOIN schema_set ON schema_set.id = anchor.schema_set_id\n" - + "JOIN schema_set_yang_resources ON schema_set_yang_resources.schema_set_id = schema_set.id\n" - + "JOIN yang_resource ON yang_resource.id = schema_set_yang_resources.yang_resource_id\n" - + "WHERE dataspace.name = :dataspaceName " - + "AND anchor.name =:anchorName", nativeQuery = true) + @Query(value = """ + SELECT DISTINCT + yang_resource.* + FROM + dataspace + JOIN anchor ON anchor.dataspace_id = dataspace.id + JOIN schema_set ON schema_set.id = anchor.schema_set_id + JOIN schema_set_yang_resources ON schema_set_yang_resources.schema_set_id = schema_set.id + JOIN yang_resource ON yang_resource.id = schema_set_yang_resources.yang_resource_id + WHERE + dataspace.name = :dataspaceName + AND anchor.name = :anchorName + """, nativeQuery = true) Set<YangResourceEntity> findAllModuleDefinitionsByDataspaceAndAnchor( @Param("dataspaceName") String dataspaceName, @Param("anchorName") String anchorName); - @Query(value = "SELECT DISTINCT\n" - + "yang_resource.*\n" - + "FROM\n" - + "dataspace\n" - + "JOIN schema_set ON schema_set.dataspace_id = dataspace.id\n" - + "JOIN schema_set_yang_resources ON schema_set_yang_resources.schema_set_id = " - + "schema_set.id\n" - + "JOIN yang_resource ON yang_resource.id = schema_set_yang_resources.yang_resource_id\n" - + "WHERE\n" - + "dataspace.name = :dataspaceName and yang_resource.module_Name = ANY (:moduleNames)", nativeQuery = true) + @Query(value = """ + SELECT DISTINCT + yang_resource.* + FROM + dataspace + JOIN schema_set ON schema_set.dataspace_id = dataspace.id + JOIN schema_set_yang_resources ON schema_set_yang_resources.schema_set_id = schema_set.id + JOIN yang_resource ON yang_resource.id = schema_set_yang_resources.yang_resource_id + WHERE + dataspace.name = :dataspaceName + AND yang_resource.module_name = ANY ( :moduleNames ) + """, nativeQuery = true) Set<YangResourceModuleReference> findAllModuleReferencesByDataspaceAndModuleNames( @Param("dataspaceName") String dataspaceName, @Param("moduleNames") String[] moduleNames); diff --git a/cps-ri/src/main/resources/hibernate.cfg.xml b/cps-ri/src/main/resources/hibernate.cfg.xml index 98e6cfc5b7..1b822b9de9 100644 --- a/cps-ri/src/main/resources/hibernate.cfg.xml +++ b/cps-ri/src/main/resources/hibernate.cfg.xml @@ -9,7 +9,7 @@ <property name="hibernate.connection.url">jdbc:postgresql://${DB_HOST}:${DB_PORT:5432}/cpsdb</property> <property name="hibernate.connection.username">${DB_USERNAME}</property> <property name="hibernate.connection.password">${DB_PASSWORD}</property> - <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQL82Dialect</property> + <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property> <property name="show_sql">true</property> <property name="hibernate.hbm2ddl.auto">update</property> </session-factory> diff --git a/cps-ri/src/test/groovy/org/onap/cps/spi/impl/CpsModulePersistenceServiceSpec.groovy b/cps-ri/src/test/groovy/org/onap/cps/spi/impl/CpsModulePersistenceServiceSpec.groovy index 52651c6b18..9696b28cd7 100644 --- a/cps-ri/src/test/groovy/org/onap/cps/spi/impl/CpsModulePersistenceServiceSpec.groovy +++ b/cps-ri/src/test/groovy/org/onap/cps/spi/impl/CpsModulePersistenceServiceSpec.groovy @@ -69,7 +69,7 @@ class CpsModulePersistenceServiceSpec extends Specification { def setup() { objectUnderTest = new CpsModulePersistenceServiceImpl(yangResourceRepositoryMock, schemaSetRepositoryMock, - dataspaceRepositoryMock, cpsAdminPersistenceServiceMock, moduleReferenceRepositoryMock) + dataspaceRepositoryMock, moduleReferenceRepositoryMock) } def 'Store schema set error scenario: #scenario.'() { |