Add of config for copier
[oom/platform/cert-service.git] / trustStoreMerger / src / main / java / org / onap / oom / truststoremerger / configuration / MergerConfigurationProvider.java
index 5a40a64..5cbf8b2 100644 (file)
 
 package org.onap.oom.truststoremerger.configuration;
 
-import static org.onap.oom.truststoremerger.api.ConfigurationEnvs.TRUSTSTORES_PATHS_ENV;
-import static org.onap.oom.truststoremerger.api.ConfigurationEnvs.TRUSTSTORES_PASSWORDS_PATHS_ENV;
+import static org.onap.oom.truststoremerger.configuration.ConfigurationEnvs.KEYSTORE_DESTINATION_PATHS_ENV;
+import static org.onap.oom.truststoremerger.configuration.ConfigurationEnvs.KEYSTORE_SOURCE_PATHS_ENV;
+import static org.onap.oom.truststoremerger.configuration.ConfigurationEnvs.TRUSTSTORES_PATHS_ENV;
+import static org.onap.oom.truststoremerger.configuration.ConfigurationEnvs.TRUSTSTORES_PASSWORDS_PATHS_ENV;
 
 import java.util.List;
 import org.onap.oom.truststoremerger.configuration.exception.MergerConfigurationException;
 import org.onap.oom.truststoremerger.configuration.exception.TruststoresPathsProviderException;
 import org.onap.oom.truststoremerger.configuration.model.MergerConfiguration;
-import org.onap.oom.truststoremerger.configuration.path.TruststoresPathsProvider;
+import org.onap.oom.truststoremerger.configuration.path.DelimitedPathsReader;
 
 public class MergerConfigurationProvider {
 
-    private final TruststoresPathsProvider pathsProvider;
+    private final DelimitedPathsReader truststoresPathsReader;
+    private final DelimitedPathsReader truststoresPasswordsPathsReader;
+    private final DelimitedPathsReader copierPathsReader;
 
-    public MergerConfigurationProvider(TruststoresPathsProvider pathsProvider) {
-        this.pathsProvider = pathsProvider;
+    public MergerConfigurationProvider(DelimitedPathsReader truststoresPathsReader,
+        DelimitedPathsReader truststoresPasswordsPathsReader, DelimitedPathsReader copierPathsReader) {
+        this.truststoresPathsReader = truststoresPathsReader;
+        this.truststoresPasswordsPathsReader = truststoresPasswordsPathsReader;
+        this.copierPathsReader = copierPathsReader;
     }
 
     public MergerConfiguration createConfiguration()
         throws MergerConfigurationException, TruststoresPathsProviderException {
-        List<String> truststores = pathsProvider.getTruststores();
-        List<String> truststoresPasswords = pathsProvider.getTruststoresPasswords();
+        List<String> truststoresPaths = truststoresPathsReader.get(TRUSTSTORES_PATHS_ENV);
+        List<String> truststoresPasswordsPaths = truststoresPasswordsPathsReader.get(TRUSTSTORES_PASSWORDS_PATHS_ENV);
+        List<String> sourceKeystorePaths = copierPathsReader.get(KEYSTORE_SOURCE_PATHS_ENV);
+        List<String> destinationKeystorePaths = copierPathsReader.get(KEYSTORE_DESTINATION_PATHS_ENV);
 
-        if (truststores.size() != truststoresPasswords.size()) {
+        ensureSameSize(truststoresPaths, truststoresPasswordsPaths, TRUSTSTORES_PATHS_ENV,
+            TRUSTSTORES_PASSWORDS_PATHS_ENV);
+        ensureSameSize(sourceKeystorePaths, destinationKeystorePaths, KEYSTORE_SOURCE_PATHS_ENV,
+            KEYSTORE_DESTINATION_PATHS_ENV);
+
+        return new MergerConfiguration(truststoresPaths, truststoresPasswordsPaths, sourceKeystorePaths,
+            destinationKeystorePaths);
+    }
+
+    private void ensureSameSize(List<String> firstList, List<String> secondList, String firstListEnvName,
+        String secondListEnvName)
+        throws MergerConfigurationException {
+        if (firstList.size() != secondList.size()) {
             throw new MergerConfigurationException(
-                "Size of " + TRUSTSTORES_PATHS_ENV
-                    + " does not match size of " + TRUSTSTORES_PASSWORDS_PATHS_ENV + " environment variables");
+                "Size of " + firstListEnvName
+                    + " does not match size of " + secondListEnvName + " environment variables");
         }
-
-        return new MergerConfiguration(truststores, truststoresPasswords);
     }
 }