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.context.test.distribution;
23 import static org.junit.Assert.assertEquals;
24 import static org.junit.Assert.assertFalse;
25 import static org.junit.Assert.assertNotNull;
26 import static org.junit.Assert.assertTrue;
27 import static org.junit.Assert.fail;
28 import static org.onap.policy.apex.context.test.factory.TestContextAlbumFactory.createPolicyContextModel;
29 import static org.onap.policy.apex.context.test.utils.Constants.BYTE_VAL;
30 import static org.onap.policy.apex.context.test.utils.Constants.EXCEPTION_MESSAGE;
31 import static org.onap.policy.apex.context.test.utils.Constants.EXTERNAL_CONTEXT;
32 import static org.onap.policy.apex.context.test.utils.Constants.EXTERNAL_CONTEXT_ALBUM;
33 import static org.onap.policy.apex.context.test.utils.Constants.FLOAT_VAL;
34 import static org.onap.policy.apex.context.test.utils.Constants.GLOBAL_CONTEXT_ALBUM;
35 import static org.onap.policy.apex.context.test.utils.Constants.GLOBAL_CONTEXT_KEY;
36 import static org.onap.policy.apex.context.test.utils.Constants.INT_VAL;
37 import static org.onap.policy.apex.context.test.utils.Constants.INT_VAL_2;
38 import static org.onap.policy.apex.context.test.utils.Constants.INT_VAL_3;
39 import static org.onap.policy.apex.context.test.utils.Constants.LONG_VAL;
40 import static org.onap.policy.apex.context.test.utils.Constants.PI_VAL;
41 import static org.onap.policy.apex.context.test.utils.Constants.POLICY_CONTEXT_ALBUM;
42 import static org.onap.policy.apex.context.test.utils.Constants.STRING_EXT_VAL;
43 import static org.onap.policy.apex.context.test.utils.Constants.STRING_GLOBAL_VAL;
44 import static org.onap.policy.apex.context.test.utils.Constants.STRING_VAL;
45 import static org.onap.policy.apex.context.test.utils.Constants.TEST_POLICY_CONTEXT_ITEM;
46 import static org.onap.policy.apex.context.test.utils.Constants.TIME_ZONE;
47 import static org.onap.policy.apex.context.test.utils.Constants.VERSION;
49 import java.util.Collection;
50 import java.util.Date;
51 import java.util.HashMap;
52 import java.util.LinkedHashMap;
53 import java.util.Locale;
55 import java.util.Map.Entry;
57 import java.util.TreeSet;
59 import org.onap.policy.apex.context.ContextAlbum;
60 import org.onap.policy.apex.context.ContextException;
61 import org.onap.policy.apex.context.ContextRuntimeException;
62 import org.onap.policy.apex.context.Distributor;
63 import org.onap.policy.apex.context.impl.distribution.DistributorFactory;
64 import org.onap.policy.apex.context.test.concepts.TestContextBooleanItem;
65 import org.onap.policy.apex.context.test.concepts.TestContextByteItem;
66 import org.onap.policy.apex.context.test.concepts.TestContextDateItem;
67 import org.onap.policy.apex.context.test.concepts.TestContextDateLocaleItem;
68 import org.onap.policy.apex.context.test.concepts.TestContextDateTzItem;
69 import org.onap.policy.apex.context.test.concepts.TestContextDoubleItem;
70 import org.onap.policy.apex.context.test.concepts.TestContextFloatItem;
71 import org.onap.policy.apex.context.test.concepts.TestContextIntItem;
72 import org.onap.policy.apex.context.test.concepts.TestContextLongItem;
73 import org.onap.policy.apex.context.test.concepts.TestContextLongObjectItem;
74 import org.onap.policy.apex.context.test.concepts.TestContextStringItem;
75 import org.onap.policy.apex.context.test.concepts.TestContextTreeMapItem;
76 import org.onap.policy.apex.context.test.concepts.TestContextTreeSetItem;
77 import org.onap.policy.apex.context.test.concepts.TestExternalContextItem;
78 import org.onap.policy.apex.context.test.concepts.TestGlobalContextItem;
79 import org.onap.policy.apex.context.test.concepts.TestPolicyContextItem;
80 import org.onap.policy.apex.context.test.factory.TestContextAlbumFactory;
81 import org.onap.policy.apex.context.test.utils.Constants;
82 import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
83 import org.onap.policy.apex.model.basicmodel.concepts.AxValidationResult;
84 import org.onap.policy.apex.model.contextmodel.concepts.AxContextModel;
85 import org.slf4j.ext.XLogger;
86 import org.slf4j.ext.XLoggerFactory;
89 * The Class TestContextInstantiation is used to test Apex context insitiation is correct.
91 * @author Sergey Sachkov (sergey.sachkov@ericsson.com)
93 public class ContextInstantiation {
95 // Logger for this class
96 private static final XLogger LOGGER = XLoggerFactory.getXLogger(ContextInstantiation.class);
98 private final static TreeSet<String> TEST_TREE_SET = new TreeSet<>();
99 private final static Map<String, String> TEST_HASH_MAP = new HashMap<>();
102 TEST_TREE_SET.add("one hundred");
103 TEST_TREE_SET.add("one hundred and one");
104 TEST_TREE_SET.add("one hundred and two");
105 TEST_TREE_SET.add("one hundred and three");
106 TEST_TREE_SET.add("one hundred and four");
108 TEST_HASH_MAP.put("0", "zero");
109 TEST_HASH_MAP.put("1", "one");
110 TEST_HASH_MAP.put("2", "two");
111 TEST_HASH_MAP.put("3", "three");
112 TEST_HASH_MAP.put("4", "four");
117 * Test context instantiation.
119 * @throws ContextException the context exception
121 public void testContextInstantiation() throws ContextException {
122 LOGGER.debug("Running TestContextInstantiation test . . .");
124 final Distributor contextDistributor = getDistributor();
128 final ContextAlbum policyContextAlbum =
129 contextDistributor.createContextAlbum(new AxArtifactKey(POLICY_CONTEXT_ALBUM, VERSION));
131 assertNotNull(policyContextAlbum);
132 policyContextAlbum.setUserArtifactStack(Constants.getAxArtifactKeyArray());
134 final Date testDate = new Date();
136 final TestContextDateTzItem tci9 = getTestContextDateTzItem(testDate);
137 final TestContextDateLocaleItem tciA = getTestContextDateLocaleItem(testDate);
139 final TestPolicyContextItem policyContext = getTestPolicyContextItem(policyContextAlbum, testDate);
141 final Map<String, Object> valueMap0 = new HashMap<>();
142 valueMap0.put(TEST_POLICY_CONTEXT_ITEM, policyContext);
144 policyContextAlbum.putAll(valueMap0);
146 final TestPolicyContextItem contextItem =
147 (TestPolicyContextItem) policyContextAlbum.get(TEST_POLICY_CONTEXT_ITEM);
148 assertEquals(STRING_VAL, contextItem.getTestPolicyContextItem000().getStringValue());
150 assertEquals(LONG_VAL, contextItem.getTestPolicyContextItem001().getLongValue());
151 assertDouble(contextItem.getTestPolicyContextItem002().getDoubleValue(), PI_VAL);
152 assertTrue(contextItem.getTestPolicyContextItem003().getFlag());
153 assertEquals(contextItem.getTestPolicyContextItem004().getLongValue(), testDate.getTime());
154 assertEquals(contextItem.getTestPolicyContextItem005().getMapValue(), TEST_HASH_MAP);
156 final TestGlobalContextItem globalContext =
157 getTestGlobalContextItem(contextDistributor, testDate, tci9, tciA);
159 final Map<String, Object> valueMap1 = new HashMap<>();
160 valueMap1.put(GLOBAL_CONTEXT_KEY, globalContext);
162 final ContextAlbum globalContextAlbum = getContextAlbum(contextDistributor);
164 globalContextAlbum.putAll(valueMap1);
166 final TestGlobalContextItem globalContextItem =
167 (TestGlobalContextItem) globalContextAlbum.get(GLOBAL_CONTEXT_KEY);
169 assertFalse(globalContextItem.getTestGlobalContextItem000().getFlag());
171 assertEquals(BYTE_VAL, globalContextItem.getTestGlobalContextItem001().getByteValue());
173 assertEquals(INT_VAL, globalContextItem.getTestGlobalContextItem002().getIntValue());
174 assertEquals(LONG_VAL, globalContextItem.getTestGlobalContextItem003().getLongValue());
175 assertFloat(FLOAT_VAL, globalContextItem.getTestGlobalContextItem004().getFloatValue());
177 assertDouble(PI_VAL, globalContextItem.getTestGlobalContextItem005().getDoubleValue());
178 assertEquals(STRING_GLOBAL_VAL, globalContextItem.getTestGlobalContextItem006().getStringValue());
180 assertEquals(new Long(testDate.getTime()), globalContextItem.getTestGlobalContextItem007().getLongValue());
181 assertEquals(testDate, globalContextItem.getTestGlobalContextItem008().getDateValue());
182 assertEquals(tci9.getDateValue().getTime(),
183 globalContextItem.getTestGlobalContextItem009().getDateValue().getTime());
185 assertEquals(tciA.getDateValue().getTime(),
186 globalContextItem.getTestGlobalContextItem00A().getDateValue().getTime());
188 assertEquals(TEST_TREE_SET, globalContextItem.getTestGlobalContextItem00B().getSetValue());
189 assertEquals(TEST_HASH_MAP, globalContextItem.getTestGlobalContextItem00C().getMapValue());
191 final AxContextModel externalContextModel = TestContextAlbumFactory.createExternalContextModel();
193 final TestContextDateTzItem tci9A = new TestContextDateTzItem(tci9);
194 final TestContextDateLocaleItem tciAA = new TestContextDateLocaleItem(tciA);
195 final TestExternalContextItem externalContext = getTestExternalContextItem(testDate, tci9A, tciAA);
197 final Map<String, Object> valueMap2 = new HashMap<>();
198 valueMap2.put(EXTERNAL_CONTEXT, externalContext);
200 contextDistributor.clear();
201 contextDistributor.init(new AxArtifactKey("ClearedandInittedDistributor", VERSION));
202 contextDistributor.registerModel(externalContextModel);
204 final AxArtifactKey axContextAlbumKey = new AxArtifactKey(EXTERNAL_CONTEXT_ALBUM, VERSION);
205 final ContextAlbum externalContextAlbum = contextDistributor.createContextAlbum(axContextAlbumKey);
206 assertNotNull(externalContextAlbum);
207 externalContextAlbum.setUserArtifactStack(Constants.getAxArtifactKeyArray());
209 externalContextAlbum.putAll(valueMap2);
210 externalContextAlbum.getAlbumDefinition().setWritable(false);
212 TestExternalContextItem externalContextItem =
213 (TestExternalContextItem) externalContextAlbum.get(EXTERNAL_CONTEXT);
215 assertFalse(externalContextItem.getTestExternalContextItem000().getFlag());
216 assertEquals(BYTE_VAL, externalContextItem.getTestExternalContextItem001().getByteValue());
217 assertEquals(INT_VAL, externalContextItem.getTestExternalContextItem002().getIntValue());
219 assertFloat(LONG_VAL, externalContextItem.getTestExternalContextItem003().getLongValue());
220 assertFloat(FLOAT_VAL, externalContextItem.getTestExternalContextItem004().getFloatValue());
222 assertDouble(PI_VAL, externalContextItem.getTestExternalContextItem005().getDoubleValue());
223 assertEquals(STRING_EXT_VAL, externalContextItem.getTestExternalContextItem006().getStringValue());
224 assertEquals(new Long(testDate.getTime()),
225 externalContextItem.getTestExternalContextItem007().getLongValue());
226 assertEquals(testDate, externalContextItem.getTestExternalContextItem008().getDateValue());
227 assertEquals(tci9A.getDateValue().getTime(),
228 externalContextItem.getTestExternalContextItem009().getDateValue().getTime());
230 assertEquals(tciAA.getDateValue().getTime(),
231 externalContextItem.getTestExternalContextItem00A().getDateValue().getTime());
232 assertEquals(TEST_TREE_SET, externalContextItem.getTestExternalContextItem00B().getSetValue());
233 assertEquals(TEST_HASH_MAP, externalContextItem.getTestExternalContextItem00C().getMapValue());
235 final Collection<Object> mapValues = externalContextAlbum.values();
236 assertTrue(externalContextAlbum.values().containsAll(mapValues));
238 // Check that clearing does not work
240 externalContextAlbum.clear();
241 fail(EXCEPTION_MESSAGE);
242 } catch (final ContextRuntimeException e) {
243 assertEquals("album \"ExternalContextAlbum:0.0.1\" clear() not allowed on read only albums",
247 assertEquals(1, externalContextAlbum.size());
249 assertContextAlbumContains(externalContext, externalContextAlbum);
251 final Set<Entry<String, Object>> entrySet = externalContextAlbum.entrySet();
252 assertEquals(1, entrySet.size());
255 externalContextAlbum.get(null);
256 } catch (final ContextRuntimeException e) {
257 assertEquals("album \"ExternalContextAlbum:0.0.1\" null keys are illegal on keys for get()",
262 final Object aObject = externalContextAlbum.get(EXTERNAL_CONTEXT);
263 assertEquals(aObject, externalContext);
265 // put null keys should fail, throws a runtime exception
267 externalContextAlbum.put(null, null);
268 } catch (final ContextRuntimeException e) {
269 assertEquals("album \"ExternalContextAlbum:0.0.1\" null keys are illegal on keys for put()",
274 externalContextAlbum.put("TestExternalContextItem00A", null);
275 } catch (final ContextRuntimeException e) {
276 assertEquals("album \"ExternalContextAlbum:0.0.1\" null values are illegal on key "
277 + "\"TestExternalContextItem00A\" for put()", e.getMessage());
279 assertEquals(tciAA, externalContextItem.getTestExternalContextItem00A());
281 // Should return the hash set
282 assertEquals(TEST_TREE_SET, externalContextItem.getTestExternalContextItem00B().getSetValue());
284 assertTrue(externalContextAlbum.values().containsAll(mapValues));
286 // Set the write flag back as it should be
287 externalContextAlbum.getAlbumDefinition().setWritable(true);
289 // Put should return the previous contextItem
290 final TestExternalContextItem externalContextOther = new TestExternalContextItem();
291 externalContextOther.setTestExternalContextItem002(new TestContextIntItem());
292 externalContextOther.getTestExternalContextItem002().setIntValue(INT_VAL_2);
294 assertTrue(externalContextAlbum.put(EXTERNAL_CONTEXT, externalContextOther).equals(externalContext));
295 externalContextItem = (TestExternalContextItem) externalContextAlbum.get(EXTERNAL_CONTEXT);
296 assertEquals(INT_VAL_2, externalContextItem.getTestExternalContextItem002().getIntValue());
297 assertTrue(externalContextAlbum.put(EXTERNAL_CONTEXT, externalContext).equals(externalContextOther));
298 externalContextItem = (TestExternalContextItem) externalContextAlbum.get(EXTERNAL_CONTEXT);
299 assertEquals(INT_VAL_3, externalContextItem.getTestExternalContextItem002().getIntValue());
302 externalContextAlbum.put("TestExternalContextItem00A", null);
303 } catch (final ContextRuntimeException e) {
304 assert (e.getMessage().equals("album \"ExternalContextAlbum:0.0.1\" null values are illegal on key "
305 + "\"TestExternalContextItem00A\" for put()"));
307 assertTrue(externalContextAlbum.get(EXTERNAL_CONTEXT).equals(externalContext));
310 externalContextAlbum.put("TestExternalContextItemFFF", null);
311 } catch (final ContextRuntimeException e) {
312 assert (e.getMessage().equals("album \"ExternalContextAlbum:0.0.1\" null values are illegal on key "
313 + "\"TestExternalContextItemFFF\" for put()"));
315 assertEquals(1, externalContextAlbum.size());
318 externalContextAlbum.put("TestExternalContextItemFFF", null);
319 } catch (final ContextRuntimeException e) {
320 assertEquals("album \"ExternalContextAlbum:0.0.1\" null values are illegal on key "
321 + "\"TestExternalContextItemFFF\" for put()", e.getMessage());
323 assertEquals(1, externalContextAlbum.size());
325 // Should ignore remove
326 externalContextAlbum.remove("TestExternalContextItem017");
327 assertEquals(1, externalContextAlbum.size());
328 assertEquals(1, externalContextAlbum.values().size());
329 assertTrue(externalContextAlbum.values().containsAll(mapValues));
330 } catch (final Exception exception) {
331 LOGGER.error("Unexpected Error:", exception);
334 contextDistributor.clear();
339 private void assertContextAlbumContains(final TestExternalContextItem externalContext,
340 final ContextAlbum externalContextAlbum) {
342 externalContextAlbum.containsKey(null);
343 } catch (final ContextRuntimeException e) {
344 assertEquals("null values are illegal on method parameter \"key\"", e.getMessage());
347 assertTrue(externalContextAlbum.containsKey(EXTERNAL_CONTEXT));
348 assertTrue(!externalContextAlbum.containsKey(GLOBAL_CONTEXT_KEY));
351 externalContextAlbum.containsValue(null);
352 } catch (final ContextRuntimeException e) {
353 assertEquals("null values are illegal on method parameter \"value\"", e.getMessage());
356 assertTrue(externalContextAlbum.containsValue(externalContext));
357 assertFalse(externalContextAlbum.containsValue("Hello"));
360 private ContextAlbum getContextAlbum(final Distributor contextDistributor) throws ContextException {
361 final ContextAlbum globalContextAlbum =
362 contextDistributor.createContextAlbum(new AxArtifactKey(GLOBAL_CONTEXT_ALBUM, VERSION));
363 assertNotNull(globalContextAlbum);
364 globalContextAlbum.setUserArtifactStack(Constants.getAxArtifactKeyArray());
365 return globalContextAlbum;
368 private TestGlobalContextItem getTestGlobalContextItem(final Distributor contextDistributor, final Date testDate,
369 final TestContextDateTzItem tci9, final TestContextDateLocaleItem tciA) throws ContextException {
370 final AxContextModel globalContextModel = TestContextAlbumFactory.createGlobalContextModel();
371 final TestGlobalContextItem globalContext = getTestGlobalContextItem(testDate, tci9, tciA);
372 contextDistributor.registerModel(globalContextModel);
373 return globalContext;
376 private TestPolicyContextItem getTestPolicyContextItem(final ContextAlbum policyContextAlbum, final Date testDate) {
377 final TestContextStringItem contextStringItem = new TestContextStringItem(STRING_VAL);
378 final TestContextLongItem contextLongItem = new TestContextLongItem(LONG_VAL);
379 final TestContextDoubleItem contextDoubleItem = new TestContextDoubleItem(PI_VAL);
380 final TestContextBooleanItem contextBooleanItem = new TestContextBooleanItem(true);
381 final TestContextLongItem contextLongItem2 = new TestContextLongItem(testDate.getTime());
382 final TestContextTreeMapItem contextTreeMapItem = new TestContextTreeMapItem(TEST_HASH_MAP);
384 final Map<String, Object> valueMapA = new LinkedHashMap<>();
385 valueMapA.put("TestPolicyContextItem001", contextLongItem);
386 valueMapA.put("TestPolicyContextItem002", contextDoubleItem);
387 valueMapA.put("TestPolicyContextItem003", contextBooleanItem);
388 valueMapA.put("TestPolicyContextItem004", contextLongItem2);
389 valueMapA.put("TestPolicyContextItem005", contextTreeMapItem);
390 valueMapA.put("TestPolicyContextItem000", contextStringItem);
392 assertPutMethods(policyContextAlbum, contextStringItem, valueMapA);
394 final TestPolicyContextItem policyContext = new TestPolicyContextItem();
396 LOGGER.debug(policyContextAlbum.toString());
398 policyContext.setTestPolicyContextItem000(contextStringItem);
399 policyContext.setTestPolicyContextItem001(contextLongItem);
400 policyContext.setTestPolicyContextItem002(contextDoubleItem);
401 policyContext.setTestPolicyContextItem003(contextBooleanItem);
402 policyContext.setTestPolicyContextItem004(contextLongItem2);
403 policyContext.setTestPolicyContextItem005(contextTreeMapItem);
404 return policyContext;
407 private void assertPutMethods(final ContextAlbum policyContextAlbum, final TestContextStringItem contextStringItem,
408 final Map<String, Object> valueMapA) {
410 policyContextAlbum.put("TestPolicyContextItem000", contextStringItem);
411 fail(EXCEPTION_MESSAGE);
412 } catch (final ContextRuntimeException e) {
414 getMessage("TestPolicyContextItem000", "TestContextItem006",
415 TestContextStringItem.class.getCanonicalName(), "stringValue=" + STRING_VAL),
420 policyContextAlbum.putAll(valueMapA);
421 fail(EXCEPTION_MESSAGE);
422 } catch (final ContextRuntimeException e) {
423 assertEquals(getMessage("TestPolicyContextItem001", "TestContextItem003",
424 TestContextLongItem.class.getCanonicalName(), "longValue=" + INT_VAL_3), e.getMessage());
428 private AxContextModel getAxContextModel() {
429 final AxContextModel policyContextModel = createPolicyContextModel();
430 final AxValidationResult result = new AxValidationResult();
431 policyContextModel.validate(result);
432 LOGGER.debug(result.toString());
434 assertTrue(result.isValid());
435 return policyContextModel;
438 private TestContextDateLocaleItem getTestContextDateLocaleItem(final Date testDate) {
439 final TestContextDateLocaleItem tciA = new TestContextDateLocaleItem();
440 tciA.setDateValue(new TestContextDateItem(testDate));
441 tciA.setTZValue(TIME_ZONE.getDisplayName());
443 tciA.setUTCOffset(-600);
444 tciA.setLocale(Locale.ENGLISH);
448 private TestContextDateTzItem getTestContextDateTzItem(final Date testDate) {
449 final TestContextDateTzItem tci9 = new TestContextDateTzItem();
450 tci9.setDateValue(new TestContextDateItem(testDate));
451 tci9.setTZValue(TIME_ZONE.getDisplayName());
456 private TestGlobalContextItem getTestGlobalContextItem(final Date testDate, final TestContextDateTzItem tci9,
457 final TestContextDateLocaleItem tciA) {
458 final TestGlobalContextItem globalContext = new TestGlobalContextItem();
460 final TestContextBooleanItem testGlobalContextItem000 = new TestContextBooleanItem(false);
461 final TestContextByteItem testGlobalContextItem001 = new TestContextByteItem(BYTE_VAL);
462 final TestContextIntItem testGlobalContextItem002 = new TestContextIntItem(INT_VAL);
463 final TestContextLongItem testGlobalContextItem003 = new TestContextLongItem(LONG_VAL);
464 final TestContextFloatItem testGlobalContextItem004 = new TestContextFloatItem(new Float(FLOAT_VAL));
465 final TestContextDoubleItem testGlobalContextItem005 = new TestContextDoubleItem(PI_VAL);
466 final TestContextStringItem testGlobalContextItem006 = new TestContextStringItem(STRING_GLOBAL_VAL);
467 final TestContextLongObjectItem testGlobalContextItem007 = new TestContextLongObjectItem(testDate.getTime());
469 final TestContextDateItem testGlobalContextItem008 = new TestContextDateItem(testDate);
470 final TestContextTreeSetItem testGlobalContextItem00B = new TestContextTreeSetItem(TEST_TREE_SET);
471 final TestContextTreeMapItem testGlobalContextItem00C = new TestContextTreeMapItem(TEST_HASH_MAP);
474 globalContext.setTestGlobalContextItem000(testGlobalContextItem000);
475 globalContext.setTestGlobalContextItem001(testGlobalContextItem001);
476 globalContext.setTestGlobalContextItem002(testGlobalContextItem002);
477 globalContext.setTestGlobalContextItem003(testGlobalContextItem003);
478 globalContext.setTestGlobalContextItem004(testGlobalContextItem004);
479 globalContext.setTestGlobalContextItem005(testGlobalContextItem005);
480 globalContext.setTestGlobalContextItem006(testGlobalContextItem006);
481 globalContext.setTestGlobalContextItem007(testGlobalContextItem007);
482 globalContext.setTestGlobalContextItem008(testGlobalContextItem008);
483 globalContext.setTestGlobalContextItem009(tci9);
484 globalContext.setTestGlobalContextItem00A(tciA);
485 globalContext.setTestGlobalContextItem00B(testGlobalContextItem00B);
486 globalContext.setTestGlobalContextItem00C(testGlobalContextItem00C);
487 return globalContext;
490 private TestExternalContextItem getTestExternalContextItem(final Date testDate, final TestContextDateTzItem tci9A,
491 final TestContextDateLocaleItem tciAA) {
492 final TestExternalContextItem externalContext = new TestExternalContextItem();
494 final TestContextBooleanItem testExternalContextItem000 = new TestContextBooleanItem(false);
495 final TestContextByteItem testExternalContextItem001 = new TestContextByteItem(BYTE_VAL);
496 final TestContextIntItem testExternalContextItem002 = new TestContextIntItem(INT_VAL);
497 final TestContextLongItem testExternalContextItem003 = new TestContextLongItem(LONG_VAL);
498 final TestContextFloatItem testExternalContextItem004 = new TestContextFloatItem(new Float(3.14159265359));
499 final TestContextDoubleItem testExternalContextItem005 = new TestContextDoubleItem(PI_VAL);
500 final TestContextStringItem testExternalContextItem006 = new TestContextStringItem(STRING_EXT_VAL);
501 final TestContextLongObjectItem testExternalContextItem007 = new TestContextLongObjectItem(testDate.getTime());
502 final TestContextDateItem testExternalContextItem008 = new TestContextDateItem(testDate);
503 final TestContextTreeSetItem testExternalContextItem00B = new TestContextTreeSetItem(TEST_TREE_SET);
504 final TestContextTreeMapItem testExternalContextItem00C = new TestContextTreeMapItem(TEST_HASH_MAP);
507 externalContext.setTestExternalContextItem000(testExternalContextItem000);
508 externalContext.setTestExternalContextItem001(testExternalContextItem001);
509 externalContext.setTestExternalContextItem002(testExternalContextItem002);
510 externalContext.setTestExternalContextItem003(testExternalContextItem003);
511 externalContext.setTestExternalContextItem004(testExternalContextItem004);
512 externalContext.setTestExternalContextItem005(testExternalContextItem005);
513 externalContext.setTestExternalContextItem006(testExternalContextItem006);
514 externalContext.setTestExternalContextItem007(testExternalContextItem007);
515 externalContext.setTestExternalContextItem008(testExternalContextItem008);
516 externalContext.setTestExternalContextItem009(tci9A);
517 externalContext.setTestExternalContextItem00A(tciAA);
518 externalContext.setTestExternalContextItem00B(testExternalContextItem00B);
519 externalContext.setTestExternalContextItem00C(testExternalContextItem00C);
520 return externalContext;
523 private String getMessage(final String key, final String objName, final String clazzName, final String valString) {
524 return getMessage(key, objName, clazzName, valString, TestPolicyContextItem.class.getCanonicalName());
527 private String getMessage(final String key, final String objName, final String clazzName, final String valString,
528 final String compatibleClazzName) {
529 return "Failed to set context value for key \"" + key + "\" in album \"PolicyContextAlbum:0.0.1\": "
530 + "PolicyContextAlbum:0.0.1: object \"" + objName + " [" + valString + "]\" " + "of class \""
531 + clazzName + "\"" + " not compatible with class \"" + compatibleClazzName + "\"";
534 private void assertFloat(final float actual, final float expected) {
535 assertTrue(Float.compare(actual, expected) == 0);
538 private void assertDouble(final double actual, final double expected) {
539 assertTrue(Double.compare(actual, expected) == 0);
543 private Distributor getDistributor() throws ContextException {
544 final AxArtifactKey distributorKey = new AxArtifactKey("ApexDistributorInit", VERSION);
545 final Distributor distributor = new DistributorFactory().getDistributor(distributorKey);
546 final AxContextModel policyContextModel = getAxContextModel();
547 distributor.registerModel(policyContextModel);