DCAE-D be initial commit
[sdc/dcae-d/dt-be-main.git] / dcaedt_catalog / asdc / src / main / java / org / onap / sdc / dcae / utils / Normalizers.java
1 package org.onap.sdc.dcae.utils;
2
3 import org.apache.commons.lang3.text.WordUtils;
4
5 import java.util.regex.Pattern;
6
7 public final class Normalizers {
8
9     private static final Pattern COMPONENT_NAME_DELIMITER_PATTERN = Pattern.compile("[.\\-_]+");
10     private static final Pattern ARTIFACT_LABEL_DELIMITER_PATTERN = Pattern.compile("[ \\-+._]+");
11     private static final Pattern COMPONENT_INSTANCE_NAME_DELIMITER_PATTERN = Pattern.compile("[ \\-.]+");
12
13
14     public static String normalizeComponentName(String name) {
15         String normalizedName = name.toLowerCase();
16         normalizedName = COMPONENT_NAME_DELIMITER_PATTERN.matcher(normalizedName).replaceAll(" ");
17         String[] split = normalizedName.split(" ");
18         StringBuffer sb = new StringBuffer();
19         for (String splitElement : split) {
20             String capitalize = WordUtils.capitalize(splitElement);
21             sb.append(capitalize);
22         }
23         return sb.toString();
24     }
25
26     public static String normalizeArtifactLabel(String label) {
27         return ARTIFACT_LABEL_DELIMITER_PATTERN.matcher(label).replaceAll("").toLowerCase();
28     }
29
30     public static String normalizeComponentInstanceName(String name) {
31         return COMPONENT_INSTANCE_NAME_DELIMITER_PATTERN.matcher(name).replaceAll("").toLowerCase();
32     }
33
34 }