From 0f225618ab5a5d918c6b1d58afcad17c99d7aad8 Mon Sep 17 00:00:00 2001 From: danielhanrahan Date: Thu, 29 Aug 2024 20:00:40 +0100 Subject: [Cps Path Parser] Move NCMP-specific logic to NCMP Some special case code to disable ancestor-axis was added for CM-handle search (see CPS-2308). It is now relocated to NCMP. This makes other needed improvements of Cps Path Parser easier. - Move special case code into NCMP - Add integration test to ensure CM-handle search works Issue-ID: CPS-2365 Signed-off-by: danielhanrahan Change-Id: I168d6156be559166f115aa42e21cd987d98b7d41 --- .../org/onap/cps/cpspath/parser/CpsPathBuilder.java | 4 ---- .../org/onap/cps/cpspath/parser/CpsPathQuerySpec.groovy | 17 ----------------- 2 files changed, 21 deletions(-) (limited to 'cps-path-parser/src') diff --git a/cps-path-parser/src/main/java/org/onap/cps/cpspath/parser/CpsPathBuilder.java b/cps-path-parser/src/main/java/org/onap/cps/cpspath/parser/CpsPathBuilder.java index 0325bdcacb..ac535f5efc 100644 --- a/cps-path-parser/src/main/java/org/onap/cps/cpspath/parser/CpsPathBuilder.java +++ b/cps-path-parser/src/main/java/org/onap/cps/cpspath/parser/CpsPathBuilder.java @@ -147,10 +147,6 @@ public class CpsPathBuilder extends CpsPathBaseListener { cpsPathQuery.setNormalizedXpath(normalizedXpathBuilder.toString()); cpsPathQuery.setContainerNames(containerNames); cpsPathQuery.setBooleanOperators(booleanOperators); - if (cpsPathQuery.hasAncestorAxis() && cpsPathQuery.getXpathPrefix() - .endsWith("/" + cpsPathQuery.getAncestorSchemaNodeIdentifier())) { - cpsPathQuery.setAncestorSchemaNodeIdentifier(""); - } return cpsPathQuery; } diff --git a/cps-path-parser/src/test/groovy/org/onap/cps/cpspath/parser/CpsPathQuerySpec.groovy b/cps-path-parser/src/test/groovy/org/onap/cps/cpspath/parser/CpsPathQuerySpec.groovy index 730c826332..d0df3c745a 100644 --- a/cps-path-parser/src/test/groovy/org/onap/cps/cpspath/parser/CpsPathQuerySpec.groovy +++ b/cps-path-parser/src/test/groovy/org/onap/cps/cpspath/parser/CpsPathQuerySpec.groovy @@ -253,21 +253,4 @@ class CpsPathQuerySpec extends Specification { '/test[@name2="value2" and @name1="value1"]' || 'name2' | 'name1' } - def 'Ancestor axis matching prefix'() { - when: 'building a cps path query' - def result = parseXPathAndBuild(xpath) - then: 'ancestor axis is removed when same as prefix' - assert result.hasAncestorAxis() == expectAncestorAxis - where: 'the following xpaths are used' - xpath || expectAncestorAxis - '//abc/def/ancestor::abc' || true - '//abc/def/ancestor::def' || false - '//abc/def/ancestor::ef' || true - } - - def parseXPathAndBuild(xpath) { - def cpsPathBuilder = CpsPathUtil.getCpsPathBuilder(xpath) - cpsPathBuilder.build() - } - } -- cgit 1.2.3-korg