More bug fix and refactoring
[dmaap/datarouter.git] / datarouter-node / src / main / java / org / onap / dmaap / datarouter / node / NodeAafPropsUtils.java
1 /*
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2019 Nordix Foundation.
4  * ================================================================================
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  * SPDX-License-Identifier: Apache-2.0
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.dmaap.datarouter.node;
22
23 import com.att.eelf.configuration.EELFLogger;
24 import com.att.eelf.configuration.EELFManager;
25 import java.io.File;
26 import java.io.FileInputStream;
27 import java.io.IOException;
28 import org.onap.aaf.cadi.PropAccess;
29
30 class NodeAafPropsUtils {
31
32     private static EELFLogger eelfLogger = EELFManager.getInstance().getLogger(NodeAafPropsUtils.class);
33     private PropAccess propAccess;
34
35     NodeAafPropsUtils(File propsFile) throws IOException {
36         propAccess = new PropAccess();
37         try {
38             propAccess.load(new FileInputStream(propsFile.getPath()));
39         } catch (IOException e) {
40             eelfLogger.error("Failed to load props file: " + propsFile + "\n" + e.getMessage(), e);
41             throw e;
42         }
43     }
44
45     String getDecryptedPass(String password) {
46         String decryptedPass = "";
47         try {
48             decryptedPass = propAccess.decrypt(propAccess.getProperty(password), false);
49         } catch (IOException e) {
50             eelfLogger.error("Failed to decrypt " + password + " : " + e.getMessage(), e);
51         }
52         return decryptedPass;
53     }
54
55     PropAccess getPropAccess() {
56         return propAccess;
57     }
58 }