f05ca5d41c6488cc5153990945188fd194711784
[dmaap/datarouter.git] / datarouter-subscriber / src / main / java / org / onap / dmaap / datarouter / subscriber / SubscriberProps.java
1 /*******************************************************************************
2  * ============LICENSE_START==================================================
3  * * org.onap.dmaap
4  * * ===========================================================================
5  * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6  * * ===========================================================================
7  * * Licensed under the Apache License, Version 2.0 (the "License");
8  * * you may not use this file except in compliance with the License.
9  * * You may obtain a copy of the License at
10  * *
11  *  *      http://www.apache.org/licenses/LICENSE-2.0
12  * *
13  *  * Unless required by applicable law or agreed to in writing, software
14  * * distributed under the License is distributed on an "AS IS" BASIS,
15  * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * * See the License for the specific language governing permissions and
17  * * limitations under the License.
18  * * ============LICENSE_END====================================================
19  * *
20  * * ECOMP is a trademark and service mark of AT&T Intellectual Property.
21  * *
22  ******************************************************************************/
23
24 package org.onap.dmaap.datarouter.subscriber;
25
26 import java.io.IOException;
27 import java.util.Properties;
28
29 import org.apache.log4j.Logger;
30
31 public class SubscriberProps {
32
33     private static SubscriberProps instance = null;
34     private static Logger subLogger = Logger.getLogger("org.onap.dmaap.datarouter.subscriber.internal");
35     private Properties properties;
36
37     private SubscriberProps(String propsPath) throws IOException{
38         properties = new Properties();
39         properties.load(getClass().getClassLoader().getResourceAsStream(propsPath));
40
41     }
42
43     public static SubscriberProps getInstance(String propsPath) {
44         if(instance == null) {
45             try {
46                 instance = new SubscriberProps(propsPath);
47             } catch (IOException ioe) {
48                 subLogger.error("IO Exception: " + ioe.getMessage(), ioe);
49             }
50         }
51         return instance;
52     }
53
54     public static SubscriberProps getInstance() {
55         return instance;
56     }
57
58     public String getValue(String key) {
59         return properties.getProperty(key);
60     }
61
62     public String getValue(String key, String defaultValue) {
63         return properties.getProperty(key, defaultValue);
64     }
65
66 }