039d2305b522d504b7dd6703fe075c5b7f4d23f3
[policy/apex-pdp.git] /
1 /*-
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
8  *
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  *
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.
16  *
17  * SPDX-License-Identifier: Apache-2.0
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.policy.apex.model.eventmodel.handling;
22
23 import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
24 import org.onap.policy.apex.model.basicmodel.concepts.AxKeyInformation;
25 import org.onap.policy.apex.model.basicmodel.concepts.AxReferenceKey;
26 import org.onap.policy.apex.model.basicmodel.concepts.AxValidationResult;
27 import org.onap.policy.apex.model.basicmodel.test.TestApexModelCreator;
28 import org.onap.policy.apex.model.contextmodel.concepts.AxContextSchema;
29 import org.onap.policy.apex.model.contextmodel.concepts.AxContextSchemas;
30 import org.onap.policy.apex.model.eventmodel.concepts.AxEvent;
31 import org.onap.policy.apex.model.eventmodel.concepts.AxEventModel;
32 import org.onap.policy.apex.model.eventmodel.concepts.AxEvents;
33 import org.onap.policy.apex.model.eventmodel.concepts.AxField;
34
35 public class TestApexEventModelCreator implements TestApexModelCreator<AxEventModel> {
36
37     @Override
38     public AxEventModel getModel() {
39         final AxContextSchema axSchema0 =
40                 new AxContextSchema(new AxArtifactKey("BooleanType", "0.0.1"), "Java", "java.lang.Boolean");
41         final AxContextSchema axSchema1 =
42                 new AxContextSchema(new AxArtifactKey("IntType", "0.0.1"), "Java", "java.lang.Integer");
43         final AxContextSchema axSchema2 =
44                 new AxContextSchema(new AxArtifactKey("StringType", "0.0.1"), "Java", "java.lang.String");
45         final AxContextSchema axSchema3 = new AxContextSchema(new AxArtifactKey("KeyType", "0.0.1"), "Java",
46                 "org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey");
47         final AxContextSchema axSchema4 = new AxContextSchema(new AxArtifactKey("MapType", "0.0.1"), "Java",
48                 "org.onap.policy.apex.model.basicmodel.concepts.AxKeyInformation");
49         final AxContextSchema axSchema5 =
50                 new AxContextSchema(new AxArtifactKey("BigIntType", "0.0.1"), "Java", "java.math.BigInteger");
51         final AxContextSchema axSchema6 = new AxContextSchema(new AxArtifactKey("ModelType", "0.0.1"), "Java",
52                 "org.onap.policy.apex.model.basicmodel.concepts.AxModel");
53
54         final AxContextSchemas dataTypes = new AxContextSchemas(new AxArtifactKey("Schemas", "0.0.1"));
55         dataTypes.getSchemasMap().put(axSchema0.getKey(), axSchema0);
56         dataTypes.getSchemasMap().put(axSchema1.getKey(), axSchema1);
57         dataTypes.getSchemasMap().put(axSchema2.getKey(), axSchema2);
58         dataTypes.getSchemasMap().put(axSchema3.getKey(), axSchema3);
59         dataTypes.getSchemasMap().put(axSchema4.getKey(), axSchema4);
60         dataTypes.getSchemasMap().put(axSchema5.getKey(), axSchema5);
61         dataTypes.getSchemasMap().put(axSchema6.getKey(), axSchema6);
62
63         final AxEvents eventMap = new AxEvents(new AxArtifactKey("smallEventMap", "0.0.1"));
64
65         final AxEvent event0 = new AxEvent(new AxArtifactKey("event0", "0.0.1"),
66                 "org.onap.policy.apex.model.eventmodel.events", "Source", "Target");
67         event0.getParameterMap().put("par0",
68                 new AxField(new AxReferenceKey(event0.getKey(), "par0"), axSchema0.getKey()));
69         event0.getParameterMap().put("par1",
70                 new AxField(new AxReferenceKey(event0.getKey(), "par1"), axSchema1.getKey()));
71         event0.getParameterMap().put("par2",
72                 new AxField(new AxReferenceKey(event0.getKey(), "par2"), axSchema2.getKey()));
73         event0.getParameterMap().put("par3",
74                 new AxField(new AxReferenceKey(event0.getKey(), "par3"), axSchema6.getKey()));
75         event0.getParameterMap().put("par4",
76                 new AxField(new AxReferenceKey(event0.getKey(), "par4"), axSchema4.getKey()));
77         event0.getParameterMap().put("par5",
78                 new AxField(new AxReferenceKey(event0.getKey(), "par5"), axSchema5.getKey()));
79         event0.getParameterMap().put("par6",
80                 new AxField(new AxReferenceKey(event0.getKey(), "par6"), axSchema5.getKey()));
81         eventMap.getEventMap().put(event0.getKey(), event0);
82
83         final AxEvent event1 = new AxEvent(new AxArtifactKey("event1", "0.0.1"),
84                 "org.onap.policy.apex.model.eventmodel.events", "Source", "Target");
85         event1.getParameterMap().put("theOnlyPar",
86                 new AxField(new AxReferenceKey(event1.getKey(), "theOnlyPar"), axSchema3.getKey()));
87         eventMap.getEventMap().put(event1.getKey(), event1);
88
89         final AxEvent event2 = new AxEvent(new AxArtifactKey("event2", "0.0.1"),
90                 "org.onap.policy.apex.model.eventmodel.events", "Source", "Target");
91         eventMap.getEventMap().put(event2.getKey(), event2);
92
93         final AxKeyInformation keyInformation = new AxKeyInformation(new AxArtifactKey("KeyInfoMapKey", "0.0.1"));
94
95         final AxEventModel eventModel =
96                 new AxEventModel(new AxArtifactKey("EventModel", "0.0.1"), dataTypes, keyInformation, eventMap);
97         keyInformation.generateKeyInfo(eventModel);
98
99         eventModel.validate(new AxValidationResult());
100         return eventModel;
101     }
102
103     @Override
104     public AxEventModel getInvalidModel() {
105         final AxContextSchema axSchema0 =
106                 new AxContextSchema(new AxArtifactKey("BooleanType", "0.0.1"), "Java", "java.lang.Zoolean");
107         final AxContextSchema axSchema1 =
108                 new AxContextSchema(new AxArtifactKey("IntType", "0.0.1"), "Java", "java.lang.Integer");
109         final AxContextSchema axSchema2 =
110                 new AxContextSchema(new AxArtifactKey("StringType", "0.0.1"), "Java", "java.lang.String");
111         final AxContextSchema axSchema3 =
112                 new AxContextSchema(new AxArtifactKey("SetType", "0.0.1"), "Java", "java.util.Set");
113         final AxContextSchema axSchema4 =
114                 new AxContextSchema(new AxArtifactKey("MapType", "0.0.1"), "Java", "java.util.Map");
115         final AxContextSchema axSchema5 =
116                 new AxContextSchema(new AxArtifactKey("BigIntType", "0.0.1"), "Java", "java.math.BigInteger");
117
118         final AxContextSchemas dataTypes = new AxContextSchemas(new AxArtifactKey("Schemas", "0.0.1"));
119         dataTypes.getSchemasMap().put(axSchema0.getKey(), axSchema0);
120         dataTypes.getSchemasMap().put(axSchema1.getKey(), axSchema1);
121         dataTypes.getSchemasMap().put(axSchema2.getKey(), axSchema2);
122         dataTypes.getSchemasMap().put(axSchema3.getKey(), axSchema3);
123         dataTypes.getSchemasMap().put(axSchema4.getKey(), axSchema4);
124         dataTypes.getSchemasMap().put(axSchema5.getKey(), axSchema5);
125
126         final AxEvents eventMap = new AxEvents(new AxArtifactKey("smallEventMap", "0.0.1"));
127
128         final AxEvent event0 =
129                 new AxEvent(new AxArtifactKey("event0", "0.0.1"), "org.onap.policy.apex.model.eventmodel.events");
130         event0.getParameterMap().put("par0",
131                 new AxField(new AxReferenceKey(event0.getKey(), "par0"), axSchema0.getKey()));
132         event0.getParameterMap().put("par1",
133                 new AxField(new AxReferenceKey(event0.getKey(), "par1"), axSchema1.getKey()));
134         event0.getParameterMap().put("par2",
135                 new AxField(new AxReferenceKey(event0.getKey(), "par2"), axSchema2.getKey()));
136         event0.getParameterMap().put("par3",
137                 new AxField(new AxReferenceKey(event0.getKey(), "par3"), axSchema3.getKey()));
138         event0.getParameterMap().put("par4",
139                 new AxField(new AxReferenceKey(event0.getKey(), "par4"), axSchema4.getKey()));
140         event0.getParameterMap().put("par5",
141                 new AxField(new AxReferenceKey(event0.getKey(), "par5"), axSchema5.getKey()));
142         event0.getParameterMap().put("par6",
143                 new AxField(new AxReferenceKey(event0.getKey(), "par6"), axSchema5.getKey()));
144         eventMap.getEventMap().put(event0.getKey(), event0);
145
146         final AxEvent event1 =
147                 new AxEvent(new AxArtifactKey("event1", "0.0.1"), "org.onap.policy.apex.model.eventmodel.events");
148         event1.getParameterMap().put("theOnlyPar",
149                 new AxField(new AxReferenceKey(event0.getKey(), "theOnlyPar"), axSchema3.getKey()));
150         eventMap.getEventMap().put(event1.getKey(), event1);
151
152         final AxEvent event2 =
153                 new AxEvent(new AxArtifactKey("event2", "0.0.1"), "org.onap.policy.apex.model.eventmodel.events");
154         eventMap.getEventMap().put(event2.getKey(), event1);
155
156         final AxKeyInformation keyInformation = new AxKeyInformation(new AxArtifactKey("KeyInfoMapKey", "0.0.1"));
157
158         final AxEventModel eventModel =
159                 new AxEventModel(new AxArtifactKey("smallEventModel", "0.0.1"), dataTypes, keyInformation, eventMap);
160
161         return eventModel;
162     }
163
164     @Override
165     public AxEventModel getMalstructuredModel() {
166         final AxContextSchema axSchema3 =
167                 new AxContextSchema(new AxArtifactKey("SetType", "0.0.1"), "Java", "java.util.Set");
168         final AxContextSchemas dataTypes = new AxContextSchemas(new AxArtifactKey("Schemas", "0.0.1"));
169         dataTypes.getSchemasMap().put(axSchema3.getKey(), axSchema3);
170
171         final AxEvents eventMap = new AxEvents(new AxArtifactKey("smallEventMap", "0.0.1"));
172
173         final AxEvent event1 =
174                 new AxEvent(new AxArtifactKey("event1", "0.0.1"), "org.onap.policy.apex.model.eventmodel.events");
175         event1.getParameterMap().put("theOnlyPar",
176                 new AxField(new AxReferenceKey(event1.getKey(), "theOnlyPar"), axSchema3.getKey()));
177         eventMap.getEventMap().put(event1.getKey(), event1);
178
179         final AxEvent event2 =
180                 new AxEvent(new AxArtifactKey("event2", "0.0.1"), "org.onap.policy.apex.model.eventmodel.events");
181         eventMap.getEventMap().put(event2.getKey(), event1);
182
183         final AxKeyInformation keyInformation = new AxKeyInformation(new AxArtifactKey("KeyInfoMapKey", "0.0.1"));
184
185         final AxEventModel eventModel =
186                 new AxEventModel(new AxArtifactKey("smallEventModel", "0.0.1"), dataTypes, keyInformation, eventMap);
187
188         eventModel.validate(new AxValidationResult());
189
190         return eventModel;
191     }
192
193     @Override
194     public AxEventModel getWarningModel() {
195         final AxContextSchema axSchema0 =
196                 new AxContextSchema(new AxArtifactKey("BooleanType", "0.0.1"), "Java", "java.lang.Boolean");
197         final AxContextSchema axSchema1 =
198                 new AxContextSchema(new AxArtifactKey("IntType", "0.0.1"), "Java", "java.lang.Integer");
199         final AxContextSchema axSchema2 =
200                 new AxContextSchema(new AxArtifactKey("StringType", "0.0.1"), "Java", "java.lang.String");
201         final AxContextSchema axSchema3 =
202                 new AxContextSchema(new AxArtifactKey("SetType", "0.0.1"), "Java", "java.util.Set");
203         final AxContextSchema axSchema4 =
204                 new AxContextSchema(new AxArtifactKey("MapType", "0.0.1"), "Java", "java.util.Map");
205         final AxContextSchema axSchema5 =
206                 new AxContextSchema(new AxArtifactKey("BigIntType", "0.0.1"), "Java", "java.math.BigInteger");
207         final AxContextSchemas dataTypes = new AxContextSchemas(new AxArtifactKey("Schemas", "0.0.1"));
208         dataTypes.getSchemasMap().put(axSchema0.getKey(), axSchema0);
209         dataTypes.getSchemasMap().put(axSchema1.getKey(), axSchema1);
210         dataTypes.getSchemasMap().put(axSchema2.getKey(), axSchema2);
211         dataTypes.getSchemasMap().put(axSchema3.getKey(), axSchema3);
212         dataTypes.getSchemasMap().put(axSchema4.getKey(), axSchema4);
213         dataTypes.getSchemasMap().put(axSchema5.getKey(), axSchema5);
214
215         final AxEvents eventMap = new AxEvents(new AxArtifactKey("smallEventMap", "0.0.1"));
216
217         final AxEvent event0 = new AxEvent(new AxArtifactKey("event0", "0.0.1"), "");
218         event0.getParameterMap().put("par0",
219                 new AxField(new AxReferenceKey(event0.getKey(), "par0"), axSchema0.getKey()));
220         event0.getParameterMap().put("par1",
221                 new AxField(new AxReferenceKey(event0.getKey(), "par1"), axSchema1.getKey()));
222         event0.getParameterMap().put("par2",
223                 new AxField(new AxReferenceKey(event0.getKey(), "par2"), axSchema2.getKey()));
224         event0.getParameterMap().put("par3",
225                 new AxField(new AxReferenceKey(event0.getKey(), "par3"), axSchema3.getKey()));
226         event0.getParameterMap().put("par4",
227                 new AxField(new AxReferenceKey(event0.getKey(), "par4"), axSchema4.getKey()));
228         event0.getParameterMap().put("par5",
229                 new AxField(new AxReferenceKey(event0.getKey(), "par5"), axSchema5.getKey()));
230         eventMap.getEventMap().put(event0.getKey(), event0);
231
232         final AxEvent event1 = new AxEvent(new AxArtifactKey("event1", "0.0.1"), "");
233         event1.getParameterMap().put("theOnlyPar",
234                 new AxField(new AxReferenceKey(event1.getKey(), "theOnlyPar"), axSchema3.getKey()));
235         eventMap.getEventMap().put(event1.getKey(), event1);
236
237         final AxEvent event2 = new AxEvent(new AxArtifactKey("event2", "0.0.1"), "");
238         eventMap.getEventMap().put(event2.getKey(), event2);
239
240         final AxKeyInformation keyInformation = new AxKeyInformation(new AxArtifactKey("KeyInfoMapKey", "0.0.1"));
241
242         final AxEventModel eventModel =
243                 new AxEventModel(new AxArtifactKey("smallEventModel", "0.0.1"), dataTypes, keyInformation, eventMap);
244         eventModel.getKeyInformation().generateKeyInfo(eventModel);
245         eventModel.validate(new AxValidationResult());
246
247         return eventModel;
248     }
249
250     @Override
251     public AxEventModel getObservationModel() {
252         final AxContextSchema axSchema0 =
253                 new AxContextSchema(new AxArtifactKey("BooleanType", "0.0.1"), "Java", "java.lang.Boolean");
254         final AxContextSchema axSchema1 =
255                 new AxContextSchema(new AxArtifactKey("IntType", "0.0.1"), "Java", "java.lang.Integer");
256         final AxContextSchema axSchema2 =
257                 new AxContextSchema(new AxArtifactKey("StringType", "0.0.1"), "Java", "java.lang.String");
258         final AxContextSchema axSchema3 =
259                 new AxContextSchema(new AxArtifactKey("SetType", "0.0.1"), "Java", "java.util.Set");
260         final AxContextSchema axSchema4 =
261                 new AxContextSchema(new AxArtifactKey("MapType", "0.0.1"), "Java", "java.util.Map");
262         final AxContextSchema axSchema5 =
263                 new AxContextSchema(new AxArtifactKey("BigIntType", "0.0.1"), "Java", "java.math.BigInteger");
264         final AxContextSchemas schemas = new AxContextSchemas(new AxArtifactKey("Schemas", "0.0.1"));
265         schemas.getSchemasMap().put(axSchema0.getKey(), axSchema0);
266         schemas.getSchemasMap().put(axSchema1.getKey(), axSchema1);
267         schemas.getSchemasMap().put(axSchema2.getKey(), axSchema2);
268         schemas.getSchemasMap().put(axSchema3.getKey(), axSchema3);
269         schemas.getSchemasMap().put(axSchema4.getKey(), axSchema4);
270         schemas.getSchemasMap().put(axSchema5.getKey(), axSchema5);
271
272         final AxEvents eventMap = new AxEvents(new AxArtifactKey("smallEventMap", "0.0.1"));
273
274         final AxEvent event0 =
275                 new AxEvent(new AxArtifactKey("event0", "0.0.1"), "org.onap.policy.apex.model.eventmodel.events");
276         event0.getParameterMap().put("par0",
277                 new AxField(new AxReferenceKey(event0.getKey(), "par0"), axSchema0.getKey()));
278         event0.getParameterMap().put("par1",
279                 new AxField(new AxReferenceKey(event0.getKey(), "par1"), axSchema1.getKey()));
280         event0.getParameterMap().put("par2",
281                 new AxField(new AxReferenceKey(event0.getKey(), "par2"), axSchema2.getKey()));
282         event0.getParameterMap().put("par3",
283                 new AxField(new AxReferenceKey(event0.getKey(), "par3"), axSchema3.getKey()));
284         event0.getParameterMap().put("par4",
285                 new AxField(new AxReferenceKey(event0.getKey(), "par4"), axSchema4.getKey()));
286         event0.getParameterMap().put("par5",
287                 new AxField(new AxReferenceKey(event0.getKey(), "par5"), axSchema5.getKey()));
288         eventMap.getEventMap().put(event0.getKey(), event0);
289
290         final AxEvent event1 =
291                 new AxEvent(new AxArtifactKey("event1", "0.0.1"), "org.onap.policy.apex.model.eventmodel.events");
292         event1.getParameterMap().put("theOnlyPar",
293                 new AxField(new AxReferenceKey(event1.getKey(), "theOnlyPar"), axSchema3.getKey()));
294         eventMap.getEventMap().put(event1.getKey(), event1);
295
296         final AxEvent event2 =
297                 new AxEvent(new AxArtifactKey("event2", "0.0.1"), "org.onap.policy.apex.model.eventmodel.events");
298         eventMap.getEventMap().put(event2.getKey(), event2);
299
300         final AxKeyInformation keyInformation = new AxKeyInformation(new AxArtifactKey("KeyInfoMapKey", "0.0.1"));
301
302         final AxEventModel eventModel =
303                 new AxEventModel(new AxArtifactKey("smallEventModel", "0.0.1"), schemas, keyInformation, eventMap);
304         eventModel.getKeyInformation().generateKeyInfo(eventModel);
305         eventModel.validate(new AxValidationResult());
306
307         return eventModel;
308     }
309 }