2 * ========================LICENSE_START=================================
5 * Copyright (C) 2019 Nordix Foundation
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.oransc.enrichment.controllers.r1consumer;
23 import com.fasterxml.jackson.annotation.JsonProperty;
24 import com.google.gson.annotations.SerializedName;
26 import io.swagger.v3.oas.annotations.media.Schema;
28 import java.util.Collection;
30 import org.immutables.gson.Gson;
33 @Schema(name = "consumer_job_status", description = "Status for an Information Job")
34 public class ConsumerJobStatus {
37 @Schema(name = "info_job_status_values", description = OPERATIONAL_STATE_DESCRIPTION)
38 public enum InfoJobStatusValues {
42 private static final String OPERATIONAL_STATE_DESCRIPTION = "Allowed values: <br/>" //
43 + "ENABLED: the A1-Information producer is able to deliver result for the Information Job <br/>" //
44 + "DISABLED: the A1-Information producer is unable to deliver result for the Information Job";
46 private static final String PRODUCERS_DESCRIPTION = "An array of all registered Information Producer Identifiers.";
48 @Schema(name = "info_job_status", description = OPERATIONAL_STATE_DESCRIPTION, required = true)
49 @SerializedName("info_job_status")
50 @JsonProperty(value = "info_job_status", required = true)
51 public InfoJobStatusValues state;
53 @Schema(name = "producers", description = PRODUCERS_DESCRIPTION, required = true)
54 @SerializedName("producers")
55 @JsonProperty(value = "producers", required = true)
56 public Collection<String> producers;
58 public ConsumerJobStatus() {
61 public ConsumerJobStatus(InfoJobStatusValues state, Collection<String> producers) {
63 this.producers = producers;