added svcapi ui and camunda code
[it/otf.git] / otf-service-api / src / main / java / org / oran / otf / common / model / local / TestInstanceCreateRequest.java
1 /*  Copyright (c) 2019 AT&T Intellectual Property.                             #\r
2 #                                                                              #\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
6 #                                                                              #\r
7 #       http://www.apache.org/licenses/LICENSE-2.0                             #\r
8 #                                                                              #\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
15 \r
16 \r
17 package org.oran.otf.common.model.local;\r
18 \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
24 \r
25 public class TestInstanceCreateRequest implements Serializable {\r
26   private static final long serialVersionUID = 1L;\r
27 \r
28   private ObjectId testDefinitionId = null;\r
29   private int version = Integer.MIN_VALUE;\r
30   private String processDefinitionKey = null;\r
31 \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
42 \r
43   public TestInstanceCreateRequest() throws Exception {\r
44     this.validate();\r
45   }\r
46 \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
54       ObjectId createdBy,\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
68 \r
69     this.validate();\r
70   }\r
71 \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
76     }\r
77 \r
78     if (Strings.isNullOrEmpty(testInstanceDescription)) {\r
79       throw new Exception(String.format(missingFieldFormat, "testInstanceDescription"));\r
80     }\r
81 \r
82     if (pfloInput == null) {\r
83       pfloInput = new HashMap<>();\r
84     }\r
85 \r
86     if (simulationVthInput == null) {\r
87       simulationVthInput = new HashMap<>();\r
88     }\r
89 \r
90     if (testData == null) {\r
91       testData = new HashMap<>();\r
92     }\r
93 \r
94     if (vthInput == null) {\r
95       vthInput = new HashMap<>();\r
96     }\r
97 \r
98     if (this.maxExecutionTimeInMillis < 0L) {\r
99       this.maxExecutionTimeInMillis = 0L;\r
100     }\r
101   }\r
102 \r
103   public static long getSerialVersionUID() {\r
104     return serialVersionUID;\r
105   }\r
106 \r
107   public ObjectId getTestDefinitionId() {\r
108     return testDefinitionId;\r
109   }\r
110 \r
111   public void setTestDefinitionId(ObjectId testDefinitionId) {\r
112     this.testDefinitionId = testDefinitionId;\r
113   }\r
114 \r
115   public int getVersion() {\r
116     return version;\r
117   }\r
118 \r
119   public void setVersion(int version) {\r
120     this.version = version;\r
121   }\r
122 \r
123   public String getProcessDefinitionKey() {\r
124     return processDefinitionKey;\r
125   }\r
126 \r
127   public void setProcessDefinitionKey(String processDefinitionKey) {\r
128     this.processDefinitionKey = processDefinitionKey;\r
129   }\r
130 \r
131   public String getTestInstanceName() {\r
132     return testInstanceName;\r
133   }\r
134 \r
135   public void setTestInstanceName(String testInstanceName) {\r
136     this.testInstanceName = testInstanceName;\r
137   }\r
138 \r
139   public String getTestInstanceDescription() {\r
140     return testInstanceDescription;\r
141   }\r
142 \r
143   public void setTestInstanceDescription(String testInstanceDescription) {\r
144     this.testInstanceDescription = testInstanceDescription;\r
145   }\r
146 \r
147   public HashMap<String, ParallelFlowInput> getPfloInput() {\r
148     return pfloInput;\r
149   }\r
150 \r
151   public void setPfloInput(HashMap<String, ParallelFlowInput> pfloInput) {\r
152     this.pfloInput = pfloInput;\r
153   }\r
154 \r
155   public HashMap<String, Object> getSimulationVthInput() {\r
156     return simulationVthInput;\r
157   }\r
158 \r
159   public void setSimulationVthInput(HashMap<String, Object> simulationVthInput) {\r
160     this.simulationVthInput = simulationVthInput;\r
161   }\r
162 \r
163   public HashMap<String, Object> getTestData() {\r
164     return testData;\r
165   }\r
166 \r
167   public void setTestData(HashMap<String, Object> testData) {\r
168     this.testData = testData;\r
169   }\r
170 \r
171   public HashMap<String, Object> getVthInput() {\r
172     return vthInput;\r
173   }\r
174 \r
175   public void setVthInput(HashMap<String, Object> vthInput) {\r
176     this.vthInput = vthInput;\r
177   }\r
178 \r
179   public ObjectId getCreatedBy() {\r
180     return createdBy;\r
181   }\r
182 \r
183   public void setCreatedBy(ObjectId createdBy) {\r
184     this.createdBy = createdBy;\r
185   }\r
186 \r
187   public boolean isUseLatestTestDefinition() {\r
188     return useLatestTestDefinition;\r
189   }\r
190 \r
191   public void setUseLatestTestDefinition(boolean useLatestTestDefinition) {\r
192     this.useLatestTestDefinition = useLatestTestDefinition;\r
193   }\r
194 \r
195   public boolean isSimulationMode() {\r
196     return simulationMode;\r
197   }\r
198 \r
199   public void setSimulationMode(boolean simulationMode) {\r
200     this.simulationMode = simulationMode;\r
201   }\r
202 \r
203   public long getMaxExecutionTimeInMillis() {\r
204     return maxExecutionTimeInMillis;\r
205   }\r
206 \r
207   public void setMaxExecutionTimeInMillis(long maxExecutionTimeInMillis) {\r
208     this.maxExecutionTimeInMillis = maxExecutionTimeInMillis;\r
209   }\r
210 \r
211   @Override\r
212   public String toString() {\r
213     return Convert.objectToJson(this);\r
214   }\r
215 }\r