aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xcps-ri/src/main/java/org/onap/cps/spi/impl/CpsAdminPersistenceServiceImpl.java3
-rw-r--r--cps-ri/src/main/java/org/onap/cps/spi/impl/CpsDataPersistenceServiceImpl.java6
-rwxr-xr-xcps-service/src/main/java/org/onap/cps/api/impl/CpsAdminServiceImpl.java2
-rwxr-xr-xcps-service/src/main/java/org/onap/cps/spi/exceptions/DataNodeNotFoundException.java9
-rw-r--r--docs/cps-path.rst2
5 files changed, 12 insertions, 10 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 cd3c30b97b..9f33b2fa50 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
@@ -30,6 +30,7 @@ import javax.transaction.Transactional;
import org.onap.cps.spi.CpsAdminPersistenceService;
import org.onap.cps.spi.entities.AnchorEntity;
import org.onap.cps.spi.entities.DataspaceEntity;
+import org.onap.cps.spi.entities.YangResourceModuleReference;
import org.onap.cps.spi.exceptions.AlreadyDefinedException;
import org.onap.cps.spi.exceptions.ModuleNamesNotFoundException;
import org.onap.cps.spi.model.Anchor;
@@ -131,7 +132,7 @@ public class CpsAdminPersistenceServiceImpl implements CpsAdminPersistenceServic
final Collection<String> inputModuleNames) {
final Collection<String> retrievedModuleNames =
yangResourceRepository.findAllModuleReferences(dataspaceName, inputModuleNames)
- .stream().map(module -> module.getModuleName())
+ .stream().map(YangResourceModuleReference::getModuleName)
.collect(Collectors.toList());
if (retrievedModuleNames.isEmpty()) {
dataspaceRepository.getByName(dataspaceName);
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 8dc6c2f69c..c616c8face 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
@@ -91,7 +91,8 @@ public class CpsDataPersistenceServiceImpl implements CpsDataPersistenceService
private static final Gson GSON = new GsonBuilder().create();
private static final String REG_EX_FOR_OPTIONAL_LIST_INDEX = "(\\[@[\\s\\S]+?]){0,1})";
- private static final String REG_EX_FOR_LIST_ELEMENT_KEY_PREDICATE = "\\[(\\@([^/]*?)){0,99}( and)*\\]$";
+ private static final Pattern REG_EX_PATTERN_FOR_LIST_ELEMENT_KEY_PREDICATE =
+ Pattern.compile("\\[(\\@([^\\/]{0,9999}))\\]$");
@Override
public void addChildDataNode(final String dataspaceName, final String anchorName, final String parentXpath,
@@ -361,8 +362,7 @@ public class CpsDataPersistenceServiceImpl implements CpsDataPersistenceService
final String parentNodeXpath = targetXpath.substring(0, targetXpath.lastIndexOf('/'));
final FragmentEntity parentFragmentEntity = getFragmentByXpath(dataspaceName, anchorName, parentNodeXpath);
final String lastXpathElement = targetXpath.substring(targetXpath.lastIndexOf('/'));
- final boolean isListElement = Pattern.compile(REG_EX_FOR_LIST_ELEMENT_KEY_PREDICATE)
- .matcher(lastXpathElement).find();
+ final boolean isListElement = REG_EX_PATTERN_FOR_LIST_ELEMENT_KEY_PREDICATE.matcher(lastXpathElement).find();
boolean targetExist;
if (isListElement) {
targetExist = deleteDataNode(parentFragmentEntity, targetXpath);
diff --git a/cps-service/src/main/java/org/onap/cps/api/impl/CpsAdminServiceImpl.java b/cps-service/src/main/java/org/onap/cps/api/impl/CpsAdminServiceImpl.java
index 4640a0fb31..faff7b611b 100755
--- a/cps-service/src/main/java/org/onap/cps/api/impl/CpsAdminServiceImpl.java
+++ b/cps-service/src/main/java/org/onap/cps/api/impl/CpsAdminServiceImpl.java
@@ -64,6 +64,6 @@ public class CpsAdminServiceImpl implements CpsAdminService {
@Override
public Collection<String> queryAnchorNames(final String dataspaceName, final Collection<String> moduleNames) {
final Collection<Anchor> anchors = cpsAdminPersistenceService.queryAnchors(dataspaceName, moduleNames);
- return anchors.stream().map(anchor -> anchor.getName()).collect(Collectors.toList());
+ return anchors.stream().map(Anchor::getName).collect(Collectors.toList());
}
}
diff --git a/cps-service/src/main/java/org/onap/cps/spi/exceptions/DataNodeNotFoundException.java b/cps-service/src/main/java/org/onap/cps/spi/exceptions/DataNodeNotFoundException.java
index b717a2b183..db10c88b92 100755
--- a/cps-service/src/main/java/org/onap/cps/spi/exceptions/DataNodeNotFoundException.java
+++ b/cps-service/src/main/java/org/onap/cps/spi/exceptions/DataNodeNotFoundException.java
@@ -27,7 +27,7 @@ package org.onap.cps.spi.exceptions;
public class DataNodeNotFoundException extends DataValidationException {
private static final long serialVersionUID = 7786740001662205407L;
-
+ private static final String DATANODE_NOT_FOUND = "DataNode not found";
/**
* Constructor.
*
@@ -36,9 +36,10 @@ public class DataNodeNotFoundException extends DataValidationException {
* @param xpath datanode xpath
* @param additionalInformation additional information
*/
+
public DataNodeNotFoundException(final String dataspaceName, final String anchorName, final String xpath,
final String additionalInformation) {
- super("DataNode not found", String
+ super(DATANODE_NOT_FOUND, String
.format("DataNode with xpath %s was not found for anchor %s and dataspace %s, %s.", xpath,
anchorName, dataspaceName, additionalInformation));
}
@@ -51,7 +52,7 @@ public class DataNodeNotFoundException extends DataValidationException {
* @param xpath datanode xpath
*/
public DataNodeNotFoundException(final String dataspaceName, final String anchorName, final String xpath) {
- super("DataNode not found", String
+ super(DATANODE_NOT_FOUND, String
.format("DataNode with xpath %s was not found for anchor %s and dataspace %s.", xpath,
anchorName, dataspaceName));
}
@@ -63,7 +64,7 @@ public class DataNodeNotFoundException extends DataValidationException {
* @param anchorName the anchor name
*/
public DataNodeNotFoundException(final String dataspaceName, final String anchorName) {
- super("DataNode not found", String.format(
+ super(DATANODE_NOT_FOUND, String.format(
"DataNode not found for anchor %s and dataspace %s.", anchorName, dataspaceName));
}
}
diff --git a/docs/cps-path.rst b/docs/cps-path.rst
index 5834d68e1e..bc46681d1c 100644
--- a/docs/cps-path.rst
+++ b/docs/cps-path.rst
@@ -113,7 +113,7 @@ leaf-conditions
- ``/shops/bookstore/categories[@numberOfBooks=1]``
- ``//categories[@name="Kids"]``
- ``//categories[@name='Kids']``
- - ``//categories[@code=1]/book[@title='Dune' and price=5]``
+ - ``//categories[@code=1]/books/book[@title='Dune' and @price=5]``
**Limitations**
- Only the last list or container can be queried leaf values. Any ancestor list will have to be referenced by its key name-value pair(s).