summaryrefslogtreecommitdiffstats
path: root/cps-ri
diff options
context:
space:
mode:
Diffstat (limited to 'cps-ri')
-rwxr-xr-xcps-ri/src/main/java/org/onap/cps/spi/impl/CpsAdminPersistenceServiceImpl.java18
-rwxr-xr-xcps-ri/src/main/java/org/onap/cps/spi/impl/CpsModulePersistenceServiceImpl.java4
-rw-r--r--cps-ri/src/main/java/org/onap/cps/spi/repository/YangResourceRepository.java8
-rw-r--r--cps-ri/src/main/resources/changelog/db/changes/10-loadData-dmi-registry-fragment.yaml23
-rw-r--r--cps-ri/src/main/resources/changelog/db/changes/11-add-column-to-yang-resources-table.yaml5
5 files changed, 44 insertions, 14 deletions
diff --git a/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsAdminPersistenceServiceImpl.java b/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsAdminPersistenceServiceImpl.java
index 5b89d9f4c..50b27207e 100755
--- a/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsAdminPersistenceServiceImpl.java
+++ b/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsAdminPersistenceServiceImpl.java
@@ -1,6 +1,6 @@
/*
* ============LICENSE_START=======================================================
- * Copyright (C) 2020 Nordix Foundation.
+ * Copyright (C) 2020-2022 Nordix Foundation.
* Modifications Copyright (C) 2020-2022 Bell Canada.
* Modifications Copyright (C) 2021 Pantheon.tech
* ================================================================================
@@ -147,20 +147,24 @@ public class CpsAdminPersistenceServiceImpl implements CpsAdminPersistenceServic
private void validateDataspaceAndModuleNames(final String dataspaceName,
final Collection<String> inputModuleNames) {
- final Collection<String> retrievedModuleNames =
- yangResourceRepository.findAllModuleReferences(dataspaceName, inputModuleNames)
+ final Collection<String> retrievedModuleReferences =
+ yangResourceRepository.findAllModuleReferencesByDataspaceAndModuleNames(dataspaceName, inputModuleNames)
.stream().map(YangResourceModuleReference::getModuleName)
.collect(Collectors.toList());
- if (retrievedModuleNames.isEmpty()) {
- dataspaceRepository.getByName(dataspaceName);
+ if (retrievedModuleReferences.isEmpty()) {
+ verifyDataspaceName(dataspaceName);
}
- if (inputModuleNames.size() > retrievedModuleNames.size()) {
+ if (inputModuleNames.size() > retrievedModuleReferences.size()) {
final List<String> moduleNamesNotFound = inputModuleNames.stream()
- .filter(moduleName -> !retrievedModuleNames.contains(moduleName))
+ .filter(moduleName -> !retrievedModuleReferences.contains(moduleName))
.collect(Collectors.toList());
if (!moduleNamesNotFound.isEmpty()) {
throw new ModuleNamesNotFoundException(dataspaceName, moduleNamesNotFound);
}
}
}
+
+ private void verifyDataspaceName(final String dataspaceName) {
+ dataspaceRepository.getByName(dataspaceName);
+ }
}
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 ec720b8a9..3719256fc 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
@@ -106,7 +106,7 @@ public class CpsModulePersistenceServiceImpl implements CpsModulePersistenceServ
@Override
public Collection<ModuleReference> getYangResourceModuleReferences(final String dataspaceName) {
final Set<YangResourceModuleReference> yangResourceModuleReferenceList =
- yangResourceRepository.findAllModuleReferences(dataspaceName);
+ yangResourceRepository.findAllModuleReferencesByDataspace(dataspaceName);
return yangResourceModuleReferenceList.stream().map(CpsModulePersistenceServiceImpl::toModuleReference)
.collect(Collectors.toList());
}
@@ -116,7 +116,7 @@ public class CpsModulePersistenceServiceImpl implements CpsModulePersistenceServ
final String anchorName) {
final Set<YangResourceModuleReference> yangResourceModuleReferenceList =
yangResourceRepository
- .findAllModuleReferences(dataspaceName, anchorName);
+ .findAllModuleReferencesByDataspaceAndAnchor(dataspaceName, anchorName);
return yangResourceModuleReferenceList.stream().map(CpsModulePersistenceServiceImpl::toModuleReference)
.collect(Collectors.toList());
}
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 895937b60..5e9c47429 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
@@ -49,7 +49,7 @@ public interface YangResourceRepository extends JpaRepository<YangResourceEntity
+ "JOIN yang_resource ON yang_resource.id = schema_set_yang_resources.yang_resource_id\n"
+ "WHERE\n"
+ "dataspace.name = :dataspaceName", nativeQuery = true)
- Set<YangResourceModuleReference> findAllModuleReferences(@Param("dataspaceName") String dataspaceName);
+ Set<YangResourceModuleReference> findAllModuleReferencesByDataspace(@Param("dataspaceName") String dataspaceName);
@Query(value = "SELECT DISTINCT\n"
+ "yang_resource.module_Name AS module_name,\n"
@@ -64,7 +64,7 @@ public interface YangResourceRepository extends JpaRepository<YangResourceEntity
+ "WHERE\n"
+ "dataspace.name = :dataspaceName AND\n"
+ "anchor.name =:anchorName", nativeQuery = true)
- Set<YangResourceModuleReference> findAllModuleReferences(
+ Set<YangResourceModuleReference> findAllModuleReferencesByDataspaceAndAnchor(
@Param("dataspaceName") String dataspaceName, @Param("anchorName") String anchorName);
@Query(value = "SELECT DISTINCT\n"
@@ -77,8 +77,8 @@ public interface YangResourceRepository extends JpaRepository<YangResourceEntity
+ "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 IN (:moduleNames)", nativeQuery = true)
- Set<YangResourceModuleReference> findAllModuleReferences(@Param("dataspaceName") String dataspaceName,
- @Param("moduleNames") Collection<String> moduleNames);
+ Set<YangResourceModuleReference> findAllModuleReferencesByDataspaceAndModuleNames(
+ @Param("dataspaceName") String dataspaceName, @Param("moduleNames") Collection<String> moduleNames);
@Query(value = "SELECT id FROM yang_resource WHERE module_name=:name and revision=:revision", nativeQuery = true)
diff --git a/cps-ri/src/main/resources/changelog/db/changes/10-loadData-dmi-registry-fragment.yaml b/cps-ri/src/main/resources/changelog/db/changes/10-loadData-dmi-registry-fragment.yaml
index 832569051..068a61580 100644
--- a/cps-ri/src/main/resources/changelog/db/changes/10-loadData-dmi-registry-fragment.yaml
+++ b/cps-ri/src/main/resources/changelog/db/changes/10-loadData-dmi-registry-fragment.yaml
@@ -1,3 +1,21 @@
+# ============LICENSE_START=======================================================
+# Copyright (C) 2021-2022 Nordix Foundation.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+
databaseChangeLog:
- changeSet:
author: cps
@@ -40,6 +58,9 @@ databaseChangeLog:
header: schema_node_id
name: schema_node_id
type: NUMERIC
+ rollback:
+ sql: DELETE FROM fragment WHERE xpath = '/dmi-registry' AND anchor_id = (select id from anchor where name='ncmp-dmi-registry') AND dataspace_id = (select id from dataspace where name='NCMP-Admin')
+ comment: Removes the fragment added by fragment.csv file
- changeSet:
author: cps
@@ -50,4 +71,6 @@ databaseChangeLog:
comment: Fixes the id sequence after data insert with predefined ids
dbms: postgresql
sql: ALTER SEQUENCE IF EXISTS fragment_id_seq RESTART WITH 200
+ rollback:
+ comment: Rollback for 10.1 is not supported. Please rollback change set 10 to undo change set 10.1. Cannot revert sequence altering.
diff --git a/cps-ri/src/main/resources/changelog/db/changes/11-add-column-to-yang-resources-table.yaml b/cps-ri/src/main/resources/changelog/db/changes/11-add-column-to-yang-resources-table.yaml
index a2bfb67f9..139e83be2 100644
--- a/cps-ri/src/main/resources/changelog/db/changes/11-add-column-to-yang-resources-table.yaml
+++ b/cps-ri/src/main/resources/changelog/db/changes/11-add-column-to-yang-resources-table.yaml
@@ -1,5 +1,5 @@
# ============LICENSE_START=======================================================
-# Copyright (C) 2021 Nordix Foundation.
+# Copyright (C) 2021-2022 Nordix Foundation.
# ================================================================================
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -31,6 +31,7 @@ databaseChangeLog:
- column:
name: revision
type: TEXT
+
- changeSet:
id: 11.1
label: update-previous-data-module-name-and-revision
@@ -38,3 +39,5 @@ databaseChangeLog:
changes:
- sql:
sql: update yang_resource set module_name = 'dummy_module_name', revision = '2021-08-04' where module_name is null and revision is null
+ rollback:
+ comment: Rollback for change set 11.1 is not supported. Please rollback change set 11 to rollback changeset 11.1. Change set 11.1 removes null values from the yang_resource table created by change set 11. \ No newline at end of file