diff options
Diffstat (limited to 'src/main/java/org/onap/pnfsimulator/simulator/keywords')
4 files changed, 0 insertions, 294 deletions
diff --git a/src/main/java/org/onap/pnfsimulator/simulator/keywords/Keyword.java b/src/main/java/org/onap/pnfsimulator/simulator/keywords/Keyword.java deleted file mode 100644 index 1bb1332..0000000 --- a/src/main/java/org/onap/pnfsimulator/simulator/keywords/Keyword.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * PNF-REGISTRATION-HANDLER - * ================================================================================ - * Copyright (C) 2018 Nokia. All rights reserved. - * ================================================================================ - * 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. - * ============LICENSE_END========================================================= - */ -package org.onap.pnfsimulator.simulator.keywords; - -import io.vavr.Function1; -import io.vavr.Function2; - -import java.util.ArrayList; -import java.util.List; -import java.util.regex.Matcher; -import java.util.stream.Collectors; - -import lombok.Getter; - -@Getter -public class Keyword { - - protected static final String LETTERS_REGEX = "([a-zA-Z]+)"; - protected static final String NONLETTERS_REGEX = "([^a-zA-Z]+)"; - - protected static final Function1<String, String> OPTIONAL = - regex -> regex + "?"; - - private final String name; - private final List<String> meaningfulParts; - - public static final Function2<Keyword, String, Boolean> IS_MATCHING_KEYWORD_NAME = (keyword, key) -> - keyword != null && keyword.getName() != null && keyword.getName().equals(key); - - /** - * Returns list of independent parts inside the keyword. Current implementation assumes that customer can join keywords with integer values, so - * keyword is decomposed to parts then some parts of the keyword is skipped because of replacement process. - * - * @param matcher - Matcher to check find independent groups inside the keyword - * @param skipGroups Informs this method about which groups should be consider as part of the replacement process - * @return list of independent parts inside the keywords - */ - static List<String> extractPartsFrom(Matcher matcher, List<Integer> skipGroups) { - List<String> parts = new ArrayList<>(); - for (int i = 1; i <= matcher.groupCount(); i++) { - if (matcher.group(i) != null && !skipGroups.contains(i)) { - parts.add(matcher.group(i)); - } - } - return parts; - } - - Keyword(String name, List<String> meaningfulParts) { - this.name = name; - this.meaningfulParts = meaningfulParts; - } - - public String substituteKeyword(String substitution) { - return meaningfulParts.stream() - .map(part -> part.equals(name) ? substitution : part) - .collect(Collectors.joining()); - } - -} diff --git a/src/main/java/org/onap/pnfsimulator/simulator/keywords/NonParameterKeyword.java b/src/main/java/org/onap/pnfsimulator/simulator/keywords/NonParameterKeyword.java deleted file mode 100644 index 5e44550..0000000 --- a/src/main/java/org/onap/pnfsimulator/simulator/keywords/NonParameterKeyword.java +++ /dev/null @@ -1,65 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * PNF-REGISTRATION-HANDLER - * ================================================================================ - * Copyright (C) 2018 Nokia. All rights reserved. - * ================================================================================ - * 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. - * ============LICENSE_END========================================================= - */ -package org.onap.pnfsimulator.simulator.keywords; - -import io.vavr.Tuple; -import io.vavr.Tuple1; -import io.vavr.match.annotation.Patterns; -import io.vavr.match.annotation.Unapply; -import java.util.Collections; -import java.util.List; -import java.util.regex.Pattern; -import lombok.Getter; -import lombok.Setter; -import lombok.val; - -@Patterns -@Getter -@Setter -public class NonParameterKeyword extends Keyword { - - public static final int KEYWORD_NAME_GROUP = 2; - - private static final String KEYWORD_REGEX = new StringBuilder() - .append(OPTIONAL.apply(NONLETTERS_REGEX)) - .append("#") - .append(LETTERS_REGEX) - .append("(?!\\()") - .append(OPTIONAL.apply(NONLETTERS_REGEX)) - .toString(); - - private NonParameterKeyword(String name, List<String> meaningfulParts) { - super(name, meaningfulParts); - } - - @Unapply - static Tuple1<NonParameterKeyword> nonParameterKeyword(String keyword) { - val matcher = Pattern.compile(KEYWORD_REGEX).matcher(keyword); - NonParameterKeyword npk = null; - if (matcher.find()) { - npk = new NonParameterKeyword( - matcher.group(KEYWORD_NAME_GROUP), - extractPartsFrom(matcher, Collections.emptyList()) - ); - } - return Tuple.of(npk); - } - -} diff --git a/src/main/java/org/onap/pnfsimulator/simulator/keywords/SingleParameterKeyword.java b/src/main/java/org/onap/pnfsimulator/simulator/keywords/SingleParameterKeyword.java deleted file mode 100644 index b1c38c8..0000000 --- a/src/main/java/org/onap/pnfsimulator/simulator/keywords/SingleParameterKeyword.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * PNF-REGISTRATION-HANDLER - * ================================================================================ - * Copyright (C) 2018 Nokia. All rights reserved. - * ================================================================================ - * 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. - * ============LICENSE_END========================================================= - */ -package org.onap.pnfsimulator.simulator.keywords; - -import io.vavr.Tuple; -import io.vavr.Tuple1; -import io.vavr.match.annotation.Patterns; -import io.vavr.match.annotation.Unapply; -import java.util.Collections; -import java.util.List; -import java.util.regex.Pattern; -import lombok.Getter; -import lombok.Setter; -import lombok.val; - -@Patterns -@Getter -@Setter -public class SingleParameterKeyword extends Keyword { - - public static final int KEYWORD_NAME_GROUP = 2; - public static final int ADDITIONAL_PARAMETER_GROUP = 3; - - private static final String KEYWORD_REGEX = new StringBuilder() - .append(OPTIONAL.apply(NONLETTERS_REGEX)) - .append("#") - .append(LETTERS_REGEX) - .append("\\((\\d+)\\)") - .append(OPTIONAL.apply(NONLETTERS_REGEX)) - .toString(); - public static final int SKIPPED_GROUP_NUMBER = 3; - - private Integer additionalParameter; - - private SingleParameterKeyword(String name, List<String> meaningfulParts, - Integer additionalParameter) { - super(name, meaningfulParts); - this.additionalParameter = additionalParameter; - } - - @Unapply - static Tuple1<SingleParameterKeyword> singleParameterKeyword(String keyword) { - val matcher = Pattern.compile(KEYWORD_REGEX).matcher(keyword); - SingleParameterKeyword spk = null; - if (matcher.find()) { - spk = new SingleParameterKeyword( - matcher.group(KEYWORD_NAME_GROUP), - extractPartsFrom(matcher, Collections.singletonList(SKIPPED_GROUP_NUMBER)), - Integer.parseInt(matcher.group(ADDITIONAL_PARAMETER_GROUP)) - ); - } - return Tuple.of(spk); - } -} - - diff --git a/src/main/java/org/onap/pnfsimulator/simulator/keywords/TwoParameterKeyword.java b/src/main/java/org/onap/pnfsimulator/simulator/keywords/TwoParameterKeyword.java deleted file mode 100644 index 6fecfa6..0000000 --- a/src/main/java/org/onap/pnfsimulator/simulator/keywords/TwoParameterKeyword.java +++ /dev/null @@ -1,80 +0,0 @@ -/* - * ============LICENSE_START======================================================= - * PNF-REGISTRATION-HANDLER - * ================================================================================ - * Copyright (C) 2018 Nokia. All rights reserved. - * ================================================================================ - * 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. - * ============LICENSE_END========================================================= - */ -package org.onap.pnfsimulator.simulator.keywords; - -import io.vavr.Tuple; -import io.vavr.Tuple1; -import io.vavr.match.annotation.Patterns; -import io.vavr.match.annotation.Unapply; -import java.util.Arrays; -import java.util.List; -import java.util.regex.Pattern; -import lombok.Getter; -import lombok.Setter; -import lombok.val; - -@Patterns -@Getter -@Setter -public class TwoParameterKeyword extends Keyword { - - public static final int ADDITIONAL_PARAMETER_1_GROUP = 3; - public static final int ADDITIONAL_PARAMETER_2_GROUP = 4; - public static final int KEYWORD_NAME_GROUP = 2; - protected static final List<Integer> ADDITIONAL_PARAMETERS_GROUPS = Arrays.asList(ADDITIONAL_PARAMETER_1_GROUP, ADDITIONAL_PARAMETER_2_GROUP); - - private static final String NON_LIMITED_NUMBER_REGEX = "\\((\\d+)"; - private static final String COLON_REGEX = "\\s?,\\s?"; - private static final String OPTIONAL_NUMBER_PARAM_REGEX = "(\\d+)\\)"; - - private static final String KEYWORD_REGEX = OPTIONAL.apply(NONLETTERS_REGEX) - + "#" - + LETTERS_REGEX - + NON_LIMITED_NUMBER_REGEX - + COLON_REGEX - + OPTIONAL_NUMBER_PARAM_REGEX - + OPTIONAL.apply(NONLETTERS_REGEX); - - private Integer additionalParameter1; - private Integer additionalParameter2; - - private TwoParameterKeyword(String name, List<String> meaningfulParts, Integer additionalParameter1, - Integer additionalParameter2) { - super(name, meaningfulParts); - this.additionalParameter1 = additionalParameter1; - this.additionalParameter2 = additionalParameter2; - } - - @Unapply - static Tuple1<TwoParameterKeyword> twoParameterKeyword(String keyword) { - val matcher = Pattern.compile(KEYWORD_REGEX).matcher(keyword); - TwoParameterKeyword tpk = null; - if (matcher.find()) { - tpk = new TwoParameterKeyword( - matcher.group(KEYWORD_NAME_GROUP), - extractPartsFrom(matcher, ADDITIONAL_PARAMETERS_GROUPS), - Integer.parseInt(matcher.group(ADDITIONAL_PARAMETER_1_GROUP)), - Integer.parseInt(matcher.group(ADDITIONAL_PARAMETER_2_GROUP)) - ); - } - return Tuple.of(tpk); - } - -} |