/* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.apache.felix.ipojo.runtime.core; import org.apache.felix.ipojo.ComponentInstance; import org.apache.felix.ipojo.Factory; import org.apache.felix.ipojo.runtime.core.services.CheckService; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.osgi.framework.ServiceReference; import org.ow2.chameleon.testing.helpers.IPOJOHelper; import org.ow2.chameleon.testing.helpers.OSGiHelper; import java.util.Properties; import static junit.framework.Assert.assertEquals; import static org.junit.Assert.*; public class TestMethodProperties extends Common { ComponentInstance instance; ComponentInstance instance2; ComponentInstance instance3; @Before public void setUp() { Factory fact = ipojoHelper.getFactory("CONFIG-MethodConfigurableCheckService"); Properties props = new Properties(); props.put("instance.name", "under-test"); props.put("b", "1"); props.put("s", "1"); props.put("i", "1"); props.put("l", "1"); props.put("d", "1"); props.put("f", "1"); props.put("c", "a"); props.put("bool", "true"); props.put("bs", "{1,2,3}"); props.put("ss", "{1,2,3}"); props.put("is", "{1,2,3}"); props.put("ls", "{1,2,3}"); props.put("ds", "{1,2,3}"); props.put("fs", "{1,2,3}"); props.put("cs", "{a,b,c}"); props.put("bools", "{true,true,true}"); props.put("string", "foo"); props.put("strings", "{foo, bar, baz}"); try { instance = fact.createComponentInstance(props); } catch (Exception e) { fail("Cannot create the under-test instance : " + e.getMessage()); } Properties props2 = new Properties(); props2.put("instance.name", "under-test-2"); props2.put("b", new Byte("1")); props2.put("s", new Short("1")); props2.put("i", new Integer("1")); props2.put("l", new Long("1")); props2.put("d", new Double("1")); props2.put("f", new Float("1")); props2.put("c", new Character('a')); props2.put("bool", new Boolean(true)); props2.put("bs", new byte[]{1, 2, 3}); props2.put("ss", new short[]{1, 2, 3}); props2.put("is", new int[]{1, 2, 3}); props2.put("ls", new long[]{1, 2, 3}); props2.put("ds", new double[]{1, 2, 3}); props2.put("fs", new float[]{1, 2, 3}); props2.put("cs", new char[]{'a', 'b', 'c'}); props2.put("bools", new boolean[]{true, true, true}); props2.put("string", "foo"); props2.put("strings", new String[]{"foo", "bar", "baz"}); try { instance2 = fact.createComponentInstance(props2); } catch (Exception e) { e.printStackTrace(); fail("Cannot create the under-test instance 2 : " + e.getMessage()); } try { instance3 = fact.createComponentInstance(null); } catch (Exception e) { e.printStackTrace(); fail("Cannot create the under-test instance 3 : " + e.getMessage()); } } @After public void tearDown() { instance.dispose(); instance2.dispose(); instance3.dispose(); instance = null; instance2 = null; instance3 = null; } @Test public void testConfigurationPrimitive() { ServiceReference ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance.getInstanceName()); assertNotNull("Test check service availability", ref); CheckService check = (CheckService) osgiHelper.getRawServiceObject(ref); Properties props = check.getProps(); Byte b = (Byte) props.get("b"); Short s = (Short) props.get("s"); Integer i = (Integer) props.get("i"); Long l = (Long) props.get("l"); Double d = (Double) props.get("d"); Float f = (Float) props.get("f"); Character c = (Character) props.get("c"); Boolean bool = (Boolean) props.get("bool"); assertEquals("Check b", b, new Byte("1")); assertEquals("Check s", s, new Short("1")); assertEquals("Check i", i, new Integer("1")); assertEquals("Check l", l, new Long("1")); assertEquals("Check d", d, new Double("1")); assertEquals("Check f", f, new Float("1")); assertEquals("Check c", c, new Character('a')); assertEquals("Check bool", bool, new Boolean("true")); // Integer upb = (Integer) props.get("upb"); // Integer ups = (Integer) props.get("ups"); // Integer upi = (Integer) props.get("upi"); // Integer upl = (Integer) props.get("upl"); // Integer upd = (Integer) props.get("upd"); // Integer upf = (Integer) props.get("upf"); // Integer upc = (Integer) props.get("upc"); // Integer upbool = (Integer) props.get("upbool"); // // assertEquals("Check upb", upb, new Integer(1)); // assertEquals("Check ups", ups, new Integer(1)); // assertEquals("Check upi", upi, new Integer(1)); // assertEquals("Check upl", upl, new Integer(1)); // assertEquals("Check upd", upd, new Integer(1)); // assertEquals("Check upf", upf, new Integer(1)); // assertEquals("Check upc", upc, new Integer(1)); // assertEquals("Check upbool", upbool, new Integer(1)); reconfigure(instance); ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance.getInstanceName()); assertNotNull("Test check service availability", ref); check = (CheckService) osgiHelper.getRawServiceObject(ref); props = check.getProps(); b = (Byte) props.get("b"); s = (Short) props.get("s"); i = (Integer) props.get("i"); l = (Long) props.get("l"); d = (Double) props.get("d"); f = (Float) props.get("f"); c = (Character) props.get("c"); bool = (Boolean) props.get("bool"); assertEquals("2) Check b (" + b + ")", b, new Byte("2")); assertEquals("2) Check s", s, new Short("2")); assertEquals("2) Check i", i, new Integer("2")); assertEquals("2) Check l", l, new Long("2")); assertEquals("2) Check d", d, new Double("2")); assertEquals("2) Check f", f, new Float("2")); assertEquals("2) Check c", c, new Character('b')); assertEquals("2) Check bool", bool, new Boolean("false")); // upb = (Integer) props.get("upb"); // ups = (Integer) props.get("ups"); // upi = (Integer) props.get("upi"); // upl = (Integer) props.get("upl"); // upd = (Integer) props.get("upd"); // upf = (Integer) props.get("upf"); // upc = (Integer) props.get("upc"); // upbool = (Integer) props.get("upbool"); // // assertEquals("2) Check upb", upb, new Integer(2)); // assertEquals("2) Check ups", ups, new Integer(2)); // assertEquals("2) Check upi", upi, new Integer(2)); // assertEquals("2) Check upl", upl, new Integer(2)); // assertEquals("2) Check upd", upd, new Integer(2)); // assertEquals("2) Check upf", upf, new Integer(2)); // assertEquals("2) Check upc", upc, new Integer(2)); // assertEquals("2) Check upbool", upbool, new Integer(2)); } @Test public void testConfigurationPrimitiveString() { ServiceReference ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance.getInstanceName()); assertNotNull("Test check service availability", ref); CheckService check = (CheckService) osgiHelper.getRawServiceObject(ref); Properties props = check.getProps(); Byte b = (Byte) props.get("b"); Short s = (Short) props.get("s"); Integer i = (Integer) props.get("i"); Long l = (Long) props.get("l"); Double d = (Double) props.get("d"); Float f = (Float) props.get("f"); Character c = (Character) props.get("c"); Boolean bool = (Boolean) props.get("bool"); assertEquals("Check b", b, new Byte("1")); assertEquals("Check s", s, new Short("1")); assertEquals("Check i", i, new Integer("1")); assertEquals("Check l", l, new Long("1")); assertEquals("Check d", d, new Double("1")); assertEquals("Check f", f, new Float("1")); assertEquals("Check c", c, new Character('a')); assertEquals("Check bool", bool, new Boolean("true")); // Integer upb = (Integer) props.get("upb"); // Integer ups = (Integer) props.get("ups"); // Integer upi = (Integer) props.get("upi"); // Integer upl = (Integer) props.get("upl"); // Integer upd = (Integer) props.get("upd"); // Integer upf = (Integer) props.get("upf"); // Integer upc = (Integer) props.get("upc"); // Integer upbool = (Integer) props.get("upbool"); // // assertEquals("Check upb", upb, new Integer(1)); // assertEquals("Check ups", ups, new Integer(1)); // assertEquals("Check upi", upi, new Integer(1)); // assertEquals("Check upl", upl, new Integer(1)); // assertEquals("Check upd", upd, new Integer(1)); // assertEquals("Check upf", upf, new Integer(1)); // assertEquals("Check upc", upc, new Integer(1)); // assertEquals("Check upbool", upbool, new Integer(1)); // reconfigureString(instance); ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance.getInstanceName()); assertNotNull("Test check service availability", ref); check = (CheckService) osgiHelper.getRawServiceObject(ref); props = check.getProps(); b = (Byte) props.get("b"); s = (Short) props.get("s"); i = (Integer) props.get("i"); l = (Long) props.get("l"); d = (Double) props.get("d"); f = (Float) props.get("f"); c = (Character) props.get("c"); bool = (Boolean) props.get("bool"); assertEquals("2) Check b (" + b + ")", b, new Byte("2")); assertEquals("2) Check s", s, new Short("2")); assertEquals("2) Check i", i, new Integer("2")); assertEquals("2) Check l", l, new Long("2")); assertEquals("2) Check d", d, new Double("2")); assertEquals("2) Check f", f, new Float("2")); assertEquals("2) Check c", c, new Character('b')); assertEquals("2) Check bool", bool, new Boolean("false")); // upb = (Integer) props.get("upb"); // ups = (Integer) props.get("ups"); // upi = (Integer) props.get("upi"); // upl = (Integer) props.get("upl"); // upd = (Integer) props.get("upd"); // upf = (Integer) props.get("upf"); // upc = (Integer) props.get("upc"); // upbool = (Integer) props.get("upbool"); // // assertEquals("2) Check upb", upb, new Integer(2)); // assertEquals("2) Check ups", ups, new Integer(2)); // assertEquals("2) Check upi", upi, new Integer(2)); // assertEquals("2) Check upl", upl, new Integer(2)); // assertEquals("2) Check upd", upd, new Integer(2)); // assertEquals("2) Check upf", upf, new Integer(2)); // assertEquals("2) Check upc", upc, new Integer(2)); // assertEquals("2) Check upbool", upbool, new Integer(2)); } @Test public void testConfigurationPrimitiveArrays() { ServiceReference ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance.getInstanceName()); assertNotNull("Test check service availability", ref); CheckService check = (CheckService) osgiHelper.getRawServiceObject(ref); Properties props = check.getProps(); byte[] b = (byte[]) props.get("bs"); short[] s = (short[]) props.get("ss"); int[] i = (int[]) props.get("is"); long[] l = (long[]) props.get("ls"); double[] d = (double[]) props.get("ds"); float[] f = (float[]) props.get("fs"); char[] c = (char[]) props.get("cs"); boolean[] bool = (boolean[]) props.get("bools"); assertEquals("Check b 0", b[0], 1); assertEquals("Check b 1", b[1], 2); assertEquals("Check b 2", b[2], 3); assertEquals("Check s 0", s[0], 1); assertEquals("Check s 1", s[1], 2); assertEquals("Check s 2", s[2], 3); assertEquals("Check i 0", i[0], 1); assertEquals("Check i 1", i[1], 2); assertEquals("Check i 2", i[2], 3); assertEquals("Check l 0", l[0], 1); assertEquals("Check l 1", l[1], 2); assertEquals("Check l 2", l[2], 3); assertEquals("Check d 0", d[0], 1, 0); assertEquals("Check d 1", d[1], 2, 0); assertEquals("Check d 2", d[2], 3, 0); assertEquals("Check f 0", f[0], 1, 0); assertEquals("Check f 1", f[1], 2, 0); assertEquals("Check f 2", f[2], 3, 0); assertEquals("Check c 0", c[0], 'a'); assertEquals("Check c 1", c[1], 'b'); assertEquals("Check c 2", c[2], 'c'); assertTrue("Check bool 0", bool[0]); assertTrue("Check bool 1", bool[0]); assertTrue("Check bool 2", bool[0]); // Integer upb = (Integer) props.get("upbs"); // Integer ups = (Integer) props.get("upss"); // Integer upi = (Integer) props.get("upis"); // Integer upl = (Integer) props.get("upls"); // Integer upd = (Integer) props.get("upds"); // Integer upf = (Integer) props.get("upfs"); // Integer upc = (Integer) props.get("upcs"); // Integer upbool = (Integer) props.get("upbools"); // // assertEquals("Check upb", upb, new Integer(1)); // assertEquals("Check ups", ups, new Integer(1)); // assertEquals("Check upi", upi, new Integer(1)); // assertEquals("Check upl", upl, new Integer(1)); // assertEquals("Check upd", upd, new Integer(1)); // assertEquals("Check upf", upf, new Integer(1)); // assertEquals("Check upc", upc, new Integer(1)); // assertEquals("Check upbool", upbool, new Integer(1)); reconfigure(instance); ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance.getInstanceName()); assertNotNull("Test check service availability", ref); check = (CheckService) osgiHelper.getRawServiceObject(ref); props = check.getProps(); b = (byte[]) props.get("bs"); s = (short[]) props.get("ss"); i = (int[]) props.get("is"); l = (long[]) props.get("ls"); d = (double[]) props.get("ds"); f = (float[]) props.get("fs"); c = (char[]) props.get("cs"); bool = (boolean[]) props.get("bools"); assertEquals("2) Check b 0", b[0], 3); assertEquals("2) Check b 1", b[1], 2); assertEquals("2) Check b 2", b[2], 1); assertEquals("2) Check s 0", s[0], 3); assertEquals("2) Check s 1", s[1], 2); assertEquals("2) Check s 2", s[2], 1); assertEquals("2) Check i 0", i[0], 3); assertEquals("2) Check i 1", i[1], 2); assertEquals("2) Check i 2", i[2], 1); assertEquals("2) Check l 0", l[0], 3); assertEquals("2) Check l 1", l[1], 2); assertEquals("2) Check l 2", l[2], 1); assertEquals("2) Check d 0", d[0], 3, 0); assertEquals("2) Check d 1", d[1], 2, 0); assertEquals("2) Check d 2", d[2], 1, 0); assertEquals("2) Check f 0", f[0], 3, 0); assertEquals("2) Check f 1", f[1], 2, 0); assertEquals("2) Check f 2", f[2], 1, 0); assertEquals("2) Check c 0", c[0], 'c'); assertEquals("2) Check c 1", c[1], 'b'); assertEquals("2) Check c 2", c[2], 'a'); assertFalse("2) Check bool 0", bool[0]); assertFalse("2) Check bool 1", bool[0]); assertFalse("2) Check bool 2", bool[0]); // upb = (Integer) props.get("upbs"); // ups = (Integer) props.get("upss"); // upi = (Integer) props.get("upis"); // upl = (Integer) props.get("upls"); // upd = (Integer) props.get("upds"); // upf = (Integer) props.get("upfs"); // upc = (Integer) props.get("upcs"); // upbool = (Integer) props.get("upbools"); // // assertEquals("2) Check upb", upb, new Integer(2)); // assertEquals("2) Check ups", ups, new Integer(2)); // assertEquals("2) Check upi", upi, new Integer(2)); // assertEquals("2) Check upl", upl, new Integer(2)); // assertEquals("2) Check upd", upd, new Integer(2)); // assertEquals("2) Check upf", upf, new Integer(2)); // assertEquals("2) Check upc", upc, new Integer(2)); // assertEquals("2) Check upbool", upbool, new Integer(2)); } @Test public void testConfigurationPrimitiveArraysString() { ServiceReference ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance.getInstanceName()); assertNotNull("Test check service availability", ref); CheckService check = (CheckService) osgiHelper.getRawServiceObject(ref); Properties props = check.getProps(); byte[] b = (byte[]) props.get("bs"); short[] s = (short[]) props.get("ss"); int[] i = (int[]) props.get("is"); long[] l = (long[]) props.get("ls"); double[] d = (double[]) props.get("ds"); float[] f = (float[]) props.get("fs"); char[] c = (char[]) props.get("cs"); boolean[] bool = (boolean[]) props.get("bools"); assertEquals("Check b 0", b[0], 1); assertEquals("Check b 1", b[1], 2); assertEquals("Check b 2", b[2], 3); assertEquals("Check s 0", s[0], 1); assertEquals("Check s 1", s[1], 2); assertEquals("Check s 2", s[2], 3); assertEquals("Check i 0", i[0], 1); assertEquals("Check i 1", i[1], 2); assertEquals("Check i 2", i[2], 3); assertEquals("Check l 0", l[0], 1); assertEquals("Check l 1", l[1], 2); assertEquals("Check l 2", l[2], 3); assertEquals("Check d 0", d[0], 1, 0); assertEquals("Check d 1", d[1], 2, 0); assertEquals("Check d 2", d[2], 3, 0); assertEquals("Check f 0", f[0], 1, 0); assertEquals("Check f 1", f[1], 2, 0); assertEquals("Check f 2", f[2], 3, 0); assertEquals("Check c 0", c[0], 'a'); assertEquals("Check c 1", c[1], 'b'); assertEquals("Check c 2", c[2], 'c'); assertTrue("Check bool 0", bool[0]); assertTrue("Check bool 1", bool[0]); assertTrue("Check bool 2", bool[0]); // Integer upb = (Integer) props.get("upbs"); // Integer ups = (Integer) props.get("upss"); // Integer upi = (Integer) props.get("upis"); // Integer upl = (Integer) props.get("upls"); // Integer upd = (Integer) props.get("upds"); // Integer upf = (Integer) props.get("upfs"); // Integer upc = (Integer) props.get("upcs"); // Integer upbool = (Integer) props.get("upbools"); // // assertEquals("Check upb", upb, new Integer(1)); // assertEquals("Check ups", ups, new Integer(1)); // assertEquals("Check upi", upi, new Integer(1)); // assertEquals("Check upl", upl, new Integer(1)); // assertEquals("Check upd", upd, new Integer(1)); // assertEquals("Check upf", upf, new Integer(1)); // assertEquals("Check upc", upc, new Integer(1)); // assertEquals("Check upbool", upbool, new Integer(1)); reconfigureString(instance); ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance.getInstanceName()); assertNotNull("Test check service availability", ref); check = (CheckService) osgiHelper.getRawServiceObject(ref); props = check.getProps(); b = (byte[]) props.get("bs"); s = (short[]) props.get("ss"); i = (int[]) props.get("is"); l = (long[]) props.get("ls"); d = (double[]) props.get("ds"); f = (float[]) props.get("fs"); c = (char[]) props.get("cs"); bool = (boolean[]) props.get("bools"); assertEquals("2) Check b 0", b[0], 3); assertEquals("2) Check b 1", b[1], 2); assertEquals("2) Check b 2", b[2], 1); assertEquals("2) Check s 0", s[0], 3); assertEquals("2) Check s 1", s[1], 2); assertEquals("2) Check s 2", s[2], 1); assertEquals("2) Check i 0", i[0], 3); assertEquals("2) Check i 1", i[1], 2); assertEquals("2) Check i 2", i[2], 1); assertEquals("2) Check l 0", l[0], 3); assertEquals("2) Check l 1", l[1], 2); assertEquals("2) Check l 2", l[2], 1); assertEquals("2) Check d 0", d[0], 3, 0); assertEquals("2) Check d 1", d[1], 2, 0); assertEquals("2) Check d 2", d[2], 1, 0); assertEquals("2) Check f 0", f[0], 3, 0); assertEquals("2) Check f 1", f[1], 2, 0); assertEquals("2) Check f 2", f[2], 1, 0); assertEquals("2) Check c 0", c[0], 'c'); assertEquals("2) Check c 1", c[1], 'b'); assertEquals("2) Check c 2", c[2], 'a'); assertFalse("2) Check bool 0", bool[0]); assertFalse("2) Check bool 1", bool[0]); assertFalse("2) Check bool 2", bool[0]); // upb = (Integer) props.get("upbs"); // ups = (Integer) props.get("upss"); // upi = (Integer) props.get("upis"); // upl = (Integer) props.get("upls"); // upd = (Integer) props.get("upds"); // upf = (Integer) props.get("upfs"); // upc = (Integer) props.get("upcs"); // upbool = (Integer) props.get("upbools"); // // assertEquals("2) Check upb", upb, new Integer(2)); // assertEquals("2) Check ups", ups, new Integer(2)); // assertEquals("2) Check upi", upi, new Integer(2)); // assertEquals("2) Check upl", upl, new Integer(2)); // assertEquals("2) Check upd", upd, new Integer(2)); // assertEquals("2) Check upf", upf, new Integer(2)); // assertEquals("2) Check upc", upc, new Integer(2)); // assertEquals("2) Check upbool", upbool, new Integer(2)); } @Test public void testConfigurationObj() { ServiceReference ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance.getInstanceName()); assertNotNull("Test check service availability", ref); CheckService check = (CheckService) osgiHelper.getRawServiceObject(ref); Properties props = check.getProps(); String s = (String) props.get("string"); String[] ss = (String[]) props.get("strings"); assertEquals("Check string", s, "foo"); assertEquals("Check strings 0", ss[0], "foo"); assertEquals("Check strings 1", ss[1], "bar"); assertEquals("Check strings 2", ss[2], "baz"); // Integer upString = (Integer) props.get("upstring"); // Integer upStrings = (Integer) props.get("upstrings"); // // assertEquals("Check upString", upString, new Integer(1)); // assertEquals("Check upStrings", upStrings, new Integer(1)); reconfigure(instance); ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance.getInstanceName()); assertNotNull("Test check service availability", ref); check = (CheckService) osgiHelper.getRawServiceObject(ref); props = check.getProps(); s = (String) props.get("string"); ss = (String[]) props.get("strings"); assertEquals("2) Check string", s, "bar"); assertEquals("2) Check strings 0", ss[0], "baz"); assertEquals("2) Check strings 1", ss[1], "bar"); assertEquals("2) Check strings 2", ss[2], "foo"); // upString = (Integer) props.get("upstring"); // upStrings = (Integer) props.get("upstrings"); // // assertEquals("2) Check upString", upString, new Integer(2)); // assertEquals("2) Check upStrings", upStrings, new Integer(2)); } @Test public void testConfigurationObjString() { ServiceReference ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance.getInstanceName()); assertNotNull("Test check service availability", ref); CheckService check = (CheckService) osgiHelper.getRawServiceObject(ref); Properties props = check.getProps(); String s = (String) props.get("string"); String[] ss = (String[]) props.get("strings"); assertEquals("Check string", s, "foo"); assertEquals("Check strings 0", ss[0], "foo"); assertEquals("Check strings 1", ss[1], "bar"); assertEquals("Check strings 2", ss[2], "baz"); // Integer upString = (Integer) props.get("upstring"); // Integer upStrings = (Integer) props.get("upstrings"); // // assertEquals("Check upString", upString, new Integer(1)); // assertEquals("Check upStrings", upStrings, new Integer(1)); reconfigureString(instance); ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance.getInstanceName()); assertNotNull("Test check service availability", ref); check = (CheckService) osgiHelper.getRawServiceObject(ref); props = check.getProps(); s = (String) props.get("string"); ss = (String[]) props.get("strings"); assertEquals("2) Check string", s, "bar"); assertEquals("2) Check strings 0", ss[0], "baz"); assertEquals("2) Check strings 1", ss[1], "bar"); assertEquals("2) Check strings 2", ss[2], "foo"); // upString = (Integer) props.get("upstring"); // upStrings = (Integer) props.get("upstrings"); // // assertEquals("2) Check upString", upString, new Integer(2)); // assertEquals("2) Check upStrings", upStrings, new Integer(2)); } @Test public void testConfigurationPrimitive2() { ServiceReference ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance2.getInstanceName()); assertNotNull("Test check service availability", ref); CheckService check = (CheckService) osgiHelper.getRawServiceObject(ref); Properties props = check.getProps(); Byte b = (Byte) props.get("b"); Short s = (Short) props.get("s"); Integer i = (Integer) props.get("i"); Long l = (Long) props.get("l"); Double d = (Double) props.get("d"); Float f = (Float) props.get("f"); Character c = (Character) props.get("c"); Boolean bool = (Boolean) props.get("bool"); assertEquals("Check b", b, new Byte("1")); assertEquals("Check s", s, new Short("1")); assertEquals("Check i", i, new Integer("1")); assertEquals("Check l", l, new Long("1")); assertEquals("Check d", d, new Double("1")); assertEquals("Check f", f, new Float("1")); assertEquals("Check c", c, new Character('a')); assertEquals("Check bool", bool, new Boolean("true")); // Integer upb = (Integer) props.get("upb"); // Integer ups = (Integer) props.get("ups"); // Integer upi = (Integer) props.get("upi"); // Integer upl = (Integer) props.get("upl"); // Integer upd = (Integer) props.get("upd"); // Integer upf = (Integer) props.get("upf"); // Integer upc = (Integer) props.get("upc"); // Integer upbool = (Integer) props.get("upbool"); // // assertEquals("Check upb", upb, new Integer(1)); // assertEquals("Check ups", ups, new Integer(1)); // assertEquals("Check upi", upi, new Integer(1)); // assertEquals("Check upl", upl, new Integer(1)); // assertEquals("Check upd", upd, new Integer(1)); // assertEquals("Check upf", upf, new Integer(1)); // assertEquals("Check upc", upc, new Integer(1)); // assertEquals("Check upbool", upbool, new Integer(1)); reconfigure(instance2); ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance2.getInstanceName()); assertNotNull("Test check service availability", ref); check = (CheckService) osgiHelper.getRawServiceObject(ref); props = check.getProps(); b = (Byte) props.get("b"); s = (Short) props.get("s"); i = (Integer) props.get("i"); l = (Long) props.get("l"); d = (Double) props.get("d"); f = (Float) props.get("f"); c = (Character) props.get("c"); bool = (Boolean) props.get("bool"); assertEquals("2) Check b (" + b + ")", b, new Byte("2")); assertEquals("2) Check s", s, new Short("2")); assertEquals("2) Check i", i, new Integer("2")); assertEquals("2) Check l", l, new Long("2")); assertEquals("2) Check d", d, new Double("2")); assertEquals("2) Check f", f, new Float("2")); assertEquals("2) Check c", c, new Character('b')); assertEquals("2) Check bool", bool, new Boolean("false")); // upb = (Integer) props.get("upb"); // ups = (Integer) props.get("ups"); // upi = (Integer) props.get("upi"); // upl = (Integer) props.get("upl"); // upd = (Integer) props.get("upd"); // upf = (Integer) props.get("upf"); // upc = (Integer) props.get("upc"); // upbool = (Integer) props.get("upbool"); // // assertEquals("2) Check upb", upb, new Integer(2)); // assertEquals("2) Check ups", ups, new Integer(2)); // assertEquals("2) Check upi", upi, new Integer(2)); // assertEquals("2) Check upl", upl, new Integer(2)); // assertEquals("2) Check upd", upd, new Integer(2)); // assertEquals("2) Check upf", upf, new Integer(2)); // assertEquals("2) Check upc", upc, new Integer(2)); // assertEquals("2) Check upbool", upbool, new Integer(2)); } @Test public void testConfigurationPrimitive2String() { ServiceReference ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance2.getInstanceName()); assertNotNull("Test check service availability", ref); CheckService check = (CheckService) osgiHelper.getRawServiceObject(ref); Properties props = check.getProps(); Byte b = (Byte) props.get("b"); Short s = (Short) props.get("s"); Integer i = (Integer) props.get("i"); Long l = (Long) props.get("l"); Double d = (Double) props.get("d"); Float f = (Float) props.get("f"); Character c = (Character) props.get("c"); Boolean bool = (Boolean) props.get("bool"); assertEquals("Check b", b, new Byte("1")); assertEquals("Check s", s, new Short("1")); assertEquals("Check i", i, new Integer("1")); assertEquals("Check l", l, new Long("1")); assertEquals("Check d", d, new Double("1")); assertEquals("Check f", f, new Float("1")); assertEquals("Check c", c, new Character('a')); assertEquals("Check bool", bool, new Boolean("true")); // Integer upb = (Integer) props.get("upb"); // Integer ups = (Integer) props.get("ups"); // Integer upi = (Integer) props.get("upi"); // Integer upl = (Integer) props.get("upl"); // Integer upd = (Integer) props.get("upd"); // Integer upf = (Integer) props.get("upf"); // Integer upc = (Integer) props.get("upc"); // Integer upbool = (Integer) props.get("upbool"); // // assertEquals("Check upb", upb, new Integer(1)); // assertEquals("Check ups", ups, new Integer(1)); // assertEquals("Check upi", upi, new Integer(1)); // assertEquals("Check upl", upl, new Integer(1)); // assertEquals("Check upd", upd, new Integer(1)); // assertEquals("Check upf", upf, new Integer(1)); // assertEquals("Check upc", upc, new Integer(1)); // assertEquals("Check upbool", upbool, new Integer(1)); reconfigureString(instance2); ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance2.getInstanceName()); assertNotNull("Test check service availability", ref); check = (CheckService) osgiHelper.getRawServiceObject(ref); props = check.getProps(); b = (Byte) props.get("b"); s = (Short) props.get("s"); i = (Integer) props.get("i"); l = (Long) props.get("l"); d = (Double) props.get("d"); f = (Float) props.get("f"); c = (Character) props.get("c"); bool = (Boolean) props.get("bool"); assertEquals("2) Check b (" + b + ")", b, new Byte("2")); assertEquals("2) Check s", s, new Short("2")); assertEquals("2) Check i", i, new Integer("2")); assertEquals("2) Check l", l, new Long("2")); assertEquals("2) Check d", d, new Double("2")); assertEquals("2) Check f", f, new Float("2")); assertEquals("2) Check c", c, new Character('b')); assertEquals("2) Check bool", bool, new Boolean("false")); // upb = (Integer) props.get("upb"); // ups = (Integer) props.get("ups"); // upi = (Integer) props.get("upi"); // upl = (Integer) props.get("upl"); // upd = (Integer) props.get("upd"); // upf = (Integer) props.get("upf"); // upc = (Integer) props.get("upc"); // upbool = (Integer) props.get("upbool"); // // assertEquals("2) Check upb", upb, new Integer(2)); // assertEquals("2) Check ups", ups, new Integer(2)); // assertEquals("2) Check upi", upi, new Integer(2)); // assertEquals("2) Check upl", upl, new Integer(2)); // assertEquals("2) Check upd", upd, new Integer(2)); // assertEquals("2) Check upf", upf, new Integer(2)); // assertEquals("2) Check upc", upc, new Integer(2)); // assertEquals("2) Check upbool", upbool, new Integer(2)); } @Test public void testConfigurationPrimitiveArrays2() { ServiceReference ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance2.getInstanceName()); assertNotNull("Test check service availability", ref); CheckService check = (CheckService) osgiHelper.getRawServiceObject(ref); Properties props = check.getProps(); byte[] b = (byte[]) props.get("bs"); short[] s = (short[]) props.get("ss"); int[] i = (int[]) props.get("is"); long[] l = (long[]) props.get("ls"); double[] d = (double[]) props.get("ds"); float[] f = (float[]) props.get("fs"); char[] c = (char[]) props.get("cs"); boolean[] bool = (boolean[]) props.get("bools"); assertEquals("Check b 0", b[0], 1); assertEquals("Check b 1", b[1], 2); assertEquals("Check b 2", b[2], 3); assertEquals("Check s 0", s[0], 1); assertEquals("Check s 1", s[1], 2); assertEquals("Check s 2", s[2], 3); assertEquals("Check i 0", i[0], 1); assertEquals("Check i 1", i[1], 2); assertEquals("Check i 2", i[2], 3); assertEquals("Check l 0", l[0], 1); assertEquals("Check l 1", l[1], 2); assertEquals("Check l 2", l[2], 3); assertEquals("Check d 0", d[0], 1, 0); assertEquals("Check d 1", d[1], 2, 0); assertEquals("Check d 2", d[2], 3, 0); assertEquals("Check f 0", f[0], 1, 0); assertEquals("Check f 1", f[1], 2, 0); assertEquals("Check f 2", f[2], 3, 0); assertEquals("Check c 0", c[0], 'a'); assertEquals("Check c 1", c[1], 'b'); assertEquals("Check c 2", c[2], 'c'); assertTrue("Check bool 0", bool[0]); assertTrue("Check bool 1", bool[0]); assertTrue("Check bool 2", bool[0]); // Integer upb = (Integer) props.get("upbs"); // Integer ups = (Integer) props.get("upss"); // Integer upi = (Integer) props.get("upis"); // Integer upl = (Integer) props.get("upls"); // Integer upd = (Integer) props.get("upds"); // Integer upf = (Integer) props.get("upfs"); // Integer upc = (Integer) props.get("upcs"); // Integer upbool = (Integer) props.get("upbools"); // // assertEquals("Check upb", upb, new Integer(1)); // assertEquals("Check ups", ups, new Integer(1)); // assertEquals("Check upi", upi, new Integer(1)); // assertEquals("Check upl", upl, new Integer(1)); // assertEquals("Check upd", upd, new Integer(1)); // assertEquals("Check upf", upf, new Integer(1)); // assertEquals("Check upc", upc, new Integer(1)); // assertEquals("Check upbool", upbool, new Integer(1)); reconfigure(instance2); ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance2.getInstanceName()); assertNotNull("Test check service availability", ref); check = (CheckService) osgiHelper.getRawServiceObject(ref); props = check.getProps(); b = (byte[]) props.get("bs"); s = (short[]) props.get("ss"); i = (int[]) props.get("is"); l = (long[]) props.get("ls"); d = (double[]) props.get("ds"); f = (float[]) props.get("fs"); c = (char[]) props.get("cs"); bool = (boolean[]) props.get("bools"); assertEquals("2) Check b 0", b[0], 3); assertEquals("2) Check b 1", b[1], 2); assertEquals("2) Check b 2", b[2], 1); assertEquals("2) Check s 0", s[0], 3); assertEquals("2) Check s 1", s[1], 2); assertEquals("2) Check s 2", s[2], 1); assertEquals("2) Check i 0", i[0], 3); assertEquals("2) Check i 1", i[1], 2); assertEquals("2) Check i 2", i[2], 1); assertEquals("2) Check l 0", l[0], 3); assertEquals("2) Check l 1", l[1], 2); assertEquals("2) Check l 2", l[2], 1); assertEquals("2) Check d 0", d[0], 3, 0); assertEquals("2) Check d 1", d[1], 2, 0); assertEquals("2) Check d 2", d[2], 1, 0); assertEquals("2) Check f 0", f[0], 3, 0); assertEquals("2) Check f 1", f[1], 2, 0); assertEquals("2) Check f 2", f[2], 1, 0); assertEquals("2) Check c 0", c[0], 'c'); assertEquals("2) Check c 1", c[1], 'b'); assertEquals("2) Check c 2", c[2], 'a'); assertFalse("2) Check bool 0", bool[0]); assertFalse("2) Check bool 1", bool[0]); assertFalse("2) Check bool 2", bool[0]); // upb = (Integer) props.get("upbs"); // ups = (Integer) props.get("upss"); // upi = (Integer) props.get("upis"); // upl = (Integer) props.get("upls"); // upd = (Integer) props.get("upds"); // upf = (Integer) props.get("upfs"); // upc = (Integer) props.get("upcs"); // upbool = (Integer) props.get("upbools"); // // assertEquals("2) Check upb", upb, new Integer(2)); // assertEquals("2) Check ups", ups, new Integer(2)); // assertEquals("2) Check upi", upi, new Integer(2)); // assertEquals("2) Check upl", upl, new Integer(2)); // assertEquals("2) Check upd", upd, new Integer(2)); // assertEquals("2) Check upf", upf, new Integer(2)); // assertEquals("2) Check upc", upc, new Integer(2)); // assertEquals("2) Check upbool", upbool, new Integer(2)); } @Test public void testConfigurationPrimitiveArrays2String() { ServiceReference ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance2.getInstanceName()); assertNotNull("Test check service availability", ref); CheckService check = (CheckService) osgiHelper.getRawServiceObject(ref); Properties props = check.getProps(); byte[] b = (byte[]) props.get("bs"); short[] s = (short[]) props.get("ss"); int[] i = (int[]) props.get("is"); long[] l = (long[]) props.get("ls"); double[] d = (double[]) props.get("ds"); float[] f = (float[]) props.get("fs"); char[] c = (char[]) props.get("cs"); boolean[] bool = (boolean[]) props.get("bools"); assertEquals("Check b 0", b[0], 1); assertEquals("Check b 1", b[1], 2); assertEquals("Check b 2", b[2], 3); assertEquals("Check s 0", s[0], 1); assertEquals("Check s 1", s[1], 2); assertEquals("Check s 2", s[2], 3); assertEquals("Check i 0", i[0], 1); assertEquals("Check i 1", i[1], 2); assertEquals("Check i 2", i[2], 3); assertEquals("Check l 0", l[0], 1); assertEquals("Check l 1", l[1], 2); assertEquals("Check l 2", l[2], 3); assertEquals("Check d 0", d[0], 1, 0); assertEquals("Check d 1", d[1], 2, 0); assertEquals("Check d 2", d[2], 3, 0); assertEquals("Check f 0", f[0], 1, 0); assertEquals("Check f 1", f[1], 2, 0); assertEquals("Check f 2", f[2], 3, 0); assertEquals("Check c 0", c[0], 'a'); assertEquals("Check c 1", c[1], 'b'); assertEquals("Check c 2", c[2], 'c'); assertTrue("Check bool 0", bool[0]); assertTrue("Check bool 1", bool[0]); assertTrue("Check bool 2", bool[0]); // Integer upb = (Integer) props.get("upbs"); // Integer ups = (Integer) props.get("upss"); // Integer upi = (Integer) props.get("upis"); // Integer upl = (Integer) props.get("upls"); // Integer upd = (Integer) props.get("upds"); // Integer upf = (Integer) props.get("upfs"); // Integer upc = (Integer) props.get("upcs"); // Integer upbool = (Integer) props.get("upbools"); // // assertEquals("Check upb", upb, new Integer(1)); // assertEquals("Check ups", ups, new Integer(1)); // assertEquals("Check upi", upi, new Integer(1)); // assertEquals("Check upl", upl, new Integer(1)); // assertEquals("Check upd", upd, new Integer(1)); // assertEquals("Check upf", upf, new Integer(1)); // assertEquals("Check upc", upc, new Integer(1)); // assertEquals("Check upbool", upbool, new Integer(1)); reconfigureString(instance2); ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance2.getInstanceName()); assertNotNull("Test check service availability", ref); check = (CheckService) osgiHelper.getRawServiceObject(ref); props = check.getProps(); b = (byte[]) props.get("bs"); s = (short[]) props.get("ss"); i = (int[]) props.get("is"); l = (long[]) props.get("ls"); d = (double[]) props.get("ds"); f = (float[]) props.get("fs"); c = (char[]) props.get("cs"); bool = (boolean[]) props.get("bools"); assertEquals("2) Check b 0", b[0], 3); assertEquals("2) Check b 1", b[1], 2); assertEquals("2) Check b 2", b[2], 1); assertEquals("2) Check s 0", s[0], 3); assertEquals("2) Check s 1", s[1], 2); assertEquals("2) Check s 2", s[2], 1); assertEquals("2) Check i 0", i[0], 3); assertEquals("2) Check i 1", i[1], 2); assertEquals("2) Check i 2", i[2], 1); assertEquals("2) Check l 0", l[0], 3); assertEquals("2) Check l 1", l[1], 2); assertEquals("2) Check l 2", l[2], 1); assertEquals("2) Check d 0", d[0], 3, 0); assertEquals("2) Check d 1", d[1], 2, 0); assertEquals("2) Check d 2", d[2], 1, 0); assertEquals("2) Check f 0", f[0], 3, 0); assertEquals("2) Check f 1", f[1], 2, 0); assertEquals("2) Check f 2", f[2], 1, 0); assertEquals("2) Check c 0", c[0], 'c'); assertEquals("2) Check c 1", c[1], 'b'); assertEquals("2) Check c 2", c[2], 'a'); assertFalse("2) Check bool 0", bool[0]); assertFalse("2) Check bool 1", bool[0]); assertFalse("2) Check bool 2", bool[0]); // upb = (Integer) props.get("upbs"); // ups = (Integer) props.get("upss"); // upi = (Integer) props.get("upis"); // upl = (Integer) props.get("upls"); // upd = (Integer) props.get("upds"); // upf = (Integer) props.get("upfs"); // upc = (Integer) props.get("upcs"); // upbool = (Integer) props.get("upbools"); // // assertEquals("2) Check upb", upb, new Integer(2)); // assertEquals("2) Check ups", ups, new Integer(2)); // assertEquals("2) Check upi", upi, new Integer(2)); // assertEquals("2) Check upl", upl, new Integer(2)); // assertEquals("2) Check upd", upd, new Integer(2)); // assertEquals("2) Check upf", upf, new Integer(2)); // assertEquals("2) Check upc", upc, new Integer(2)); // assertEquals("2) Check upbool", upbool, new Integer(2)); } @Test public void testConfigurationObj2() { ServiceReference ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance2.getInstanceName()); assertNotNull("Test check service availability", ref); CheckService check = (CheckService) osgiHelper.getRawServiceObject(ref); Properties props = check.getProps(); String s = (String) props.get("string"); String[] ss = (String[]) props.get("strings"); assertEquals("Check string", s, "foo"); assertEquals("Check strings 0", ss[0], "foo"); assertEquals("Check strings 1", ss[1], "bar"); assertEquals("Check strings 2", ss[2], "baz"); // Integer upString = (Integer) props.get("upstring"); // Integer upStrings = (Integer) props.get("upstrings"); // // assertEquals("Check upString", upString, new Integer(1)); // assertEquals("Check upStrings", upStrings, new Integer(1)); reconfigure(instance2); ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance2.getInstanceName()); assertNotNull("Test check service availability", ref); check = (CheckService) osgiHelper.getRawServiceObject(ref); props = check.getProps(); s = (String) props.get("string"); ss = (String[]) props.get("strings"); assertEquals("2) Check string", s, "bar"); assertEquals("2) Check strings 0", ss[0], "baz"); assertEquals("2) Check strings 1", ss[1], "bar"); assertEquals("2) Check strings 2", ss[2], "foo"); // upString = (Integer) props.get("upstring"); // upStrings = (Integer) props.get("upstrings"); // // assertEquals("2) Check upString", upString, new Integer(2)); // assertEquals("2) Check upStrings", upStrings, new Integer(2)); } @Test public void testConfigurationObj2String() { ServiceReference ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance2.getInstanceName()); assertNotNull("Test check service availability", ref); CheckService check = (CheckService) osgiHelper.getRawServiceObject(ref); Properties props = check.getProps(); String s = (String) props.get("string"); String[] ss = (String[]) props.get("strings"); assertEquals("Check string", s, "foo"); assertEquals("Check strings 0", ss[0], "foo"); assertEquals("Check strings 1", ss[1], "bar"); assertEquals("Check strings 2", ss[2], "baz"); // Integer upString = (Integer) props.get("upstring"); // Integer upStrings = (Integer) props.get("upstrings"); // // assertEquals("Check upString", upString, new Integer(1)); // assertEquals("Check upStrings", upStrings, new Integer(1)); reconfigureString(instance2); ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance2.getInstanceName()); assertNotNull("Test check service availability", ref); check = (CheckService) osgiHelper.getRawServiceObject(ref); props = check.getProps(); s = (String) props.get("string"); ss = (String[]) props.get("strings"); assertEquals("2) Check string", s, "bar"); assertEquals("2) Check strings 0", ss[0], "baz"); assertEquals("2) Check strings 1", ss[1], "bar"); assertEquals("2) Check strings 2", ss[2], "foo"); // upString = (Integer) props.get("upstring"); // upStrings = (Integer) props.get("upstrings"); // // assertEquals("2) Check upString", upString, new Integer(2)); // assertEquals("2) Check upStrings", upStrings, new Integer(2)); } private void reconfigure(ComponentInstance ci) { Properties props2 = new Properties(); props2.put("b", new Byte("2")); props2.put("s", new Short("2")); props2.put("i", new Integer("2")); props2.put("l", new Long("2")); props2.put("d", new Double("2")); props2.put("f", new Float("2")); props2.put("c", new Character('b')); props2.put("bool", new Boolean(false)); props2.put("bs", new byte[]{(byte) 3, (byte) 2, (byte) 1}); props2.put("ss", new short[]{(short) 3, (short) 2, (short) 1}); props2.put("is", new int[]{3, 2, 1}); props2.put("ls", new long[]{3, 2, 1}); props2.put("ds", new double[]{3, 2, 1}); props2.put("fs", new float[]{3, 2, 1}); props2.put("cs", new char[]{'c', 'b', 'a'}); props2.put("bools", new boolean[]{false, false, false}); props2.put("string", "bar"); props2.put("strings", new String[]{"baz", "bar", "foo"}); ci.reconfigure(props2); } private void reconfigureString(ComponentInstance ci) { Properties props2 = new Properties(); props2.put("b", "2"); props2.put("s", "2"); props2.put("i", "2"); props2.put("l", "2"); props2.put("d", "2"); props2.put("f", "2"); props2.put("c", "b"); props2.put("bool", "false"); props2.put("bs", "{3, 2,1}"); props2.put("ss", "{3, 2,1}"); props2.put("is", "{3, 2,1}"); props2.put("ls", "{3, 2,1}"); props2.put("ds", "{3, 2,1}"); props2.put("fs", "{3, 2,1}"); props2.put("cs", "{c, b , a}"); props2.put("bools", "{false,false,false}"); props2.put("string", "bar"); props2.put("strings", "{baz, bar, foo}"); ci.reconfigure(props2); } @Test public void testConfigurationPrimitiveNoValue() { ServiceReference ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance3.getInstanceName()); assertNotNull("Test check service availability", ref); CheckService check = (CheckService) osgiHelper.getRawServiceObject(ref); Properties props = check.getProps(); Byte b = (Byte) props.get("b"); Short s = (Short) props.get("s"); Integer i = (Integer) props.get("i"); Long l = (Long) props.get("l"); Double d = (Double) props.get("d"); Float f = (Float) props.get("f"); Character c = (Character) props.get("c"); Boolean bool = (Boolean) props.get("bool"); assertEquals("Check b", b, new Byte("0")); assertEquals("Check s", s, new Short("0")); assertEquals("Check i", i, new Integer("0")); assertEquals("Check l", l, new Long("0")); assertEquals("Check d", d, new Double("0")); assertEquals("Check f", f, new Float("0")); assertEquals("Check c", c, new Character((char) 0)); assertEquals("Check bool", bool, new Boolean("false")); Integer upb = (Integer) props.get("upb"); Integer ups = (Integer) props.get("ups"); Integer upi = (Integer) props.get("upi"); Integer upl = (Integer) props.get("upl"); Integer upd = (Integer) props.get("upd"); Integer upf = (Integer) props.get("upf"); Integer upc = (Integer) props.get("upc"); Integer upbool = (Integer) props.get("upbool"); assertEquals("Check upb", upb, new Integer(0)); assertEquals("Check ups", ups, new Integer(0)); assertEquals("Check upi", upi, new Integer(0)); assertEquals("Check upl", upl, new Integer(0)); assertEquals("Check upd", upd, new Integer(0)); assertEquals("Check upf", upf, new Integer(0)); assertEquals("Check upc", upc, new Integer(0)); assertEquals("Check upbool", upbool, new Integer(0)); reconfigure(instance3); ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance3.getInstanceName()); assertNotNull("Test check service availability", ref); check = (CheckService) osgiHelper.getRawServiceObject(ref); props = check.getProps(); b = (Byte) props.get("b"); s = (Short) props.get("s"); i = (Integer) props.get("i"); l = (Long) props.get("l"); d = (Double) props.get("d"); f = (Float) props.get("f"); c = (Character) props.get("c"); bool = (Boolean) props.get("bool"); assertEquals("2) Check b (" + b + ")", b, new Byte("2")); assertEquals("2) Check s", s, new Short("2")); assertEquals("2) Check i", i, new Integer("2")); assertEquals("2) Check l", l, new Long("2")); assertEquals("2) Check d", d, new Double("2")); assertEquals("2) Check f", f, new Float("2")); assertEquals("2) Check c", c, new Character('b')); assertEquals("2) Check bool", bool, new Boolean("false")); upb = (Integer) props.get("upb"); ups = (Integer) props.get("ups"); upi = (Integer) props.get("upi"); upl = (Integer) props.get("upl"); upd = (Integer) props.get("upd"); upf = (Integer) props.get("upf"); upc = (Integer) props.get("upc"); upbool = (Integer) props.get("upbool"); assertEquals("2) Check upb", upb, new Integer(1)); assertEquals("2) Check ups", ups, new Integer(1)); assertEquals("2) Check upi", upi, new Integer(1)); assertEquals("2) Check upl", upl, new Integer(1)); assertEquals("2) Check upd", upd, new Integer(1)); assertEquals("2) Check upf", upf, new Integer(1)); assertEquals("2) Check upc", upc, new Integer(1)); assertEquals("2) Check upbool", upbool, new Integer(1)); } @Test public void testConfigurationPrimitiveStringNoValue() { ServiceReference ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance3.getInstanceName()); assertNotNull("Test check service availability", ref); CheckService check = (CheckService) osgiHelper.getRawServiceObject(ref); Properties props = check.getProps(); Byte b = (Byte) props.get("b"); Short s = (Short) props.get("s"); Integer i = (Integer) props.get("i"); Long l = (Long) props.get("l"); Double d = (Double) props.get("d"); Float f = (Float) props.get("f"); Character c = (Character) props.get("c"); Boolean bool = (Boolean) props.get("bool"); assertEquals("Check b", b, new Byte("0")); assertEquals("Check s", s, new Short("0")); assertEquals("Check i", i, new Integer("0")); assertEquals("Check l", l, new Long("0")); assertEquals("Check d", d, new Double("0")); assertEquals("Check f", f, new Float("0")); assertEquals("Check c", c, new Character((char) 0)); assertEquals("Check bool", bool, new Boolean("false")); Integer upb = (Integer) props.get("upb"); Integer ups = (Integer) props.get("ups"); Integer upi = (Integer) props.get("upi"); Integer upl = (Integer) props.get("upl"); Integer upd = (Integer) props.get("upd"); Integer upf = (Integer) props.get("upf"); Integer upc = (Integer) props.get("upc"); Integer upbool = (Integer) props.get("upbool"); assertEquals("Check upb", upb, new Integer(0)); assertEquals("Check ups", ups, new Integer(0)); assertEquals("Check upi", upi, new Integer(0)); assertEquals("Check upl", upl, new Integer(0)); assertEquals("Check upd", upd, new Integer(0)); assertEquals("Check upf", upf, new Integer(0)); assertEquals("Check upc", upc, new Integer(0)); assertEquals("Check upbool", upbool, new Integer(0)); reconfigureString(instance3); ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance3.getInstanceName()); assertNotNull("Test check service availability", ref); check = (CheckService) osgiHelper.getRawServiceObject(ref); props = check.getProps(); b = (Byte) props.get("b"); s = (Short) props.get("s"); i = (Integer) props.get("i"); l = (Long) props.get("l"); d = (Double) props.get("d"); f = (Float) props.get("f"); c = (Character) props.get("c"); bool = (Boolean) props.get("bool"); assertEquals("2) Check b (" + b + ")", b, new Byte("2")); assertEquals("2) Check s", s, new Short("2")); assertEquals("2) Check i", i, new Integer("2")); assertEquals("2) Check l", l, new Long("2")); assertEquals("2) Check d", d, new Double("2")); assertEquals("2) Check f", f, new Float("2")); assertEquals("2) Check c", c, new Character('b')); assertEquals("2) Check bool", bool, new Boolean("false")); upb = (Integer) props.get("upb"); ups = (Integer) props.get("ups"); upi = (Integer) props.get("upi"); upl = (Integer) props.get("upl"); upd = (Integer) props.get("upd"); upf = (Integer) props.get("upf"); upc = (Integer) props.get("upc"); upbool = (Integer) props.get("upbool"); assertEquals("2) Check upb", upb, new Integer(1)); assertEquals("2) Check ups", ups, new Integer(1)); assertEquals("2) Check upi", upi, new Integer(1)); assertEquals("2) Check upl", upl, new Integer(1)); assertEquals("2) Check upd", upd, new Integer(1)); assertEquals("2) Check upf", upf, new Integer(1)); assertEquals("2) Check upc", upc, new Integer(1)); assertEquals("2) Check upbool", upbool, new Integer(1)); } @Test public void testConfigurationPrimitiveArraysNoValue() { ServiceReference ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance3.getInstanceName()); assertNotNull("Test check service availability", ref); CheckService check = (CheckService) osgiHelper.getRawServiceObject(ref); Properties props = check.getProps(); byte[] b = (byte[]) props.get("bs"); short[] s = (short[]) props.get("ss"); int[] i = (int[]) props.get("is"); long[] l = (long[]) props.get("ls"); double[] d = (double[]) props.get("ds"); float[] f = (float[]) props.get("fs"); char[] c = (char[]) props.get("cs"); boolean[] bool = (boolean[]) props.get("bools"); assertNull("Check b nullity", b); assertNull("Check s nullity", s); assertNull("Check i nullity", i); assertNull("Check l nullity", l); assertNull("Check d nullity", d); assertNull("Check f nullity", f); assertNull("Check c nullity", c); assertNull("Check bool nullity", bool); Integer upb = (Integer) props.get("upbs"); Integer ups = (Integer) props.get("upss"); Integer upi = (Integer) props.get("upis"); Integer upl = (Integer) props.get("upls"); Integer upd = (Integer) props.get("upds"); Integer upf = (Integer) props.get("upfs"); Integer upc = (Integer) props.get("upcs"); Integer upbool = (Integer) props.get("upbools"); assertEquals("Check upb", upb, new Integer(0)); assertEquals("Check ups", ups, new Integer(0)); assertEquals("Check upi", upi, new Integer(0)); assertEquals("Check upl", upl, new Integer(0)); assertEquals("Check upd", upd, new Integer(0)); assertEquals("Check upf", upf, new Integer(0)); assertEquals("Check upc", upc, new Integer(0)); assertEquals("Check upbool", upbool, new Integer(0)); reconfigure(instance3); ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance3.getInstanceName()); assertNotNull("Test check service availability", ref); check = (CheckService) osgiHelper.getRawServiceObject(ref); props = check.getProps(); b = (byte[]) props.get("bs"); s = (short[]) props.get("ss"); i = (int[]) props.get("is"); l = (long[]) props.get("ls"); d = (double[]) props.get("ds"); f = (float[]) props.get("fs"); c = (char[]) props.get("cs"); bool = (boolean[]) props.get("bools"); assertEquals("2) Check b 0", b[0], 3); assertEquals("2) Check b 1", b[1], 2); assertEquals("2) Check b 2", b[2], 1); assertEquals("2) Check s 0", s[0], 3); assertEquals("2) Check s 1", s[1], 2); assertEquals("2) Check s 2", s[2], 1); assertEquals("2) Check i 0", i[0], 3); assertEquals("2) Check i 1", i[1], 2); assertEquals("2) Check i 2", i[2], 1); assertEquals("2) Check l 0", l[0], 3); assertEquals("2) Check l 1", l[1], 2); assertEquals("2) Check l 2", l[2], 1); assertEquals("2) Check d 0", d[0], 3, 0); assertEquals("2) Check d 1", d[1], 2, 0); assertEquals("2) Check d 2", d[2], 1, 0); assertEquals("2) Check f 0", f[0], 3, 0); assertEquals("2) Check f 1", f[1], 2, 0); assertEquals("2) Check f 2", f[2], 1, 0); assertEquals("2) Check c 0", c[0], 'c'); assertEquals("2) Check c 1", c[1], 'b'); assertEquals("2) Check c 2", c[2], 'a'); assertFalse("2) Check bool 0", bool[0]); assertFalse("2) Check bool 1", bool[0]); assertFalse("2) Check bool 2", bool[0]); upb = (Integer) props.get("upbs"); ups = (Integer) props.get("upss"); upi = (Integer) props.get("upis"); upl = (Integer) props.get("upls"); upd = (Integer) props.get("upds"); upf = (Integer) props.get("upfs"); upc = (Integer) props.get("upcs"); upbool = (Integer) props.get("upbools"); assertEquals("2) Check upb", upb, new Integer(1)); assertEquals("2) Check ups", ups, new Integer(1)); assertEquals("2) Check upi", upi, new Integer(1)); assertEquals("2) Check upl", upl, new Integer(1)); assertEquals("2) Check upd", upd, new Integer(1)); assertEquals("2) Check upf", upf, new Integer(1)); assertEquals("2) Check upc", upc, new Integer(1)); assertEquals("2) Check upbool", upbool, new Integer(1)); } @Test public void testConfigurationPrimitiveArraysStringNoValue() { ServiceReference ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance3.getInstanceName()); assertNotNull("Test check service availability", ref); CheckService check = (CheckService) osgiHelper.getRawServiceObject(ref); Properties props = check.getProps(); byte[] b = (byte[]) props.get("bs"); short[] s = (short[]) props.get("ss"); int[] i = (int[]) props.get("is"); long[] l = (long[]) props.get("ls"); double[] d = (double[]) props.get("ds"); float[] f = (float[]) props.get("fs"); char[] c = (char[]) props.get("cs"); boolean[] bool = (boolean[]) props.get("bools"); assertNull("Check b nullity", b); assertNull("Check s nullity", s); assertNull("Check i nullity", i); assertNull("Check l nullity", l); assertNull("Check d nullity", d); assertNull("Check f nullity", f); assertNull("Check c nullity", c); assertNull("Check bool nullity", bool); Integer upb = (Integer) props.get("upbs"); Integer ups = (Integer) props.get("upss"); Integer upi = (Integer) props.get("upis"); Integer upl = (Integer) props.get("upls"); Integer upd = (Integer) props.get("upds"); Integer upf = (Integer) props.get("upfs"); Integer upc = (Integer) props.get("upcs"); Integer upbool = (Integer) props.get("upbools"); assertEquals("Check upb", upb, new Integer(0)); assertEquals("Check ups", ups, new Integer(0)); assertEquals("Check upi", upi, new Integer(0)); assertEquals("Check upl", upl, new Integer(0)); assertEquals("Check upd", upd, new Integer(0)); assertEquals("Check upf", upf, new Integer(0)); assertEquals("Check upc", upc, new Integer(0)); assertEquals("Check upbool", upbool, new Integer(0)); reconfigureString(instance3); ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance3.getInstanceName()); assertNotNull("Test check service availability", ref); check = (CheckService) osgiHelper.getRawServiceObject(ref); props = check.getProps(); b = (byte[]) props.get("bs"); s = (short[]) props.get("ss"); i = (int[]) props.get("is"); l = (long[]) props.get("ls"); d = (double[]) props.get("ds"); f = (float[]) props.get("fs"); c = (char[]) props.get("cs"); bool = (boolean[]) props.get("bools"); assertEquals("2) Check b 0", b[0], 3); assertEquals("2) Check b 1", b[1], 2); assertEquals("2) Check b 2", b[2], 1); assertEquals("2) Check s 0", s[0], 3); assertEquals("2) Check s 1", s[1], 2); assertEquals("2) Check s 2", s[2], 1); assertEquals("2) Check i 0", i[0], 3); assertEquals("2) Check i 1", i[1], 2); assertEquals("2) Check i 2", i[2], 1); assertEquals("2) Check l 0", l[0], 3); assertEquals("2) Check l 1", l[1], 2); assertEquals("2) Check l 2", l[2], 1); assertEquals("2) Check d 0", d[0], 3, 0); assertEquals("2) Check d 1", d[1], 2, 0); assertEquals("2) Check d 2", d[2], 1, 0); assertEquals("2) Check f 0", f[0], 3, 0); assertEquals("2) Check f 1", f[1], 2, 0); assertEquals("2) Check f 2", f[2], 1, 0); assertEquals("2) Check c 0", c[0], 'c'); assertEquals("2) Check c 1", c[1], 'b'); assertEquals("2) Check c 2", c[2], 'a'); assertFalse("2) Check bool 0", bool[0]); assertFalse("2) Check bool 1", bool[0]); assertFalse("2) Check bool 2", bool[0]); upb = (Integer) props.get("upbs"); ups = (Integer) props.get("upss"); upi = (Integer) props.get("upis"); upl = (Integer) props.get("upls"); upd = (Integer) props.get("upds"); upf = (Integer) props.get("upfs"); upc = (Integer) props.get("upcs"); upbool = (Integer) props.get("upbools"); assertEquals("2) Check upb", upb, new Integer(1)); assertEquals("2) Check ups", ups, new Integer(1)); assertEquals("2) Check upi", upi, new Integer(1)); assertEquals("2) Check upl", upl, new Integer(1)); assertEquals("2) Check upd", upd, new Integer(1)); assertEquals("2) Check upf", upf, new Integer(1)); assertEquals("2) Check upc", upc, new Integer(1)); assertEquals("2) Check upbool", upbool, new Integer(1)); } @Test public void testConfigurationObjNoValue() { ServiceReference ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance3.getInstanceName()); assertNotNull("Test check service availability", ref); CheckService check = (CheckService) osgiHelper.getRawServiceObject(ref); Properties props = check.getProps(); String s = (String) props.get("string"); String[] ss = (String[]) props.get("strings"); assertEquals("Check string", s, null); assertEquals("Check strings", ss, null); Integer upString = (Integer) props.get("upstring"); Integer upStrings = (Integer) props.get("upstrings"); assertEquals("Check upString", upString, new Integer(0)); assertEquals("Check upStrings", upStrings, new Integer(0)); reconfigure(instance3); ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance3.getInstanceName()); assertNotNull("Test check service availability", ref); check = (CheckService) osgiHelper.getRawServiceObject(ref); props = check.getProps(); s = (String) props.get("string"); ss = (String[]) props.get("strings"); assertEquals("2) Check string", s, "bar"); assertEquals("2) Check strings 0", ss[0], "baz"); assertEquals("2) Check strings 1", ss[1], "bar"); assertEquals("2) Check strings 2", ss[2], "foo"); upString = (Integer) props.get("upstring"); upStrings = (Integer) props.get("upstrings"); assertEquals("2) Check upString", upString, new Integer(1)); assertEquals("2) Check upStrings", upStrings, new Integer(1)); } @Test public void testConfigurationObjStringNoValue() { ServiceReference ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance3.getInstanceName()); assertNotNull("Test check service availability", ref); CheckService check = (CheckService) osgiHelper.getRawServiceObject(ref); Properties props = check.getProps(); String s = (String) props.get("string"); String[] ss = (String[]) props.get("strings"); assertEquals("Check string", s, null); assertEquals("Check strings", ss, null); Integer upString = (Integer) props.get("upstring"); Integer upStrings = (Integer) props.get("upstrings"); assertEquals("Check upString", upString, new Integer(0)); assertEquals("Check upStrings", upStrings, new Integer(0)); reconfigureString(instance3); ref = ipojoHelper.getServiceReferenceByName(CheckService.class.getName(), instance3.getInstanceName()); assertNotNull("Test check service availability", ref); check = (CheckService) osgiHelper.getRawServiceObject(ref); props = check.getProps(); s = (String) props.get("string"); ss = (String[]) props.get("strings"); assertEquals("2) Check string", s, "bar"); assertEquals("2) Check strings 0", ss[0], "baz"); assertEquals("2) Check strings 1", ss[1], "bar"); assertEquals("2) Check strings 2", ss[2], "foo"); upString = (Integer) props.get("upstring"); upStrings = (Integer) props.get("upstrings"); assertEquals("2) Check upString", upString, new Integer(1)); assertEquals("2) Check upStrings", upStrings, new Integer(1)); } }