From b3dfa9ba4771b3d98bbfbdb870b8ed063d4dd2ce Mon Sep 17 00:00:00 2001 From: seanbeirne Date: Thu, 20 Feb 2025 11:16:11 +0000 Subject: Change order of CM Handle Reference lookup depending on special character - implemented new algorithm using validator to rule out standard id / prefer alternate id - moved validator imp to cps-service (not in RI) TBC!!! - changed order of characters tested in validator to fail fast (on '=') - added Boolean variation validator method to reduce overhead and prevent logic based on exceptions - improved integration test to cover all scenarios - add performance test for alternate id look up (report only) - ensured all performance test use alternate ids it '=' - added small groovy tests to restore cps-ri code coverage to 0.31 Issue-ID: CPS-2605 Change-Id: Id9c22bb69904b7f5d376b7f8319332428435333e Signed-off-by: ToineSiebelink Signed-off-by: seanbeirne --- .../org/onap/cps/ri/utils/CpsValidatorImpl.java | 70 ---------------------- 1 file changed, 70 deletions(-) delete mode 100644 cps-ri/src/main/java/org/onap/cps/ri/utils/CpsValidatorImpl.java (limited to 'cps-ri/src/main') diff --git a/cps-ri/src/main/java/org/onap/cps/ri/utils/CpsValidatorImpl.java b/cps-ri/src/main/java/org/onap/cps/ri/utils/CpsValidatorImpl.java deleted file mode 100644 index 9e89c8aed9..0000000000 --- a/cps-ri/src/main/java/org/onap/cps/ri/utils/CpsValidatorImpl.java +++ /dev/null @@ -1,70 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * Copyright (C) 2022-2023 Nordix Foundation - * ================================================================================ - * 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========================================================= - */ - -package org.onap.cps.ri.utils; - -import com.google.common.collect.Lists; -import java.util.Arrays; -import java.util.Collection; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.onap.cps.api.exceptions.DataValidationException; -import org.onap.cps.api.parameters.PaginationOption; -import org.onap.cps.utils.CpsValidator; -import org.springframework.stereotype.Component; - -@Slf4j -@Component -@RequiredArgsConstructor -public class CpsValidatorImpl implements CpsValidator { - - private static final char[] UNSUPPORTED_NAME_CHARACTERS = "!\" #$%&'()*+,./\\:;<=>?@[]^`{|}~".toCharArray(); - - @Override - public void validateNameCharacters(final String... names) { - validateNameCharacters(Arrays.asList(names)); - } - - @Override - public void validateNameCharacters(final Iterable names) { - for (final String name : names) { - final Collection charactersOfName = Lists.charactersOf(name); - for (final char unsupportedCharacter : UNSUPPORTED_NAME_CHARACTERS) { - if (charactersOfName.contains(unsupportedCharacter)) { - throw new DataValidationException("Name or ID Validation Error.", - name + " invalid token encountered at position " - + (name.indexOf(unsupportedCharacter) + 1)); - } - } - } - } - - @Override - public void validatePaginationOption(final PaginationOption paginationOption) { - if (PaginationOption.NO_PAGINATION == paginationOption) { - return; - } - - if (!paginationOption.isValidPaginationOption()) { - throw new DataValidationException("Pagination validation error.", - "Invalid page index or size"); - } - } -} -- cgit