2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright © 2017-18 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.onap.aai.edges;
24 * Helper class to produce alphabetized keys for EdgeIngestor and EdgeValidator
26 public class TypeAlphabetizer {
28 * Builds key for edge rules, where nodetypes are alphabetically sorted
31 * @param nodeA - first nodetype
32 * @param nodeB - second nodetype
33 * @return {alphabetically first nodetype}|{alphabetically second nodetype}
34 * ex: buildAlphabetizedKey("l-interface", "logical-link") -> "l-interface|logical-link"
35 * buildAlphabetizedKey("logical-link", "l-interface") -> "l-interface|logical-link"
37 * This is alphabetical order to normalize the keys, as sometimes there will be multiple
38 * rules for a pair of node types but the from/to value in the json is flipped for some of them.
40 public String buildAlphabetizedKey(String nodeA, String nodeB) {
49 String normalizedNodeA = nodeA.replace("-", "");
50 String normalizedNodeB = nodeB.replace("-", "");
51 int cmp = normalizedNodeA.compareTo(normalizedNodeB);
53 StringBuilder sb = new StringBuilder();