4e8d8d5a9ee41bdf6f2895f2af079db05a4850bd
[policy/apex-pdp.git] / model / context-model / src / test / java / org / onap / policy / apex / model / contextmodel / handling / TestApexContextModelCreator.java
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.contextmodel.handling;
22
23 import java.util.UUID;
24
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.test.TestApexModelCreator;
29 import org.onap.policy.apex.model.contextmodel.concepts.AxContextAlbum;
30 import org.onap.policy.apex.model.contextmodel.concepts.AxContextAlbums;
31 import org.onap.policy.apex.model.contextmodel.concepts.AxContextModel;
32 import org.onap.policy.apex.model.contextmodel.concepts.AxContextSchema;
33 import org.onap.policy.apex.model.contextmodel.concepts.AxContextSchemas;
34
35 public class TestApexContextModelCreator implements TestApexModelCreator<AxContextModel> {
36
37     @Override
38     public AxContextModel getModel() {
39         final AxContextSchema schema0 = new AxContextSchema(new AxArtifactKey("StringType", "0.0.1"), "Java",
40                 "org.onap.policy.apex.concept.TestContextItem000");
41         final AxContextSchema schema1 = new AxContextSchema(new AxArtifactKey("MapType", "0.0.1"), "Java",
42                 "org.onap.policy.apex.concept.TestContextItem00A");
43
44         final AxContextSchemas contextSchemas = new AxContextSchemas(new AxArtifactKey("ContextSchemas", "0.0.1"));
45         contextSchemas.getSchemasMap().put(schema0.getKey(), schema0);
46         contextSchemas.getSchemasMap().put(schema1.getKey(), schema1);
47
48         final AxContextAlbum contextAlbum0 =
49                 new AxContextAlbum(new AxArtifactKey("contextAlbum0", "0.0.1"), "APPLICATION", true, schema0.getKey());
50         final AxContextAlbum contextAlbum1 =
51                 new AxContextAlbum(new AxArtifactKey("contextAlbum1", "0.0.1"), "GLOBAL", false, schema1.getKey());
52
53         final AxContextAlbums axContext = new AxContextAlbums(new AxArtifactKey("contextAlbums", "0.0.1"));
54         axContext.getAlbumsMap().put(contextAlbum0.getKey(), contextAlbum0);
55         axContext.getAlbumsMap().put(contextAlbum1.getKey(), contextAlbum1);
56
57         final AxKeyInformation keyInformation = new AxKeyInformation(new AxArtifactKey("KeyInfoMapKey", "0.0.1"));
58         final AxContextModel contextModel = new AxContextModel(new AxArtifactKey("ContextModel", "0.0.1"),
59                 contextSchemas, axContext, keyInformation);
60
61         contextModel.setKeyInformation(keyInformation);
62         contextModel.getKeyInformation().getKeyInfoMap().put(schema0.getKey(), new AxKeyInfo(schema0.getKey(),
63                 UUID.fromString("00000000-0000-0000-0000-000000000001"), "axContextSchema0"));
64         contextModel.getKeyInformation().getKeyInfoMap().put(schema1.getKey(), new AxKeyInfo(schema1.getKey(),
65                 UUID.fromString("00000000-0000-0000-0000-000000000002"), "axContextSchema1"));
66         contextModel.getKeyInformation().getKeyInfoMap().put(contextSchemas.getKey(), new AxKeyInfo(
67                 contextSchemas.getKey(), UUID.fromString("00000000-0000-0000-0000-000000000003"), "ContextSchemas"));
68         contextModel.getKeyInformation().getKeyInfoMap().put(contextAlbum0.getKey(), new AxKeyInfo(
69                 contextAlbum0.getKey(), UUID.fromString("00000000-0000-0000-0000-000000000004"), "contextAlbum0"));
70         contextModel.getKeyInformation().getKeyInfoMap().put(contextAlbum1.getKey(), new AxKeyInfo(
71                 contextAlbum1.getKey(), UUID.fromString("00000000-0000-0000-0000-000000000005"), "contextAlbum1"));
72         contextModel.getKeyInformation().getKeyInfoMap().put(axContext.getKey(), new AxKeyInfo(axContext.getKey(),
73                 UUID.fromString("00000000-0000-0000-0000-000000000006"), "axContext"));
74         contextModel.getKeyInformation().getKeyInfoMap().put(contextModel.getKey(), new AxKeyInfo(contextModel.getKey(),
75                 UUID.fromString("00000000-0000-0000-0000-000000000007"), "contextModel"));
76         contextModel.getKeyInformation().getKeyInfoMap().put(keyInformation.getKey(), new AxKeyInfo(
77                 keyInformation.getKey(), UUID.fromString("00000000-0000-0000-0000-000000000008"), "keyInformation"));
78
79         return contextModel;
80     }
81
82     @Override
83     public AxContextModel getInvalidModel() {
84         final AxContextModel contextModel = getModel();
85
86         contextModel.getAlbums().get(new AxArtifactKey("contextAlbum0", "0.0.1")).setScope("UNDEFINED");
87
88         contextModel.getSchemas().get(new AxArtifactKey("StringType", "0.0.1")).setSchema("");
89
90         return contextModel;
91     }
92
93     @Override
94     public AxContextModel getMalstructuredModel() {
95         final AxContextModel contextModel = getModel();
96
97         contextModel.getAlbums().get(new AxArtifactKey("contextAlbum1", "0.0.1"))
98                 .setKey(new AxArtifactKey("contextAlbum1", "0.0.2"));;
99         contextModel.getSchemas().get(new AxArtifactKey("MapType", "0.0.1"))
100                 .setKey(new AxArtifactKey("MapType", "0.0.2"));;
101
102         return contextModel;
103     }
104
105     @Override
106     public AxContextModel getObservationModel() {
107         final AxContextModel contextModel = getModel();
108
109         contextModel.getKeyInformation().get("contextAlbum1", "0.0.1").setDescription("");
110
111         return contextModel;
112     }
113
114     @Override
115     public AxContextModel getWarningModel() {
116         final AxContextModel contextModel = getModel();
117
118         contextModel.getKeyInformation().get("contextAlbum1", "0.0.1")
119                 .setUuid(UUID.fromString("00000000-0000-0000-0000-000000000000"));
120
121         return contextModel;
122     }
123 }