1 /* Copyright (c) 2019 AT&T Intellectual Property. #
\r
3 # Licensed under the Apache License, Version 2.0 (the "License"); #
\r
4 # you may not use this file except in compliance with the License. #
\r
5 # You may obtain a copy of the License at #
\r
7 # http://www.apache.org/licenses/LICENSE-2.0 #
\r
9 # Unless required by applicable law or agreed to in writing, software #
\r
10 # distributed under the License is distributed on an "AS IS" BASIS, #
\r
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
\r
12 # See the License for the specific language governing permissions and #
\r
13 # limitations under the License. #
\r
14 ##############################################################################*/
\r
17 package org.oran.otf.common.model.local;
\r
19 import org.oran.otf.common.utility.gson.Convert;
\r
20 import com.google.common.base.Strings;
\r
21 import java.io.Serializable;
\r
22 import java.util.HashMap;
\r
23 import org.bson.types.ObjectId;
\r
25 public class TestInstanceCreateRequest implements Serializable {
\r
26 private static final long serialVersionUID = 1L;
\r
28 private ObjectId testDefinitionId = null;
\r
29 private int version = Integer.MIN_VALUE;
\r
30 private String processDefinitionKey = null;
\r
32 private String testInstanceName;
\r
33 private String testInstanceDescription;
\r
34 private HashMap<String, ParallelFlowInput> pfloInput;
\r
35 private HashMap<String, Object> simulationVthInput;
\r
36 private HashMap<String, Object> testData;
\r
37 private HashMap<String, Object> vthInput;
\r
38 private ObjectId createdBy;
\r
39 private boolean useLatestTestDefinition = true;
\r
40 private boolean simulationMode = false;
\r
41 private long maxExecutionTimeInMillis = 0L;
\r
43 public TestInstanceCreateRequest() throws Exception {
\r
47 public TestInstanceCreateRequest(
\r
48 String testInstanceName,
\r
49 String testInstanceDescription,
\r
50 HashMap<String, ParallelFlowInput> pfloInput,
\r
51 HashMap<String, Object> simulationVthInput,
\r
52 HashMap<String, Object> testData,
\r
53 HashMap<String, Object> vthInput,
\r
55 boolean useLatestTestDefinition,
\r
56 boolean simulationMode,
\r
57 long maxExecutionTimeInMillis) throws Exception {
\r
58 this.testInstanceName = testInstanceName;
\r
59 this.testInstanceDescription = testInstanceDescription;
\r
60 this.pfloInput = pfloInput;
\r
61 this.simulationVthInput = simulationVthInput;
\r
62 this.testData = testData;
\r
63 this.vthInput = vthInput;
\r
64 this.createdBy = createdBy;
\r
65 this.useLatestTestDefinition = useLatestTestDefinition;
\r
66 this.simulationMode = simulationMode;
\r
67 this.maxExecutionTimeInMillis = maxExecutionTimeInMillis;
\r
72 private void validate() throws Exception {
\r
73 String missingFieldFormat = "The field %s is required.";
\r
74 if (Strings.isNullOrEmpty(testInstanceName)) {
\r
75 throw new Exception(String.format(missingFieldFormat, "testInstanceName"));
\r
78 if (Strings.isNullOrEmpty(testInstanceDescription)) {
\r
79 throw new Exception(String.format(missingFieldFormat, "testInstanceDescription"));
\r
82 if (pfloInput == null) {
\r
83 pfloInput = new HashMap<>();
\r
86 if (simulationVthInput == null) {
\r
87 simulationVthInput = new HashMap<>();
\r
90 if (testData == null) {
\r
91 testData = new HashMap<>();
\r
94 if (vthInput == null) {
\r
95 vthInput = new HashMap<>();
\r
98 if (this.maxExecutionTimeInMillis < 0L) {
\r
99 this.maxExecutionTimeInMillis = 0L;
\r
103 public static long getSerialVersionUID() {
\r
104 return serialVersionUID;
\r
107 public ObjectId getTestDefinitionId() {
\r
108 return testDefinitionId;
\r
111 public void setTestDefinitionId(ObjectId testDefinitionId) {
\r
112 this.testDefinitionId = testDefinitionId;
\r
115 public int getVersion() {
\r
119 public void setVersion(int version) {
\r
120 this.version = version;
\r
123 public String getProcessDefinitionKey() {
\r
124 return processDefinitionKey;
\r
127 public void setProcessDefinitionKey(String processDefinitionKey) {
\r
128 this.processDefinitionKey = processDefinitionKey;
\r
131 public String getTestInstanceName() {
\r
132 return testInstanceName;
\r
135 public void setTestInstanceName(String testInstanceName) {
\r
136 this.testInstanceName = testInstanceName;
\r
139 public String getTestInstanceDescription() {
\r
140 return testInstanceDescription;
\r
143 public void setTestInstanceDescription(String testInstanceDescription) {
\r
144 this.testInstanceDescription = testInstanceDescription;
\r
147 public HashMap<String, ParallelFlowInput> getPfloInput() {
\r
151 public void setPfloInput(HashMap<String, ParallelFlowInput> pfloInput) {
\r
152 this.pfloInput = pfloInput;
\r
155 public HashMap<String, Object> getSimulationVthInput() {
\r
156 return simulationVthInput;
\r
159 public void setSimulationVthInput(HashMap<String, Object> simulationVthInput) {
\r
160 this.simulationVthInput = simulationVthInput;
\r
163 public HashMap<String, Object> getTestData() {
\r
167 public void setTestData(HashMap<String, Object> testData) {
\r
168 this.testData = testData;
\r
171 public HashMap<String, Object> getVthInput() {
\r
175 public void setVthInput(HashMap<String, Object> vthInput) {
\r
176 this.vthInput = vthInput;
\r
179 public ObjectId getCreatedBy() {
\r
183 public void setCreatedBy(ObjectId createdBy) {
\r
184 this.createdBy = createdBy;
\r
187 public boolean isUseLatestTestDefinition() {
\r
188 return useLatestTestDefinition;
\r
191 public void setUseLatestTestDefinition(boolean useLatestTestDefinition) {
\r
192 this.useLatestTestDefinition = useLatestTestDefinition;
\r
195 public boolean isSimulationMode() {
\r
196 return simulationMode;
\r
199 public void setSimulationMode(boolean simulationMode) {
\r
200 this.simulationMode = simulationMode;
\r
203 public long getMaxExecutionTimeInMillis() {
\r
204 return maxExecutionTimeInMillis;
\r
207 public void setMaxExecutionTimeInMillis(long maxExecutionTimeInMillis) {
\r
208 this.maxExecutionTimeInMillis = maxExecutionTimeInMillis;
\r
212 public String toString() {
\r
213 return Convert.objectToJson(this);
\r