--- /dev/null
+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