Merge "Add debugging of REST call"
[policy/drools-applications.git] / controlloop / common / model-impl / sdc / src / main / java / org / onap / policy / sdc / Resource.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * sdc
4  * ================================================================================
5  * Copyright (C) 2017-2019 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.policy.sdc;
22
23 import java.io.Serializable;
24 import java.util.UUID;
25
26 public class Resource implements Serializable {
27
28     private static final long serialVersionUID = -913729158733348027L;
29     
30     private UUID    resourceUuid;
31     private UUID    resourceInvariantUuid;
32     private String  resourceName;
33     private String  resourceVersion;
34     private ResourceType    resourceType;
35     
36     public Resource() {
37         //Empty Constructor
38     }
39     
40     /**
41      * Constructor.
42      * 
43      * @param resource copy object
44      */
45     public Resource(Resource resource) {
46         this.resourceUuid = resource.resourceUuid;
47         this.resourceInvariantUuid = resource.resourceInvariantUuid;
48         this.resourceName = resource.resourceName;
49         this.resourceVersion = resource.resourceVersion;
50         this.resourceType = resource.resourceType;
51     }
52     
53     public Resource(UUID uuid) {
54         this.resourceUuid = uuid;
55     }
56     
57     public Resource(String name, ResourceType type) {
58         this.resourceName = name;
59         this.resourceType = type;
60     }
61     
62     /**
63      * Constructor.
64      * 
65      * @param uuid uuid
66      * @param invariantUuid invariant uuid
67      * @param name name
68      * @param version version
69      * @param type type
70      */
71     public Resource(UUID uuid, UUID invariantUuid, String name, String version, ResourceType type) {
72         this.resourceUuid = uuid;
73         this.resourceInvariantUuid = invariantUuid;
74         this.resourceName = name;
75         this.resourceVersion = version;
76         this.resourceType = type;
77     }
78     
79     public UUID getResourceUuid() {
80         return resourceUuid;
81     }
82
83     public void setResourceUuid(UUID resourceUuid) {
84         this.resourceUuid = resourceUuid;
85     }
86
87     public UUID getResourceInvariantUuid() {
88         return resourceInvariantUuid;
89     }
90
91     public void setResourceInvariantUuid(UUID resourceInvariantUuid) {
92         this.resourceInvariantUuid = resourceInvariantUuid;
93     }
94
95     public String getResourceName() {
96         return resourceName;
97     }
98
99     public void setResourceName(String resourceName) {
100         this.resourceName = resourceName;
101     }
102
103     public String getResourceVersion() {
104         return resourceVersion;
105     }
106
107     public void setResourceVersion(String resourceVersion) {
108         this.resourceVersion = resourceVersion;
109     }
110
111     public ResourceType getResourceType() {
112         return resourceType;
113     }
114
115     public void setResourceType(ResourceType resourceType) {
116         this.resourceType = resourceType;
117     }
118
119     @Override
120     public String toString() {
121         return "Resource [resourceUuid=" + resourceUuid + ", resourceInvariantUuid=" + resourceInvariantUuid
122                 + ", resourceName=" + resourceName + ", resourceVersion=" + resourceVersion + ", resourceType="
123                 + resourceType + "]";
124     }
125     
126     @Override
127     public int hashCode() {
128         final int prime = 31;
129         int result = 1;
130         result = prime * result + ((resourceInvariantUuid == null) ? 0 : resourceInvariantUuid.hashCode());
131         result = prime * result + ((resourceName == null) ? 0 : resourceName.hashCode());
132         result = prime * result + ((resourceType == null) ? 0 : resourceType.hashCode());
133         result = prime * result + ((resourceUuid == null) ? 0 : resourceUuid.hashCode());
134         result = prime * result + ((resourceVersion == null) ? 0 : resourceVersion.hashCode());
135         return result;
136     }
137     
138     @Override
139     public boolean equals(Object obj) {
140         if (this == obj) {
141             return true;
142         }
143         if (obj == null) {
144             return false;
145         }
146         if (getClass() != obj.getClass()) {
147             return false;
148         }
149         Resource other = (Resource) obj;
150         if (resourceInvariantUuid == null) {
151             if (other.resourceInvariantUuid != null) {
152                 return false;
153             }
154         } else if (!resourceInvariantUuid.equals(other.resourceInvariantUuid)) {
155             return false;
156         }
157         if (resourceName == null) {
158             if (other.resourceName != null) {
159                 return false;
160             }
161         } else if (!resourceName.equals(other.resourceName)) {
162             return false;
163         }
164         if (resourceType == null) {
165             if (other.resourceType != null) {
166                 return false;
167             }
168         } else if (!resourceType.equals(other.resourceType)) {
169             return false;
170         }
171         if (resourceUuid == null) {
172             if (other.resourceUuid != null) {
173                 return false;
174             }
175         } else if (!resourceUuid.equals(other.resourceUuid)) {
176             return false;
177         }
178         if (resourceVersion == null) {
179             if (other.resourceVersion != null) {
180                 return false;
181             }
182         } else if (!resourceVersion.equals(other.resourceVersion)) {
183             return false;
184         }
185         return true;
186     }
187     
188 }