aboutsummaryrefslogtreecommitdiffstats
path: root/trustStoreMerger/src/main/java
diff options
context:
space:
mode:
authorkjaniak <kornel.janiak@nokia.com>2020-09-10 22:03:53 +0200
committerkjaniak <kornel.janiak@nokia.com>2020-09-14 10:57:59 +0200
commit9f597ecbf18bbda75317926c35066b9571736054 (patch)
treec524613ee646d5d8bf482df6172a83b021cbdd46 /trustStoreMerger/src/main/java
parent4ad0fafc796a7b65b9d653863d0f57a62eca5fa9 (diff)
[OOM-CPMv2] Allow optional input parameters
Bug fix in merger to allow KEYSTORE paths to be optional. Issue-ID: DCAEGEN2-2253 Signed-off-by: kjaniak <kornel.janiak@nokia.com> Change-Id: I9176d7fdb0e714d849a4ea617ccc4f8eb6a233e1
Diffstat (limited to 'trustStoreMerger/src/main/java')
-rw-r--r--trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/api/ExitStatus.java4
-rw-r--r--trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/AppConfigurationLoader.java16
-rw-r--r--trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/AppConfigurationProvider.java68
-rw-r--r--trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/ConfigurationEnvs.java33
-rw-r--r--trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/exception/CertificatesPathsValidationException.java (renamed from trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/exception/TruststoresPathsProviderException.java)6
-rw-r--r--trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/exception/ConfigurationException.java (renamed from trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/exception/MergerConfigurationException.java)6
-rw-r--r--trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/model/EnvVariable.java (renamed from trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/path/DelimitedPathsReaderFactory.java)31
-rw-r--r--trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/path/DelimitedPathsSplitter.java (renamed from trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/path/DelimitedPathsReader.java)28
-rw-r--r--trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/path/env/EnvReader.java (renamed from trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/path/env/EnvProvider.java)11
-rw-r--r--trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/path/validation/ValidationFunctions.java6
-rw-r--r--trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/copier/KeystoreCopier.java17
11 files changed, 104 insertions, 122 deletions
diff --git a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/api/ExitStatus.java b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/api/ExitStatus.java
index 01f440cc..2c3945c5 100644
--- a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/api/ExitStatus.java
+++ b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/api/ExitStatus.java
@@ -22,8 +22,8 @@ package org.onap.oom.truststoremerger.api;
public enum ExitStatus {
SUCCESS(0, "Success"),
- TRUSTSTORES_PATHS_PROVIDER_EXCEPTION(1, "Invalid paths in environment variables"),
- MERGER_CONFIGURATION_EXCEPTION(2, "Invalid merger configuration"),
+ CERTIFICATES_PATHS_VALIDATION_EXCEPTION(1, "Invalid paths in environment variables"),
+ CONFIGURATION_EXCEPTION(2, "Invalid merger configuration"),
TRUSTSTORE_FILE_FACTORY_EXCEPTION(3, "Invalid truststore file-password pair"),
PASSWORD_READER_EXCEPTION(4, "Cannot read password from file"),
CREATE_BACKUP_EXCEPTION(5, "Cannot create backup file"),
diff --git a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/AppConfigurationLoader.java b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/AppConfigurationLoader.java
index 7660ff7b..0f538e1d 100644
--- a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/AppConfigurationLoader.java
+++ b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/AppConfigurationLoader.java
@@ -21,22 +21,14 @@ package org.onap.oom.truststoremerger.configuration;
import org.onap.oom.truststoremerger.api.ExitableException;
import org.onap.oom.truststoremerger.configuration.model.AppConfiguration;
-import org.onap.oom.truststoremerger.configuration.path.DelimitedPathsReader;
-import org.onap.oom.truststoremerger.configuration.path.DelimitedPathsReaderFactory;
-import org.onap.oom.truststoremerger.configuration.path.env.EnvProvider;
+import org.onap.oom.truststoremerger.configuration.path.DelimitedPathsSplitter;
+import org.onap.oom.truststoremerger.configuration.path.env.EnvReader;
public class AppConfigurationLoader {
public AppConfiguration loadConfiguration() throws ExitableException {
- DelimitedPathsReaderFactory readerFactory = new DelimitedPathsReaderFactory(new EnvProvider());
- DelimitedPathsReader certificatesPathsReader = readerFactory.createCertificatePathsReader();
- DelimitedPathsReader passwordsPathsReader = readerFactory.createPasswordPathsReader();
- DelimitedPathsReader copierPathsReader = readerFactory.createKeystoreCopierPathsReader();
- AppConfigurationProvider factory = new AppConfigurationProvider(certificatesPathsReader,
- passwordsPathsReader,
- copierPathsReader);
+ DelimitedPathsSplitter pathsSplitter = new DelimitedPathsSplitter();
+ AppConfigurationProvider factory = new AppConfigurationProvider(pathsSplitter, new EnvReader());
return factory.createConfiguration();
}
-
-
}
diff --git a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/AppConfigurationProvider.java b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/AppConfigurationProvider.java
index e1bdbfa3..33ea8e4b 100644
--- a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/AppConfigurationProvider.java
+++ b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/AppConfigurationProvider.java
@@ -19,51 +19,65 @@
package org.onap.oom.truststoremerger.configuration;
-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 static org.onap.oom.truststoremerger.configuration.model.EnvVariable.KEYSTORE_DESTINATION_PATHS_ENV;
+import static org.onap.oom.truststoremerger.configuration.model.EnvVariable.KEYSTORE_SOURCE_PATHS_ENV;
+import static org.onap.oom.truststoremerger.configuration.model.EnvVariable.TRUSTSTORES_PASSWORDS_PATHS_ENV;
+import static org.onap.oom.truststoremerger.configuration.model.EnvVariable.TRUSTSTORES_PATHS_ENV;
+
+import java.util.Collections;
import java.util.List;
-import org.onap.oom.truststoremerger.configuration.exception.MergerConfigurationException;
-import org.onap.oom.truststoremerger.configuration.exception.TruststoresPathsProviderException;
+import java.util.Optional;
+import org.onap.oom.truststoremerger.configuration.exception.CertificatesPathsValidationException;
+import org.onap.oom.truststoremerger.configuration.exception.ConfigurationException;
import org.onap.oom.truststoremerger.configuration.model.AppConfiguration;
-import org.onap.oom.truststoremerger.configuration.path.DelimitedPathsReader;
+import org.onap.oom.truststoremerger.configuration.model.EnvVariable;
+import org.onap.oom.truststoremerger.configuration.path.DelimitedPathsSplitter;
+import org.onap.oom.truststoremerger.configuration.path.env.EnvReader;
public class AppConfigurationProvider {
- private final DelimitedPathsReader truststoresPathsReader;
- private final DelimitedPathsReader truststoresPasswordsPathsReader;
- private final DelimitedPathsReader copierPathsReader;
+ private final EnvReader envReader;
+ private final DelimitedPathsSplitter pathsSplitter;
- public AppConfigurationProvider(DelimitedPathsReader truststoresPathsReader,
- DelimitedPathsReader truststoresPasswordsPathsReader, DelimitedPathsReader copierPathsReader) {
- this.truststoresPathsReader = truststoresPathsReader;
- this.truststoresPasswordsPathsReader = truststoresPasswordsPathsReader;
- this.copierPathsReader = copierPathsReader;
+ public AppConfigurationProvider(DelimitedPathsSplitter pathsSplitter, EnvReader envReader) {
+ this.envReader = envReader;
+ this.pathsSplitter = pathsSplitter;
}
public AppConfiguration createConfiguration()
- throws MergerConfigurationException, TruststoresPathsProviderException {
- 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);
+ throws ConfigurationException, CertificatesPathsValidationException {
+
+ List<String> truststoresPaths = getPaths(TRUSTSTORES_PATHS_ENV);
+ List<String> truststoresPasswordsPaths = getPaths(TRUSTSTORES_PASSWORDS_PATHS_ENV);
+ List<String> sourceKeystorePaths = getPaths(KEYSTORE_SOURCE_PATHS_ENV);
+ List<String> destinationKeystorePaths = getPaths(KEYSTORE_DESTINATION_PATHS_ENV);
- ensureSameSize(truststoresPaths, truststoresPasswordsPaths, TRUSTSTORES_PATHS_ENV,
- TRUSTSTORES_PASSWORDS_PATHS_ENV);
- ensureSameSize(sourceKeystorePaths, destinationKeystorePaths, KEYSTORE_SOURCE_PATHS_ENV,
- KEYSTORE_DESTINATION_PATHS_ENV);
+ ensureSameSize(truststoresPaths, truststoresPasswordsPaths, TRUSTSTORES_PATHS_ENV.name(),
+ TRUSTSTORES_PASSWORDS_PATHS_ENV.name());
+ ensureSameSize(sourceKeystorePaths, destinationKeystorePaths, KEYSTORE_SOURCE_PATHS_ENV.name(),
+ KEYSTORE_DESTINATION_PATHS_ENV.name());
return new AppConfiguration(truststoresPaths, truststoresPasswordsPaths, sourceKeystorePaths,
destinationKeystorePaths);
}
+ private List<String> getPaths(EnvVariable envVariable) throws ConfigurationException {
+ Optional<String> envValue = envReader.getEnv(envVariable.name());
+ isMandatoryEnvPresent(envVariable, envValue);
+ return envValue.isPresent() ? pathsSplitter.getValidatedPaths(envVariable, envValue) : Collections.emptyList();
+ }
+
+ private void isMandatoryEnvPresent(EnvVariable envVariable, Optional<String> envValue) {
+ if (envVariable.isMandatory() && envValue.isEmpty()) {
+ throw new ConfigurationException(envVariable + " mandatory environment variable is not defined");
+ }
+ }
+
private void ensureSameSize(List<String> firstList, List<String> secondList, String firstListEnvName,
- String secondListEnvName)
- throws MergerConfigurationException {
+ String secondListEnvName) throws ConfigurationException {
if (firstList.size() != secondList.size()) {
- throw new MergerConfigurationException(
+ throw new ConfigurationException(
"Size of " + firstListEnvName
+ " does not match size of " + secondListEnvName + " environment variables");
}
diff --git a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/ConfigurationEnvs.java b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/ConfigurationEnvs.java
deleted file mode 100644
index fa72e4b0..00000000
--- a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/ConfigurationEnvs.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*============LICENSE_START=======================================================
- * oom-truststore-merger
- * ================================================================================
- * Copyright (C) 2020 Nokia. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.oom.truststoremerger.configuration;
-
-public final class ConfigurationEnvs {
-
- private ConfigurationEnvs() {
-
- }
-
- public static final String TRUSTSTORES_PATHS_ENV = "TRUSTSTORES_PATHS";
- public static final String TRUSTSTORES_PASSWORDS_PATHS_ENV = "TRUSTSTORES_PASSWORDS_PATHS";
- public static final String KEYSTORE_SOURCE_PATHS_ENV = "KEYSTORE_SOURCE_PATHS";
- public static final String KEYSTORE_DESTINATION_PATHS_ENV = "KEYSTORE_DESTINATION_PATHS";
-
-}
diff --git a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/exception/TruststoresPathsProviderException.java b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/exception/CertificatesPathsValidationException.java
index 6089d314..1069a0fe 100644
--- a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/exception/TruststoresPathsProviderException.java
+++ b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/exception/CertificatesPathsValidationException.java
@@ -22,9 +22,9 @@ package org.onap.oom.truststoremerger.configuration.exception;
import org.onap.oom.truststoremerger.api.ExitStatus;
import org.onap.oom.truststoremerger.api.ExitableException;
-public class TruststoresPathsProviderException extends ExitableException {
+public class CertificatesPathsValidationException extends ExitableException {
- public TruststoresPathsProviderException(String errorMessage) {
- super(errorMessage, ExitStatus.TRUSTSTORES_PATHS_PROVIDER_EXCEPTION);
+ public CertificatesPathsValidationException(String errorMessage) {
+ super(errorMessage, ExitStatus.CERTIFICATES_PATHS_VALIDATION_EXCEPTION);
}
}
diff --git a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/exception/MergerConfigurationException.java b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/exception/ConfigurationException.java
index 4bdfd9f4..ffb99dae 100644
--- a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/exception/MergerConfigurationException.java
+++ b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/exception/ConfigurationException.java
@@ -22,9 +22,9 @@ package org.onap.oom.truststoremerger.configuration.exception;
import org.onap.oom.truststoremerger.api.ExitStatus;
import org.onap.oom.truststoremerger.api.ExitableException;
-public class MergerConfigurationException extends ExitableException {
+public class ConfigurationException extends ExitableException {
- public MergerConfigurationException(String errorMessage) {
- super(errorMessage, ExitStatus.MERGER_CONFIGURATION_EXCEPTION);
+ public ConfigurationException(String errorMessage) {
+ super(errorMessage, ExitStatus.CONFIGURATION_EXCEPTION);
}
}
diff --git a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/path/DelimitedPathsReaderFactory.java b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/model/EnvVariable.java
index b2a64f97..456c58f8 100644
--- a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/path/DelimitedPathsReaderFactory.java
+++ b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/model/EnvVariable.java
@@ -17,30 +17,35 @@
* ============LICENSE_END=========================================================
*/
-package org.onap.oom.truststoremerger.configuration.path;
+package org.onap.oom.truststoremerger.configuration.model;
import static org.onap.oom.truststoremerger.configuration.path.validation.ValidationFunctions.doesItContainValidCertificatesPaths;
import static org.onap.oom.truststoremerger.configuration.path.validation.ValidationFunctions.doesItContainValidPasswordPaths;
import static org.onap.oom.truststoremerger.configuration.path.validation.ValidationFunctions.doesItContainValidPathsToCopy;
-import org.onap.oom.truststoremerger.configuration.path.env.EnvProvider;
+import java.util.List;
+import java.util.function.Predicate;
-public final class DelimitedPathsReaderFactory {
- private final EnvProvider envProvider;
+public enum EnvVariable {
+ TRUSTSTORES_PATHS_ENV(true, doesItContainValidCertificatesPaths()),
+ TRUSTSTORES_PASSWORDS_PATHS_ENV(true, doesItContainValidPasswordPaths()),
+ KEYSTORE_SOURCE_PATHS_ENV(false, doesItContainValidPathsToCopy()),
+ KEYSTORE_DESTINATION_PATHS_ENV(false, doesItContainValidPathsToCopy());
- public DelimitedPathsReaderFactory(EnvProvider envProvider) {
- this.envProvider = envProvider;
- }
+ boolean isMandatory;
+
+ Predicate<List<String>> validationFunction;
- public DelimitedPathsReader createPasswordPathsReader() {
- return new DelimitedPathsReader(envProvider, doesItContainValidPasswordPaths());
+ EnvVariable(boolean isMandatory, Predicate<List<String>> validationFunction) {
+ this.isMandatory = isMandatory;
+ this.validationFunction = validationFunction;
}
- public DelimitedPathsReader createCertificatePathsReader() {
- return new DelimitedPathsReader(envProvider, doesItContainValidCertificatesPaths());
+ public boolean isMandatory() {
+ return isMandatory;
}
- public DelimitedPathsReader createKeystoreCopierPathsReader() {
- return new DelimitedPathsReader(envProvider, doesItContainValidPathsToCopy());
+ public Predicate<List<String>> getValidationFunction() {
+ return validationFunction;
}
}
diff --git a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/path/DelimitedPathsReader.java b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/path/DelimitedPathsSplitter.java
index e5de4d08..b7a4f4c5 100644
--- a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/path/DelimitedPathsReader.java
+++ b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/path/DelimitedPathsSplitter.java
@@ -21,30 +21,22 @@ package org.onap.oom.truststoremerger.configuration.path;
import java.util.Arrays;
import java.util.List;
-import java.util.function.Predicate;
-import org.onap.oom.truststoremerger.configuration.exception.TruststoresPathsProviderException;
-import org.onap.oom.truststoremerger.configuration.path.env.EnvProvider;
+import java.util.Optional;
+import org.onap.oom.truststoremerger.configuration.exception.CertificatesPathsValidationException;
+import org.onap.oom.truststoremerger.configuration.model.EnvVariable;
-public class DelimitedPathsReader {
+public class DelimitedPathsSplitter {
private static final String DELIMITER = ":";
private static final int NEGATIVE_SPLIT_LIMIT = -1;
- private final EnvProvider envProvider;
- private final Predicate<List<String>> pathsValidator;
-
- DelimitedPathsReader(EnvProvider envProvider, Predicate<List<String>> pathsValidator) {
- this.envProvider = envProvider;
- this.pathsValidator = pathsValidator;
- }
-
- public List<String> get(String envName) throws TruststoresPathsProviderException {
- return envProvider.getEnv(envName)
- .filter(this::hasValue)
+ public List<String> getValidatedPaths(EnvVariable envVariable, Optional<String> envValue)
+ throws CertificatesPathsValidationException {
+ return envValue.filter(this::hasValue)
.map(this::splitToList)
- .filter(pathsValidator)
- .orElseThrow(() -> new TruststoresPathsProviderException(
- envName + " environment variable does not contain valid paths"));
+ .filter(envVariable.getValidationFunction())
+ .orElseThrow(() -> new CertificatesPathsValidationException(
+ envVariable + " environment variable does not contain valid paths"));
}
private boolean hasValue(String envValue) {
diff --git a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/path/env/EnvProvider.java b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/path/env/EnvReader.java
index 1dd127d0..cb6099c1 100644
--- a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/path/env/EnvProvider.java
+++ b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/path/env/EnvReader.java
@@ -20,17 +20,20 @@
package org.onap.oom.truststoremerger.configuration.path.env;
import java.util.Optional;
-
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class EnvProvider {
+public class EnvReader {
- private static final Logger LOGGER = LoggerFactory.getLogger(EnvProvider.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(EnvReader.class);
public Optional<String> getEnv(String name) {
+ return getSystemEnv(name);
+ }
+
+ Optional<String> getSystemEnv(String name) {
String value = System.getenv(name);
LOGGER.info("Read variable: {} , value: {}", name, value);
- return Optional.ofNullable(System.getenv(name));
+ return Optional.ofNullable(value);
}
}
diff --git a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/path/validation/ValidationFunctions.java b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/path/validation/ValidationFunctions.java
index f4cfa60c..535d2e6e 100644
--- a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/path/validation/ValidationFunctions.java
+++ b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/configuration/path/validation/ValidationFunctions.java
@@ -25,7 +25,7 @@ import java.util.function.Predicate;
public final class ValidationFunctions {
private static final String CERTIFICATE_PATH_REGEX = "^(/[a-zA-Z0-9_-]+)+\\.(pem|jks|p12)";
- private static final String TRUSTSTORE_PASSWORD_PATH_REGEX = "^(/[a-zA-Z0-9_-]+)+\\.pass";
+ private static final String CERTIFICATE_PASSWORD_PATH_REGEX = "^(/[a-zA-Z0-9_-]+)+\\.pass";
private ValidationFunctions() {
}
@@ -40,7 +40,7 @@ public final class ValidationFunctions {
public static Predicate<List<String>> doesItContainValidPathsToCopy() {
return paths -> paths.stream().allMatch(path ->
- doesMatch(path, TRUSTSTORE_PASSWORD_PATH_REGEX) || isCertificatePathValid(path));
+ doesMatch(path, CERTIFICATE_PASSWORD_PATH_REGEX) || isCertificatePathValid(path));
}
private static boolean isCertificatePathValid(String path) {
@@ -48,7 +48,7 @@ public final class ValidationFunctions {
}
private static boolean isCertificatePasswordPathValid(String path) {
- return path.isEmpty() || doesMatch(path, TRUSTSTORE_PASSWORD_PATH_REGEX);
+ return path.isEmpty() || doesMatch(path, CERTIFICATE_PASSWORD_PATH_REGEX);
}
private static boolean doesMatch(String path, String regex) {
diff --git a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/copier/KeystoreCopier.java b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/copier/KeystoreCopier.java
index 822979c1..7678397a 100644
--- a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/copier/KeystoreCopier.java
+++ b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/copier/KeystoreCopier.java
@@ -26,20 +26,23 @@ import org.onap.oom.truststoremerger.common.FileTools;
import org.onap.oom.truststoremerger.configuration.model.AppConfiguration;
import org.onap.oom.truststoremerger.copier.exception.KeystoreFileCopyException;
import org.onap.oom.truststoremerger.copier.exception.KeystoreNotExistException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class KeystoreCopier {
- final private FileTools fileTools;
+ private static final Logger LOGGER = LoggerFactory.getLogger(KeystoreCopier.class);
+ private final FileTools fileTools;
public KeystoreCopier(FileTools fileTools) {
this.fileTools = fileTools;
}
public void copyKeystores(AppConfiguration configuration) {
+ final List<String> sources = configuration.getSourceKeystorePaths();
+ final List<String> destinations = configuration.getDestinationKeystorePaths();
+ containsPaths(sources);
try {
- final List<String> sources = configuration.getSourceKeystorePaths();
- final List<String> destinations = configuration.getDestinationKeystorePaths();
-
for (int i = 0; i < sources.size(); i++) {
copy(sources.get(i), destinations.get(i));
}
@@ -48,6 +51,12 @@ public class KeystoreCopier {
}
}
+ private void containsPaths(List<String> sources) {
+ if (sources.size() == 0) {
+ LOGGER.info("No Keystore files to copy");
+ }
+ }
+
private void copy(String sourcePath, String destinationPath) throws IOException {
final File source = new File(sourcePath);
final File destination = new File(destinationPath);