1 /*============LICENSE_START=======================================================
2 * oom-truststore-merger
3 * ================================================================================
4 * Copyright (C) 2020 Nokia. All rights reserved.
5 * ================================================================================
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
17 * ============LICENSE_END=========================================================
20 package org.onap.oom.truststoremerger.copier;
23 import java.io.IOException;
24 import java.util.List;
25 import org.onap.oom.truststoremerger.common.FileTools;
26 import org.onap.oom.truststoremerger.configuration.model.AppConfiguration;
27 import org.onap.oom.truststoremerger.copier.exception.KeystoreFileCopyException;
28 import org.onap.oom.truststoremerger.copier.exception.KeystoreNotExistException;
30 public class KeystoreCopier {
32 final private FileTools fileTools;
34 public KeystoreCopier(FileTools fileTools) {
35 this.fileTools = fileTools;
38 public void copyKeystores(AppConfiguration configuration) {
40 final List<String> sources = configuration.getSourceKeystorePaths();
41 final List<String> destinations = configuration.getDestinationKeystorePaths();
43 for (int i = 0; i < sources.size(); i++) {
44 copy(sources.get(i), destinations.get(i));
46 } catch (IOException e) {
47 throw new KeystoreFileCopyException(e);
51 private void copy(String sourcePath, String destinationPath) throws IOException {
52 final File source = new File(sourcePath);
53 final File destination = new File(destinationPath);
55 if (!source.exists()) {
56 throw new KeystoreNotExistException("Keystore file does not exist '" + source.getAbsolutePath() + "'!");
59 if (destination.exists()) {
60 fileTools.createBackup(destination);
62 fileTools.copy(source, destination);