Add validation for OUTPUT_TYPE parameter (2)
[oom/platform/cert-service.git] / certServiceClient / src / main / java / org / onap / aaf / certservice / client / configuration / factory / AbstractConfigurationFactory.java
index 092cd3c..70faa6b 100644 (file)
 
 package org.onap.aaf.certservice.client.configuration.factory;
 
+
+import org.onap.aaf.certservice.client.certification.conversion.ArtifactsCreatorProvider;
 import org.onap.aaf.certservice.client.configuration.exception.ClientConfigurationException;
 import org.onap.aaf.certservice.client.configuration.exception.CsrConfigurationException;
 import org.onap.aaf.certservice.client.configuration.model.ConfigurationModel;
 
 import java.util.Arrays;
-import java.util.HashSet;
 import java.util.Locale;
-import java.util.Set;
 import java.util.regex.Pattern;
 
 public abstract class AbstractConfigurationFactory<T extends ConfigurationModel> {
@@ -53,6 +53,16 @@ public abstract class AbstractConfigurationFactory<T extends ConfigurationModel>
         return Pattern.compile("[~#@*$+%!()?/{}<>\\|_^]").matcher(stringToCheck).find();
     }
 
+    public boolean isCountryValid(String country) {
+        return Arrays.asList(Locale.getISOCountries()).contains(country);
+    }
+
+    public boolean isOutputTypeValid(String outputType) {
+        return Arrays.stream(ArtifactsCreatorProvider.values())
+                .map(ArtifactsCreatorProvider::getName)
+                .anyMatch(name -> name.equals(outputType));
+    }
+
     private boolean isPortNumberPresent(String stringToCheck) {
         return Pattern.compile(":[0-9]{1,5}").matcher(stringToCheck).find();
     }
@@ -64,9 +74,4 @@ public abstract class AbstractConfigurationFactory<T extends ConfigurationModel>
     private boolean isHttpProtocolsPresent(String stringToCheck) {
         return Pattern.compile("[h][t][t][p][:][/][/]|[h][t][t][p][s][:][/][/]").matcher(stringToCheck).find();
     }
-
-    public boolean isCountryValid(String country) {
-        Set<String> countryNames = new HashSet<>(Arrays.asList(Locale.getISOCountries()));
-        return countryNames.contains(country);
-    }
 }