aboutsummaryrefslogtreecommitdiffstats
path: root/trustStoreMerger/src/main
diff options
context:
space:
mode:
authorJan Malkiewicz <jan.malkiewicz@nokia.com>2020-09-09 14:42:52 +0200
committerJan Malkiewicz <jan.malkiewicz@nokia.com>2020-09-09 15:45:24 +0200
commitc22f36d5847b75e436a0acbe370a9e1c96008b1d (patch)
tree164e0c446ffdb5fa863cda20cdbb590a90ade6ce /trustStoreMerger/src/main
parenta9fd6d0a175e647ac36932ce77b91f9e54e97084 (diff)
Refactor truststore MainApp (rename to CertificatePostProcessor)
- Move common exception handling logic to dedicated class AppExecutor Issue-ID: DCAEGEN2-2253 Signed-off-by: Jan Malkiewicz <jan.malkiewicz@nokia.com> Change-Id: Ic3cffa155e488258067df22e901ceaa0a2eca5f1
Diffstat (limited to 'trustStoreMerger/src/main')
-rw-r--r--trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/AppExecutor.java54
-rw-r--r--trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/CertificatePostProcessor.java (renamed from trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/TrustStoreMerger.java)31
-rw-r--r--trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/MainApp.java3
-rw-r--r--trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/api/ExitableException.java2
4 files changed, 62 insertions, 28 deletions
diff --git a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/AppExecutor.java b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/AppExecutor.java
new file mode 100644
index 00000000..309f86fc
--- /dev/null
+++ b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/AppExecutor.java
@@ -0,0 +1,54 @@
+/*============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;
+
+import org.onap.oom.truststoremerger.api.ExitStatus;
+import org.onap.oom.truststoremerger.api.ExitableException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class AppExecutor {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(AppExecutor.class);
+
+ private AppExitHandler exitHandler;
+
+ AppExecutor() {
+ this(new AppExitHandler());
+ }
+
+ AppExecutor(AppExitHandler exitHandler) {
+ this.exitHandler = exitHandler;
+ }
+
+
+ public void execute(Runnable logic) {
+ try {
+ logic.run();
+ exitHandler.exit(ExitStatus.SUCCESS);
+ } catch (ExitableException e) {
+ LOGGER.error("Application failed: ", e);
+ exitHandler.exit(e.applicationExitStatus());
+ } catch (Exception e) {
+ LOGGER.error("Application failed (unexpected error): ", e);
+ exitHandler.exit(ExitStatus.UNEXPECTED_EXCEPTION);
+ }
+ }
+}
diff --git a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/TrustStoreMerger.java b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/CertificatePostProcessor.java
index 7f53331f..7eab6401 100644
--- a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/TrustStoreMerger.java
+++ b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/CertificatePostProcessor.java
@@ -20,42 +20,23 @@
package org.onap.oom.truststoremerger;
import java.util.List;
-import org.onap.oom.truststoremerger.api.ExitStatus;
import org.onap.oom.truststoremerger.api.ExitableException;
-import org.onap.oom.truststoremerger.merger.TruststoreFilesProvider;
-import org.onap.oom.truststoremerger.merger.model.Truststore;
-import org.onap.oom.truststoremerger.merger.model.certificate.CertificateWithAlias;
import org.onap.oom.truststoremerger.configuration.MergerConfigurationProvider;
import org.onap.oom.truststoremerger.configuration.model.MergerConfiguration;
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.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+import org.onap.oom.truststoremerger.merger.TruststoreFilesProvider;
+import org.onap.oom.truststoremerger.merger.model.Truststore;
+import org.onap.oom.truststoremerger.merger.model.certificate.CertificateWithAlias;
-class TrustStoreMerger {
+class CertificatePostProcessor implements Runnable {
- private static final Logger LOGGER = LoggerFactory.getLogger(TrustStoreMerger.class);
private static final int FIRST_TRUSTSTORE_INDEX = 0;
private static final int SECOND_TRUSTSTORE_INDEX = 1;
- private final AppExitHandler appExitHandler;
-
- TrustStoreMerger(AppExitHandler appExitHandler) {
- this.appExitHandler = appExitHandler;
- }
-
- void run() {
- try {
- mergeTruststores();
- appExitHandler.exit(ExitStatus.SUCCESS);
- } catch (ExitableException e) {
- LOGGER.error("Truststore Merger fails in execution: ", e);
- appExitHandler.exit(e.applicationExitStatus());
- } catch (Exception e) {
- LOGGER.error("Truststore Merger fails in execution: ", e);
- appExitHandler.exit(ExitStatus.UNEXPECTED_EXCEPTION);
- }
+ public void run() throws ExitableException {
+ mergeTruststores();
}
private void mergeTruststores() throws ExitableException {
diff --git a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/MainApp.java b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/MainApp.java
index a26b9def..61112e0a 100644
--- a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/MainApp.java
+++ b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/MainApp.java
@@ -22,7 +22,6 @@ package org.onap.oom.truststoremerger;
public class MainApp {
public static void main(String[] args) {
- TrustStoreMerger trustStoreMerger = new TrustStoreMerger(new AppExitHandler());
- trustStoreMerger.run();
+ new AppExecutor().execute(new CertificatePostProcessor());
}
}
diff --git a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/api/ExitableException.java b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/api/ExitableException.java
index ec28d466..1454e6bd 100644
--- a/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/api/ExitableException.java
+++ b/trustStoreMerger/src/main/java/org/onap/oom/truststoremerger/api/ExitableException.java
@@ -19,7 +19,7 @@
package org.onap.oom.truststoremerger.api;
-public class ExitableException extends Exception {
+public class ExitableException extends RuntimeException {
private final ExitStatus exitStatus;