1 package org.onap.simulator.presetGenerator.presets.mso;
3 import org.apache.commons.lang3.StringUtils;
4 import org.apache.logging.log4j.LogManager;
5 import org.apache.logging.log4j.Logger;
6 import org.onap.simulator.presetGenerator.presets.BasePresets.BaseMSOPreset;
7 import org.springframework.http.HttpMethod;
9 import java.time.Instant;
10 import java.time.ZoneOffset;
11 import java.time.ZonedDateTime;
12 import java.time.format.DateTimeFormatter;
13 import java.time.temporal.ChronoUnit;
16 * Created by itzikliderman on 13/12/2017.
18 public class PresetMSOOrchestrationRequestGet extends BaseMSOPreset {
19 private static final Logger logger = LogManager.getLogger(PresetMSOOrchestrationRequestGet.class);
21 public static final String COMPLETE = "COMPLETE";
22 public static final String DEFAULT_REQUEST_ID = "c0011670-0e1a-4b74-945d-8bf5aede1d9c";
23 public static final String DEFAULT_SERVICE_INSTANCE_ID = BaseMSOPreset.DEFAULT_INSTANCE_ID;
25 private final String requestId;
26 private String statusMessage;
27 private String requestState;
28 private int startedHoursAgo = 1;
31 public PresetMSOOrchestrationRequestGet() {
32 requestState = COMPLETE;
33 this.requestId = DEFAULT_REQUEST_ID;
36 public PresetMSOOrchestrationRequestGet(String requestState) {
37 this.requestState = requestState;
38 this.requestId = DEFAULT_REQUEST_ID;
41 public PresetMSOOrchestrationRequestGet(String requestState, String overrideRequestId) {
42 this.requestState = requestState;
43 this.requestId = overrideRequestId;
46 public PresetMSOOrchestrationRequestGet(String requestState, String overrideRequestId, String statusMessage) {
47 this.requestState = requestState;
48 this.requestId = overrideRequestId;
49 this.statusMessage = statusMessage;
52 public PresetMSOOrchestrationRequestGet(String requestState, String overrideRequestId, String statusMessage, int startedHoursAgo) {
53 this.requestState = requestState;
54 this.requestId = overrideRequestId;
55 this.statusMessage = statusMessage;
56 this.startedHoursAgo = startedHoursAgo;
59 public PresetMSOOrchestrationRequestGet(String requestState, int startedHoursAgo) {
60 this.requestState = requestState;
61 this.requestId = DEFAULT_REQUEST_ID;
62 this.startedHoursAgo = startedHoursAgo;
66 public HttpMethod getReqMethod() {
67 return HttpMethod.GET;
70 public String getReqPath() {
71 return getRootPath() + "/orchestrationRequests/v./" + requestId;
75 public Object getResponseBody() {
78 " \"requestId\": \"" + requestId + "\"," +
79 " \"startTime\": \"" + getTimeHoursAgo(startedHoursAgo) + "\"," +
80 " \"requestScope\": \"service\"," +
81 " \"requestType\": \"createInstance\"," +
82 " \"instanceReferences\": {" +
83 " \"serviceInstanceId\": \"" + DEFAULT_SERVICE_INSTANCE_ID + "\"," +
84 " \"serviceInstanceName\": \"asdfasdf234234asdf\"," +
85 " \"requestorId\": \"il883e\"" +
87 " \"requestStatus\": {" +
88 " \"requestState\": \"" + requestState + "\"," +
89 " \"statusMessage\": \"" + getStatusMessage() + "\"," +
90 " \"percentProgress\": 100," +
91 " \"timestamp\": \"" + getTimeNow() + "\"" +
99 private String getStatusMessage() {
100 return StringUtils.defaultIfEmpty(statusMessage,
101 "COMPLETE".equals(requestState) ?
102 "Service Instance was created successfully." :
103 ("Service Instance was " + requestState.toLowerCase() + " successfully."));
106 private String getTimeNow() {
107 return getTimeHoursAgo(0);
110 private String getTimeHoursAgo(int delta) {
111 Instant instant = Instant.now();
112 Instant instantMinus = instant.minus(delta, ChronoUnit.HOURS);
113 ZonedDateTime dateDayAgo = ZonedDateTime.ofInstant(instantMinus, ZoneOffset.UTC);
114 DateTimeFormatter formatter = DateTimeFormatter.RFC_1123_DATE_TIME;
115 return formatter.format(dateDayAgo);