TCA: Replace any openecomp reference by onap
[dcaegen2/analytics/tca.git] / dcae-analytics-cdap-common / src / main / java / org / onap / dcae / apod / analytics / cdap / common / persistance / tca / TCAMessageStatusEntity.java
-/*\r
- * ===============================LICENSE_START======================================\r
- *  dcae-analytics\r
- * ================================================================================\r
- *    Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
- * ================================================================================\r
- *  Licensed under the Apache License, Version 2.0 (the "License");\r
- *  you may not use this file except in compliance with the License.\r
- *   You may obtain a copy of the License at\r
- *\r
- *          http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- *  Unless required by applicable law or agreed to in writing, software\r
- *  distributed under the License is distributed on an "AS IS" BASIS,\r
- *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- *  See the License for the specific language governing permissions and\r
- *  limitations under the License.\r
- *  ============================LICENSE_END===========================================\r
- */\r
-\r
-package org.openecomp.dcae.apod.analytics.cdap.common.persistance.tca;\r
-\r
-import org.apache.hadoop.io.Writable;\r
-import org.apache.hadoop.io.WritableUtils;\r
-import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.Direction;\r
-import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.TCAPolicy;\r
-import org.openecomp.dcae.apod.analytics.tca.processor.TCACEFJsonProcessor;\r
-import org.openecomp.dcae.apod.analytics.tca.processor.TCACEFPolicyDomainFilter;\r
-import org.openecomp.dcae.apod.analytics.tca.processor.TCACEFPolicyEventNameFilter;\r
-import org.openecomp.dcae.apod.analytics.tca.processor.TCACEFPolicyThresholdsProcessor;\r
-\r
-import java.io.DataInput;\r
-import java.io.DataOutput;\r
-import java.io.IOException;\r
-import java.io.Serializable;\r
-\r
-/**\r
- * TCA Message Status is an Entity which is used to persist TCA VES Message status information in Message Status Table\r
- *\r
- * @author Rajiv Singla . Creation Date: 11/16/2016.\r
- */\r
-public class TCAMessageStatusEntity implements Writable, Serializable {\r
-\r
-    private static final long serialVersionUID = 1L;\r
-\r
-    private long creationTS;\r
-    private int instanceId;\r
-    private String messageType;\r
-    private String vesMessage;\r
-    private String domain;\r
-    private String eventName;\r
-    private String thresholdPath;\r
-    private String thresholdSeverity;\r
-    private String thresholdDirection;\r
-    private Long thresholdValue;\r
-    private String jsonProcessorStatus;\r
-    private String jsonProcessorMessage;\r
-    private String domainFilterStatus;\r
-    private String domainFilterMessage;\r
-    private String eventNameFilterStatus;\r
-    private String eventNameFilterMessage;\r
-    private String thresholdCalculatorStatus;\r
-    private String thresholdCalculatorMessage;\r
-    private String alertMessage;\r
-\r
-    /**\r
-     * No Arg constructor required for Jackson Json Serialization / Deserialization\r
-     */\r
-    public TCAMessageStatusEntity() {\r
-        // no argument constructor required for json serialization / deserialization\r
-    }\r
-\r
-    /**\r
-     * Create new Instance of {@link TCAMessageStatusEntity}\r
-     *\r
-     * @param creationTS creation Timestamp\r
-     * @param instanceId CDAP flowlet instance ID\r
-     * @param messageType {@link TCACalculatorMessageType}\r
-     * @param vesMessage incoming VES message from collector\r
-     * @param domain VES message domain if present\r
-     * @param eventName VES message functional role if present\r
-     */\r
-    public TCAMessageStatusEntity(final long creationTS, final int instanceId, final String messageType,\r
-                                  final String vesMessage, final String domain, final String eventName) {\r
-        this(creationTS, instanceId, messageType, vesMessage, domain, eventName, null, null, null, null,\r
-                null, null, null, null, null, null, null, null, null);\r
-    }\r
-\r
-\r
-    /**\r
-     * Create new Instance of {@link TCAMessageStatusEntity}\r
-     *\r
-     * @param creationTS creation Timestamp\r
-     * @param instanceId CDAP flowlet instance ID\r
-     * @param messageType {@link TCACalculatorMessageType}\r
-     * @param vesMessage incoming VES message from collector\r
-     * @param domain VES message domain if present\r
-     * @param eventName VES message event name if present\r
-     * @param thresholdPath Violated threshold path\r
-     * @param thresholdSeverity Violated threshold Severity if any\r
-     * @param thresholdDirection Violated threshold Direction if any\r
-     * @param thresholdValue Violated threshold value if any\r
-     * @param jsonProcessorStatus {@link TCACEFJsonProcessor} status\r
-     * @param jsonProcessorMessage {@link TCACEFJsonProcessor} message\r
-     * @param domainFilterStatus {@link TCACEFPolicyDomainFilter} status\r
-     * @param domainFilterMessage {@link TCACEFPolicyDomainFilter} message\r
-     * @param eventNameFilterStatus {@link TCACEFPolicyEventNameFilter} status\r
-     * @param eventNameFilterMessage {@link TCACEFPolicyEventNameFilter} message\r
-     * @param thresholdCalculatorStatus {@link TCACEFPolicyThresholdsProcessor} status\r
-     * @param thresholdCalculatorMessage {@link TCACEFPolicyThresholdsProcessor} message\r
-     * @param alertMessage alert message that will be sent out in case of threshold violation\r
-     */\r
-    public TCAMessageStatusEntity(long creationTS, int instanceId, String messageType, String vesMessage,\r
-                                  String domain, String eventName,\r
-                                  String thresholdPath, String thresholdSeverity, String thresholdDirection,\r
-                                  Long thresholdValue,\r
-                                  String jsonProcessorStatus, String jsonProcessorMessage,\r
-                                  String domainFilterStatus, String domainFilterMessage,\r
-                                  String eventNameFilterStatus, String eventNameFilterMessage,\r
-                                  String thresholdCalculatorStatus, String thresholdCalculatorMessage,\r
-                                  String alertMessage) {\r
-        this.creationTS = creationTS;\r
-        this.instanceId = instanceId;\r
-        this.messageType = messageType;\r
-        this.vesMessage = vesMessage;\r
-        this.domain = domain;\r
-        this.eventName = eventName;\r
-        this.thresholdPath = thresholdPath;\r
-        this.thresholdSeverity = thresholdSeverity;\r
-        this.thresholdDirection = thresholdDirection;\r
-        this.thresholdValue = thresholdValue;\r
-        this.jsonProcessorStatus = jsonProcessorStatus;\r
-        this.jsonProcessorMessage = jsonProcessorMessage;\r
-        this.domainFilterStatus = domainFilterStatus;\r
-        this.domainFilterMessage = domainFilterMessage;\r
-        this.eventNameFilterStatus = eventNameFilterStatus;\r
-        this.eventNameFilterMessage = eventNameFilterMessage;\r
-        this.thresholdCalculatorStatus = thresholdCalculatorStatus;\r
-        this.thresholdCalculatorMessage = thresholdCalculatorMessage;\r
-        this.alertMessage = alertMessage;\r
-    }\r
-\r
-    /**\r
-     * Provides Creation Timestamp\r
-     *\r
-     * @return creation timestamp long value\r
-     */\r
-    public long getCreationTS() {\r
-        return creationTS;\r
-    }\r
-\r
-    /**\r
-     * Sets Creations Timestamp\r
-     *\r
-     * @param creationTS creation timestamp long value\r
-     */\r
-    public void setCreationTS(long creationTS) {\r
-        this.creationTS = creationTS;\r
-    }\r
-\r
-\r
-    /**\r
-     * Provides CDAP Flowlet instance ID\r
-     *\r
-     * @return cdap flowlet instance ID\r
-     */\r
-    public int getInstanceId() {\r
-        return instanceId;\r
-    }\r
-\r
-    /**\r
-     * Sets CDAP Flowlet instance ID\r
-     *\r
-     * @param instanceId flowlet instance ID\r
-     */\r
-    public void setInstanceId(int instanceId) {\r
-        this.instanceId = instanceId;\r
-    }\r
-\r
-    /**\r
-     * Provides Message Calculator Type {@link TCACalculatorMessageType}\r
-     *\r
-     * @return calculator message type\r
-     */\r
-    public String getMessageType() {\r
-        return messageType;\r
-    }\r
-\r
-    /**\r
-     * Sets Calculator message Type {@link TCACalculatorMessageType}\r
-     *\r
-     * @param messageType calculator message type\r
-     */\r
-    public void setMessageType(String messageType) {\r
-        this.messageType = messageType;\r
-    }\r
-\r
-    /**\r
-     * Provides incoming VES Message\r
-     *\r
-     * @return ves message\r
-     */\r
-    public String getVesMessage() {\r
-        return vesMessage;\r
-    }\r
-\r
-    /**\r
-     * Set new value for VES message\r
-     *\r
-     * @param vesMessage ves message\r
-     */\r
-    public void setVesMessage(String vesMessage) {\r
-        this.vesMessage = vesMessage;\r
-    }\r
-\r
-    /**\r
-     * Provides VES message Domain\r
-     *\r
-     * @return ves message domain\r
-     */\r
-    public String getDomain() {\r
-        return domain;\r
-    }\r
-\r
-    /**\r
-     * Sets VES Message Domain\r
-     *\r
-     * @param domain ves message domain\r
-     */\r
-    public void setDomain(String domain) {\r
-        this.domain = domain;\r
-    }\r
-\r
-    /**\r
-     * Provides VES Message Event Name\r
-     *\r
-     * @return ves message Event Name\r
-     */\r
-    public String getEventName() {\r
-        return eventName;\r
-    }\r
-\r
-    /**\r
-     * Sets VES Message Functional Role\r
-     *\r
-     * @param eventName ves message Functional Role\r
-     */\r
-    public void setEventName(String eventName) {\r
-        this.eventName = eventName;\r
-    }\r
-\r
-    /**\r
-     * Violated Threshold Path as extracted from {@link TCAPolicy}\r
-     *\r
-     * @return violated threshold path\r
-     */\r
-    public String getThresholdPath() {\r
-        return thresholdPath;\r
-    }\r
-\r
-    /**\r
-     * Sets value for Violated Threshold Path\r
-     *\r
-     * @param thresholdPath violated threshold path\r
-     */\r
-    public void setThresholdPath(String thresholdPath) {\r
-        this.thresholdPath = thresholdPath;\r
-    }\r
-\r
-    /**\r
-     * Violated threshold Event Severity\r
-     *\r
-     * @return event severity\r
-     */\r
-    public String getThresholdSeverity() {\r
-        return thresholdSeverity;\r
-    }\r
-\r
-    /**\r
-     * Violated Threshold Severity\r
-     *\r
-     * @param thresholdSeverity violated threshold severity\r
-     */\r
-    public void setThresholdSeverity(String thresholdSeverity) {\r
-        this.thresholdSeverity = thresholdSeverity;\r
-    }\r
-\r
-    /**\r
-     * Violated Threshold {@link Direction}\r
-     *\r
-     * @return violated threshold Direction\r
-     */\r
-    public String getThresholdDirection() {\r
-        return thresholdDirection;\r
-    }\r
-\r
-    /**\r
-     * Sets Violated Threshold Direction\r
-     *\r
-     * @param thresholdDirection violated threshold direction\r
-     */\r
-    public void setThresholdDirection(String thresholdDirection) {\r
-        this.thresholdDirection = thresholdDirection;\r
-    }\r
-\r
-    /**\r
-     * Provides Violated Threshold Value\r
-     *\r
-     * @return violated Threshold value\r
-     */\r
-    public Long getThresholdValue() {\r
-        return thresholdValue;\r
-    }\r
-\r
-    /**\r
-     * Sets Violated Threshold Value\r
-     *\r
-     * @param thresholdValue violated threshold value\r
-     */\r
-    public void setThresholdValue(Long thresholdValue) {\r
-        this.thresholdValue = thresholdValue;\r
-    }\r
-\r
-    /**\r
-     * Provides {@link TCACEFJsonProcessor} status\r
-     *\r
-     * @return json processor status\r
-     */\r
-    public String getJsonProcessorStatus() {\r
-        return jsonProcessorStatus;\r
-    }\r
-\r
-    /**\r
-     * Sets Json Processor status\r
-     *\r
-     * @param jsonProcessorStatus json processor status\r
-     */\r
-    public void setJsonProcessorStatus(String jsonProcessorStatus) {\r
-        this.jsonProcessorStatus = jsonProcessorStatus;\r
-    }\r
-\r
-    /**\r
-     * Provides {@link TCACEFJsonProcessor} message\r
-     *\r
-     * @return json processor message\r
-     */\r
-    public String getJsonProcessorMessage() {\r
-        return jsonProcessorMessage;\r
-    }\r
-\r
-    /**\r
-     * Sets Json Processor Message\r
-     *\r
-     * @param jsonProcessorMessage json processor message\r
-     */\r
-    public void setJsonProcessorMessage(String jsonProcessorMessage) {\r
-        this.jsonProcessorMessage = jsonProcessorMessage;\r
-    }\r
-\r
-    /**\r
-     * Provides {@link TCACEFPolicyDomainFilter} status\r
-     *\r
-     * @return domain filter status\r
-     */\r
-    public String getDomainFilterStatus() {\r
-        return domainFilterStatus;\r
-    }\r
-\r
-    /**\r
-     * Sets Domain Filter status\r
-     *\r
-     * @param domainFilterStatus domain filter status\r
-     */\r
-    public void setDomainFilterStatus(String domainFilterStatus) {\r
-        this.domainFilterStatus = domainFilterStatus;\r
-    }\r
-\r
-    /**\r
-     * Provides {@link TCACEFPolicyDomainFilter} message\r
-     *\r
-     * @return domain filter message\r
-     */\r
-    public String getDomainFilterMessage() {\r
-        return domainFilterMessage;\r
-    }\r
-\r
-    /**\r
-     * Sets Domain filter message\r
-     *\r
-     * @param domainFilterMessage domain filter message\r
-     */\r
-    public void setDomainFilterMessage(String domainFilterMessage) {\r
-        this.domainFilterMessage = domainFilterMessage;\r
-    }\r
-\r
-    public String getEventNameFilterStatus() {\r
-        return eventNameFilterStatus;\r
-    }\r
-\r
-    /**\r
-     * Provides {@link TCACEFPolicyEventNameFilter} status\r
-     *\r
-     * @param eventNameFilterStatus functional Role filter status\r
-     */\r
-    public void setEventNameFilterStatus(String eventNameFilterStatus) {\r
-        this.eventNameFilterStatus = eventNameFilterStatus;\r
-    }\r
-\r
-    /**\r
-     * Provides {@link TCACEFPolicyEventNameFilter} message\r
-     *\r
-     * @return functional role filter message\r
-     */\r
-    public String getEventNameFilterMessage() {\r
-        return eventNameFilterMessage;\r
-    }\r
-\r
-    /**\r
-     * Sets Functional Role filter message\r
-     *\r
-     * @param eventNameFilterMessage functional role filter message\r
-     */\r
-    public void setEventNameFilterMessage(String eventNameFilterMessage) {\r
-        this.eventNameFilterMessage = eventNameFilterMessage;\r
-    }\r
-\r
-    /**\r
-     * Provides {@link TCACEFPolicyThresholdsProcessor} status\r
-     *\r
-     * @return threshold processor status\r
-     */\r
-    public String getThresholdCalculatorStatus() {\r
-        return thresholdCalculatorStatus;\r
-    }\r
-\r
-    /**\r
-     * Sets threshold calculator status\r
-     *\r
-     * @param thresholdCalculatorStatus threshold calculator status\r
-     */\r
-    public void setThresholdCalculatorStatus(String thresholdCalculatorStatus) {\r
-        this.thresholdCalculatorStatus = thresholdCalculatorStatus;\r
-    }\r
-\r
-    /**\r
-     * Provides {@link TCACEFPolicyThresholdsProcessor} message\r
-     *\r
-     * @return threshold processor message\r
-     */\r
-    public String getThresholdCalculatorMessage() {\r
-        return thresholdCalculatorMessage;\r
-    }\r
-\r
-    /**\r
-     * Sets Threshold Calculator Processor Message\r
-     *\r
-     * @param thresholdCalculatorMessage threshold calculator message\r
-     */\r
-    public void setThresholdCalculatorMessage(String thresholdCalculatorMessage) {\r
-        this.thresholdCalculatorMessage = thresholdCalculatorMessage;\r
-    }\r
-\r
-    /**\r
-     * Provides generated alert message\r
-     *\r
-     * @return generated alert message\r
-     */\r
-    public String getAlertMessage() {\r
-        return alertMessage;\r
-    }\r
-\r
-    /**\r
-     * Sets alert message\r
-     *\r
-     * @param alertMessage alert message\r
-     */\r
-    public void setAlertMessage(String alertMessage) {\r
-        this.alertMessage = alertMessage;\r
-    }\r
-\r
-    /**\r
-     * Write entity to Table\r
-     *\r
-     * @param dataOutput data output\r
-     *\r
-     * @throws IOException io exception\r
-     */\r
-    @Override\r
-    public void write(DataOutput dataOutput) throws IOException {\r
-        WritableUtils.writeVLong(dataOutput, creationTS);\r
-        WritableUtils.writeVInt(dataOutput, instanceId);\r
-        WritableUtils.writeString(dataOutput, messageType);\r
-        WritableUtils.writeString(dataOutput, vesMessage);\r
-\r
-        WritableUtils.writeString(dataOutput, domain);\r
-        WritableUtils.writeString(dataOutput, eventName);\r
-\r
-        WritableUtils.writeString(dataOutput, thresholdPath);\r
-        WritableUtils.writeString(dataOutput, thresholdSeverity);\r
-        WritableUtils.writeString(dataOutput, thresholdDirection);\r
-        WritableUtils.writeVLong(dataOutput, thresholdValue);\r
-\r
-        WritableUtils.writeString(dataOutput, jsonProcessorStatus);\r
-        WritableUtils.writeString(dataOutput, jsonProcessorMessage);\r
-        WritableUtils.writeString(dataOutput, domainFilterStatus);\r
-        WritableUtils.writeString(dataOutput, domainFilterMessage);\r
-        WritableUtils.writeString(dataOutput, eventNameFilterStatus);\r
-        WritableUtils.writeString(dataOutput, eventNameFilterMessage);\r
-        WritableUtils.writeString(dataOutput, thresholdCalculatorStatus);\r
-        WritableUtils.writeString(dataOutput, thresholdCalculatorMessage);\r
-\r
-        WritableUtils.writeString(dataOutput, alertMessage);\r
-\r
-    }\r
-\r
-    /**\r
-     * Read entity from table\r
-     *\r
-     * @param dataInput data input\r
-     * @throws IOException io exception\r
-     */\r
-    @Override\r
-    public void readFields(DataInput dataInput) throws IOException {\r
-        creationTS = WritableUtils.readVLong(dataInput);\r
-        instanceId = WritableUtils.readVInt(dataInput);\r
-        messageType = WritableUtils.readString(dataInput);\r
-        vesMessage = WritableUtils.readString(dataInput);\r
-\r
-        domain = WritableUtils.readString(dataInput);\r
-        eventName = WritableUtils.readString(dataInput);\r
-\r
-        thresholdPath = WritableUtils.readString(dataInput);\r
-        thresholdSeverity = WritableUtils.readString(dataInput);\r
-        thresholdDirection = WritableUtils.readString(dataInput);\r
-        thresholdValue = WritableUtils.readVLong(dataInput);\r
-\r
-        jsonProcessorStatus = WritableUtils.readString(dataInput);\r
-        jsonProcessorMessage = WritableUtils.readString(dataInput);\r
-        domainFilterStatus = WritableUtils.readString(dataInput);\r
-        domainFilterMessage = WritableUtils.readString(dataInput);\r
-        eventNameFilterStatus = WritableUtils.readString(dataInput);\r
-        eventNameFilterMessage = WritableUtils.readString(dataInput);\r
-        thresholdCalculatorStatus = WritableUtils.readString(dataInput);\r
-        thresholdCalculatorMessage = WritableUtils.readString(dataInput);\r
-\r
-        alertMessage = WritableUtils.readString(dataInput);\r
-\r
-    }\r
-\r
-}\r
+/*
+ * ===============================LICENSE_START======================================
+ *  dcae-analytics
+ * ================================================================================
+ *    Copyright © 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ *  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.dcae.apod.analytics.cdap.common.persistance.tca;
+
+import org.apache.hadoop.io.Writable;
+import org.apache.hadoop.io.WritableUtils;
+import org.onap.dcae.apod.analytics.model.domain.policy.tca.Direction;
+import org.onap.dcae.apod.analytics.model.domain.policy.tca.TCAPolicy;
+import org.onap.dcae.apod.analytics.tca.processor.TCACEFJsonProcessor;
+import org.onap.dcae.apod.analytics.tca.processor.TCACEFPolicyDomainFilter;
+import org.onap.dcae.apod.analytics.tca.processor.TCACEFPolicyEventNameFilter;
+import org.onap.dcae.apod.analytics.tca.processor.TCACEFPolicyThresholdsProcessor;
+
+import java.io.DataInput;
+import java.io.DataOutput;
+import java.io.IOException;
+import java.io.Serializable;
+
+/**
+ * TCA Message Status is an Entity which is used to persist TCA VES Message status information in Message Status Table
+ *
+ * @author Rajiv Singla . Creation Date: 11/16/2016.
+ */
+public class TCAMessageStatusEntity implements Writable, Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    private long creationTS;
+    private int instanceId;
+    private String messageType;
+    private String vesMessage;
+    private String domain;
+    private String eventName;
+    private String thresholdPath;
+    private String thresholdSeverity;
+    private String thresholdDirection;
+    private Long thresholdValue;
+    private String jsonProcessorStatus;
+    private String jsonProcessorMessage;
+    private String domainFilterStatus;
+    private String domainFilterMessage;
+    private String eventNameFilterStatus;
+    private String eventNameFilterMessage;
+    private String thresholdCalculatorStatus;
+    private String thresholdCalculatorMessage;
+    private String alertMessage;
+
+    /**
+     * No Arg constructor required for Jackson Json Serialization / Deserialization
+     */
+    public TCAMessageStatusEntity() {
+        // no argument constructor required for json serialization / deserialization
+    }
+
+    /**
+     * Create new Instance of {@link TCAMessageStatusEntity}
+     *
+     * @param creationTS creation Timestamp
+     * @param instanceId CDAP flowlet instance ID
+     * @param messageType {@link TCACalculatorMessageType}
+     * @param vesMessage incoming VES message from collector
+     * @param domain VES message domain if present
+     * @param eventName VES message functional role if present
+     */
+    public TCAMessageStatusEntity(final long creationTS, final int instanceId, final String messageType,
+                                  final String vesMessage, final String domain, final String eventName) {
+        this(creationTS, instanceId, messageType, vesMessage, domain, eventName, null, null, null, null,
+                null, null, null, null, null, null, null, null, null);
+    }
+
+
+    /**
+     * Create new Instance of {@link TCAMessageStatusEntity}
+     *
+     * @param creationTS creation Timestamp
+     * @param instanceId CDAP flowlet instance ID
+     * @param messageType {@link TCACalculatorMessageType}
+     * @param vesMessage incoming VES message from collector
+     * @param domain VES message domain if present
+     * @param eventName VES message event name if present
+     * @param thresholdPath Violated threshold path
+     * @param thresholdSeverity Violated threshold Severity if any
+     * @param thresholdDirection Violated threshold Direction if any
+     * @param thresholdValue Violated threshold value if any
+     * @param jsonProcessorStatus {@link TCACEFJsonProcessor} status
+     * @param jsonProcessorMessage {@link TCACEFJsonProcessor} message
+     * @param domainFilterStatus {@link TCACEFPolicyDomainFilter} status
+     * @param domainFilterMessage {@link TCACEFPolicyDomainFilter} message
+     * @param eventNameFilterStatus {@link TCACEFPolicyEventNameFilter} status
+     * @param eventNameFilterMessage {@link TCACEFPolicyEventNameFilter} message
+     * @param thresholdCalculatorStatus {@link TCACEFPolicyThresholdsProcessor} status
+     * @param thresholdCalculatorMessage {@link TCACEFPolicyThresholdsProcessor} message
+     * @param alertMessage alert message that will be sent out in case of threshold violation
+     */
+    public TCAMessageStatusEntity(long creationTS, int instanceId, String messageType, String vesMessage,
+                                  String domain, String eventName,
+                                  String thresholdPath, String thresholdSeverity, String thresholdDirection,
+                                  Long thresholdValue,
+                                  String jsonProcessorStatus, String jsonProcessorMessage,
+                                  String domainFilterStatus, String domainFilterMessage,
+                                  String eventNameFilterStatus, String eventNameFilterMessage,
+                                  String thresholdCalculatorStatus, String thresholdCalculatorMessage,
+                                  String alertMessage) {
+        this.creationTS = creationTS;
+        this.instanceId = instanceId;
+        this.messageType = messageType;
+        this.vesMessage = vesMessage;
+        this.domain = domain;
+        this.eventName = eventName;
+        this.thresholdPath = thresholdPath;
+        this.thresholdSeverity = thresholdSeverity;
+        this.thresholdDirection = thresholdDirection;
+        this.thresholdValue = thresholdValue;
+        this.jsonProcessorStatus = jsonProcessorStatus;
+        this.jsonProcessorMessage = jsonProcessorMessage;
+        this.domainFilterStatus = domainFilterStatus;
+        this.domainFilterMessage = domainFilterMessage;
+        this.eventNameFilterStatus = eventNameFilterStatus;
+        this.eventNameFilterMessage = eventNameFilterMessage;
+        this.thresholdCalculatorStatus = thresholdCalculatorStatus;
+        this.thresholdCalculatorMessage = thresholdCalculatorMessage;
+        this.alertMessage = alertMessage;
+    }
+
+    /**
+     * Provides Creation Timestamp
+     *
+     * @return creation timestamp long value
+     */
+    public long getCreationTS() {
+        return creationTS;
+    }
+
+    /**
+     * Sets Creations Timestamp
+     *
+     * @param creationTS creation timestamp long value
+     */
+    public void setCreationTS(long creationTS) {
+        this.creationTS = creationTS;
+    }
+
+
+    /**
+     * Provides CDAP Flowlet instance ID
+     *
+     * @return cdap flowlet instance ID
+     */
+    public int getInstanceId() {
+        return instanceId;
+    }
+
+    /**
+     * Sets CDAP Flowlet instance ID
+     *
+     * @param instanceId flowlet instance ID
+     */
+    public void setInstanceId(int instanceId) {
+        this.instanceId = instanceId;
+    }
+
+    /**
+     * Provides Message Calculator Type {@link TCACalculatorMessageType}
+     *
+     * @return calculator message type
+     */
+    public String getMessageType() {
+        return messageType;
+    }
+
+    /**
+     * Sets Calculator message Type {@link TCACalculatorMessageType}
+     *
+     * @param messageType calculator message type
+     */
+    public void setMessageType(String messageType) {
+        this.messageType = messageType;
+    }
+
+    /**
+     * Provides incoming VES Message
+     *
+     * @return ves message
+     */
+    public String getVesMessage() {
+        return vesMessage;
+    }
+
+    /**
+     * Set new value for VES message
+     *
+     * @param vesMessage ves message
+     */
+    public void setVesMessage(String vesMessage) {
+        this.vesMessage = vesMessage;
+    }
+
+    /**
+     * Provides VES message Domain
+     *
+     * @return ves message domain
+     */
+    public String getDomain() {
+        return domain;
+    }
+
+    /**
+     * Sets VES Message Domain
+     *
+     * @param domain ves message domain
+     */
+    public void setDomain(String domain) {
+        this.domain = domain;
+    }
+
+    /**
+     * Provides VES Message Event Name
+     *
+     * @return ves message Event Name
+     */
+    public String getEventName() {
+        return eventName;
+    }
+
+    /**
+     * Sets VES Message Functional Role
+     *
+     * @param eventName ves message Functional Role
+     */
+    public void setEventName(String eventName) {
+        this.eventName = eventName;
+    }
+
+    /**
+     * Violated Threshold Path as extracted from {@link TCAPolicy}
+     *
+     * @return violated threshold path
+     */
+    public String getThresholdPath() {
+        return thresholdPath;
+    }
+
+    /**
+     * Sets value for Violated Threshold Path
+     *
+     * @param thresholdPath violated threshold path
+     */
+    public void setThresholdPath(String thresholdPath) {
+        this.thresholdPath = thresholdPath;
+    }
+
+    /**
+     * Violated threshold Event Severity
+     *
+     * @return event severity
+     */
+    public String getThresholdSeverity() {
+        return thresholdSeverity;
+    }
+
+    /**
+     * Violated Threshold Severity
+     *
+     * @param thresholdSeverity violated threshold severity
+     */
+    public void setThresholdSeverity(String thresholdSeverity) {
+        this.thresholdSeverity = thresholdSeverity;
+    }
+
+    /**
+     * Violated Threshold {@link Direction}
+     *
+     * @return violated threshold Direction
+     */
+    public String getThresholdDirection() {
+        return thresholdDirection;
+    }
+
+    /**
+     * Sets Violated Threshold Direction
+     *
+     * @param thresholdDirection violated threshold direction
+     */
+    public void setThresholdDirection(String thresholdDirection) {
+        this.thresholdDirection = thresholdDirection;
+    }
+
+    /**
+     * Provides Violated Threshold Value
+     *
+     * @return violated Threshold value
+     */
+    public Long getThresholdValue() {
+        return thresholdValue;
+    }
+
+    /**
+     * Sets Violated Threshold Value
+     *
+     * @param thresholdValue violated threshold value
+     */
+    public void setThresholdValue(Long thresholdValue) {
+        this.thresholdValue = thresholdValue;
+    }
+
+    /**
+     * Provides {@link TCACEFJsonProcessor} status
+     *
+     * @return json processor status
+     */
+    public String getJsonProcessorStatus() {
+        return jsonProcessorStatus;
+    }
+
+    /**
+     * Sets Json Processor status
+     *
+     * @param jsonProcessorStatus json processor status
+     */
+    public void setJsonProcessorStatus(String jsonProcessorStatus) {
+        this.jsonProcessorStatus = jsonProcessorStatus;
+    }
+
+    /**
+     * Provides {@link TCACEFJsonProcessor} message
+     *
+     * @return json processor message
+     */
+    public String getJsonProcessorMessage() {
+        return jsonProcessorMessage;
+    }
+
+    /**
+     * Sets Json Processor Message
+     *
+     * @param jsonProcessorMessage json processor message
+     */
+    public void setJsonProcessorMessage(String jsonProcessorMessage) {
+        this.jsonProcessorMessage = jsonProcessorMessage;
+    }
+
+    /**
+     * Provides {@link TCACEFPolicyDomainFilter} status
+     *
+     * @return domain filter status
+     */
+    public String getDomainFilterStatus() {
+        return domainFilterStatus;
+    }
+
+    /**
+     * Sets Domain Filter status
+     *
+     * @param domainFilterStatus domain filter status
+     */
+    public void setDomainFilterStatus(String domainFilterStatus) {
+        this.domainFilterStatus = domainFilterStatus;
+    }
+
+    /**
+     * Provides {@link TCACEFPolicyDomainFilter} message
+     *
+     * @return domain filter message
+     */
+    public String getDomainFilterMessage() {
+        return domainFilterMessage;
+    }
+
+    /**
+     * Sets Domain filter message
+     *
+     * @param domainFilterMessage domain filter message
+     */
+    public void setDomainFilterMessage(String domainFilterMessage) {
+        this.domainFilterMessage = domainFilterMessage;
+    }
+
+    public String getEventNameFilterStatus() {
+        return eventNameFilterStatus;
+    }
+
+    /**
+     * Provides {@link TCACEFPolicyEventNameFilter} status
+     *
+     * @param eventNameFilterStatus functional Role filter status
+     */
+    public void setEventNameFilterStatus(String eventNameFilterStatus) {
+        this.eventNameFilterStatus = eventNameFilterStatus;
+    }
+
+    /**
+     * Provides {@link TCACEFPolicyEventNameFilter} message
+     *
+     * @return functional role filter message
+     */
+    public String getEventNameFilterMessage() {
+        return eventNameFilterMessage;
+    }
+
+    /**
+     * Sets Functional Role filter message
+     *
+     * @param eventNameFilterMessage functional role filter message
+     */
+    public void setEventNameFilterMessage(String eventNameFilterMessage) {
+        this.eventNameFilterMessage = eventNameFilterMessage;
+    }
+
+    /**
+     * Provides {@link TCACEFPolicyThresholdsProcessor} status
+     *
+     * @return threshold processor status
+     */
+    public String getThresholdCalculatorStatus() {
+        return thresholdCalculatorStatus;
+    }
+
+    /**
+     * Sets threshold calculator status
+     *
+     * @param thresholdCalculatorStatus threshold calculator status
+     */
+    public void setThresholdCalculatorStatus(String thresholdCalculatorStatus) {
+        this.thresholdCalculatorStatus = thresholdCalculatorStatus;
+    }
+
+    /**
+     * Provides {@link TCACEFPolicyThresholdsProcessor} message
+     *
+     * @return threshold processor message
+     */
+    public String getThresholdCalculatorMessage() {
+        return thresholdCalculatorMessage;
+    }
+
+    /**
+     * Sets Threshold Calculator Processor Message
+     *
+     * @param thresholdCalculatorMessage threshold calculator message
+     */
+    public void setThresholdCalculatorMessage(String thresholdCalculatorMessage) {
+        this.thresholdCalculatorMessage = thresholdCalculatorMessage;
+    }
+
+    /**
+     * Provides generated alert message
+     *
+     * @return generated alert message
+     */
+    public String getAlertMessage() {
+        return alertMessage;
+    }
+
+    /**
+     * Sets alert message
+     *
+     * @param alertMessage alert message
+     */
+    public void setAlertMessage(String alertMessage) {
+        this.alertMessage = alertMessage;
+    }
+
+    /**
+     * Write entity to Table
+     *
+     * @param dataOutput data output
+     *
+     * @throws IOException io exception
+     */
+    @Override
+    public void write(DataOutput dataOutput) throws IOException {
+        WritableUtils.writeVLong(dataOutput, creationTS);
+        WritableUtils.writeVInt(dataOutput, instanceId);
+        WritableUtils.writeString(dataOutput, messageType);
+        WritableUtils.writeString(dataOutput, vesMessage);
+
+        WritableUtils.writeString(dataOutput, domain);
+        WritableUtils.writeString(dataOutput, eventName);
+
+        WritableUtils.writeString(dataOutput, thresholdPath);
+        WritableUtils.writeString(dataOutput, thresholdSeverity);
+        WritableUtils.writeString(dataOutput, thresholdDirection);
+        WritableUtils.writeVLong(dataOutput, thresholdValue);
+
+        WritableUtils.writeString(dataOutput, jsonProcessorStatus);
+        WritableUtils.writeString(dataOutput, jsonProcessorMessage);
+        WritableUtils.writeString(dataOutput, domainFilterStatus);
+        WritableUtils.writeString(dataOutput, domainFilterMessage);
+        WritableUtils.writeString(dataOutput, eventNameFilterStatus);
+        WritableUtils.writeString(dataOutput, eventNameFilterMessage);
+        WritableUtils.writeString(dataOutput, thresholdCalculatorStatus);
+        WritableUtils.writeString(dataOutput, thresholdCalculatorMessage);
+
+        WritableUtils.writeString(dataOutput, alertMessage);
+
+    }
+
+    /**
+     * Read entity from table
+     *
+     * @param dataInput data input
+     * @throws IOException io exception
+     */
+    @Override
+    public void readFields(DataInput dataInput) throws IOException {
+        creationTS = WritableUtils.readVLong(dataInput);
+        instanceId = WritableUtils.readVInt(dataInput);
+        messageType = WritableUtils.readString(dataInput);
+        vesMessage = WritableUtils.readString(dataInput);
+
+        domain = WritableUtils.readString(dataInput);
+        eventName = WritableUtils.readString(dataInput);
+
+        thresholdPath = WritableUtils.readString(dataInput);
+        thresholdSeverity = WritableUtils.readString(dataInput);
+        thresholdDirection = WritableUtils.readString(dataInput);
+        thresholdValue = WritableUtils.readVLong(dataInput);
+
+        jsonProcessorStatus = WritableUtils.readString(dataInput);
+        jsonProcessorMessage = WritableUtils.readString(dataInput);
+        domainFilterStatus = WritableUtils.readString(dataInput);
+        domainFilterMessage = WritableUtils.readString(dataInput);
+        eventNameFilterStatus = WritableUtils.readString(dataInput);
+        eventNameFilterMessage = WritableUtils.readString(dataInput);
+        thresholdCalculatorStatus = WritableUtils.readString(dataInput);
+        thresholdCalculatorMessage = WritableUtils.readString(dataInput);
+
+        alertMessage = WritableUtils.readString(dataInput);
+
+    }
+
+}