summaryrefslogtreecommitdiffstats
path: root/cps-ri
diff options
context:
space:
mode:
Diffstat (limited to 'cps-ri')
-rw-r--r--cps-ri/src/main/java/org/onap/cps/spi/impl/CpsDataPersistenceServiceImpl.java2
-rwxr-xr-xcps-ri/src/main/java/org/onap/cps/spi/repository/FragmentRepository.java11
-rw-r--r--cps-ri/src/main/resources/changelog/changelog-master.yaml2
-rw-r--r--cps-ri/src/main/resources/changelog/db/changes/09-loadData-dmi-registry-schema-set.yaml115
-rw-r--r--cps-ri/src/main/resources/changelog/db/changes/data/dmi/anchor.csv2
-rw-r--r--cps-ri/src/main/resources/changelog/db/changes/data/dmi/dataspace.csv2
-rw-r--r--cps-ri/src/main/resources/changelog/db/changes/data/dmi/schema_set.csv2
-rw-r--r--cps-ri/src/main/resources/changelog/db/changes/data/dmi/schema_set_yang_resources.csv3
-rw-r--r--cps-ri/src/main/resources/changelog/db/changes/data/dmi/yang_resource.csv48
9 files changed, 182 insertions, 5 deletions
diff --git a/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsDataPersistenceServiceImpl.java b/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsDataPersistenceServiceImpl.java
index af1eca33e6..42364ead69 100644
--- a/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsDataPersistenceServiceImpl.java
+++ b/cps-ri/src/main/java/org/onap/cps/spi/impl/CpsDataPersistenceServiceImpl.java
@@ -160,7 +160,7 @@ public class CpsDataPersistenceServiceImpl implements CpsDataPersistenceService
final var dataspaceEntity = dataspaceRepository.getByName(dataspaceName);
final var anchorEntity = anchorRepository.getByDataspaceAndName(dataspaceEntity, anchorName);
if (isRootXpath(xpath)) {
- return fragmentRepository.getFirstByDataspaceAndAnchor(dataspaceEntity, anchorEntity);
+ return fragmentRepository.findFirstRootByDataspaceAndAnchor(dataspaceEntity, anchorEntity);
} else {
return fragmentRepository.getByDataspaceAndAnchorAndXpath(dataspaceEntity, anchorEntity,
xpath);
diff --git a/cps-ri/src/main/java/org/onap/cps/spi/repository/FragmentRepository.java b/cps-ri/src/main/java/org/onap/cps/spi/repository/FragmentRepository.java
index c484ae9e87..ee77b73c9f 100755
--- a/cps-ri/src/main/java/org/onap/cps/spi/repository/FragmentRepository.java
+++ b/cps-ri/src/main/java/org/onap/cps/spi/repository/FragmentRepository.java
@@ -48,12 +48,15 @@ public interface FragmentRepository extends JpaRepository<FragmentEntity, Long>
.orElseThrow(() -> new DataNodeNotFoundException(dataspaceEntity.getName(), anchorEntity.getName(), xpath));
}
- Optional<FragmentEntity> findFirstByDataspaceAndAnchor(@NonNull DataspaceEntity dataspaceEntity,
- @NonNull AnchorEntity anchorEntity);
+ @Query(
+ value = "SELECT * FROM FRAGMENT WHERE anchor_id = :anchor AND dataspace_id = :dataspace AND parent_id is NULL",
+ nativeQuery = true)
+ List<FragmentEntity> findRootsByDataspaceAndAnchor(
+ @Param("dataspace") int dataspaceId, @Param("anchor") int anchorId);
- default FragmentEntity getFirstByDataspaceAndAnchor(@NonNull DataspaceEntity dataspaceEntity,
+ default FragmentEntity findFirstRootByDataspaceAndAnchor(@NonNull DataspaceEntity dataspaceEntity,
@NonNull AnchorEntity anchorEntity) {
- return findFirstByDataspaceAndAnchor(dataspaceEntity, anchorEntity)
+ return findRootsByDataspaceAndAnchor(dataspaceEntity.getId(), anchorEntity.getId()).stream().findFirst()
.orElseThrow(() -> new DataNodeNotFoundException(dataspaceEntity.getName(), anchorEntity.getName()));
}
diff --git a/cps-ri/src/main/resources/changelog/changelog-master.yaml b/cps-ri/src/main/resources/changelog/changelog-master.yaml
index 41e5080aa9..2d997e3350 100644
--- a/cps-ri/src/main/resources/changelog/changelog-master.yaml
+++ b/cps-ri/src/main/resources/changelog/changelog-master.yaml
@@ -31,3 +31,5 @@ databaseChangeLog:
file: changelog/db/changes/07-update-yang-resource-checksums.yaml
- include:
file: changelog/db/changes/08-update-yang-resources.yaml
+ - include:
+ file: changelog/db/changes/09-loadData-dmi-registry-schema-set.yaml
diff --git a/cps-ri/src/main/resources/changelog/db/changes/09-loadData-dmi-registry-schema-set.yaml b/cps-ri/src/main/resources/changelog/db/changes/09-loadData-dmi-registry-schema-set.yaml
new file mode 100644
index 0000000000..d0977fbf38
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/09-loadData-dmi-registry-schema-set.yaml
@@ -0,0 +1,115 @@
+# ============LICENSE_START=======================================================
+# Copyright (C) 2021 Nordix Foundation. All rights reserved.
+# ================================================================================
+# 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
+ label: dmi-registry-schema-preload
+ id: 9
+ loadUpdateData:
+ encoding: UTF-8
+ file: 'changelog/db/changes/data/dmi/dataspace.csv'
+ onlyUpdate: 'false'
+ primaryKey: 'id'
+ quotchar: '"'
+ separator: '|'
+ tableName: 'dataspace'
+ rollback:
+ - sql:
+ sql: delete from dataspace where name = 'NCMP-Admin'
+
+ - changeSet:
+ author: cps
+ label: dmi-registry-schema-preload
+ id: 9.1
+ loadUpdateData:
+ encoding: UTF-8
+ file: 'changelog/db/changes/data/dmi/schema_set.csv'
+ onlyUpdate: 'false'
+ primaryKey: 'id'
+ quotchar: '"'
+ separator: '|'
+ tableName: 'schema_set'
+ rollback:
+ - sql:
+ sql: delete from schema_set where name = 'ncmp-dmi-registry-model'
+
+ - changeSet:
+ author: cps
+ label: dmi-registry-schema-preload
+ id: 9.2
+ loadUpdateData:
+ encoding: UTF-8
+ file: 'changelog/db/changes/data/dmi/yang_resource.csv'
+ onlyUpdate: 'false'
+ primaryKey: 'id'
+ quotchar: '"'
+ separator: '|'
+ tableName: 'yang_resource'
+ columns:
+ - column:
+ header: name
+ name: name
+ type: STRING
+ - column:
+ header: content
+ name: content
+ type: STRING
+ - column:
+ header: checksum
+ name: checksum
+ type: STRING
+ rollback:
+ - sql:
+ sql: delete from yang_resource where name = 'dmi-registry@2021-05-20.yang'
+
+ - changeSet:
+ author: cps
+ label: dmi-registry-schema-preload
+ id: 9.3
+ loadUpdateData:
+ encoding: UTF-8
+ file: 'changelog/db/changes/data/dmi/schema_set_yang_resources.csv'
+ quotchar: '"'
+ primaryKey: 'schema_set_id,yang_resource_id'
+ separator: '|'
+ tableName: 'schema_set_yang_resources'
+ usePreparedStatements: true
+ rollback:
+ - sql:
+ sql: >
+ delete from schema_set_yang_resources
+ where schema_set_id = (select id from schema_set where name = 'ncmp-dmi-registry-model')
+ and yang_resource_id = (select id from yang_resource where name = 'dmi-registry@2021-05-20.yang')
+
+ - changeSet:
+ author: cps
+ label: dmi-registry-schema-preload
+ id: 9.4
+ loadUpdateData:
+ encoding: UTF-8
+ file: 'changelog/db/changes/data/dmi/anchor.csv'
+ onlyUpdate: 'false'
+ primaryKey: 'id'
+ quotchar: '"'
+ separator: '|'
+ tableName: 'anchor'
+ rollback:
+ - sql:
+ sql: delete from anchor where name = 'ncmp-dmi-registry'
+
diff --git a/cps-ri/src/main/resources/changelog/db/changes/data/dmi/anchor.csv b/cps-ri/src/main/resources/changelog/db/changes/data/dmi/anchor.csv
new file mode 100644
index 0000000000..7a0df2137a
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/data/dmi/anchor.csv
@@ -0,0 +1,2 @@
+name|schema_set_id|dataspace_id
+ncmp-dmi-registry|(select id from schema_set where name='ncmp-dmi-registry-model')|(select id from dataspace where name='NCMP-Admin')
diff --git a/cps-ri/src/main/resources/changelog/db/changes/data/dmi/dataspace.csv b/cps-ri/src/main/resources/changelog/db/changes/data/dmi/dataspace.csv
new file mode 100644
index 0000000000..4fb2eec19c
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/data/dmi/dataspace.csv
@@ -0,0 +1,2 @@
+name
+NCMP-Admin
diff --git a/cps-ri/src/main/resources/changelog/db/changes/data/dmi/schema_set.csv b/cps-ri/src/main/resources/changelog/db/changes/data/dmi/schema_set.csv
new file mode 100644
index 0000000000..936239b37a
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/data/dmi/schema_set.csv
@@ -0,0 +1,2 @@
+name|dataspace_id
+ncmp-dmi-registry-model|(select id from dataspace where name='NCMP-Admin')
diff --git a/cps-ri/src/main/resources/changelog/db/changes/data/dmi/schema_set_yang_resources.csv b/cps-ri/src/main/resources/changelog/db/changes/data/dmi/schema_set_yang_resources.csv
new file mode 100644
index 0000000000..9183d38ff5
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/data/dmi/schema_set_yang_resources.csv
@@ -0,0 +1,3 @@
+schema_set_id|yang_resource_id
+(select id from schema_set where name='ncmp-dmi-registry-model')|(select id from yang_resource where name='dmi-registry@2021-05-20.yang')
+
diff --git a/cps-ri/src/main/resources/changelog/db/changes/data/dmi/yang_resource.csv b/cps-ri/src/main/resources/changelog/db/changes/data/dmi/yang_resource.csv
new file mode 100644
index 0000000000..35e2bcdd83
--- /dev/null
+++ b/cps-ri/src/main/resources/changelog/db/changes/data/dmi/yang_resource.csv
@@ -0,0 +1,48 @@
+name|content|checksum
+dmi-registry@2021-05-20.yang|"module dmi-registry {
+
+ yang-version 1.1;
+
+ namespace \"org:onap:cps:ncmp\";
+
+ prefix dmi-reg;
+
+ organization \"Nordix Foundation\";
+
+ contact \"rahul.tyagi@est.tech\";
+
+ revision \"2021-05-20\" {
+ description
+ \"Initial Version\";
+ }
+
+ container dmi-registry {
+
+ list cm-handles {
+
+ key \"id\";
+
+ leaf id {
+ type string;
+ }
+
+ leaf dmi-service-name {
+ type string;
+ }
+
+ list additional-properties {
+
+ key \"name\";
+
+ leaf name {
+ type string;
+ }
+
+ leaf value {
+ type string;
+ }
+ }
+ }
+ }
+}
+"|257b264cd091436f74f9c92512b507459615391f7006fc40b74b6866dbe1b379 \ No newline at end of file