summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/onap/pomba/contextaggregator/builder/ContextBuilder.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/onap/pomba/contextaggregator/builder/ContextBuilder.java')
-rw-r--r--src/main/java/org/onap/pomba/contextaggregator/builder/ContextBuilder.java103
1 files changed, 103 insertions, 0 deletions
diff --git a/src/main/java/org/onap/pomba/contextaggregator/builder/ContextBuilder.java b/src/main/java/org/onap/pomba/contextaggregator/builder/ContextBuilder.java
new file mode 100644
index 0000000..c1ef808
--- /dev/null
+++ b/src/main/java/org/onap/pomba/contextaggregator/builder/ContextBuilder.java
@@ -0,0 +1,103 @@
+/*
+ * ============LICENSE_START===================================================
+ * Copyright (c) 2018 Amdocs
+ * ============================================================================
+ * 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.pomba.contextaggregator.builder;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
+public class ContextBuilder {
+
+ private static final String HOST = "server.host";
+ private static final String PORT = "server.port";
+ private static final String PROTOCOL = "server.protocol";
+ private static final String SECURITY_PROTOCOL = "security.protocol";
+ private static final String CONNECTION_TIMEOUT = "connection.timeout.ms";
+ private static final String READ_TIMEOUT = "read.timeout.ms";
+ private static final String BASE_URI = "base.uri";
+ private static final String USERNAME = "basicauth.username";
+ private static final String PASSWORD = "basicauth.password";
+
+ private Properties properties;
+ private String contextName;
+
+
+ /**
+ * Instantiates a context builder by loading the given properties file. The context name is
+ * extracted from the file name. File name format is expected to be [context-name].properties (ex:
+ * aai.properties)
+ *
+ * @param configFile
+ * @throws IOException
+ */
+ public ContextBuilder(File configFile) throws IOException {
+ properties = new Properties();
+ InputStream input = new FileInputStream(configFile.getAbsolutePath());
+ properties.load(input);
+ String fileName = configFile.getName();
+ contextName = fileName.substring(0, fileName.lastIndexOf('.'));
+ }
+
+ public ContextBuilder(InputStream is, String resName) throws IOException {
+ properties = new Properties();
+ properties.load(is);
+ contextName = resName.substring(0, resName.lastIndexOf('.'));
+ }
+
+ public String getContextName() {
+ return contextName;
+ }
+
+ public String getHost() {
+ return properties.getProperty(HOST);
+ }
+
+ public int getPort() {
+ return Integer.parseInt(properties.getProperty(PORT));
+ }
+
+ public String getProtocol() {
+ return properties.getProperty(PROTOCOL);
+ }
+
+ public String getSecurityProtocol() {
+ return properties.getProperty(SECURITY_PROTOCOL);
+ }
+
+ public int getConnectionTimeout() {
+ return Integer.parseInt(properties.getProperty(CONNECTION_TIMEOUT));
+ }
+
+ public int getReadTimeout() {
+ return Integer.parseInt(properties.getProperty(READ_TIMEOUT));
+ }
+
+ public String getBaseUri() {
+ return properties.getProperty(BASE_URI);
+ }
+
+ public String getUsername() {
+ return properties.getProperty(USERNAME);
+ }
+
+ public String getPassword() {
+ return properties.getProperty(PASSWORD);
+ }
+}