From 651c2dffc12a45c50e23fcc1fa9c13cb1f4aca4d Mon Sep 17 00:00:00 2001 From: seanbeirne Date: Tue, 6 Jan 2026 09:34:41 +0000 Subject: [PATCH] Removed extra slash on outgoing fdn - Extra preceding slash added for longest match search - Now will be removed when forwarding to dmi Issue-ID: CPS-2707 Change-Id: Id81bb18ce0718dc7b63beb2a71ddebe1311e4cd5 Signed-off-by: seanbeirne --- .../main/java/org/onap/cps/ncmp/impl/provmns/ParametersBuilder.java | 6 ++++-- .../org/onap/cps/ncmp/impl/provmns/ParametersBuilderSpec.groovy | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/provmns/ParametersBuilder.java b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/provmns/ParametersBuilder.java index 56ce6ec0c2..dc6a2597cc 100644 --- a/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/provmns/ParametersBuilder.java +++ b/cps-ncmp-service/src/main/java/org/onap/cps/ncmp/impl/provmns/ParametersBuilder.java @@ -56,8 +56,9 @@ public class ParametersBuilder { final ClassNameIdGetDataNodeSelectorParameter dataNodeSelector) { final String dmiServiceName = yangModelCmHandle.resolveDmiServiceName(DATA); + final String targetFdnWithoutPrecedingSlash = targetFdn.substring(1); return RestServiceUrlTemplateBuilder.newInstance() - .fixedPathSegment(targetFdn) + .fixedPathSegment(targetFdnWithoutPrecedingSlash) .queryParameter("scopeType", scope.getScopeType() != null ? scope.getScopeType().getValue() : null) .queryParameter("scopeLevel", scope.getScopeLevel() != null ? scope.getScopeLevel().toString() : null) .queryParameter("filter", filter) @@ -76,8 +77,9 @@ public class ParametersBuilder { public UrlTemplateParameters createUrlTemplateParametersForWrite(final YangModelCmHandle yangModelCmHandle, final String targetFdn) { final String dmiServiceName = yangModelCmHandle.resolveDmiServiceName(DATA); + final String targetFdnWithoutPrecedingSlash = targetFdn.substring(1); return RestServiceUrlTemplateBuilder.newInstance() - .fixedPathSegment(targetFdn) + .fixedPathSegment(targetFdnWithoutPrecedingSlash) .createUrlTemplateParameters(dmiServiceName, "ProvMnS"); } diff --git a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/provmns/ParametersBuilderSpec.groovy b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/provmns/ParametersBuilderSpec.groovy index 12fac73f2e..d273393fce 100644 --- a/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/provmns/ParametersBuilderSpec.groovy +++ b/cps-ncmp-service/src/test/groovy/org/onap/cps/ncmp/impl/provmns/ParametersBuilderSpec.groovy @@ -41,7 +41,7 @@ class ParametersBuilderSpec extends Specification{ ) then: 'the template has the correct result' - assert result.urlTemplate.toString().startsWith('myDmiService/ProvMnS/v1//target/fdn?') + assert result.urlTemplate.toString().startsWith('myDmiService/ProvMnS/v1/target/fdn?') and: 'all url variables have been set correctly' assert result.urlVariables.size() == 6 assert result.urlVariables.scopeLevel == '1' @@ -72,7 +72,7 @@ class ParametersBuilderSpec extends Specification{ when: 'Creating URL parameters for PUT (or PATCH)' def result = objectUnderTest.createUrlTemplateParametersForWrite(new YangModelCmHandle(dmiServiceName: 'myDmiService'),'/target/fdn') then: 'the template has the correct correct' - assert result.urlTemplate.toString().startsWith('myDmiService/ProvMnS/v1//target/fdn') + assert result.urlTemplate.toString().startsWith('myDmiService/ProvMnS/v1/target/fdn') and: 'no url variables have been set' assert result.urlVariables.isEmpty() } -- 2.16.6