aboutsummaryrefslogtreecommitdiffstats
path: root/cmso-ticketmgt/src/main/java/org/onap/observations
diff options
context:
space:
mode:
Diffstat (limited to 'cmso-ticketmgt/src/main/java/org/onap/observations')
-rw-r--r--cmso-ticketmgt/src/main/java/org/onap/observations/Observation.java125
-rw-r--r--cmso-ticketmgt/src/main/java/org/onap/observations/ObservationInterface.java48
-rw-r--r--cmso-ticketmgt/src/main/java/org/onap/observations/ObservationObject.java109
3 files changed, 282 insertions, 0 deletions
diff --git a/cmso-ticketmgt/src/main/java/org/onap/observations/Observation.java b/cmso-ticketmgt/src/main/java/org/onap/observations/Observation.java
new file mode 100644
index 0000000..0e1b1da
--- /dev/null
+++ b/cmso-ticketmgt/src/main/java/org/onap/observations/Observation.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright © 2019 AT&T Intellectual Property.
+ *
+ * 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.
+ *
+ *
+ * Unless otherwise specified, all documentation contained herein is licensed
+ * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
+ * you may not use this documentation except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://creativecommons.org/licenses/by/4.0/
+ *
+ * Unless required by applicable law or agreed to in writing, documentation
+ * 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.
+*/
+package org.onap.observations;
+
+import org.apache.log4j.Level;
+
+import com.att.eelf.configuration.EELFLogger;
+import com.att.eelf.configuration.EELFManager;
+
+
+public class Observation
+{
+ private static EELFLogger log = EELFManager.getInstance().getLogger(Observation.class);
+ private static EELFLogger metrics = EELFManager.getInstance().getMetricsLogger();
+ private static EELFLogger audit = EELFManager.getInstance().getAuditLogger();
+ private static EELFLogger errors = EELFManager.getInstance().getErrorLogger();
+ private static EELFLogger debug = EELFManager.getInstance().getDebugLogger();
+
+ //*************************************************************************************************
+ public static void report(ObservationInterface o, Exception e, String ...arguments)
+ {
+ Mdc.setCaller(4);
+ Mdc.setObservation(o);
+ if (o.getAudit())
+ {
+ audit.info(o, e, arguments);
+ }
+ if (o.getMetric())
+ {
+ metrics.info(o, e, arguments);
+ }
+ Level l = o.getLevel();
+ switch (l.toInt())
+ {
+ case Level.WARN_INT:
+ errors.warn(o, arguments);
+ debug.debug(o, e, arguments);
+ break;
+ case Level.INFO_INT:
+ log.info(o, e, arguments);
+ debug.debug(o, e, arguments);
+ break;
+ case Level.ERROR_INT:
+ errors.error(o, arguments);
+ debug.debug(o, e, arguments);
+ break;
+ case Level.TRACE_INT:
+ debug.trace(o, e, arguments);
+ break;
+ case Level.DEBUG_INT:
+ debug.debug(o, e, arguments);
+ break;
+ default:
+ log.info(o, e, arguments);
+ }
+ Mdc.clearCaller();
+ }
+
+ public static void report(ObservationInterface o, String ...arguments)
+ {
+ Mdc.setCaller(4);
+ Mdc.setObservation(o);
+ if (o.getAudit())
+ {
+ audit.info(o, arguments);
+ }
+ if (o.getMetric())
+ {
+ metrics.info(o, arguments);
+ }
+ Level l = o.getLevel();
+ switch (l.toInt())
+ {
+ case Level.WARN_INT:
+ errors.warn(o, arguments);
+ debug.debug(o, arguments);
+ break;
+ case Level.INFO_INT:
+ log.info(o, arguments);
+ debug.debug(o, arguments);
+ break;
+ case Level.ERROR_INT:
+ errors.error(o, arguments);
+ debug.debug(o, arguments);
+ break;
+ case Level.TRACE_INT:
+ debug.debug(o, arguments);
+ break;
+ case Level.DEBUG_INT:
+ debug.debug(o, arguments);
+ break;
+ default:
+ log.info(o, arguments);
+ }
+ Mdc.clearCaller();
+ }
+
+}
diff --git a/cmso-ticketmgt/src/main/java/org/onap/observations/ObservationInterface.java b/cmso-ticketmgt/src/main/java/org/onap/observations/ObservationInterface.java
new file mode 100644
index 0000000..16305bc
--- /dev/null
+++ b/cmso-ticketmgt/src/main/java/org/onap/observations/ObservationInterface.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright © 2019 AT&T Intellectual Property.
+ *
+ * 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.
+ *
+ *
+ * Unless otherwise specified, all documentation contained herein is licensed
+ * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
+ * you may not use this documentation except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://creativecommons.org/licenses/by/4.0/
+ *
+ * Unless required by applicable law or agreed to in writing, documentation
+ * 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.
+*/
+package org.onap.observations;
+
+import javax.ws.rs.core.Response.Status;
+
+import org.apache.log4j.Level;
+
+import com.att.eelf.i18n.EELFResolvableErrorEnum;
+
+public interface ObservationInterface extends EELFResolvableErrorEnum
+{
+ public Enum<?> getValue();
+ public Level getLevel();
+ public String getMessage();
+ public Status getStatus();
+ public String getDomain();
+ public String name();
+ public Boolean getAudit();
+ public Boolean getMetric();
+} \ No newline at end of file
diff --git a/cmso-ticketmgt/src/main/java/org/onap/observations/ObservationObject.java b/cmso-ticketmgt/src/main/java/org/onap/observations/ObservationObject.java
new file mode 100644
index 0000000..639db76
--- /dev/null
+++ b/cmso-ticketmgt/src/main/java/org/onap/observations/ObservationObject.java
@@ -0,0 +1,109 @@
+/*
+ * Copyright © 2019 AT&T Intellectual Property.
+ *
+ * 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.
+ *
+ *
+ * Unless otherwise specified, all documentation contained herein is licensed
+ * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
+ * you may not use this documentation except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://creativecommons.org/licenses/by/4.0/
+ *
+ * Unless required by applicable law or agreed to in writing, documentation
+ * 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.
+*/
+package org.onap.observations;
+
+import javax.ws.rs.core.Response.Status;
+
+import org.apache.log4j.Level;
+
+import com.att.eelf.i18n.EELFResolvableErrorEnum;
+import com.att.eelf.i18n.EELFResourceManager;
+
+
+public class ObservationObject implements ObservationInterface
+{
+
+ //*************************************************************************************************
+ // Interface class that matches the ObservationInteface pattern
+ // This will be used in case we decide to provide external overrides and we need to instantiate
+ // For now, we'll just use the Enum itself.
+ //
+ //
+ private Enum<?> value = null;
+ private Level level = null;;
+ private String message = null;
+ private Status status = null;
+ private String domain = null;
+ private Boolean metric = false;
+ private Boolean audit = false;
+ public ObservationObject(ObservationInterface o)
+ {
+ this.value = o.getValue();
+ this.level = o.getLevel();
+ this.message = o.getMessage();
+ this.status = o.getStatus();
+ this.domain = o.getDomain();
+ this.metric = o.getMetric();
+ this.audit = o.getAudit();
+
+ }
+ public Enum<?> getValue() {return value;}
+ @Override
+ public String getMessage() {return message;}
+ @Override
+ public Status getStatus() {return status;}
+ @Override
+ public String getDomain() {return domain;}
+
+ @Override
+ public Level getLevel() {
+ return level;
+ }
+ @Override
+ public String name() {
+ return value.name();
+ }
+ @Override
+ public Boolean getAudit() {
+ return audit;
+ }
+ @Override
+ public Boolean getMetric() {
+ return metric;
+ }
+
+ public String getMessage(String ...arguments) {
+ return EELFResourceManager.format((EELFResolvableErrorEnum)value, arguments);
+ }
+ public void setValue(Enum<?> value) {
+ this.value = value;
+ }
+ public void setLevel(Level level) {
+ this.level = level;
+ }
+ public void setMessage(String message) {
+ this.message = message;
+ }
+ public void setStatus(Status status) {
+ this.status = status;
+ }
+
+
+}