2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END=========================================================
21 package org.onap.so.db.request.beans;
23 import java.io.Serializable;
24 import java.util.Date;
25 import javax.persistence.Column;
26 import javax.persistence.Entity;
27 import javax.persistence.Id;
28 import javax.persistence.IdClass;
29 import javax.persistence.PrePersist;
30 import javax.persistence.PreUpdate;
31 import javax.persistence.Table;
32 import javax.persistence.Temporal;
33 import javax.persistence.TemporalType;
34 import java.util.Objects;
35 import org.apache.commons.lang3.builder.ToStringBuilder;
37 @IdClass(WatchdogComponentDistributionStatusId.class)
39 @Table(name = "watchdog_per_component_distribution_status")
40 public class WatchdogComponentDistributionStatus implements Serializable {
46 private static final long serialVersionUID = -4344508954204488669L;
48 @Column(name = "DISTRIBUTION_ID", length = 45)
49 private String distributionId;
51 @Column(name = "COMPONENT_NAME", length = 45)
52 private String componentName;
53 @Column(name = "COMPONENT_DISTRIBUTION_STATUS", length = 45)
54 private String componentDistributionStatus;
55 @Column(name = "CREATE_TIME", updatable = false)
56 @Temporal(TemporalType.TIMESTAMP)
57 private Date createTime;
58 @Column(name = "MODIFY_TIME")
59 @Temporal(TemporalType.TIMESTAMP)
60 private Date modifyTime;
62 public WatchdogComponentDistributionStatus() {
66 public WatchdogComponentDistributionStatus(String distributionId, String componentName) {
67 this.distributionId = distributionId;
68 this.componentName = componentName;
71 public String getDistributionId() {
72 return distributionId;
75 public void setDistributionId(String distributionId) {
76 this.distributionId = distributionId;
79 public String getComponentName() {
83 public void setComponentName(String componentName) {
84 this.componentName = componentName;
87 public String getComponentDistributionStatus() {
88 return componentDistributionStatus;
91 public void setComponentDistributionStatus(String componentDistributionStatus) {
92 this.componentDistributionStatus = componentDistributionStatus;
95 public Date getCreateTime() {
99 public Date getModifyTime() {
104 protected void onCreate() {
105 this.createTime = this.modifyTime = new Date();
109 protected void onUpdate() {
110 this.modifyTime = new Date();
114 public boolean equals(final Object other) {
118 if (!(other instanceof WatchdogComponentDistributionStatus)) {
121 WatchdogComponentDistributionStatus castOther = (WatchdogComponentDistributionStatus) other;
122 return Objects.equals(getDistributionId(), castOther.getDistributionId())
123 && Objects.equals(getComponentName(), castOther.getComponentName());
127 public int hashCode() {
128 return Objects.hash(getDistributionId(), getComponentName());
132 public String toString() {
133 return new ToStringBuilder(this).append("distributionId", getDistributionId())
134 .append("componentName", getComponentName())
135 .append("componentDistributionStatus", getComponentDistributionStatus())
136 .append("createTime", getCreateTime()).append("modifyTime", getModifyTime()).toString();