Containerization feature of SO
[so.git] / mso-api-handlers / mso-requests-db / src / main / java / org / onap / so / db / request / beans / WatchdogServiceModVerIdLookup.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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=========================================================
19  */
20
21 package org.onap.so.db.request.beans;
22
23 import java.io.Serializable;
24 import java.util.Date;
25
26 import javax.persistence.Column;
27 import javax.persistence.Entity;
28 import javax.persistence.Id;
29 import javax.persistence.IdClass;
30 import javax.persistence.PrePersist;
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;
36
37 @IdClass(WatchdogServiceModVerIdLookupId.class)
38 @Entity
39 @Table(name = "watchdog_service_mod_ver_id_lookup")
40 public class WatchdogServiceModVerIdLookup implements Serializable {
41
42         /**
43          * Serialization id.
44          */
45         private static final long serialVersionUID = 7783869906430250355L;
46         
47         @Id
48         @Column(name = "DISTRIBUTION_ID", length=45)
49         private String distributionId;
50         @Id
51         @Column(name = "SERVICE_MODEL_VERSION_ID", length=45)
52         private String serviceModelVersionId;
53         @Column(name = "CREATE_TIME", updatable=false)
54         @Temporal(TemporalType.TIMESTAMP)
55         private Date createTime;
56         
57         public WatchdogServiceModVerIdLookup() {
58                 
59         }
60         public WatchdogServiceModVerIdLookup(String distributionId, String serviceModelVersionId) {
61                 this.distributionId = distributionId;
62                 this.serviceModelVersionId = serviceModelVersionId;
63         }
64
65         public String getDistributionId() {
66                 return distributionId;
67         }
68         
69         public void setDistributionId(String distributionId) {
70                 this.distributionId = distributionId;
71         }
72         
73         public String getServiceModelVersionId() {
74                 return serviceModelVersionId;
75         }
76
77         public void setServiceModelVersionId(String serviceModelVersionId) {
78                 this.serviceModelVersionId = serviceModelVersionId;
79         }
80         
81         public Date getCreateTime() {
82                 return createTime;
83         }
84
85         @PrePersist
86         protected void onCreate() {
87                 this.createTime = new Date();
88         }
89         @Override
90         public boolean equals(final Object other) {
91                 if (this == other) {
92                         return true;
93                 }
94                 if (!(other instanceof WatchdogServiceModVerIdLookup)) {
95                         return false;
96                 }
97                 WatchdogServiceModVerIdLookup castOther = (WatchdogServiceModVerIdLookup) other;
98                 return Objects.equals(getDistributionId(), castOther.getDistributionId())
99                                 && Objects.equals(getServiceModelVersionId(), castOther.getServiceModelVersionId());
100         }
101         @Override
102         public int hashCode() {
103                 return Objects.hash(getDistributionId(), getServiceModelVersionId());
104         }
105         @Override
106         public String toString() {
107                 return new ToStringBuilder(this).append("distributionId", getDistributionId())
108                                 .append("serviceModelVersionId", getServiceModelVersionId()).append("createTime", getCreateTime())
109                                 .toString();
110         }
111 }