2 * ============LICENSE_START=======================================================
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
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.vid.asdc.beans;
23 import java.util.Collection;
24 import java.util.UUID;
26 public class Service {
28 public enum DistributionStatus {
30 DISTRIBUTION_NOT_APPROVED,
32 DISTRIBUTION_APPROVED,
36 DISTRIBUTION_REJECTED,
38 DISTRIBUTION_COMPLETE_OK
41 public enum LifecycleState {
43 NOT_CERTIFIED_CHECKOUT,
45 NOT_CERTIFIED_CHECKIN,
47 READY_FOR_CERTIFICATION,
49 CERTIFICATION_IN_PROGRESS,
56 private String invariantUUID;
60 private String version;
62 private String toscaModelURL;
64 private String category;
66 private Service.LifecycleState lifecycleState;
68 private String lastUpdaterUserId;
70 private String lastUpdaterFullName;
72 private String distributionStatus;
74 private Collection<Artifact> artifacts;
76 private Collection<SubResource> resources;
78 private String orchestrationType;
81 public static class ServiceBuilder {
83 private String invariantUUID;
85 private String version;
86 private String toscaModelURL;
87 private String category;
88 private Service.LifecycleState lifecycleState;
89 private String distributionStatus;
90 private Collection<Artifact> artifacts;
91 private Collection<SubResource> resources;
92 private String orchestrationType;
94 public ServiceBuilder setUuid(String uuid) {
99 public ServiceBuilder setInvariantUUID(String invariantUUID) {
100 this.invariantUUID = invariantUUID;
104 public ServiceBuilder setName(String name) {
109 public ServiceBuilder setVersion(String version) {
110 this.version = version;
114 public ServiceBuilder setToscaModelURL(String toscaModelURL) {
115 this.toscaModelURL = toscaModelURL;
119 public ServiceBuilder setCategory(String category) {
120 this.category = category;
124 public ServiceBuilder setLifecycleState(Service.LifecycleState lifecycleState) {
125 this.lifecycleState = lifecycleState;
129 public ServiceBuilder setDistributionStatus(String distributionStatus) {
130 this.distributionStatus = distributionStatus;
134 public ServiceBuilder setArtifacts(Collection<Artifact> artifacts) {
135 this.artifacts = artifacts;
139 public ServiceBuilder setResources(Collection<SubResource> resources) {
140 this.resources = resources;
144 public ServiceBuilder setOrchestrationType(String orchestrationType) {
145 this.orchestrationType = orchestrationType;
149 public Service build() {
150 return new Service(this);
155 public String getUuid() {
159 public String getInvariantUUID() {
160 return invariantUUID;
163 public String getName() {
167 public String getVersion() {
171 public String getToscaModelURL() {
172 return toscaModelURL;
175 public String getCategory() {
179 public Service.LifecycleState getLifecycleState() {
180 return lifecycleState;
183 public String getLastUpdaterUserId() {
184 return lastUpdaterUserId;
187 public String getLastUpdaterFullName() {
188 return lastUpdaterFullName;
191 public String getDistributionStatus() {
192 return distributionStatus;
195 public Collection<Artifact> getArtifacts() {
199 public Collection<SubResource> getResources() {
203 public String getOrchestrationType() {
204 return orchestrationType;
207 public void setUuid(String uuid) {
211 public void setInvariantUUID(String invariantUUID) {
212 this.invariantUUID = invariantUUID;
215 public void setName(String name) {
219 public void setVersion(String version) {
220 this.version = version;
223 public void setToscaModelURL(String toscaModelURL) {
224 this.toscaModelURL = toscaModelURL;
227 public void setCategory(String category) {
228 this.category = category;
231 public void setLifecycleState(Service.LifecycleState lifecycleState) {
232 this.lifecycleState = lifecycleState;
235 public void set(String lastUpdaterUserId) {
236 this.lastUpdaterUserId = lastUpdaterUserId;
239 public void setLastUpdaterFullName(String lastUpdaterFullName) {
240 this.lastUpdaterFullName = lastUpdaterFullName;
243 public void setDistributionStatus(String distributionStatus) {
244 this.distributionStatus = distributionStatus;
247 public void setArtifacts(Collection<Artifact> artifacts) {
248 this.artifacts = artifacts;
251 public void setResources(Collection<SubResource> resources) {
252 this.resources = resources;
255 public void setOrchestrationType(String orchestrationType) {
256 this.orchestrationType = orchestrationType;
260 public String toString() {
265 public int hashCode() {
266 return UUID.fromString(getUuid()).hashCode();
270 public boolean equals(Object o) {
273 if (!(o instanceof Service))
276 final Service service = (Service) o;
278 return (service.getUuid().equals(getUuid()));
283 public Service(ServiceBuilder serviceBuilder) {
285 this.uuid = serviceBuilder.uuid;
286 this.invariantUUID = serviceBuilder.invariantUUID;
287 this.name = serviceBuilder.name;
288 this.version = serviceBuilder.version;
289 this.toscaModelURL = serviceBuilder.toscaModelURL;
290 this.category = serviceBuilder.category;
291 this.lifecycleState = serviceBuilder.lifecycleState;
292 this.distributionStatus = serviceBuilder.distributionStatus;
293 this.artifacts = serviceBuilder.artifacts;
294 this.resources = serviceBuilder.resources;
295 this.orchestrationType = serviceBuilder.orchestrationType;