summaryrefslogtreecommitdiffstats
path: root/ecomp-sdk/epsdk-logger/src/main/java/org/onap/portalsdk/core/logging/logic/LoggerProperties.java
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-sdk/epsdk-logger/src/main/java/org/onap/portalsdk/core/logging/logic/LoggerProperties.java')
-rw-r--r--ecomp-sdk/epsdk-logger/src/main/java/org/onap/portalsdk/core/logging/logic/LoggerProperties.java107
1 files changed, 89 insertions, 18 deletions
diff --git a/ecomp-sdk/epsdk-logger/src/main/java/org/onap/portalsdk/core/logging/logic/LoggerProperties.java b/ecomp-sdk/epsdk-logger/src/main/java/org/onap/portalsdk/core/logging/logic/LoggerProperties.java
index abd98b19..4287088b 100644
--- a/ecomp-sdk/epsdk-logger/src/main/java/org/onap/portalsdk/core/logging/logic/LoggerProperties.java
+++ b/ecomp-sdk/epsdk-logger/src/main/java/org/onap/portalsdk/core/logging/logic/LoggerProperties.java
@@ -37,13 +37,24 @@
*/
package org.onap.portalsdk.core.logging.logic;
+import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.springframework.util.ResourceUtils;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+
public class LoggerProperties {
-
public static final String MDC_APPNAME = "AppName";
public static final String MDC_REST_PATH = "RestPath";
public static final String MDC_REST_METHOD = "RestMethod";
@@ -62,20 +73,34 @@ public class LoggerProperties {
public static final String CLIENT_IP_ADDRESS = "ClientIPAddress";
public static final String STATUS_CODE = "StatusCode";
public static final String RESPONSE_CODE = "ResponseCode";
-
+
public static final String HTTP = "HTTP";
public static final String HTTPS = "HTTPS";
public static final String UNKNOWN = "Unknown";
public static final String PROTOCOL = "PROTOCOL";
public static final String USERAGENT_NAME = "user-agent";
public static final String USER_ATTRIBUTE_NAME = "user_attribute_name";
-
- private LoggerProperties(){}
+ public static final String ALERT_SEVERITY = "AlertSeverity";
+ public static final String ERROR_CATAGORY = "ErrorCatagory";
+ public static final String ERROR_CODE = "ErrorCode";
+ public static final String ERROR_DESCRIPTION = "ErrorDescription";
+ public static final String CUSTOM_FIELD1 = "CustomField1";
+ public static final String CUSTOM_FIELD2 = "CustomField2";
+ public static final String APP_NAME = "application_name";
+
+ private LoggerProperties() {
+ }
+
+ private static Properties properties;
+
+ private static DocumentBuilderFactory dbFactory;
+
+ private static DocumentBuilder dBuilder;
+
+ private static Document doc;
- private static Properties properties;
-
- private static String propertyFileName = "logger.properties";
+ private static String propertyFileName = "classpath:logback.xml";
private static final Object lockObject = new Object();
@@ -83,8 +108,7 @@ public class LoggerProperties {
* Gets the property value for the specified key. If a value is found, leading
* and trailing space is trimmed.
*
- * @param property
- * Property key
+ * @param property Property key
* @return Value for the named property; null if the property file was not
* loaded or the key was not found.
*/
@@ -113,21 +137,68 @@ public class LoggerProperties {
* whether the properties file can be loaded successfully.
*
* @return True if properties were successfully loaded, else false.
- * @throws IOException
- * On failure
+ * @throws IOException On failure
+ * @throws SAXException
+ * @throws ParserConfigurationException
*/
private static boolean initialize() throws IOException {
- if (properties != null)
+ File xmlFile = null;
+// if (properties != null)
+// return true;
+// InputStream in = LoggerProperties.class.getClassLoader().getResourceAsStream(propertyFileName);
+
+ if (dbFactory != null)
return true;
- InputStream in = LoggerProperties.class.getClassLoader().getResourceAsStream(propertyFileName);
- if (in == null)
- return false;
- properties = new Properties();
+// if (in == null)
+// return false;
+ if (dbFactory == null)
+// properties = new Properties();
+ dbFactory = DocumentBuilderFactory.newInstance();
try {
- properties.load(in);
+// properties.load(in);
+ xmlFile = ResourceUtils.getFile(propertyFileName);
+ dBuilder = dbFactory.newDocumentBuilder();
+ doc = dBuilder.parse(xmlFile);
+ doc.getDocumentElement().normalize();
+ } catch (IOException | SAXException | ParserConfigurationException e) {
+ return false;
} finally {
- in.close();
+// in.close();
}
return true;
}
+
+ public static String getPropertyValue(String propertyName) {
+
+ if (dbFactory == null) {
+ synchronized (lockObject) {
+ try {
+ if (!initialize()) {
+ return null;
+ }
+ } catch (IOException e) {
+ return null;
+ }
+ }
+ }
+ String value = getValue(doc, propertyName);
+ if (value != null)
+ value = value.trim();
+ return value;
+
+ }
+
+ private static String getValue(Document someNode, String property) {
+ NodeList nodeList = someNode.getElementsByTagName("property");
+ String Value = null;
+ for (int i = 0; i < nodeList.getLength(); i++) {
+ Node node = nodeList.item(i);
+ if (node instanceof Element) {
+ if (((Element) node).getAttribute("name").toString().equals(property)) {
+ Value = ((Element) node).getAttribute("value").toString();
+ }
+ }
+ }
+ return Value;
+ }
} \ No newline at end of file