Add validation for OUTPUT_TYPE parameter (2)
authorpwielebs <piotr.wielebski@nokia.com>
Wed, 17 Jun 2020 14:04:51 +0000 (16:04 +0200)
committerpwielebs <piotr.wielebski@nokia.com>
Thu, 18 Jun 2020 07:34:11 +0000 (09:34 +0200)
Issue-ID: AAF-1152

Signed-off-by: pwielebs <piotr.wielebski@nokia.com>
Change-Id: I026d7979dcb35ccd3c953217b2eccf376cfaf85b

certServiceClient/src/main/java/org/onap/aaf/certservice/client/certification/conversion/ArtifactsCreatorProvider.java
certServiceClient/src/main/java/org/onap/aaf/certservice/client/configuration/factory/AbstractConfigurationFactory.java
certServiceClient/src/main/java/org/onap/aaf/certservice/client/configuration/factory/ClientConfigurationFactory.java

index ac1eda1..4ed86a4 100644 (file)
@@ -19,8 +19,7 @@
 package org.onap.aaf.certservice.client.certification.conversion;
 
 public enum ArtifactsCreatorProvider {
-
-    P12 {
+    P12("P12") {
         @Override
         ArtifactsCreator create(String outputPath) {
             return new PKCS12ArtifactsCreator(
@@ -29,21 +28,31 @@ public enum ArtifactsCreatorProvider {
                     new PemToPKCS12Converter());
         }
     },
-    JKS {
+    JKS("JKS") {
         @Override
         ArtifactsCreator create(String outputPath) {
             return null;
         }
     },
-    PEM {
+    PEM("PEM") {
         @Override
         ArtifactsCreator create(String outputPath) {
             return null;
         }
     };
 
+    private final String name;
+
+    ArtifactsCreatorProvider(String name) {
+        this.name = name;
+    }
+
     public static ArtifactsCreator getCreator(String outputType, String outputPath) {
-            return valueOf(outputType).create(outputPath);
+        return valueOf(outputType).create(outputPath);
+    }
+
+    public String getName() {
+        return name;
     }
 
     abstract ArtifactsCreator create(String outputPath);
index b7def80..70faa6b 100644 (file)
@@ -59,7 +59,8 @@ public abstract class AbstractConfigurationFactory<T extends ConfigurationModel>
 
     public boolean isOutputTypeValid(String outputType) {
         return Arrays.stream(ArtifactsCreatorProvider.values())
-                .anyMatch(artifactsCreatorProvider -> artifactsCreatorProvider.toString().equals(outputType));
+                .map(ArtifactsCreatorProvider::getName)
+                .anyMatch(name -> name.equals(outputType));
     }
 
     private boolean isPortNumberPresent(String stringToCheck) {
index d813233..d8498d8 100644 (file)
@@ -43,7 +43,6 @@ public class ClientConfigurationFactory extends AbstractConfigurationFactory<Cli
 
         ClientConfiguration configuration = new ClientConfiguration();
 
-        Optional<String> outputType = envsForClient.getOutputType();
 
         envsForClient.getUrlToCertService()
                 .map(configuration::setUrlToCertService);
@@ -61,6 +60,8 @@ public class ClientConfigurationFactory extends AbstractConfigurationFactory<Cli
                 .map(configuration::setCaName)
                 .orElseThrow(() -> new ClientConfigurationException(ClientConfigurationEnvs.CA_NAME + " is invalid."));
 
+        Optional<String> outputType = envsForClient.getOutputType();
+
         if (outputType.isPresent()) {
             outputType.filter(this::isOutputTypeValid)
                     .map(configuration::setOutputType)