diff options
Diffstat (limited to 'cps-ri/src/main')
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 5b89d9f4c4..50b27207ee 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 ec720b8a96..3719256fcd 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 895937b60a..5e9c47429b 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 8325690516..068a61580d 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 a2bfb67f94..139e83be2d 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 |