aboutsummaryrefslogtreecommitdiffstats
path: root/cps-service
diff options
context:
space:
mode:
authorToineSiebelink <toine.siebelink@est.tech>2025-01-22 08:57:39 +0000
committerToine Siebelink <toine.siebelink@est.tech>2025-01-23 11:54:24 +0000
commitbfd35a4539088ea6aa7773ab4d80d4422b9e22a7 (patch)
tree159fa214bec1a4b5e80acbeaa098085596231ec8 /cps-service
parent6fb1e85fd1cdb20cb8f64f81c188c29c0391ab2a (diff)
Add DB Clean-up to CPS Rest Interface
- add dataspace filter to module cleanup impl - updated integration test to only delete orphaned modules in relevant dataspaces (this also fixes CPS-2571) - improved labels on admin controller test - add dataspaces/../clean rest endpoint for cps core - added 'Regular Maintenance' section to RTD Admin Guide - consistent spelling of 'CM Handle' in RTD Docs Issue-ID: CPS-2554 Change-Id: Ica70c3495758f073eaac9eeeadcc0e1be2c8cc1c Signed-off-by: ToineSiebelink <toine.siebelink@est.tech>
Diffstat (limited to 'cps-service')
-rw-r--r--cps-service/src/main/java/org/onap/cps/api/CpsModuleService.java7
-rw-r--r--cps-service/src/main/java/org/onap/cps/impl/CpsModuleServiceImpl.java5
-rwxr-xr-xcps-service/src/main/java/org/onap/cps/spi/CpsModulePersistenceService.java6
-rw-r--r--cps-service/src/test/groovy/org/onap/cps/impl/CpsModuleServiceImplSpec.groovy8
4 files changed, 16 insertions, 10 deletions
diff --git a/cps-service/src/main/java/org/onap/cps/api/CpsModuleService.java b/cps-service/src/main/java/org/onap/cps/api/CpsModuleService.java
index 81b6439efc..c6b8c60ab9 100644
--- a/cps-service/src/main/java/org/onap/cps/api/CpsModuleService.java
+++ b/cps-service/src/main/java/org/onap/cps/api/CpsModuleService.java
@@ -164,8 +164,11 @@ public interface CpsModuleService {
Collection<ModuleReference> identifyNewModuleReferences(Collection<ModuleReference> moduleReferencesToCheck);
/**
- * Remove any Yang Resource Modules and Schema Sets from the DB that are no longer referenced by any anchor.
+ * Remove any Yang Resource Modules and Schema Sets from the given dataspace that are no longer referenced
+ * by any anchor.
+ *
+ * @param dataspaceName dataspace name
*/
- void deleteAllUnusedYangModuleData();
+ void deleteAllUnusedYangModuleData(String dataspaceName);
}
diff --git a/cps-service/src/main/java/org/onap/cps/impl/CpsModuleServiceImpl.java b/cps-service/src/main/java/org/onap/cps/impl/CpsModuleServiceImpl.java
index 7622ba5fe2..1e92c7eb69 100644
--- a/cps-service/src/main/java/org/onap/cps/impl/CpsModuleServiceImpl.java
+++ b/cps-service/src/main/java/org/onap/cps/impl/CpsModuleServiceImpl.java
@@ -175,8 +175,9 @@ public class CpsModuleServiceImpl implements CpsModuleService {
}
@Override
- public void deleteAllUnusedYangModuleData() {
- cpsModulePersistenceService.deleteAllUnusedYangModuleData();
+ public void deleteAllUnusedYangModuleData(final String dataspaceName) {
+ cpsValidator.validateNameCharacters(dataspaceName);
+ cpsModulePersistenceService.deleteAllUnusedYangModuleData(dataspaceName);
}
private boolean isCascadeDeleteProhibited(final CascadeDeleteAllowed cascadeDeleteAllowed) {
diff --git a/cps-service/src/main/java/org/onap/cps/spi/CpsModulePersistenceService.java b/cps-service/src/main/java/org/onap/cps/spi/CpsModulePersistenceService.java
index b1f8aad88f..86ad50252d 100755
--- a/cps-service/src/main/java/org/onap/cps/spi/CpsModulePersistenceService.java
+++ b/cps-service/src/main/java/org/onap/cps/spi/CpsModulePersistenceService.java
@@ -146,9 +146,11 @@ public interface CpsModulePersistenceService {
String moduleName, String moduleRevision);
/**
- * Remove any unused Yang Resource Modules and Schema Sets.
+ * Remove any unused Yang Resource Modules and Schema Sets from the given dataspace.
+ *
+ * @param dataspaceName dataspace name
*/
- void deleteAllUnusedYangModuleData();
+ void deleteAllUnusedYangModuleData(String dataspaceName);
/**
* Identify new module references from those returned by a node compared to what is in CPS already.
diff --git a/cps-service/src/test/groovy/org/onap/cps/impl/CpsModuleServiceImplSpec.groovy b/cps-service/src/test/groovy/org/onap/cps/impl/CpsModuleServiceImplSpec.groovy
index ce871621e5..af1859f36e 100644
--- a/cps-service/src/test/groovy/org/onap/cps/impl/CpsModuleServiceImplSpec.groovy
+++ b/cps-service/src/test/groovy/org/onap/cps/impl/CpsModuleServiceImplSpec.groovy
@@ -252,11 +252,11 @@ class CpsModuleServiceImplSpec extends Specification {
1 * mockCpsValidator.validateNameCharacters('some-dataspace-name', 'some-anchor-name')
}
- def 'Delete all unused yang module data.'() {
+ def 'Delete unused yang module data for a dataspace.'() {
when: 'deleting unused yang module data'
- objectUnderTest.deleteAllUnusedYangModuleData()
- then: 'it is delegated to the module persistence service'
- 1 * mockCpsModulePersistenceService.deleteAllUnusedYangModuleData()
+ objectUnderTest.deleteAllUnusedYangModuleData('some-dataspace-name')
+ then: 'it is delegated to the module persistence service with the correct parameters'
+ 1 * mockCpsModulePersistenceService.deleteAllUnusedYangModuleData('some-dataspace-name')
}
def 'Schema set exists.'() {