aboutsummaryrefslogtreecommitdiffstats
path: root/cmso-service/src/main/java/org/onap/optf/cmso/service/rs/models/CMSInfo.java
blob: d39798ff6dc238f997568cff633eb0242363b9f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
/*
 * Copyright © 2017-2018 AT&T Intellectual Property.
 * Modifications Copyright © 2018 IBM.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *         http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 *
 * Unless otherwise specified, all documentation contained herein is licensed
 * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
 * you may not use this documentation except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *         https://creativecommons.org/licenses/by/4.0/
 *
 * Unless required by applicable law or agreed to in writing, documentation
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
*/

package org.onap.optf.cmso.service.rs.models;

import com.att.eelf.configuration.EELFLogger;
import com.att.eelf.configuration.EELFManager;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.List;

/**
 * The persistent class for the approval_types database table.
 *
 */
@ApiModel(value = "Change Management Scheduling Info", description = "Details of schedule being requested")
public class CMSInfo implements Serializable {
    private static EELFLogger log = EELFManager.getInstance().getLogger(CMSInfo.class);

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "Expected duration (in seconds) of a successful execution of a single VNF change.")
    private Integer normalDurationInSeconds;

    @ApiModelProperty(
            value = "Additional duration (in seconds) to be added to support backout of an unsuccessful VNF change.")
    private Integer additionalDurationInSeconds;

    @ApiModelProperty(value = "Maximum number of VNF changes to schedule concurrently")
    private Integer concurrencyLimit;

    @ApiModelProperty(
            value = "Name of schedule optimization policy used by the"
                            + " change management cmso optimizer to determine available time slot")
    private String policyId;

    @ApiModelProperty(value = "Lists of the VNFs to be changed and the desired change windows")
    private List<VnfDetailsMessage> vnfDetails;

    @Override
    public String toString() {
        ObjectMapper mapper = new ObjectMapper();
        try {
            return mapper.writeValueAsString(this);
        } catch (JsonProcessingException e) {
            log.debug("Error in toString()", e);
        }
        return "";
    }

    public Integer getNormalDurationInSeconds() {
        return normalDurationInSeconds;
    }

    public void setNormalDurationInSeconds(Integer normalDurationInSeconds) {
        this.normalDurationInSeconds = normalDurationInSeconds;
    }

    public Integer getAdditionalDurationInSeconds() {
        return additionalDurationInSeconds;
    }

    public void setAdditionalDurationInSeconds(Integer additionalDurationInSeconds) {
        this.additionalDurationInSeconds = additionalDurationInSeconds;
    }

    public Integer getConcurrencyLimit() {
        return concurrencyLimit;
    }

    public void setConcurrencyLimit(Integer concurrencyLimit) {
        this.concurrencyLimit = concurrencyLimit;
    }

    public String getPolicyId() {
        return policyId;
    }

    public void setPolicyId(String policyId) {
        this.policyId = policyId;
    }

    public List<VnfDetailsMessage> getVnfDetails() {
        return vnfDetails;
    }

    public void setVnfDetails(List<VnfDetailsMessage> vnfDetails) {
        this.vnfDetails = vnfDetails;
    }
}