VES Heartbeat and Software Management Feature
[oam/tr069-adapter.git] / ves-agent / src / main / java / org / commscope / tr069adapter / vesagent / entity / DeviceDataEntity.java
diff --git a/ves-agent/src/main/java/org/commscope/tr069adapter/vesagent/entity/DeviceDataEntity.java b/ves-agent/src/main/java/org/commscope/tr069adapter/vesagent/entity/DeviceDataEntity.java
new file mode 100644 (file)
index 0000000..ca97e93
--- /dev/null
@@ -0,0 +1,137 @@
+package org.commscope.tr069adapter.vesagent.entity;\r
+\r
+import com.google.gson.Gson;\r
+\r
+import java.util.Date;\r
+import java.util.Map;\r
+\r
+import javax.persistence.Column;\r
+import javax.persistence.Entity;\r
+import javax.persistence.GeneratedValue;\r
+import javax.persistence.GenerationType;\r
+import javax.persistence.Id;\r
+import javax.persistence.Table;\r
+import javax.persistence.Transient;\r
+import javax.persistence.UniqueConstraint;\r
+\r
+/**\r
+ * \r
+ * @version 1.0\r
+ * @since May 21, 2020\r
+ * @author Prashant Kumar\r
+ */\r
+\r
+@Entity\r
+@Table(name = "VES_DEVICE_DATA",\r
+    uniqueConstraints = @UniqueConstraint(columnNames = {"DEVICE_ID", "ATTR_GROUP"}))\r
+public class DeviceDataEntity {\r
+\r
+  @Id\r
+  @Column(name = "ID")\r
+  @GeneratedValue(strategy = GenerationType.AUTO)\r
+  private Long id;\r
+\r
+  @Column(name = "DEVICE_ID", length = 30)\r
+  private String deviceId;\r
+\r
+  @Column(name = "ENODEB_NAME", length = 100)\r
+  private String eNodeBName;\r
+\r
+  @Column(name = "OUI", length = 30)\r
+  private String oui;\r
+\r
+  @Column(name = "PRODUCT_CLASS", length = 100)\r
+  private String productClass;\r
+\r
+  @Column(name = "ATTR_JSON", length = 4000)\r
+  private String attrJson;\r
+\r
+  @Column(name = "ATTR_GROUP", length = 255)\r
+  private String attrGroup;\r
+\r
+  @Column(name = "LAST_UPDATED_TIME")\r
+  private Date lastUpdateTime = new Date();\r
+\r
+  public Long getId() {\r
+    return id;\r
+  }\r
+\r
+  public void setId(Long id) {\r
+    this.id = id;\r
+  }\r
+\r
+  public String getDeviceId() {\r
+    return deviceId;\r
+  }\r
+\r
+  public void setDeviceId(String deviceId) {\r
+    this.deviceId = deviceId;\r
+  }\r
+\r
+  public String geteNodeBName() {\r
+    return eNodeBName;\r
+  }\r
+\r
+  public void seteNodeBName(String eNodeBName) {\r
+    this.eNodeBName = eNodeBName;\r
+  }\r
+\r
+  public String getOui() {\r
+    return oui;\r
+  }\r
+\r
+  public void setOui(String oui) {\r
+    this.oui = oui;\r
+  }\r
+\r
+  public String getProductClass() {\r
+    return productClass;\r
+  }\r
+\r
+  public void setProductClass(String productClass) {\r
+    this.productClass = productClass;\r
+  }\r
+\r
+  public String getAttrJson() {\r
+    return attrJson;\r
+  }\r
+\r
+  public void setAttrJson(String attrJson) {\r
+    this.attrJson = attrJson;\r
+  }\r
+\r
+  public String getAttrGroup() {\r
+    return attrGroup;\r
+  }\r
+\r
+  public void setAttrGroup(String attrGroup) {\r
+    this.attrGroup = attrGroup;\r
+  }\r
+\r
+  public Date getLastUpdateTime() {\r
+    return lastUpdateTime;\r
+  }\r
+\r
+  public void setLastUpdateTime(Date lastUpdateTime) {\r
+    this.lastUpdateTime = lastUpdateTime;\r
+  }\r
+\r
+  @Transient\r
+  public void setAttributesMap(Map<String, String> attributesMap) {\r
+    if (null == attributesMap || attributesMap.isEmpty()) {\r
+      return;\r
+    }\r
+\r
+    this.attrJson = new Gson().toJson(attributesMap);\r
+\r
+  }\r
+\r
+  @Transient\r
+  public Map<String, String> getAttributesMap() {\r
+    Map<String, String> attributesMap = null;\r
+    if (null != this.attrJson && !this.attrJson.isEmpty()) {\r
+      attributesMap = new Gson().fromJson(this.attrJson, Map.class);\r
+    }\r
+    return attributesMap;\r
+  }\r
+}\r