/* | |
* 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 java.util.Properties; | |
import static junit.framework.Assert.assertEquals; | |
import static org.junit.Assert.*; | |
public class TestBothProperties extends Common { | |
ComponentInstance instance, instance2; | |
@Before | |
public void setUp() { | |
Factory fact = ipojoHelper.getFactory("CONFIG-BothConfigurableCheckService"); | |
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()); | |
} | |
try { | |
instance2 = fact.createComponentInstance(null); | |
} catch (Exception e) { | |
fail("Cannot create the under-test instance2 : " + e.getMessage()); | |
} | |
} | |
@After | |
public void tearDown() { | |
instance.dispose(); | |
instance2.dispose(); | |
instance = null; | |
instance2 = 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"), 0); | |
assertEquals("Check f", f, new Float("1"), 0); | |
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"), 0); | |
assertEquals("2) Check f", f, new Float("2"), 0); | |
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"), 0); | |
assertEquals("Check f", f, new Float("1"), 0); | |
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"), 0); | |
assertEquals("2) Check f", f, new Float("2"), 0); | |
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, 0); | |
assertEquals("Check d 1", d[1], 2.0, 0); | |
assertEquals("Check d 2", d[2], 3.0, 0); | |
assertEquals("Check f 0", f[0], 1.0, 0); | |
assertEquals("Check f 1", f[1], 2.0, 0); | |
assertEquals("Check f 2", f[2], 3.0, 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, 0); | |
assertEquals("2) Check d 1", d[1], 2.0, 0); | |
assertEquals("2) Check d 2", d[2], 1.0, 0); | |
assertEquals("2) Check f 0", f[0], 3.0, 0); | |
assertEquals("2) Check f 1", f[1], 2.0, 0); | |
assertEquals("2) Check f 2", f[2], 1.0, 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, 0); | |
assertEquals("Check d 1", d[1], 2.0, 0); | |
assertEquals("Check d 2", d[2], 3.0, 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, 0); | |
assertEquals("2) Check d 1", d[1], 2.0, 0); | |
assertEquals("2) Check d 2", d[2], 1.0, 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)); | |
} | |
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(), 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("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"), 0); | |
assertEquals("Check f", f, new Float("0"), 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(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"), 0); | |
assertEquals("2) Check f", f, new Float("2"), 0); | |
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)); // TODO Why 0 ??? | |
} | |
@Test | |
public void testConfigurationPrimitiveArraysNoValue() { | |
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"); | |
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(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, 0); | |
assertEquals("2) Check d 1", d[1], 2.0, 0); | |
assertEquals("2) Check d 2", d[2], 1.0, 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(), 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, 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(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(1)); | |
assertEquals("2) Check upstrings", upStrings, new Integer(1)); | |
} | |
} |