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);
}
}