2 * ============LICENSE_START========================================================================
3 * ONAP : tr-069-adapter
4 * =================================================================================================
5 * Copyright (C) 2020 CommScope Inc Intellectual Property.
6 * =================================================================================================
7 * This tr-069-adapter software file is distributed by CommScope Inc under the Apache License,
8 * Version 2.0 (the "License"); you may not use this file except in compliance with the License. You
9 * may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
14 * either express or implied. See the License for the specific language governing permissions and
15 * limitations under the License.
16 * ===============LICENSE_END=======================================================================
19 package org.commscope.tr069adapter.vesagent.entity;
21 import com.google.gson.Gson;
23 import java.util.Date;
26 import javax.persistence.Column;
27 import javax.persistence.Entity;
28 import javax.persistence.GeneratedValue;
29 import javax.persistence.GenerationType;
30 import javax.persistence.Id;
31 import javax.persistence.Table;
32 import javax.persistence.Transient;
33 import javax.persistence.UniqueConstraint;
36 @Table(name = "VES_DEVICE_DATA",
37 uniqueConstraints = @UniqueConstraint(columnNames = {"DEVICE_ID", "ATTR_GROUP"}))
38 public class DeviceDataEntity {
42 @GeneratedValue(strategy = GenerationType.AUTO)
45 @Column(name = "DEVICE_ID", length = 30)
46 private String deviceId;
48 @Column(name = "ENODEB_NAME", length = 100)
49 private String eNodeBName;
51 @Column(name = "OUI", length = 30)
54 @Column(name = "PRODUCT_CLASS", length = 100)
55 private String productClass;
57 @Column(name = "ATTR_JSON", length = 4000)
58 private String attrJson;
60 @Column(name = "ATTR_GROUP", length = 255)
61 private String attrGroup;
63 @Column(name = "LAST_UPDATED_TIME")
64 private Date lastUpdateTime = new Date();
70 public void setId(Long id) {
74 public String getDeviceId() {
78 public void setDeviceId(String deviceId) {
79 this.deviceId = deviceId;
82 public String geteNodeBName() {
86 public void seteNodeBName(String eNodeBName) {
87 this.eNodeBName = eNodeBName;
90 public String getOui() {
94 public void setOui(String oui) {
98 public String getProductClass() {
102 public void setProductClass(String productClass) {
103 this.productClass = productClass;
106 public String getAttrJson() {
110 public void setAttrJson(String attrJson) {
111 this.attrJson = attrJson;
114 public String getAttrGroup() {
118 public void setAttrGroup(String attrGroup) {
119 this.attrGroup = attrGroup;
122 public Date getLastUpdateTime() {
123 return lastUpdateTime;
126 public void setLastUpdateTime(Date lastUpdateTime) {
127 this.lastUpdateTime = lastUpdateTime;
131 private Long startEpochMicrosec;
133 public Long getStartEpochMicrosec() {
134 return startEpochMicrosec;
137 public void setStartEpochMicrosec(Long startEpochMicrosec) {
138 this.startEpochMicrosec = startEpochMicrosec;
142 public void setAttributesMap(Map<String, String> attributesMap) {
143 if (null == attributesMap || attributesMap.isEmpty()) {
147 this.attrJson = new Gson().toJson(attributesMap);
152 public Map<String, String> getAttributesMap() {
153 Map<String, String> attributesMap = null;
154 if (null != this.attrJson && !this.attrJson.isEmpty()) {
155 attributesMap = new Gson().fromJson(this.attrJson, Map.class);
157 return attributesMap;