2 * ============LICENSE_START=======================================================
3 * Copyright (C) 2016-2018 Ericsson. All rights reserved.
4 * ================================================================================
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
17 * SPDX-License-Identifier: Apache-2.0
18 * ============LICENSE_END=========================================================
21 package org.onap.policy.apex.testsuites.integration.common.model;
23 import java.util.ArrayList;
24 import java.util.List;
27 import java.util.TreeMap;
28 import java.util.TreeSet;
29 import org.onap.policy.apex.model.basicmodel.concepts.ApexRuntimeException;
30 import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
31 import org.onap.policy.apex.model.basicmodel.concepts.AxKeyInformation;
32 import org.onap.policy.apex.model.basicmodel.concepts.AxReferenceKey;
33 import org.onap.policy.apex.model.basicmodel.concepts.AxValidationResult;
34 import org.onap.policy.apex.model.contextmodel.concepts.AxContextAlbum;
35 import org.onap.policy.apex.model.contextmodel.concepts.AxContextAlbums;
36 import org.onap.policy.apex.model.contextmodel.concepts.AxContextSchema;
37 import org.onap.policy.apex.model.contextmodel.concepts.AxContextSchemas;
38 import org.onap.policy.apex.model.eventmodel.concepts.AxEvent;
39 import org.onap.policy.apex.model.eventmodel.concepts.AxEvents;
40 import org.onap.policy.apex.model.eventmodel.concepts.AxField;
41 import org.onap.policy.apex.model.policymodel.concepts.AxLogicReader;
42 import org.onap.policy.apex.model.policymodel.concepts.AxPolicies;
43 import org.onap.policy.apex.model.policymodel.concepts.AxPolicy;
44 import org.onap.policy.apex.model.policymodel.concepts.AxPolicyModel;
45 import org.onap.policy.apex.model.policymodel.concepts.AxState;
46 import org.onap.policy.apex.model.policymodel.concepts.AxStateOutput;
47 import org.onap.policy.apex.model.policymodel.concepts.AxStateTaskOutputType;
48 import org.onap.policy.apex.model.policymodel.concepts.AxStateTaskReference;
49 import org.onap.policy.apex.model.policymodel.concepts.AxTask;
50 import org.onap.policy.apex.model.policymodel.concepts.AxTaskLogic;
51 import org.onap.policy.apex.model.policymodel.concepts.AxTaskParameter;
52 import org.onap.policy.apex.model.policymodel.concepts.AxTaskSelectionLogic;
53 import org.onap.policy.apex.model.policymodel.concepts.AxTasks;
54 import org.onap.policy.apex.model.policymodel.handling.PolicyLogicReader;
57 * This class creates sample Policy Models.
59 * @author Liam Fallon (liam.fallon@ericsson.com)
61 public class SampleDomainModelFactory {
62 // Recurring string constants
63 private static final String TASK = "Task_";
64 private static final String PARAMETER2 = "Parameter2";
65 private static final String PARAMETER1 = "Parameter1";
66 private static final String DEFAULT_VALUE2 = "DefaultValue2";
67 private static final String DEFAULT_VALUE1 = "DefaultValue1";
68 private static final String PARAMETER0 = "Parameter0";
69 private static final String DEFAULT_VALUE0 = "DefaultValue0";
70 private static final String TASK_SELECTION_LIGIC = "TaskSelectionLigic";
71 private static final String TEST_ACT_STATE_TIME = "TestActStateTime";
72 private static final String TEST_ACT_CASE_SELECTED = "TestActCaseSelected";
73 private static final String TEST_DECIDE_STATE_TIME = "TestDecideStateTime";
74 private static final String TEST_DECIDE_CASE_SELECTED = "TestDecideCaseSelected";
75 private static final String TEST_ESTABLISH_STATE_TIME = "TestEstablishStateTime";
76 private static final String TEST_ESTABLISH_CASE_SELECTED = "TestEstablishCaseSelected";
77 private static final String DECIDE = "Decide";
78 private static final String TEST_MATCH_STATE_TIME = "TestMatchStateTime";
79 private static final String TEST_MATCH_CASE_SELECTED = "TestMatchCaseSelected";
80 private static final String ESTABLISH = "Establish";
81 private static final String TEST_MATCH_CASE = "TestMatchCase";
82 private static final String MATCH = "Match";
83 private static final String DEFAULT_SOURCE = "Outside";
84 private static final String DEFAULT_NAMESPACE = "org.onap.policy.apex.sample.events";
85 private static final String TEST_TEMPERATURE = "TestTemperature";
86 private static final String TEST_TIMESTAMP = "TestTimestamp";
87 private static final String TEST_SLOGAN = "TestSlogan";
88 private static final String DEFAULT_VERSION = "0.0.1";
90 private static final int THIRD_ENTRY = 3;
93 * Get a sample policy model.
95 * @param axLogicExecutorType The type of logic executor, the scripting language being used
96 * @return the sample policy model
98 // CHECKSTYLE:OFF: checkstyle:maximumMethodLength
99 public AxPolicyModel getSamplePolicyModel(final String axLogicExecutorType) {
100 AxContextSchema testSlogan = new AxContextSchema(new AxArtifactKey(TEST_SLOGAN, DEFAULT_VERSION), "Java",
102 AxContextSchema testCase = new AxContextSchema(new AxArtifactKey("TestCase", DEFAULT_VERSION), "Java",
104 AxContextSchema testTimestamp = new AxContextSchema(new AxArtifactKey(TEST_TIMESTAMP, DEFAULT_VERSION), "Java",
106 AxContextSchema testTemperature = new AxContextSchema(new AxArtifactKey(TEST_TEMPERATURE, DEFAULT_VERSION),
107 "Java", "java.lang.Double");
109 AxContextSchema testContextItem000 = new AxContextSchema(
110 new AxArtifactKey("TestContextItem000", DEFAULT_VERSION), "Java",
111 "org.onap.policy.apex.context.test.concepts.TestContextItem000");
112 AxContextSchema testContextItem001 = new AxContextSchema(
113 new AxArtifactKey("TestContextItem001", DEFAULT_VERSION), "Java",
114 "org.onap.policy.apex.context.test.concepts.TestContextItem001");
115 AxContextSchema testContextItem002 = new AxContextSchema(
116 new AxArtifactKey("TestContextItem002", DEFAULT_VERSION), "Java",
117 "org.onap.policy.apex.context.test.concepts.TestContextItem002");
118 AxContextSchema testContextItem003 = new AxContextSchema(
119 new AxArtifactKey("TestContextItem003", DEFAULT_VERSION), "Java",
120 "org.onap.policy.apex.context.test.concepts.TestContextItem003");
121 AxContextSchema testContextItem004 = new AxContextSchema(
122 new AxArtifactKey("TestContextItem004", DEFAULT_VERSION), "Java",
123 "org.onap.policy.apex.context.test.concepts.TestContextItem004");
124 AxContextSchema testContextItem005 = new AxContextSchema(
125 new AxArtifactKey("TestContextItem005", DEFAULT_VERSION), "Java",
126 "org.onap.policy.apex.context.test.concepts.TestContextItem005");
127 AxContextSchema testContextItem006 = new AxContextSchema(
128 new AxArtifactKey("TestContextItem006", DEFAULT_VERSION), "Java",
129 "org.onap.policy.apex.context.test.concepts.TestContextItem006");
130 AxContextSchema testContextItem007 = new AxContextSchema(
131 new AxArtifactKey("TestContextItem007", DEFAULT_VERSION), "Java",
132 "org.onap.policy.apex.context.test.concepts.TestContextItem007");
133 AxContextSchema testContextItem008 = new AxContextSchema(
134 new AxArtifactKey("TestContextItem008", DEFAULT_VERSION), "Java",
135 "org.onap.policy.apex.context.test.concepts.TestContextItem008");
136 AxContextSchema testContextItem009 = new AxContextSchema(
137 new AxArtifactKey("TestContextItem009", DEFAULT_VERSION), "Java",
138 "org.onap.policy.apex.context.test.concepts.TestContextItem009");
139 AxContextSchema testContextItem00A = new AxContextSchema(
140 new AxArtifactKey("TestContextItem00A", DEFAULT_VERSION), "Java",
141 "org.onap.policy.apex.context.test.concepts.TestContextItem00A");
142 AxContextSchema testContextItem00B = new AxContextSchema(
143 new AxArtifactKey("TestContextItem00B", DEFAULT_VERSION), "Java",
144 "org.onap.policy.apex.context.test.concepts.TestContextItem00B");
145 AxContextSchema testContextItem00C = new AxContextSchema(
146 new AxArtifactKey("TestContextItem00C", DEFAULT_VERSION), "Java",
147 "org.onap.policy.apex.context.test.concepts.TestContextItem00C");
149 AxContextSchema testPolicyContextItem = new AxContextSchema(
150 new AxArtifactKey("TestPolicyContextItem", DEFAULT_VERSION), "Java",
151 "org.onap.policy.apex.context.test.concepts.TestPolicyContextItem");
152 AxContextSchema testGlobalContextItem = new AxContextSchema(
153 new AxArtifactKey("TestGlobalContextItem", DEFAULT_VERSION), "Java",
154 "org.onap.policy.apex.context.test.concepts.TestGlobalContextItem");
155 AxContextSchema testExternalContextItem = new AxContextSchema(
156 new AxArtifactKey("TestExternalContextItem", DEFAULT_VERSION), "Java",
157 "org.onap.policy.apex.context.test.concepts.TestExternalContextItem");
159 AxContextSchemas axContextSchemas = new AxContextSchemas(new AxArtifactKey("TestDatatypes", DEFAULT_VERSION));
160 axContextSchemas.getSchemasMap().put(testSlogan.getKey(), testSlogan);
161 axContextSchemas.getSchemasMap().put(testCase.getKey(), testCase);
162 axContextSchemas.getSchemasMap().put(testTimestamp.getKey(), testTimestamp);
163 axContextSchemas.getSchemasMap().put(testTemperature.getKey(), testTemperature);
165 axContextSchemas.getSchemasMap().put(testContextItem000.getKey(), testContextItem000);
166 axContextSchemas.getSchemasMap().put(testContextItem001.getKey(), testContextItem001);
167 axContextSchemas.getSchemasMap().put(testContextItem002.getKey(), testContextItem002);
168 axContextSchemas.getSchemasMap().put(testContextItem003.getKey(), testContextItem003);
169 axContextSchemas.getSchemasMap().put(testContextItem004.getKey(), testContextItem004);
170 axContextSchemas.getSchemasMap().put(testContextItem005.getKey(), testContextItem005);
171 axContextSchemas.getSchemasMap().put(testContextItem006.getKey(), testContextItem006);
172 axContextSchemas.getSchemasMap().put(testContextItem007.getKey(), testContextItem007);
173 axContextSchemas.getSchemasMap().put(testContextItem008.getKey(), testContextItem008);
174 axContextSchemas.getSchemasMap().put(testContextItem009.getKey(), testContextItem009);
175 axContextSchemas.getSchemasMap().put(testContextItem00A.getKey(), testContextItem00A);
176 axContextSchemas.getSchemasMap().put(testContextItem00B.getKey(), testContextItem00B);
177 axContextSchemas.getSchemasMap().put(testContextItem00C.getKey(), testContextItem00C);
179 axContextSchemas.getSchemasMap().put(testPolicyContextItem.getKey(), testPolicyContextItem);
180 axContextSchemas.getSchemasMap().put(testGlobalContextItem.getKey(), testGlobalContextItem);
181 axContextSchemas.getSchemasMap().put(testExternalContextItem.getKey(), testExternalContextItem);
183 AxEvent event0000 = new AxEvent(new AxArtifactKey("Event0000", DEFAULT_VERSION),
185 event0000.setSource(DEFAULT_SOURCE);
186 event0000.setTarget(MATCH);
187 event0000.getParameterMap().put(TEST_SLOGAN,
188 new AxField(new AxReferenceKey(event0000.getKey(), TEST_SLOGAN), testSlogan.getKey()));
189 event0000.getParameterMap().put(TEST_MATCH_CASE,
190 new AxField(new AxReferenceKey(event0000.getKey(), TEST_MATCH_CASE), testCase.getKey()));
191 event0000.getParameterMap().put(TEST_TIMESTAMP,
192 new AxField(new AxReferenceKey(event0000.getKey(), TEST_TIMESTAMP), testTimestamp.getKey()));
193 event0000.getParameterMap().put(TEST_TEMPERATURE, new AxField(
194 new AxReferenceKey(event0000.getKey(), TEST_TEMPERATURE), testTemperature.getKey()));
196 AxEvent event0001 = new AxEvent(new AxArtifactKey("Event0001", DEFAULT_VERSION),
198 event0001.setSource(MATCH);
199 event0001.setTarget(ESTABLISH);
200 event0001.getParameterMap().put(TEST_SLOGAN,
201 new AxField(new AxReferenceKey(event0001.getKey(), TEST_SLOGAN), testSlogan.getKey()));
202 event0001.getParameterMap().put(TEST_MATCH_CASE,
203 new AxField(new AxReferenceKey(event0001.getKey(), TEST_MATCH_CASE), testCase.getKey()));
204 event0001.getParameterMap().put(TEST_TIMESTAMP,
205 new AxField(new AxReferenceKey(event0001.getKey(), TEST_TIMESTAMP), testTimestamp.getKey()));
206 event0001.getParameterMap().put(TEST_TEMPERATURE, new AxField(
207 new AxReferenceKey(event0001.getKey(), TEST_TEMPERATURE), testTemperature.getKey()));
208 event0001.getParameterMap().put(TEST_MATCH_CASE_SELECTED, new AxField(
209 new AxReferenceKey(event0001.getKey(), TEST_MATCH_CASE_SELECTED), testCase.getKey()));
210 event0001.getParameterMap().put(TEST_MATCH_STATE_TIME, new AxField(
211 new AxReferenceKey(event0001.getKey(), TEST_MATCH_STATE_TIME), testTimestamp.getKey()));
213 AxEvent event0002 = new AxEvent(new AxArtifactKey("Event0002", DEFAULT_VERSION),
215 event0002.setSource(ESTABLISH);
216 event0002.setTarget(DECIDE);
217 event0002.getParameterMap().put(TEST_SLOGAN,
218 new AxField(new AxReferenceKey(event0002.getKey(), TEST_SLOGAN), testSlogan.getKey()));
219 event0002.getParameterMap().put(TEST_MATCH_CASE,
220 new AxField(new AxReferenceKey(event0002.getKey(), TEST_MATCH_CASE), testCase.getKey()));
221 event0002.getParameterMap().put(TEST_TIMESTAMP,
222 new AxField(new AxReferenceKey(event0002.getKey(), TEST_TIMESTAMP), testTimestamp.getKey()));
223 event0002.getParameterMap().put(TEST_TEMPERATURE, new AxField(
224 new AxReferenceKey(event0002.getKey(), TEST_TEMPERATURE), testTemperature.getKey()));
225 event0002.getParameterMap().put(TEST_MATCH_CASE_SELECTED, new AxField(
226 new AxReferenceKey(event0002.getKey(), TEST_MATCH_CASE_SELECTED), testCase.getKey()));
227 event0002.getParameterMap().put(TEST_MATCH_STATE_TIME, new AxField(
228 new AxReferenceKey(event0002.getKey(), TEST_MATCH_STATE_TIME), testTimestamp.getKey()));
229 event0002.getParameterMap().put(TEST_ESTABLISH_CASE_SELECTED, new AxField(
230 new AxReferenceKey(event0002.getKey(), TEST_ESTABLISH_CASE_SELECTED), testCase.getKey()));
231 event0002.getParameterMap().put(TEST_ESTABLISH_STATE_TIME, new AxField(
232 new AxReferenceKey(event0002.getKey(), TEST_ESTABLISH_STATE_TIME), testTimestamp.getKey()));
234 AxEvent event0003 = new AxEvent(new AxArtifactKey("Event0003", DEFAULT_VERSION),
236 event0003.setSource(DECIDE);
237 event0003.setTarget("Act");
238 event0003.getParameterMap().put(TEST_SLOGAN,
239 new AxField(new AxReferenceKey(event0003.getKey(), TEST_SLOGAN), testSlogan.getKey()));
240 event0003.getParameterMap().put(TEST_MATCH_CASE,
241 new AxField(new AxReferenceKey(event0003.getKey(), TEST_MATCH_CASE), testCase.getKey()));
242 event0003.getParameterMap().put(TEST_TIMESTAMP,
243 new AxField(new AxReferenceKey(event0003.getKey(), TEST_TIMESTAMP), testTimestamp.getKey()));
244 event0003.getParameterMap().put(TEST_TEMPERATURE, new AxField(
245 new AxReferenceKey(event0003.getKey(), TEST_TEMPERATURE), testTemperature.getKey()));
246 event0003.getParameterMap().put(TEST_MATCH_CASE_SELECTED, new AxField(
247 new AxReferenceKey(event0003.getKey(), TEST_MATCH_CASE_SELECTED), testCase.getKey()));
248 event0003.getParameterMap().put(TEST_MATCH_STATE_TIME, new AxField(
249 new AxReferenceKey(event0003.getKey(), TEST_MATCH_STATE_TIME), testTimestamp.getKey()));
250 event0003.getParameterMap().put(TEST_ESTABLISH_CASE_SELECTED, new AxField(
251 new AxReferenceKey(event0003.getKey(), TEST_ESTABLISH_CASE_SELECTED), testCase.getKey()));
252 event0003.getParameterMap().put(TEST_ESTABLISH_STATE_TIME, new AxField(
253 new AxReferenceKey(event0003.getKey(), TEST_ESTABLISH_STATE_TIME), testTimestamp.getKey()));
254 event0003.getParameterMap().put(TEST_DECIDE_CASE_SELECTED, new AxField(
255 new AxReferenceKey(event0003.getKey(), TEST_DECIDE_CASE_SELECTED), testCase.getKey()));
256 event0003.getParameterMap().put(TEST_DECIDE_STATE_TIME, new AxField(
257 new AxReferenceKey(event0003.getKey(), TEST_DECIDE_STATE_TIME), testTimestamp.getKey()));
259 AxEvent event0004 = new AxEvent(new AxArtifactKey("Event0004", DEFAULT_VERSION),
261 event0004.setSource("Act");
262 event0004.setTarget(DEFAULT_SOURCE);
263 event0004.getParameterMap().put(TEST_SLOGAN,
264 new AxField(new AxReferenceKey(event0004.getKey(), TEST_SLOGAN), testSlogan.getKey()));
265 event0004.getParameterMap().put(TEST_MATCH_CASE,
266 new AxField(new AxReferenceKey(event0004.getKey(), TEST_MATCH_CASE), testCase.getKey()));
267 event0004.getParameterMap().put(TEST_TIMESTAMP,
268 new AxField(new AxReferenceKey(event0004.getKey(), TEST_TIMESTAMP), testTimestamp.getKey()));
269 event0004.getParameterMap().put(TEST_TEMPERATURE, new AxField(
270 new AxReferenceKey(event0004.getKey(), TEST_TEMPERATURE), testTemperature.getKey()));
271 event0004.getParameterMap().put(TEST_MATCH_CASE_SELECTED, new AxField(
272 new AxReferenceKey(event0004.getKey(), TEST_MATCH_CASE_SELECTED), testCase.getKey()));
273 event0004.getParameterMap().put(TEST_MATCH_STATE_TIME, new AxField(
274 new AxReferenceKey(event0004.getKey(), TEST_MATCH_STATE_TIME), testTimestamp.getKey()));
275 event0004.getParameterMap().put(TEST_ESTABLISH_CASE_SELECTED, new AxField(
276 new AxReferenceKey(event0004.getKey(), TEST_ESTABLISH_CASE_SELECTED), testCase.getKey()));
277 event0004.getParameterMap().put(TEST_ESTABLISH_STATE_TIME, new AxField(
278 new AxReferenceKey(event0004.getKey(), TEST_ESTABLISH_STATE_TIME), testTimestamp.getKey()));
279 event0004.getParameterMap().put(TEST_DECIDE_CASE_SELECTED, new AxField(
280 new AxReferenceKey(event0004.getKey(), TEST_DECIDE_CASE_SELECTED), testCase.getKey()));
281 event0004.getParameterMap().put(TEST_DECIDE_STATE_TIME, new AxField(
282 new AxReferenceKey(event0004.getKey(), TEST_DECIDE_STATE_TIME), testTimestamp.getKey()));
283 event0004.getParameterMap().put(TEST_ACT_CASE_SELECTED,
284 new AxField(new AxReferenceKey(event0004.getKey(), TEST_ACT_CASE_SELECTED), testCase.getKey()));
285 event0004.getParameterMap().put(TEST_ACT_STATE_TIME, new AxField(
286 new AxReferenceKey(event0004.getKey(), TEST_ACT_STATE_TIME), testTimestamp.getKey()));
288 AxEvent event0100 = new AxEvent(new AxArtifactKey("Event0100", DEFAULT_VERSION),
290 event0100.setSource(DEFAULT_SOURCE);
291 event0100.setTarget(MATCH);
292 event0100.getParameterMap().put(TEST_SLOGAN,
293 new AxField(new AxReferenceKey(event0100.getKey(), TEST_SLOGAN), testSlogan.getKey()));
294 event0100.getParameterMap().put(TEST_MATCH_CASE,
295 new AxField(new AxReferenceKey(event0100.getKey(), TEST_MATCH_CASE), testCase.getKey()));
296 event0100.getParameterMap().put(TEST_TIMESTAMP,
297 new AxField(new AxReferenceKey(event0100.getKey(), TEST_TIMESTAMP), testTimestamp.getKey()));
298 event0100.getParameterMap().put(TEST_TEMPERATURE, new AxField(
299 new AxReferenceKey(event0100.getKey(), TEST_TEMPERATURE), testTemperature.getKey()));
301 AxEvent event0101 = new AxEvent(new AxArtifactKey("Event0101", DEFAULT_VERSION),
303 event0101.setSource(MATCH);
304 event0101.setTarget(ESTABLISH);
305 event0101.getParameterMap().put(TEST_SLOGAN,
306 new AxField(new AxReferenceKey(event0101.getKey(), TEST_SLOGAN), testSlogan.getKey()));
307 event0101.getParameterMap().put(TEST_MATCH_CASE,
308 new AxField(new AxReferenceKey(event0101.getKey(), TEST_MATCH_CASE), testCase.getKey()));
309 event0101.getParameterMap().put(TEST_TIMESTAMP,
310 new AxField(new AxReferenceKey(event0101.getKey(), TEST_TIMESTAMP), testTimestamp.getKey()));
311 event0101.getParameterMap().put(TEST_TEMPERATURE, new AxField(
312 new AxReferenceKey(event0101.getKey(), TEST_TEMPERATURE), testTemperature.getKey()));
313 event0101.getParameterMap().put(TEST_MATCH_CASE_SELECTED, new AxField(
314 new AxReferenceKey(event0101.getKey(), TEST_MATCH_CASE_SELECTED), testCase.getKey()));
315 event0101.getParameterMap().put(TEST_MATCH_STATE_TIME, new AxField(
316 new AxReferenceKey(event0101.getKey(), TEST_MATCH_STATE_TIME), testTimestamp.getKey()));
318 AxEvent event0102 = new AxEvent(new AxArtifactKey("Event0102", DEFAULT_VERSION),
320 event0102.setSource(ESTABLISH);
321 event0102.setTarget(DECIDE);
322 event0102.getParameterMap().put(TEST_SLOGAN,
323 new AxField(new AxReferenceKey(event0102.getKey(), TEST_SLOGAN), testSlogan.getKey()));
324 event0102.getParameterMap().put(TEST_MATCH_CASE,
325 new AxField(new AxReferenceKey(event0102.getKey(), TEST_MATCH_CASE), testCase.getKey()));
326 event0102.getParameterMap().put(TEST_TIMESTAMP,
327 new AxField(new AxReferenceKey(event0102.getKey(), TEST_TIMESTAMP), testTimestamp.getKey()));
328 event0102.getParameterMap().put(TEST_TEMPERATURE, new AxField(
329 new AxReferenceKey(event0102.getKey(), TEST_TEMPERATURE), testTemperature.getKey()));
330 event0102.getParameterMap().put(TEST_MATCH_CASE_SELECTED, new AxField(
331 new AxReferenceKey(event0102.getKey(), TEST_MATCH_CASE_SELECTED), testCase.getKey()));
332 event0102.getParameterMap().put(TEST_MATCH_STATE_TIME, new AxField(
333 new AxReferenceKey(event0102.getKey(), TEST_MATCH_STATE_TIME), testTimestamp.getKey()));
334 event0102.getParameterMap().put(TEST_ESTABLISH_CASE_SELECTED, new AxField(
335 new AxReferenceKey(event0102.getKey(), TEST_ESTABLISH_CASE_SELECTED), testCase.getKey()));
336 event0102.getParameterMap().put(TEST_ESTABLISH_STATE_TIME, new AxField(
337 new AxReferenceKey(event0102.getKey(), TEST_ESTABLISH_STATE_TIME), testTimestamp.getKey()));
339 AxEvent event0103 = new AxEvent(new AxArtifactKey("Event0103", DEFAULT_VERSION),
341 event0103.setSource(DECIDE);
342 event0103.setTarget("Act");
343 event0103.getParameterMap().put(TEST_SLOGAN,
344 new AxField(new AxReferenceKey(event0103.getKey(), TEST_SLOGAN), testSlogan.getKey()));
345 event0103.getParameterMap().put(TEST_MATCH_CASE,
346 new AxField(new AxReferenceKey(event0103.getKey(), TEST_MATCH_CASE), testCase.getKey()));
347 event0103.getParameterMap().put(TEST_TIMESTAMP,
348 new AxField(new AxReferenceKey(event0103.getKey(), TEST_TIMESTAMP), testTimestamp.getKey()));
349 event0103.getParameterMap().put(TEST_TEMPERATURE, new AxField(
350 new AxReferenceKey(event0103.getKey(), TEST_TEMPERATURE), testTemperature.getKey()));
351 event0103.getParameterMap().put(TEST_MATCH_CASE_SELECTED, new AxField(
352 new AxReferenceKey(event0103.getKey(), TEST_MATCH_CASE_SELECTED), testCase.getKey()));
353 event0103.getParameterMap().put(TEST_MATCH_STATE_TIME, new AxField(
354 new AxReferenceKey(event0103.getKey(), TEST_MATCH_STATE_TIME), testTimestamp.getKey()));
355 event0103.getParameterMap().put(TEST_ESTABLISH_CASE_SELECTED, new AxField(
356 new AxReferenceKey(event0103.getKey(), TEST_ESTABLISH_CASE_SELECTED), testCase.getKey()));
357 event0103.getParameterMap().put(TEST_ESTABLISH_STATE_TIME, new AxField(
358 new AxReferenceKey(event0103.getKey(), TEST_ESTABLISH_STATE_TIME), testTimestamp.getKey()));
359 event0103.getParameterMap().put(TEST_DECIDE_CASE_SELECTED, new AxField(
360 new AxReferenceKey(event0103.getKey(), TEST_DECIDE_CASE_SELECTED), testCase.getKey()));
361 event0103.getParameterMap().put(TEST_DECIDE_STATE_TIME, new AxField(
362 new AxReferenceKey(event0103.getKey(), TEST_DECIDE_STATE_TIME), testTimestamp.getKey()));
364 AxEvent event0104 = new AxEvent(new AxArtifactKey("Event0104", DEFAULT_VERSION),
366 event0104.setSource("Act");
367 event0104.setTarget(DEFAULT_SOURCE);
368 event0104.getParameterMap().put(TEST_SLOGAN,
369 new AxField(new AxReferenceKey(event0104.getKey(), TEST_SLOGAN), testSlogan.getKey()));
370 event0104.getParameterMap().put(TEST_MATCH_CASE,
371 new AxField(new AxReferenceKey(event0104.getKey(), TEST_MATCH_CASE), testCase.getKey()));
372 event0104.getParameterMap().put(TEST_TIMESTAMP,
373 new AxField(new AxReferenceKey(event0104.getKey(), TEST_TIMESTAMP), testTimestamp.getKey()));
374 event0104.getParameterMap().put(TEST_TEMPERATURE, new AxField(
375 new AxReferenceKey(event0104.getKey(), TEST_TEMPERATURE), testTemperature.getKey()));
376 event0104.getParameterMap().put(TEST_MATCH_CASE_SELECTED, new AxField(
377 new AxReferenceKey(event0104.getKey(), TEST_MATCH_CASE_SELECTED), testCase.getKey()));
378 event0104.getParameterMap().put(TEST_MATCH_STATE_TIME, new AxField(
379 new AxReferenceKey(event0104.getKey(), TEST_MATCH_STATE_TIME), testTimestamp.getKey()));
380 event0104.getParameterMap().put(TEST_ESTABLISH_CASE_SELECTED, new AxField(
381 new AxReferenceKey(event0104.getKey(), TEST_ESTABLISH_CASE_SELECTED), testCase.getKey()));
382 event0104.getParameterMap().put(TEST_ESTABLISH_STATE_TIME, new AxField(
383 new AxReferenceKey(event0104.getKey(), TEST_ESTABLISH_STATE_TIME), testTimestamp.getKey()));
384 event0104.getParameterMap().put(TEST_DECIDE_CASE_SELECTED, new AxField(
385 new AxReferenceKey(event0104.getKey(), TEST_DECIDE_CASE_SELECTED), testCase.getKey()));
386 event0104.getParameterMap().put(TEST_DECIDE_STATE_TIME, new AxField(
387 new AxReferenceKey(event0104.getKey(), TEST_DECIDE_STATE_TIME), testTimestamp.getKey()));
388 event0104.getParameterMap().put(TEST_ACT_CASE_SELECTED,
389 new AxField(new AxReferenceKey(event0104.getKey(), TEST_ACT_CASE_SELECTED), testCase.getKey()));
390 event0104.getParameterMap().put(TEST_ACT_STATE_TIME, new AxField(
391 new AxReferenceKey(event0104.getKey(), TEST_ACT_STATE_TIME), testTimestamp.getKey()));
393 AxEvents events = new AxEvents(new AxArtifactKey("Events", DEFAULT_VERSION));
394 events.getEventMap().put(event0000.getKey(), event0000);
395 events.getEventMap().put(event0001.getKey(), event0001);
396 events.getEventMap().put(event0002.getKey(), event0002);
397 events.getEventMap().put(event0003.getKey(), event0003);
398 events.getEventMap().put(event0004.getKey(), event0004);
399 events.getEventMap().put(event0100.getKey(), event0100);
400 events.getEventMap().put(event0101.getKey(), event0101);
401 events.getEventMap().put(event0102.getKey(), event0102);
402 events.getEventMap().put(event0103.getKey(), event0103);
403 events.getEventMap().put(event0104.getKey(), event0104);
405 AxContextAlbum externalContextAlbum = new AxContextAlbum(
406 new AxArtifactKey("ExternalContextAlbum", DEFAULT_VERSION), "EXTERNAL", false,
407 testExternalContextItem.getKey());
408 AxContextAlbum globalContextAlbum = new AxContextAlbum(new AxArtifactKey("GlobalContextAlbum", DEFAULT_VERSION),
409 "GLOBAL", true, testGlobalContextItem.getKey());
410 AxContextAlbum policy0ContextAlbum = new AxContextAlbum(
411 new AxArtifactKey("Policy0ContextAlbum", DEFAULT_VERSION), "APPLICATION", true,
412 testPolicyContextItem.getKey());
413 AxContextAlbum policy1ContextAlbum = new AxContextAlbum(
414 new AxArtifactKey("Policy1ContextAlbum", DEFAULT_VERSION), "APPLICATION", true,
415 testPolicyContextItem.getKey());
417 AxContextAlbums albums = new AxContextAlbums(new AxArtifactKey("Context", DEFAULT_VERSION));
418 albums.getAlbumsMap().put(externalContextAlbum.getKey(), externalContextAlbum);
419 albums.getAlbumsMap().put(globalContextAlbum.getKey(), globalContextAlbum);
420 albums.getAlbumsMap().put(policy0ContextAlbum.getKey(), policy0ContextAlbum);
421 albums.getAlbumsMap().put(policy1ContextAlbum.getKey(), policy1ContextAlbum);
423 Set<AxArtifactKey> referenceKeySet0 = new TreeSet<>();
424 referenceKeySet0.add(policy0ContextAlbum.getKey());
425 referenceKeySet0.add(policy1ContextAlbum.getKey());
426 referenceKeySet0.add(globalContextAlbum.getKey());
427 referenceKeySet0.add(externalContextAlbum.getKey());
429 Set<AxArtifactKey> referenceKeySet1 = new TreeSet<>();
430 referenceKeySet1.add(policy0ContextAlbum.getKey());
431 referenceKeySet1.add(globalContextAlbum.getKey());
433 Set<AxArtifactKey> referenceKeySet2 = new TreeSet<>();
434 referenceKeySet2.add(policy1ContextAlbum.getKey());
435 referenceKeySet2.add(globalContextAlbum.getKey());
437 Set<AxArtifactKey> referenceKeySet3 = new TreeSet<>();
438 referenceKeySet3.add(globalContextAlbum.getKey());
439 referenceKeySet3.add(externalContextAlbum.getKey());
441 List<Set<AxArtifactKey>> referenceKeySetList = new ArrayList<>();
442 referenceKeySetList.add(referenceKeySet0);
443 referenceKeySetList.add(referenceKeySet1);
444 referenceKeySetList.add(referenceKeySet2);
445 referenceKeySetList.add(referenceKeySet3);
447 AxTasks tasks = new AxTasks(new AxArtifactKey("Tasks", DEFAULT_VERSION));
448 tasks.getTaskMap().putAll(getTaskMap(MATCH, event0000.getParameterMap(), event0001.getParameterMap(),
449 referenceKeySetList, axLogicExecutorType));
450 tasks.getTaskMap().putAll(getTaskMap(ESTABLISH, event0001.getParameterMap(), event0002.getParameterMap(),
451 referenceKeySetList, axLogicExecutorType));
452 tasks.getTaskMap().putAll(getTaskMap(DECIDE, event0002.getParameterMap(), event0003.getParameterMap(),
453 referenceKeySetList, axLogicExecutorType));
454 tasks.getTaskMap().putAll(getTaskMap("Act", event0003.getParameterMap(), event0004.getParameterMap(),
455 referenceKeySetList, axLogicExecutorType));
457 Set<AxArtifactKey> matchTasks = new TreeSet<>();
458 Set<AxArtifactKey> establishTasks = new TreeSet<>();
459 Set<AxArtifactKey> decideTasks = new TreeSet<>();
460 Set<AxArtifactKey> actTasks = new TreeSet<>();
461 for (AxTask task : tasks.getTaskMap().values()) {
462 if (task.getKey().getName().contains(MATCH)) {
463 matchTasks.add(task.getKey());
465 if (task.getKey().getName().contains(ESTABLISH)) {
466 establishTasks.add(task.getKey());
468 if (task.getKey().getName().contains(DECIDE)) {
469 decideTasks.add(task.getKey());
471 if (task.getKey().getName().contains("Act")) {
472 actTasks.add(task.getKey());
475 List<Set<AxArtifactKey>> taskReferenceList = new ArrayList<>();
476 taskReferenceList.add(matchTasks);
477 taskReferenceList.add(establishTasks);
478 taskReferenceList.add(decideTasks);
479 taskReferenceList.add(actTasks);
481 List<AxArtifactKey> p0InEventList = new ArrayList<>();
482 p0InEventList.add(event0000.getKey());
483 p0InEventList.add(event0001.getKey());
484 p0InEventList.add(event0002.getKey());
485 p0InEventList.add(event0003.getKey());
487 List<AxArtifactKey> p0OutEventList = new ArrayList<>();
488 p0OutEventList.add(event0001.getKey());
489 p0OutEventList.add(event0002.getKey());
490 p0OutEventList.add(event0003.getKey());
491 p0OutEventList.add(event0004.getKey());
493 List<AxArtifactKey> p0defaultTaskList = new ArrayList<>();
494 p0defaultTaskList.add(tasks.get("Task_Match0").getKey());
495 p0defaultTaskList.add(tasks.get("Task_Establish2").getKey());
496 p0defaultTaskList.add(tasks.get("Task_Decide3").getKey());
497 p0defaultTaskList.add(tasks.get("Task_Act1").getKey());
499 List<AxArtifactKey> p1InEventList = new ArrayList<>();
500 p1InEventList.add(event0100.getKey());
501 p1InEventList.add(event0101.getKey());
502 p1InEventList.add(event0102.getKey());
503 p1InEventList.add(event0103.getKey());
505 List<AxArtifactKey> p1OutEventList = new ArrayList<>();
506 p1OutEventList.add(event0101.getKey());
507 p1OutEventList.add(event0102.getKey());
508 p1OutEventList.add(event0103.getKey());
509 p1OutEventList.add(event0104.getKey());
511 List<AxArtifactKey> p1defaultTaskList = new ArrayList<>();
512 p1defaultTaskList.add(tasks.get("Task_Match3").getKey());
513 p1defaultTaskList.add(tasks.get("Task_Establish1").getKey());
514 p1defaultTaskList.add(tasks.get("Task_Decide3").getKey());
515 p1defaultTaskList.add(tasks.get("Task_Act0").getKey());
517 Set<AxArtifactKey> p0ReferenceKeySet0 = new TreeSet<>();
518 p0ReferenceKeySet0.add(policy0ContextAlbum.getKey());
519 p0ReferenceKeySet0.add(globalContextAlbum.getKey());
521 Set<AxArtifactKey> p0ReferenceKeySet1 = new TreeSet<>();
522 p0ReferenceKeySet1.add(policy1ContextAlbum.getKey());
523 p0ReferenceKeySet1.add(globalContextAlbum.getKey());
524 p0ReferenceKeySet1.add(externalContextAlbum.getKey());
526 Set<AxArtifactKey> p0ReferenceKeySet2 = new TreeSet<>();
527 p0ReferenceKeySet2.add(policy0ContextAlbum.getKey());
528 p0ReferenceKeySet2.add(globalContextAlbum.getKey());
529 p0ReferenceKeySet2.add(externalContextAlbum.getKey());
531 Set<AxArtifactKey> p0ReferenceKeySet3 = new TreeSet<>();
532 p0ReferenceKeySet3.add(globalContextAlbum.getKey());
534 List<Set<AxArtifactKey>> p0ReferenceKeySetList = new ArrayList<>();
535 p0ReferenceKeySetList.add(p0ReferenceKeySet0);
536 p0ReferenceKeySetList.add(p0ReferenceKeySet1);
537 p0ReferenceKeySetList.add(p0ReferenceKeySet2);
538 p0ReferenceKeySetList.add(p0ReferenceKeySet3);
540 AxPolicy policy0 = new AxPolicy(new AxArtifactKey("Policy0", DEFAULT_VERSION));
541 policy0.setTemplate("MEDA");
542 policy0.setStateMap(getStateMap(policy0.getKey(), p0InEventList, p0OutEventList, p0ReferenceKeySetList,
543 axLogicExecutorType, p0defaultTaskList, taskReferenceList));
544 policy0.setFirstState(policy0.getStateMap().get(MATCH).getKey().getLocalName());
546 Set<AxArtifactKey> p1ReferenceKeySet0 = new TreeSet<>();
547 p1ReferenceKeySet0.add(policy1ContextAlbum.getKey());
548 p1ReferenceKeySet0.add(globalContextAlbum.getKey());
549 p1ReferenceKeySet0.add(externalContextAlbum.getKey());
551 Set<AxArtifactKey> p1ReferenceKeySet1 = new TreeSet<>();
552 p1ReferenceKeySet1.add(policy1ContextAlbum.getKey());
553 p1ReferenceKeySet1.add(globalContextAlbum.getKey());
554 p1ReferenceKeySet1.add(externalContextAlbum.getKey());
556 Set<AxArtifactKey> p1ReferenceKeySet2 = new TreeSet<>();
557 p1ReferenceKeySet2.add(policy1ContextAlbum.getKey());
558 p1ReferenceKeySet2.add(globalContextAlbum.getKey());
559 p1ReferenceKeySet2.add(externalContextAlbum.getKey());
561 Set<AxArtifactKey> p1ReferenceKeySet3 = new TreeSet<>();
562 p1ReferenceKeySet3.add(globalContextAlbum.getKey());
564 List<Set<AxArtifactKey>> p1ReferenceKeySetList = new ArrayList<>();
565 p1ReferenceKeySetList.add(p1ReferenceKeySet0);
566 p1ReferenceKeySetList.add(p1ReferenceKeySet1);
567 p1ReferenceKeySetList.add(p1ReferenceKeySet2);
568 p1ReferenceKeySetList.add(p1ReferenceKeySet3);
570 AxPolicy policy1 = new AxPolicy(new AxArtifactKey("Policy1", DEFAULT_VERSION));
571 policy1.setTemplate("MEDA");
572 policy1.setStateMap(getStateMap(policy1.getKey(), p1InEventList, p1OutEventList, p1ReferenceKeySetList,
573 axLogicExecutorType, p1defaultTaskList, taskReferenceList));
574 policy1.setFirstState(policy1.getStateMap().get(MATCH).getKey().getLocalName());
576 AxPolicies policies = new AxPolicies(new AxArtifactKey("Policies", DEFAULT_VERSION));
577 policies.getPolicyMap().put(policy0.getKey(), policy0);
578 policies.getPolicyMap().put(policy1.getKey(), policy1);
580 AxKeyInformation keyInformation = new AxKeyInformation(new AxArtifactKey("KeyInformation", DEFAULT_VERSION));
581 AxPolicyModel policyModel = new AxPolicyModel(
582 new AxArtifactKey("SamplePolicyModel" + axLogicExecutorType, DEFAULT_VERSION));
583 policyModel.setKeyInformation(keyInformation);
584 policyModel.setPolicies(policies);
585 policyModel.setEvents(events);
586 policyModel.setTasks(tasks);
587 policyModel.setAlbums(albums);
588 policyModel.setSchemas(axContextSchemas);
589 policyModel.getKeyInformation().generateKeyInfo(policyModel);
591 AxValidationResult result = policyModel.validate(new AxValidationResult());
592 if (!result.getValidationResult().equals(AxValidationResult.ValidationResult.VALID)) {
593 throw new ApexRuntimeException("model " + policyModel.getId() + " is not valid" + result);
599 * Gets the state map.
601 * @param policyKey the policy key
602 * @param inEventKeyList the in event key list
603 * @param outEventKeyList the out event key list
604 * @param referenceKeySetList the reference key set list
605 * @param axLogicExecutorType the ax logic executor type
606 * @param defaultTaskList the default task list
607 * @param taskKeySetList the task key set list
608 * @return the state map
610 private Map<String, AxState> getStateMap(final AxArtifactKey policyKey, final List<AxArtifactKey> inEventKeyList,
611 final List<AxArtifactKey> outEventKeyList, final List<Set<AxArtifactKey>> referenceKeySetList,
612 final String axLogicExecutorType, final List<AxArtifactKey> defaultTaskList,
613 final List<Set<AxArtifactKey>> taskKeySetList) {
615 AxState actState = new AxState(new AxReferenceKey(policyKey, "Act"));
616 actState.setTrigger(inEventKeyList.get(3));
617 AxStateOutput act2Out = new AxStateOutput(actState.getKey(), AxReferenceKey.getNullKey(),
618 outEventKeyList.get(3));
619 actState.getStateOutputs().put(act2Out.getKey().getLocalName(), act2Out);
620 actState.setContextAlbumReferences(referenceKeySetList.get(3));
622 AxLogicReader logicReader = new PolicyLogicReader().setLogicPackage(this.getClass().getPackage().getName())
623 .setDefaultLogic("DefaultStateLogic");
624 actState.setTaskSelectionLogic(new AxTaskSelectionLogic(actState.getKey(), TASK_SELECTION_LIGIC,
625 axLogicExecutorType, logicReader));
626 actState.setDefaultTask(defaultTaskList.get(3));
627 for (AxArtifactKey taskKey : taskKeySetList.get(3)) {
628 actState.getTaskReferences().put(taskKey, new AxStateTaskReference(actState.getKey(), taskKey,
629 AxStateTaskOutputType.DIRECT, act2Out.getKey()));
632 AxState decideState = new AxState(new AxReferenceKey(policyKey, DECIDE));
633 decideState.setTrigger(inEventKeyList.get(2));
634 AxStateOutput decide2Act = new AxStateOutput(decideState.getKey(), actState.getKey(), outEventKeyList.get(2));
635 decideState.getStateOutputs().put(decide2Act.getKey().getLocalName(), decide2Act);
636 decideState.setContextAlbumReferences(referenceKeySetList.get(2));
637 decideState.setTaskSelectionLogic(new AxTaskSelectionLogic(decideState.getKey(), TASK_SELECTION_LIGIC,
638 axLogicExecutorType, logicReader));
639 decideState.setDefaultTask(defaultTaskList.get(2));
640 for (AxArtifactKey taskKey : taskKeySetList.get(2)) {
641 decideState.getTaskReferences().put(taskKey, new AxStateTaskReference(decideState.getKey(), taskKey,
642 AxStateTaskOutputType.DIRECT, decide2Act.getKey()));
645 AxState establishState = new AxState(new AxReferenceKey(policyKey, ESTABLISH));
646 establishState.setTrigger(inEventKeyList.get(1));
647 AxStateOutput establish2Decide = new AxStateOutput(establishState.getKey(), decideState.getKey(),
648 outEventKeyList.get(1));
649 establishState.getStateOutputs().put(establish2Decide.getKey().getLocalName(), establish2Decide);
650 establishState.setContextAlbumReferences(referenceKeySetList.get(1));
651 establishState.setTaskSelectionLogic(new AxTaskSelectionLogic(establishState.getKey(), TASK_SELECTION_LIGIC,
652 axLogicExecutorType, logicReader));
653 establishState.setDefaultTask(defaultTaskList.get(1));
654 for (AxArtifactKey taskKey : taskKeySetList.get(1)) {
655 establishState.getTaskReferences().put(taskKey, new AxStateTaskReference(establishState.getKey(), taskKey,
656 AxStateTaskOutputType.DIRECT, establish2Decide.getKey()));
659 AxState matchState = new AxState(new AxReferenceKey(policyKey, MATCH));
660 matchState.setTrigger(inEventKeyList.get(0));
661 AxStateOutput match2Establish = new AxStateOutput(matchState.getKey(), establishState.getKey(),
662 outEventKeyList.get(0));
663 matchState.getStateOutputs().put(match2Establish.getKey().getLocalName(), match2Establish);
664 matchState.setContextAlbumReferences(referenceKeySetList.get(0));
665 matchState.setTaskSelectionLogic(new AxTaskSelectionLogic(matchState.getKey(), TASK_SELECTION_LIGIC,
666 axLogicExecutorType, logicReader));
667 matchState.setDefaultTask(defaultTaskList.get(0));
668 for (AxArtifactKey taskKey : taskKeySetList.get(0)) {
669 matchState.getTaskReferences().put(taskKey, new AxStateTaskReference(matchState.getKey(), taskKey,
670 AxStateTaskOutputType.DIRECT, match2Establish.getKey()));
673 Map<String, AxState> stateMap = new TreeMap<>();
674 stateMap.put(matchState.getKey().getLocalName(), matchState);
675 stateMap.put(establishState.getKey().getLocalName(), establishState);
676 stateMap.put(decideState.getKey().getLocalName(), decideState);
677 stateMap.put(actState.getKey().getLocalName(), actState);
681 // CHECKSTYLE:ON: checkstyle:maximumMethodLength
686 * @param state the state
687 * @param inputFields the input fields
688 * @param outputFields the output fields
689 * @param referenceKeySetList the reference key set list
690 * @param axLogicExecutorType the ax logic executor type
691 * @return the task map
693 private Map<AxArtifactKey, AxTask> getTaskMap(final String state, final Map<String, AxField> inputFields,
694 final Map<String, AxField> outputFields, final List<Set<AxArtifactKey>> referenceKeySetList,
695 final String axLogicExecutorType) {
697 AxTask testTask0 = new AxTask(new AxArtifactKey(TASK + state + "0", DEFAULT_VERSION));
698 testTask0.duplicateInputFields(inputFields);
699 testTask0.duplicateOutputFields(outputFields);
700 AxTaskParameter parameter00 = new AxTaskParameter(new AxReferenceKey(testTask0.getKey(), PARAMETER0),
702 AxTaskParameter parameter01 = new AxTaskParameter(new AxReferenceKey(testTask0.getKey(), PARAMETER1),
704 AxTaskParameter parameter02 = new AxTaskParameter(new AxReferenceKey(testTask0.getKey(), PARAMETER2),
706 testTask0.getTaskParameters().put(parameter00.getKey().getLocalName(), parameter00);
707 testTask0.getTaskParameters().put(parameter01.getKey().getLocalName(), parameter01);
708 testTask0.getTaskParameters().put(parameter02.getKey().getLocalName(), parameter02);
709 testTask0.setContextAlbumReferences(referenceKeySetList.get(0));
711 AxLogicReader logicReader = new PolicyLogicReader().setLogicPackage(this.getClass().getPackage().getName())
712 .setDefaultLogic("DefaultTaskLogic");
713 testTask0.setTaskLogic(getTaskLogic(testTask0, logicReader, axLogicExecutorType, state, "2"));
715 AxTask testTask1 = new AxTask(new AxArtifactKey(TASK + state + "1", DEFAULT_VERSION));
716 testTask1.duplicateInputFields(inputFields);
717 testTask1.duplicateOutputFields(outputFields);
718 AxTaskParameter parameter10 = new AxTaskParameter(new AxReferenceKey(testTask1.getKey(), PARAMETER0),
720 AxTaskParameter parameter11 = new AxTaskParameter(new AxReferenceKey(testTask1.getKey(), PARAMETER1),
722 testTask1.getTaskParameters().put(parameter10.getKey().getLocalName(), parameter10);
723 testTask1.getTaskParameters().put(parameter11.getKey().getLocalName(), parameter11);
724 testTask1.setContextAlbumReferences(referenceKeySetList.get(1));
725 testTask1.setTaskLogic(getTaskLogic(testTask1, logicReader, axLogicExecutorType, state, "3"));
727 AxTask testTask2 = new AxTask(new AxArtifactKey(TASK + state + "2", DEFAULT_VERSION));
728 testTask2.duplicateInputFields(inputFields);
729 testTask2.duplicateOutputFields(outputFields);
730 AxTaskParameter parameter20 = new AxTaskParameter(new AxReferenceKey(testTask2.getKey(), PARAMETER0),
732 testTask2.getTaskParameters().put(parameter20.getKey().getLocalName(), parameter20);
733 testTask2.setContextAlbumReferences(referenceKeySetList.get(2));
734 testTask2.setTaskLogic(getTaskLogic(testTask2, logicReader, axLogicExecutorType, state, "0"));
736 AxTask testTask3 = new AxTask(new AxArtifactKey(TASK + state + "3", DEFAULT_VERSION));
737 testTask3.duplicateInputFields(inputFields);
738 testTask3.duplicateOutputFields(outputFields);
739 AxTaskParameter parameter30 = new AxTaskParameter(new AxReferenceKey(testTask3.getKey(), PARAMETER0),
741 testTask3.getTaskParameters().put(parameter30.getKey().getLocalName(), parameter30);
742 testTask3.setContextAlbumReferences(referenceKeySetList.get(THIRD_ENTRY));
743 testTask3.setTaskLogic(getTaskLogic(testTask3, logicReader, axLogicExecutorType, state, "1"));
745 Map<AxArtifactKey, AxTask> taskMap = new TreeMap<>();
746 taskMap.put(testTask0.getKey(), testTask0);
747 taskMap.put(testTask1.getKey(), testTask1);
748 taskMap.put(testTask2.getKey(), testTask2);
749 taskMap.put(testTask3.getKey(), testTask3);
755 * Gets the task logic.
757 * @param task the task
758 * @param logicReader the logic reader
759 * @param logicFlavour the logic flavour
760 * @param stateName the state name
761 * @param caseToUse the case to use
762 * @return the task logic
764 private AxTaskLogic getTaskLogic(final AxTask task, final AxLogicReader logicReader, final String logicFlavour,
765 final String stateName, final String caseToUse) {
766 AxTaskLogic axLogic = new AxTaskLogic(new AxReferenceKey(task.getKey(), "_TaskLogic"), logicFlavour,
769 axLogic.setLogic(axLogic.getLogic().replaceAll("<STATE_NAME>", stateName)
770 .replaceAll("<TASK_NAME>", task.getKey().getName())
771 .replaceAll("<RANDOM_BYTE_VALUE>", caseToUse));