aboutsummaryrefslogtreecommitdiffstats
path: root/vid-automation/src/main/java/org/onap/simulator/presetGenerator/presets/mso/PresetMSOOrchestrationRequestGet.java
blob: 381ac856b8e5c3d911f9ce8563e0eefc46525fd8 (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
package org.onap.simulator.presetGenerator.presets.mso;

import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.onap.simulator.presetGenerator.presets.BasePresets.BaseMSOPreset;
import org.springframework.http.HttpMethod;

import java.time.Instant;
import java.time.ZoneOffset;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;

/**
 * Created by itzikliderman on 13/12/2017.
 */
public class PresetMSOOrchestrationRequestGet extends BaseMSOPreset {
    private static final Logger logger = LogManager.getLogger(PresetMSOOrchestrationRequestGet.class);

    public static final String COMPLETE = "COMPLETE";
    public static final String DEFAULT_REQUEST_ID = "c0011670-0e1a-4b74-945d-8bf5aede1d9c";
    public static final String DEFAULT_SERVICE_INSTANCE_ID = BaseMSOPreset.DEFAULT_INSTANCE_ID;

    private final String requestId;
    private String statusMessage;
    private String requestState;
    private int startedHoursAgo = 1;


    public PresetMSOOrchestrationRequestGet() {
        requestState = COMPLETE;
        this.requestId = DEFAULT_REQUEST_ID;
    }

    public PresetMSOOrchestrationRequestGet(String requestState) {
        this.requestState = requestState;
        this.requestId = DEFAULT_REQUEST_ID;
    }

    public PresetMSOOrchestrationRequestGet(String requestState, String overrideRequestId) {
        this.requestState = requestState;
        this.requestId = overrideRequestId;
    }

    public PresetMSOOrchestrationRequestGet(String requestState, String overrideRequestId, String statusMessage) {
        this.requestState = requestState;
        this.requestId = overrideRequestId;
        this.statusMessage = statusMessage;
    }

    public PresetMSOOrchestrationRequestGet(String requestState, String overrideRequestId, String statusMessage, int startedHoursAgo) {
        this.requestState = requestState;
        this.requestId = overrideRequestId;
        this.statusMessage = statusMessage;
        this.startedHoursAgo = startedHoursAgo;
    }

    public PresetMSOOrchestrationRequestGet(String requestState, int startedHoursAgo) {
        this.requestState = requestState;
        this.requestId = DEFAULT_REQUEST_ID;
        this.startedHoursAgo = startedHoursAgo;
    }

    @Override
    public HttpMethod getReqMethod() {
        return HttpMethod.GET;
    }

    public String getReqPath() {
        return getRootPath() + "/orchestrationRequests/v./" + requestId;
    }

    @Override
    public Object getResponseBody() {
         String body = "{" +
                "  \"request\": {" +
                "    \"requestId\": \"" + requestId + "\"," +
                "    \"startTime\": \"" + getTimeHoursAgo(startedHoursAgo) + "\"," +
                "    \"requestScope\": \"service\"," +
                "    \"requestType\": \"createInstance\"," +
                "    \"instanceReferences\": {" +
                "      \"serviceInstanceId\": \"" + DEFAULT_SERVICE_INSTANCE_ID + "\"," +
                "      \"serviceInstanceName\": \"asdfasdf234234asdf\"," +
                "      \"requestorId\": \"il883e\"" +
                "    }," +
                "    \"requestStatus\": {" +
                "      \"requestState\": \"" + requestState + "\"," +
                "      \"statusMessage\": \"" + getStatusMessage() + "\"," +
                "      \"percentProgress\": 100," +
                "      \"timestamp\": \"" + getTimeNow() + "\"" +
                "    }" +
                "  }" +
                "}";
        logger.info(body);
        return body;
    }

    private String getStatusMessage() {
        return StringUtils.defaultIfEmpty(statusMessage,
                "COMPLETE".equals(requestState) ?
                        "Service Instance was created successfully." :
                        ("Service Instance was " + requestState.toLowerCase() + " successfully."));
    }

    private String getTimeNow() {
        return getTimeHoursAgo(0);
    }

    private String getTimeHoursAgo(int delta) {
        Instant instant = Instant.now();
        Instant instantMinus = instant.minus(delta, ChronoUnit.HOURS);
        ZonedDateTime dateDayAgo = ZonedDateTime.ofInstant(instantMinus, ZoneOffset.UTC);
        DateTimeFormatter formatter = DateTimeFormatter.RFC_1123_DATE_TIME;
        return formatter.format(dateDayAgo);
    }
}