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.model.policymodel.handling;
23 import java.util.UUID;
25 import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
26 import org.onap.policy.apex.model.basicmodel.concepts.AxKeyInfo;
27 import org.onap.policy.apex.model.basicmodel.concepts.AxKeyInformation;
28 import org.onap.policy.apex.model.basicmodel.concepts.AxReferenceKey;
29 import org.onap.policy.apex.model.basicmodel.concepts.AxValidationResult;
30 import org.onap.policy.apex.model.basicmodel.test.TestApexModelCreator;
31 import org.onap.policy.apex.model.contextmodel.concepts.AxContextAlbum;
32 import org.onap.policy.apex.model.contextmodel.concepts.AxContextAlbums;
33 import org.onap.policy.apex.model.contextmodel.concepts.AxContextSchema;
34 import org.onap.policy.apex.model.contextmodel.concepts.AxContextSchemas;
35 import org.onap.policy.apex.model.eventmodel.concepts.AxEvent;
36 import org.onap.policy.apex.model.eventmodel.concepts.AxEvents;
37 import org.onap.policy.apex.model.eventmodel.concepts.AxField;
38 import org.onap.policy.apex.model.eventmodel.concepts.AxInputField;
39 import org.onap.policy.apex.model.eventmodel.concepts.AxOutputField;
40 import org.onap.policy.apex.model.policymodel.concepts.AxPolicies;
41 import org.onap.policy.apex.model.policymodel.concepts.AxPolicy;
42 import org.onap.policy.apex.model.policymodel.concepts.AxPolicyModel;
43 import org.onap.policy.apex.model.policymodel.concepts.AxState;
44 import org.onap.policy.apex.model.policymodel.concepts.AxStateFinalizerLogic;
45 import org.onap.policy.apex.model.policymodel.concepts.AxStateOutput;
46 import org.onap.policy.apex.model.policymodel.concepts.AxStateTaskOutputType;
47 import org.onap.policy.apex.model.policymodel.concepts.AxStateTaskReference;
48 import org.onap.policy.apex.model.policymodel.concepts.AxTask;
49 import org.onap.policy.apex.model.policymodel.concepts.AxTaskLogic;
50 import org.onap.policy.apex.model.policymodel.concepts.AxTaskParameter;
51 import org.onap.policy.apex.model.policymodel.concepts.AxTaskSelectionLogic;
52 import org.onap.policy.apex.model.policymodel.concepts.AxTasks;
55 * @author Liam Fallon (liam.fallon@ericsson.com)
57 public class TestApexPolicyModelCreator implements TestApexModelCreator<AxPolicyModel> {
60 public AxPolicyModel getModel() {
61 final AxContextSchema schema0 =
62 new AxContextSchema(new AxArtifactKey("eventContextItem0", "0.0.1"), "Java", "java.lang.String");
63 final AxContextSchema schema1 =
64 new AxContextSchema(new AxArtifactKey("eventContextItem1", "0.0.1"), "Java", "java.lang.Long");
65 final AxContextSchema schema2 = new AxContextSchema(new AxArtifactKey("StringType", "0.0.1"), "Java",
66 "org.onap.policy.apex.model.policymodel.concepts.TestContextItem000");
67 final AxContextSchema schema3 = new AxContextSchema(new AxArtifactKey("MapType", "0.0.1"), "Java",
68 "org.onap.policy.apex.model.policymodel.concepts.TestContextItem00A");
70 final AxContextSchemas schemas = new AxContextSchemas(new AxArtifactKey("ContextSchemas", "0.0.1"));
71 schemas.getSchemasMap().put(schema0.getKey(), schema0);
72 schemas.getSchemasMap().put(schema1.getKey(), schema1);
73 schemas.getSchemasMap().put(schema2.getKey(), schema2);
74 schemas.getSchemasMap().put(schema3.getKey(), schema3);
76 final AxContextAlbum album0 =
77 new AxContextAlbum(new AxArtifactKey("contextAlbum0", "0.0.1"), "APPLICATION", true, schema3.getKey());
78 final AxContextAlbum album1 =
79 new AxContextAlbum(new AxArtifactKey("contextAlbum1", "0.0.1"), "GLOBAL", false, schema2.getKey());
81 final AxContextAlbums albums = new AxContextAlbums(new AxArtifactKey("context", "0.0.1"));
82 albums.getAlbumsMap().put(album0.getKey(), album0);
83 albums.getAlbumsMap().put(album1.getKey(), album1);
85 final AxEvent inEvent = new AxEvent(new AxArtifactKey("inEvent", "0.0.1"),
86 "org.onap.policy.apex.model.policymodel.events", "Source", "Target");
87 inEvent.getParameterMap().put("IEPAR0",
88 new AxField(new AxReferenceKey(inEvent.getKey(), "IEPAR0"), schema0.getKey()));
89 inEvent.getParameterMap().put("IEPAR1",
90 new AxField(new AxReferenceKey(inEvent.getKey(), "IEPAR1"), schema1.getKey()));
92 final AxEvent outEvent0 = new AxEvent(new AxArtifactKey("outEvent0", "0.0.1"),
93 "org.onap.policy.apex.model.policymodel.events", "Source", "Target");
94 outEvent0.getParameterMap().put("OE0PAR0",
95 new AxField(new AxReferenceKey(outEvent0.getKey(), "OE0PAR0"), schema0.getKey()));
96 outEvent0.getParameterMap().put("OE0PAR1",
97 new AxField(new AxReferenceKey(outEvent0.getKey(), "OE0PAR1"), schema1.getKey()));
98 outEvent0.getParameterMap().put("OE1PAR0",
99 new AxField(new AxReferenceKey(outEvent0.getKey(), "OE1PAR0"), schema0.getKey()));
100 outEvent0.getParameterMap().put("OE1PAR1",
101 new AxField(new AxReferenceKey(outEvent0.getKey(), "OE1PAR1"), schema1.getKey()));
103 final AxEvent outEvent1 = new AxEvent(new AxArtifactKey("outEvent1", "0.0.1"),
104 "org.onap.policy.apex.model.policymodel.events", "Source", "Target");
105 outEvent1.getParameterMap().put("OE1PAR0",
106 new AxField(new AxReferenceKey(outEvent1.getKey(), "OE1PAR0"), schema0.getKey()));
107 outEvent1.getParameterMap().put("OE1PAR1",
108 new AxField(new AxReferenceKey(outEvent1.getKey(), "OE1PAR1"), schema1.getKey()));
110 final AxEvents events = new AxEvents(new AxArtifactKey("events", "0.0.1"));
111 events.getEventMap().put(inEvent.getKey(), inEvent);
112 events.getEventMap().put(outEvent0.getKey(), outEvent0);
113 events.getEventMap().put(outEvent1.getKey(), outEvent1);
115 final AxTask task = new AxTask(new AxArtifactKey("task", "0.0.1"));
117 for (final AxField field : inEvent.getFields()) {
118 final AxReferenceKey fieldkey = new AxReferenceKey(task.getKey().getName(), task.getKey().getVersion(),
119 "inputFields", field.getKey().getLocalName());
120 final AxInputField inputField = new AxInputField(fieldkey, field.getSchema());
121 task.getInputFields().put(inputField.getKey().getLocalName(), inputField);
124 for (final AxField field : outEvent0.getFields()) {
125 final AxReferenceKey fieldkey = new AxReferenceKey(task.getKey().getName(), task.getKey().getVersion(),
126 "outputFields", field.getKey().getLocalName());
127 final AxOutputField outputField = new AxOutputField(fieldkey, field.getSchema());
128 task.getOutputFields().put(outputField.getKey().getLocalName(), outputField);
131 for (final AxField field : outEvent1.getFields()) {
132 final AxReferenceKey fieldkey = new AxReferenceKey(task.getKey().getName(), task.getKey().getVersion(),
133 "outputFields", field.getKey().getLocalName());
134 final AxOutputField outputField = new AxOutputField(fieldkey, field.getSchema());
135 task.getOutputFields().put(outputField.getKey().getLocalName(), outputField);
138 final AxTaskParameter taskPar0 =
139 new AxTaskParameter(new AxReferenceKey(task.getKey(), "taskParameter0"), "Task parameter 0 value");
140 final AxTaskParameter taskPar1 =
141 new AxTaskParameter(new AxReferenceKey(task.getKey(), "taskParameter1"), "Task parameter 1 value");
143 task.getTaskParameters().put(taskPar0.getKey().getLocalName(), taskPar0);
144 task.getTaskParameters().put(taskPar1.getKey().getLocalName(), taskPar1);
145 task.getContextAlbumReferences().add(album0.getKey());
146 task.getContextAlbumReferences().add(album1.getKey());
148 final AxTaskLogic taskLogic =
149 new AxTaskLogic(new AxReferenceKey(task.getKey(), "taskLogic"), "MVEL", "Some task logic");
150 task.setTaskLogic(taskLogic);
152 final AxTasks tasks = new AxTasks(new AxArtifactKey("tasks", "0.0.1"));
153 tasks.getTaskMap().put(task.getKey(), task);
155 final AxPolicy policy = new AxPolicy(new AxArtifactKey("policy", "0.0.1"));
156 policy.setTemplate("FREEFORM");
158 final AxState state = new AxState(new AxReferenceKey(policy.getKey(), "state"));
159 final AxTaskSelectionLogic taskSelectionLogic = new AxTaskSelectionLogic(
160 new AxReferenceKey(state.getKey(), "taskSelectionLogic"), "MVEL", "Some TS logic ");
162 state.setTrigger(inEvent.getKey());
163 state.getContextAlbumReferences().add(album0.getKey());
164 state.getContextAlbumReferences().add(album1.getKey());
165 state.setTaskSelectionLogic(taskSelectionLogic);
166 state.setDefaultTask(task.getKey());
168 final AxStateOutput stateOutput0 = new AxStateOutput(new AxReferenceKey(state.getKey(), "stateOutput0"),
169 outEvent0.getKey(), AxReferenceKey.getNullKey());
170 state.getStateOutputs().put(stateOutput0.getKey().getLocalName(), stateOutput0);
172 final AxStateTaskReference stateTaskReference =
173 new AxStateTaskReference(new AxReferenceKey(state.getKey(), task.getKey().getName()),
174 AxStateTaskOutputType.DIRECT, stateOutput0.getKey());
176 state.getTaskReferences().put(task.getKey(), stateTaskReference);
178 policy.getStateMap().put(state.getKey().getLocalName(), state);
179 policy.setFirstState(state.getKey().getLocalName());
181 final AxPolicies policies = new AxPolicies(new AxArtifactKey("policies", "0.0.1"));
182 policies.getPolicyMap().put(policy.getKey(), policy);
184 final AxKeyInformation keyInformation = new AxKeyInformation(new AxArtifactKey("KeyInfoMapKey", "0.0.1"));
185 final AxPolicyModel policyModel = new AxPolicyModel(new AxArtifactKey("PolicyModel", "0.0.1"));
186 policyModel.setKeyInformation(keyInformation);
187 policyModel.setSchemas(schemas);
188 policyModel.setAlbums(albums);
189 policyModel.setEvents(events);
190 policyModel.setTasks(tasks);
191 policyModel.setPolicies(policies);
192 policyModel.getKeyInformation().generateKeyInfo(policyModel);
194 int uuidIncrementer = 0;
195 for (final AxKeyInfo keyInfo : policyModel.getKeyInformation().getKeyInfoMap().values()) {
196 final String uuidString = String.format("ce9168c-e6df-414f-9646-6da464b6e%03d", uuidIncrementer++);
197 keyInfo.setUuid(UUID.fromString(uuidString));
200 final AxValidationResult result = new AxValidationResult();
201 policyModel.validate(result);
206 public AxPolicyModel getAnotherModel() {
207 final AxContextSchema schema0 =
208 new AxContextSchema(new AxArtifactKey("eventContextItemA0", "0.0.1"), "Java", "java.lang.String");
209 final AxContextSchema schema1 =
210 new AxContextSchema(new AxArtifactKey("eventContextItemA1", "0.0.1"), "Java", "java.lang.Long");
211 final AxContextSchema schema2 = new AxContextSchema(new AxArtifactKey("StringTypeA", "0.0.1"), "Java",
212 "org.onap.policy.apex.model.policymodel.concepts.TestContextItem000");
213 final AxContextSchema schema3 = new AxContextSchema(new AxArtifactKey("MapTypeA", "0.0.1"), "Java",
214 "org.onap.policy.apex.model.policymodel.concepts.TestContextItem00A");
216 final AxContextSchemas schemas = new AxContextSchemas(new AxArtifactKey("ContextSchemasA", "0.0.1"));
217 schemas.getSchemasMap().put(schema0.getKey(), schema0);
218 schemas.getSchemasMap().put(schema1.getKey(), schema1);
219 schemas.getSchemasMap().put(schema2.getKey(), schema2);
220 schemas.getSchemasMap().put(schema3.getKey(), schema3);
222 final AxContextAlbum album0 =
223 new AxContextAlbum(new AxArtifactKey("contextAlbumA0", "0.0.1"), "APPLICATION", true, schema3.getKey());
224 final AxContextAlbum album1 =
225 new AxContextAlbum(new AxArtifactKey("contextAlbumA1", "0.0.1"), "GLOBAL", false, schema2.getKey());
227 final AxContextAlbums albums = new AxContextAlbums(new AxArtifactKey("contextA", "0.0.1"));
228 albums.getAlbumsMap().put(album0.getKey(), album0);
229 albums.getAlbumsMap().put(album1.getKey(), album1);
231 final AxEvent inEvent = new AxEvent(new AxArtifactKey("inEventA", "0.0.1"),
232 "org.onap.policy.apex.model.policymodel.events", "Source", "Target");
233 inEvent.getParameterMap().put("IEPARA0",
234 new AxField(new AxReferenceKey(inEvent.getKey(), "IEPARA0"), schema0.getKey()));
235 inEvent.getParameterMap().put("IEPARA1",
236 new AxField(new AxReferenceKey(inEvent.getKey(), "IEPARA1"), schema1.getKey()));
238 final AxEvent outEvent0 = new AxEvent(new AxArtifactKey("outEventA0", "0.0.1"),
239 "org.onap.policy.apex.model.policymodel.events", "Source", "Target");
240 outEvent0.getParameterMap().put("OE0PARA0",
241 new AxField(new AxReferenceKey(outEvent0.getKey(), "OE0PARA0"), schema0.getKey()));
242 outEvent0.getParameterMap().put("OE0PARA1",
243 new AxField(new AxReferenceKey(outEvent0.getKey(), "OE0PARA1"), schema1.getKey()));
244 outEvent0.getParameterMap().put("OE1PARA0",
245 new AxField(new AxReferenceKey(outEvent0.getKey(), "OE1PARA0"), schema0.getKey()));
246 outEvent0.getParameterMap().put("OE1PARA1",
247 new AxField(new AxReferenceKey(outEvent0.getKey(), "OE1PARA1"), schema1.getKey()));
249 final AxEvent outEvent1 = new AxEvent(new AxArtifactKey("outEventA1", "0.0.1"),
250 "org.onap.policy.apex.model.policymodel.events", "Source", "Target");
251 outEvent1.getParameterMap().put("OE1PARA0",
252 new AxField(new AxReferenceKey(outEvent1.getKey(), "OE1PARA0"), schema0.getKey()));
253 outEvent1.getParameterMap().put("OE1PARA1",
254 new AxField(new AxReferenceKey(outEvent1.getKey(), "OE1PARA1"), schema1.getKey()));
256 final AxEvents events = new AxEvents(new AxArtifactKey("eventsA", "0.0.1"));
257 events.getEventMap().put(inEvent.getKey(), inEvent);
258 events.getEventMap().put(outEvent0.getKey(), outEvent0);
259 events.getEventMap().put(outEvent1.getKey(), outEvent1);
261 final AxTask task = new AxTask(new AxArtifactKey("taskA", "0.0.1"));
263 for (final AxField field : inEvent.getFields()) {
264 final AxReferenceKey fieldkey = new AxReferenceKey(task.getKey().getName(), task.getKey().getVersion(),
265 "inputFieldsA", field.getKey().getLocalName());
266 final AxInputField inputField = new AxInputField(fieldkey, field.getSchema());
267 task.getInputFields().put(inputField.getKey().getLocalName(), inputField);
270 for (final AxField field : outEvent0.getFields()) {
271 final AxReferenceKey fieldkey = new AxReferenceKey(task.getKey().getName(), task.getKey().getVersion(),
272 "outputFieldsA", field.getKey().getLocalName());
273 final AxOutputField outputField = new AxOutputField(fieldkey, field.getSchema());
274 task.getOutputFields().put(outputField.getKey().getLocalName(), outputField);
277 for (final AxField field : outEvent1.getFields()) {
278 final AxReferenceKey fieldkey = new AxReferenceKey(task.getKey().getName(), task.getKey().getVersion(),
279 "outputFieldsA", field.getKey().getLocalName());
280 final AxOutputField outputField = new AxOutputField(fieldkey, field.getSchema());
281 task.getOutputFields().put(outputField.getKey().getLocalName(), outputField);
284 final AxTaskParameter taskPar0 =
285 new AxTaskParameter(new AxReferenceKey(task.getKey(), "taskParameterA0"), "Task parameter 0 value");
286 final AxTaskParameter taskPar1 =
287 new AxTaskParameter(new AxReferenceKey(task.getKey(), "taskParameterA1"), "Task parameter 1 value");
289 task.getTaskParameters().put(taskPar0.getKey().getLocalName(), taskPar0);
290 task.getTaskParameters().put(taskPar1.getKey().getLocalName(), taskPar1);
291 task.getContextAlbumReferences().add(album0.getKey());
292 task.getContextAlbumReferences().add(album1.getKey());
294 final AxTaskLogic taskLogic =
295 new AxTaskLogic(new AxReferenceKey(task.getKey(), "taskLogicA"), "MVEL", "Some task logic");
296 task.setTaskLogic(taskLogic);
298 final AxTasks tasks = new AxTasks(new AxArtifactKey("tasksA", "0.0.1"));
299 tasks.getTaskMap().put(task.getKey(), task);
301 final AxPolicy policy = new AxPolicy(new AxArtifactKey("policyA", "0.0.1"));
302 policy.setTemplate("FREEFORM");
304 final AxState state = new AxState(new AxReferenceKey(policy.getKey(), "stateA"));
305 final AxTaskSelectionLogic taskSelectionLogic = new AxTaskSelectionLogic(
306 new AxReferenceKey(state.getKey(), "taskSelectionLogicA"), "MVEL", "Some TS logic ");
308 state.setTrigger(inEvent.getKey());
309 state.getContextAlbumReferences().add(album0.getKey());
310 state.getContextAlbumReferences().add(album1.getKey());
311 state.setTaskSelectionLogic(taskSelectionLogic);
312 state.setDefaultTask(task.getKey());
314 final AxStateOutput stateOutput0 = new AxStateOutput(new AxReferenceKey(state.getKey(), "stateOutputA0"),
315 outEvent0.getKey(), AxReferenceKey.getNullKey());
316 state.getStateOutputs().put(stateOutput0.getKey().getLocalName(), stateOutput0);
318 final AxStateTaskReference stateTaskReference =
319 new AxStateTaskReference(new AxReferenceKey(state.getKey(), task.getKey().getName()),
320 AxStateTaskOutputType.DIRECT, stateOutput0.getKey());
322 state.getTaskReferences().put(task.getKey(), stateTaskReference);
324 policy.getStateMap().put(state.getKey().getLocalName(), state);
325 policy.setFirstState(state.getKey().getLocalName());
327 final AxPolicies policies = new AxPolicies(new AxArtifactKey("policiesA", "0.0.1"));
328 policies.getPolicyMap().put(policy.getKey(), policy);
330 final AxKeyInformation keyInformation = new AxKeyInformation(new AxArtifactKey("KeyInfoMapKeyA", "0.0.1"));
331 final AxPolicyModel policyModel = new AxPolicyModel(new AxArtifactKey("PolicyModelA", "0.0.1"));
332 policyModel.setKeyInformation(keyInformation);
333 policyModel.setSchemas(schemas);
334 policyModel.setAlbums(albums);
335 policyModel.setEvents(events);
336 policyModel.setTasks(tasks);
337 policyModel.setPolicies(policies);
338 policyModel.getKeyInformation().generateKeyInfo(policyModel);
340 int uuidIncrementer = 0;
341 for (final AxKeyInfo keyInfo : policyModel.getKeyInformation().getKeyInfoMap().values()) {
342 final String uuidString = String.format("ce9168c-e6df-414f-9646-6da464b6e%03d", uuidIncrementer++);
343 keyInfo.setUuid(UUID.fromString(uuidString));
346 final AxValidationResult result = new AxValidationResult();
347 policyModel.validate(result);
353 public AxPolicyModel getMalstructuredModel() {
354 final AxPolicyModel policyModel = new AxPolicyModel(new AxArtifactKey("policyModel", "0.0.1"));
359 public AxPolicyModel getObservationModel() {
360 final AxPolicyModel policyModel = getModel();
362 final AxState state = policyModel.getPolicies().get("policy").getStateMap().get("state");
363 final AxTask task = policyModel.getTasks().get("task");
365 final AxStateFinalizerLogic stateFinalizerLogic =
366 new AxStateFinalizerLogic(new AxReferenceKey(state.getKey(), "SFL"), "MVEL", "Some SF logic ");
367 state.getStateFinalizerLogicMap().put(stateFinalizerLogic.getKey().getLocalName(), stateFinalizerLogic);
368 final AxStateTaskReference stateTaskReference =
369 new AxStateTaskReference(new AxReferenceKey(state.getKey(), task.getKey().getName()),
370 AxStateTaskOutputType.LOGIC, stateFinalizerLogic.getKey());
372 state.getTaskReferences().put(task.getKey(), stateTaskReference);
378 public AxPolicyModel getWarningModel() {
379 final AxPolicyModel policyModel = getModel();
381 final AxState anotherState =
382 new AxState(new AxReferenceKey(new AxArtifactKey("policy", "0.0.1"), "anotherState"));
384 final AxEvent inEvent = policyModel.getEvents().getEventMap().get(new AxArtifactKey("inEvent", "0.0.1"));
385 final AxEvent outEvent0 = policyModel.getEvents().getEventMap().get(new AxArtifactKey("outEvent0", "0.0.1"));
387 final AxTask anotherTask = new AxTask(new AxArtifactKey("anotherTask", "0.0.1"));
389 for (final AxField field : inEvent.getFields()) {
390 final AxReferenceKey fieldkey = new AxReferenceKey(anotherTask.getKey().getName(),
391 anotherTask.getKey().getVersion(), "inputFields", field.getKey().getLocalName());
392 final AxInputField inputField = new AxInputField(fieldkey, field.getSchema());
393 anotherTask.getInputFields().put(inputField.getKey().getLocalName(), inputField);
396 for (final AxField field : outEvent0.getFields()) {
397 final AxReferenceKey fieldkey = new AxReferenceKey(anotherTask.getKey().getName(),
398 anotherTask.getKey().getVersion(), "outputFields", field.getKey().getLocalName());
399 final AxOutputField outputField = new AxOutputField(fieldkey, field.getSchema());
400 anotherTask.getOutputFields().put(outputField.getKey().getLocalName(), outputField);
403 final AxTaskParameter taskPar0 = new AxTaskParameter(new AxReferenceKey(anotherTask.getKey(), "taskParameter0"),
404 "Task parameter 0 value");
405 final AxTaskParameter taskPar1 = new AxTaskParameter(new AxReferenceKey(anotherTask.getKey(), "taskParameter1"),
406 "Task parameter 1 value");
408 anotherTask.getTaskParameters().put(taskPar0.getKey().getLocalName(), taskPar0);
409 anotherTask.getTaskParameters().put(taskPar1.getKey().getLocalName(), taskPar1);
411 final AxTaskLogic taskLogic =
412 new AxTaskLogic(new AxReferenceKey(anotherTask.getKey(), "taskLogic"), "MVEL", "Some task logic");
413 anotherTask.setTaskLogic(taskLogic);
414 policyModel.getTasks().getTaskMap().put(anotherTask.getKey(), anotherTask);
416 final AxStateOutput anotherStateOutput0 =
417 new AxStateOutput(new AxReferenceKey(anotherState.getKey(), "stateOutput0"), outEvent0.getKey(),
418 AxReferenceKey.getNullKey());
419 anotherState.setTrigger(inEvent.getKey());
420 anotherState.getStateOutputs().put(anotherStateOutput0.getKey().getLocalName(), anotherStateOutput0);
421 anotherState.setDefaultTask(anotherTask.getKey());
422 final AxStateTaskReference anotherStateTaskReference =
423 new AxStateTaskReference(new AxReferenceKey(anotherState.getKey(), anotherTask.getKey().getName()),
424 AxStateTaskOutputType.DIRECT, anotherStateOutput0.getKey());
425 anotherState.getTaskReferences().put(anotherTask.getKey(), anotherStateTaskReference);
427 policyModel.getPolicies().getPolicyMap().get(new AxArtifactKey("policy", "0.0.1")).getStateMap()
428 .put(anotherState.getKey().getLocalName(), anotherState);
430 policyModel.getKeyInformation().generateKeyInfo(policyModel);
436 public AxPolicyModel getInvalidModel() {
437 final AxPolicyModel policyModel = getModel();
439 policyModel.getAlbums().get(new AxArtifactKey("contextAlbum0", "0.0.1")).setScope("UNDEFINED");
440 policyModel.getAlbums().get(new AxArtifactKey("contextAlbum1", "0.0.1")).setScope("UNDEFINED");
442 final AxEvent outEvent0 = policyModel.getEvents().get("outEvent0");
443 outEvent0.getParameterMap().remove("OE1PAR0");
444 outEvent0.getParameterMap().remove("OE1PAR1");