http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-core-test/src/test/java/org/apache/juneau/BeanMapTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/BeanMapTest.java 
b/juneau-core-test/src/test/java/org/apache/juneau/BeanMapTest.java
index 0b328db..a254525 100755
--- a/juneau-core-test/src/test/java/org/apache/juneau/BeanMapTest.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/BeanMapTest.java
@@ -22,6 +22,7 @@ import org.apache.juneau.html.*;
 import org.apache.juneau.json.*;
 import org.apache.juneau.parser.*;
 import org.apache.juneau.transforms.*;
+import org.apache.juneau.uon.*;
 import org.apache.juneau.urlencoding.*;
 import org.apache.juneau.utils.*;
 import org.apache.juneau.xml.*;
@@ -30,11 +31,11 @@ import org.junit.*;
 @SuppressWarnings({"unchecked","rawtypes","serial","javadoc"})
 public class BeanMapTest {
 
-       JsonSerializer serializer = JsonSerializer.DEFAULT_LAX.clone();
+       JsonSerializer serializer = JsonSerializer.DEFAULT_LAX;
 
-       BeanContext bc = ContextFactory.create()
-                       .addToBeanDictionary(MyBeanDictionaryMap.class)
-                       .addPojoSwaps(CalendarSwap.ISO8601DTZ.class)
+       BeanContext bc = PropertyStore.create()
+                       .setBeanDictionary(MyBeanDictionaryMap.class)
+                       .setPojoSwaps(CalendarSwap.ISO8601DTZ.class)
                        .getBeanContext();
        BeanSession session = bc.createSession();
 
@@ -478,7 +479,7 @@ public class BeanMapTest {
                m.put("b", new D2());
                assertEquals("default", t.b.s);
 
-               JsonParser p = new JsonParser().addToBeanDictionary(D2.class);
+               JsonParser p = new 
JsonParserBuilder().beanDictionary(D2.class).build();
                m.put("lb1", new ObjectList("[{_type:'D2',s:'foobar'}]", p));
                assertEquals(ObjectList.class.getName(), 
t.lb1.getClass().getName());
                assertEquals(D2.class.getName(), 
t.lb1.get(0).getClass().getName());
@@ -664,7 +665,7 @@ public class BeanMapTest {
                assertEquals(HEnum.THREE, t7.getEnum2());
 
                // Create instance directly from JSON.
-               JsonParser p = new JsonParser().addToBeanDictionary(H.class);
+               JsonParser p = new 
JsonParserBuilder().beanDictionary(H.class).build();
                t7 = (H)p.parse("{_type:'H',enum1:'THREE',enum2:'ONE'}", 
Object.class);
                assertEquals("{_type:'H',enum1:'THREE',enum2:'ONE'}", 
serializer.serialize(t7));
                assertEquals(HEnum.THREE, t7.enum1);
@@ -956,7 +957,7 @@ public class BeanMapTest {
 
                // JSON
                String json = "{baz:789,foo:123,bar:456}";
-               p = new JsonParser().setIgnoreUnknownBeanProperties(true);
+               p = new 
JsonParserBuilder().ignoreUnknownBeanProperties(true).build();
                t = p.parse(json, O.class);
                assertEquals(123, t.foo);
 
@@ -970,7 +971,7 @@ public class BeanMapTest {
 
                // XML
                String xml = "<object><baz type='number'>789</baz><foo 
type='number'>123</foo><bar type='number'>456</bar></object>";
-               p = new XmlParser().setIgnoreUnknownBeanProperties(true);
+               p = new 
XmlParserBuilder().ignoreUnknownBeanProperties(true).build();
                t = p.parse(xml, O.class);
                assertEquals(123, t.foo);
 
@@ -984,7 +985,7 @@ public class BeanMapTest {
 
                // HTML
                String html = "<table 
_type='object'><tr><th><string>key</string></th><th><string>value</string></th></tr><tr><td><string>baz</string></td><td><number>789</number></td></tr><tr><td><string>foo</string></td><td><number>123</number></td></tr><tr><td><string>bar</string></td><td><number>456</number></td></tr></table>";
-               p = new HtmlParser().setIgnoreUnknownBeanProperties(true);
+               p = new 
HtmlParserBuilder().ignoreUnknownBeanProperties(true).build();
                t = p.parse(html, O.class);
                assertEquals(123, t.foo);
 
@@ -998,12 +999,12 @@ public class BeanMapTest {
 
                // UON
                String uon = "(baz=789,foo=123,bar=456)";
-               p = new UonParser().setIgnoreUnknownBeanProperties(true);
+               p = new 
UonParserBuilder().ignoreUnknownBeanProperties(true).build();
                t = p.parse(uon, O.class);
                assertEquals(123, t.foo);
 
                try {
-                       p = new UonParser();
+                       p = UonParser.DEFAULT;
                        t = p.parse(json, O.class);
                        fail("Expected exception never occurred");
                } catch (Exception e) {
@@ -1012,12 +1013,12 @@ public class BeanMapTest {
 
                // URL-Encoding
                String urlencoding = "baz=789&foo=123&bar=456";
-               p = new 
UrlEncodingParser().setIgnoreUnknownBeanProperties(true);
+               p = new 
UrlEncodingParserBuilder().ignoreUnknownBeanProperties(true).build();
                t = p.parse(urlencoding, O.class);
                assertEquals(123, t.foo);
 
                try {
-                       p = new UrlEncodingParser();
+                       p = UrlEncodingParser.DEFAULT;
                        t = p.parse(json, O.class);
                        fail("Expected exception never occurred");
                } catch (Exception e) {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-core-test/src/test/java/org/apache/juneau/ClassMetaTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core-test/src/test/java/org/apache/juneau/ClassMetaTest.java 
b/juneau-core-test/src/test/java/org/apache/juneau/ClassMetaTest.java
index 10a02a9..e01e5d5 100755
--- a/juneau-core-test/src/test/java/org/apache/juneau/ClassMetaTest.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/ClassMetaTest.java
@@ -115,7 +115,7 @@ public class ClassMetaTest {
                BeanContext bc;
                ClassMeta<?> ooo, hi1, hc1, hi2, hc2;
 
-               bc = ContextFactory.create().getBeanContext();
+               bc = PropertyStore.create().getBeanContext();
                ooo = bc.getClassMeta(Object.class);
                hi1 = bc.getClassMeta(HI1.class);
                hc1 = bc.getClassMeta(HC1.class);
@@ -137,7 +137,7 @@ public class ClassMetaTest {
                assertEquals(hi2.getSerializedClassMeta().getInnerClass(), 
HI2.class);
                assertEquals(hc2.getSerializedClassMeta().getInnerClass(), 
HC2.class);
 
-               bc = 
ContextFactory.create().addPojoSwaps(HI1Swap.class).getBeanContext();
+               bc = 
PropertyStore.create().setPojoSwaps(HI1Swap.class).getBeanContext();
                ooo = bc.getClassMeta(Object.class);
                hi1 = bc.getClassMeta(HI1.class);
                hc1 = bc.getClassMeta(HC1.class);
@@ -159,7 +159,7 @@ public class ClassMetaTest {
                assertEquals(hi2.getSerializedClassMeta().getInnerClass(), 
Map.class);
                assertEquals(hc2.getSerializedClassMeta().getInnerClass(), 
Map.class);
 
-               bc = 
ContextFactory.create().addPojoSwaps(HC1Swap.class).getBeanContext();
+               bc = 
PropertyStore.create().setPojoSwaps(HC1Swap.class).getBeanContext();
                ooo = bc.getClassMeta(Object.class);
                hi1 = bc.getClassMeta(HI1.class);
                hc1 = bc.getClassMeta(HC1.class);
@@ -181,7 +181,7 @@ public class ClassMetaTest {
                assertEquals(hi2.getSerializedClassMeta().getInnerClass(), 
HI2.class);
                assertEquals(hc2.getSerializedClassMeta().getInnerClass(), 
Map.class);
 
-               bc = 
ContextFactory.create().addPojoSwaps(HI2Swap.class).getBeanContext();
+               bc = 
PropertyStore.create().setPojoSwaps(HI2Swap.class).getBeanContext();
                ooo = bc.getClassMeta(Object.class);
                hi1 = bc.getClassMeta(HI1.class);
                hc1 = bc.getClassMeta(HC1.class);
@@ -203,7 +203,7 @@ public class ClassMetaTest {
                assertEquals(hi2.getSerializedClassMeta().getInnerClass(), 
Map.class);
                assertEquals(hc2.getSerializedClassMeta().getInnerClass(), 
Map.class);
 
-               bc = 
ContextFactory.create().addPojoSwaps(HC2Swap.class).getBeanContext();
+               bc = 
PropertyStore.create().setPojoSwaps(HC2Swap.class).getBeanContext();
                ooo = bc.getClassMeta(Object.class);
                hi1 = bc.getClassMeta(HI1.class);
                hc1 = bc.getClassMeta(HC1.class);
@@ -225,7 +225,7 @@ public class ClassMetaTest {
                assertEquals(hi2.getSerializedClassMeta().getInnerClass(), 
HI2.class);
                assertEquals(hc2.getSerializedClassMeta().getInnerClass(), 
Map.class);
 
-               bc = 
ContextFactory.create().addPojoSwaps(HI1Swap.class,HC1Swap.class,HI2Swap.class,HC2Swap.class).getBeanContext();
+               bc = 
PropertyStore.create().setPojoSwaps(HI1Swap.class,HC1Swap.class,HI2Swap.class,HC2Swap.class).getBeanContext();
                ooo = bc.getClassMeta(Object.class);
                hi1 = bc.getClassMeta(HI1.class);
                hc1 = bc.getClassMeta(HC1.class);
@@ -247,7 +247,7 @@ public class ClassMetaTest {
                assertEquals(hi2.getSerializedClassMeta().getInnerClass(), 
Map.class);
                assertEquals(hc2.getSerializedClassMeta().getInnerClass(), 
Map.class);
 
-               bc = 
ContextFactory.create().addPojoSwaps(HC2Swap.class,HI2Swap.class,HC1Swap.class,HI1Swap.class).getBeanContext();
+               bc = 
PropertyStore.create().setPojoSwaps(HC2Swap.class,HI2Swap.class,HC1Swap.class,HI1Swap.class).getBeanContext();
                ooo = bc.getClassMeta(Object.class);
                hi1 = bc.getClassMeta(HI1.class);
                hc1 = bc.getClassMeta(HC1.class);

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-core-test/src/test/java/org/apache/juneau/ComboTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/ComboTest.java 
b/juneau-core-test/src/test/java/org/apache/juneau/ComboTest.java
index cb4b935..4b89c8e 100644
--- a/juneau-core-test/src/test/java/org/apache/juneau/ComboTest.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/ComboTest.java
@@ -12,37 +12,22 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau;
 
-import static org.junit.Assert.assertEquals;
+import static org.apache.juneau.jena.Constants.*;
+import static org.junit.Assert.*;
 
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.IdentityHashMap;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
 
-import org.apache.juneau.html.HtmlParser;
-import org.apache.juneau.html.HtmlSerializer;
-import org.apache.juneau.jena.RdfParser;
-import org.apache.juneau.jena.RdfSerializer;
-import org.apache.juneau.json.JsonParser;
-import org.apache.juneau.json.JsonSerializer;
-import org.apache.juneau.msgpack.MsgPackParser;
-import org.apache.juneau.msgpack.MsgPackSerializer;
-import org.apache.juneau.parser.InputStreamParser;
-import org.apache.juneau.parser.Parser;
-import org.apache.juneau.parser.ReaderParser;
-import org.apache.juneau.serializer.OutputStreamSerializer;
-import org.apache.juneau.serializer.Serializer;
-import org.apache.juneau.serializer.WriterSerializer;
-import org.apache.juneau.urlencoding.UonParser;
-import org.apache.juneau.urlencoding.UonSerializer;
-import org.apache.juneau.urlencoding.UrlEncodingParser;
-import org.apache.juneau.urlencoding.UrlEncodingSerializer;
-import org.apache.juneau.xml.XmlParser;
-import org.apache.juneau.xml.XmlSerializer;
-import org.junit.FixMethodOrder;
-import org.junit.Test;
-import org.junit.runners.MethodSorters;
+import org.apache.juneau.html.*;
+import org.apache.juneau.jena.*;
+import org.apache.juneau.json.*;
+import org.apache.juneau.msgpack.*;
+import org.apache.juneau.parser.*;
+import org.apache.juneau.serializer.*;
+import org.apache.juneau.uon.*;
+import org.apache.juneau.urlencoding.*;
+import org.apache.juneau.xml.*;
+import org.junit.*;
+import org.junit.runners.*;
 
 /**
  * Superclass for tests that verify results against all supported content 
types. 
@@ -297,8 +282,8 @@ public abstract class ComboTest {
        
//--------------------------------------------------------------------------------
        // JSON - 't' property
        
//--------------------------------------------------------------------------------
-       WriterSerializer sJsonT = 
JsonSerializer.DEFAULT_LAX.clone().setBeanTypePropertyName("t");
-       ReaderParser pJsonT = 
JsonParser.DEFAULT.clone().setBeanTypePropertyName("t");
+       WriterSerializer sJsonT = new 
JsonSerializerBuilder().simple().beanTypePropertyName("t").build();
+       ReaderParser pJsonT = new 
JsonParserBuilder().beanTypePropertyName("t").build();
        
        @Test
        public void serializeJsonT() throws Exception {
@@ -345,8 +330,8 @@ public abstract class ComboTest {
        
//--------------------------------------------------------------------------------
        // XML - 't' property
        
//--------------------------------------------------------------------------------
-       WriterSerializer sXmlT = 
XmlSerializer.DEFAULT_SQ.clone().setBeanTypePropertyName("t");
-       ReaderParser pXmlT = 
XmlParser.DEFAULT.clone().setBeanTypePropertyName("t");
+       WriterSerializer sXmlT = new 
XmlSerializerBuilder().sq().beanTypePropertyName("t").build();
+       ReaderParser pXmlT = new 
XmlParserBuilder().beanTypePropertyName("t").build();
        
        @Test
        public void serializeXmlT() throws Exception {
@@ -409,8 +394,8 @@ public abstract class ComboTest {
        
//--------------------------------------------------------------------------------
        // HTML - 't' property
        
//--------------------------------------------------------------------------------
-       WriterSerializer sHtmlT = 
HtmlSerializer.DEFAULT_SQ.clone().setBeanTypePropertyName("t");
-       ReaderParser pHtmlT = 
HtmlParser.DEFAULT.clone().setBeanTypePropertyName("t");
+       WriterSerializer sHtmlT = new 
HtmlSerializerBuilder().sq().beanTypePropertyName("t").build();
+       ReaderParser pHtmlT =  new 
HtmlParserBuilder().beanTypePropertyName("t").build();
        
        @Test
        public void serializeHtmlT() throws Exception {
@@ -457,8 +442,8 @@ public abstract class ComboTest {
        
//--------------------------------------------------------------------------------
        // UON - 't' property
        
//--------------------------------------------------------------------------------
-       WriterSerializer sUonT = 
UonSerializer.DEFAULT.clone().setBeanTypePropertyName("t");
-       ReaderParser pUonT = 
UonParser.DEFAULT.clone().setBeanTypePropertyName("t");
+       WriterSerializer sUonT = new 
UonSerializerBuilder().beanTypePropertyName("t").build();
+       ReaderParser pUonT = new 
UonParserBuilder().beanTypePropertyName("t").build();
        
        @Test
        public void serializeUonT() throws Exception {
@@ -505,8 +490,8 @@ public abstract class ComboTest {
        
//--------------------------------------------------------------------------------
        // UrlEncoding - 't' property
        
//--------------------------------------------------------------------------------
-       WriterSerializer sUrlEncodingT = 
UrlEncodingSerializer.DEFAULT.clone().setBeanTypePropertyName("t");
-       ReaderParser pUrlEncodingT = 
UrlEncodingParser.DEFAULT.clone().setBeanTypePropertyName("t");
+       WriterSerializer sUrlEncodingT = new 
UrlEncodingSerializerBuilder().beanTypePropertyName("t").build();
+       ReaderParser pUrlEncodingT = new 
UrlEncodingParserBuilder().beanTypePropertyName("t").build();
        
        @Test
        public void serializeUrlEncodingT() throws Exception {
@@ -558,8 +543,8 @@ public abstract class ComboTest {
        
//--------------------------------------------------------------------------------
        // MsgPack - 't' property
        
//--------------------------------------------------------------------------------
-       OutputStreamSerializer sMsgPackT = 
MsgPackSerializer.DEFAULT.clone().setBeanTypePropertyName("t");
-       InputStreamParser pMsgPackT = 
MsgPackParser.DEFAULT.clone().setBeanTypePropertyName("t");
+       OutputStreamSerializer sMsgPackT = new 
MsgPackSerializerBuilder().beanTypePropertyName("t").build();
+       InputStreamParser pMsgPackT = new 
MsgPackParserBuilder().beanTypePropertyName("t").build();
        
        @Test
        public void serializeMsgPackT() throws Exception {
@@ -595,8 +580,8 @@ public abstract class ComboTest {
        
//--------------------------------------------------------------------------------
        // RdfXml - 't' property
        
//--------------------------------------------------------------------------------
-       WriterSerializer sRdfXmlT = 
RdfSerializer.DEFAULT_XMLABBREV.clone().setBeanTypePropertyName("t");
-       ReaderParser pRdfXmlT = 
RdfParser.DEFAULT_XML.clone().setBeanTypePropertyName("t");
+       WriterSerializer sRdfXmlT = new 
RdfSerializerBuilder().language(LANG_RDF_XML_ABBREV).beanTypePropertyName("t").build();
+       ReaderParser pRdfXmlT = new 
RdfParserBuilder().beanTypePropertyName("t").build();
        
        @Test
        public void serializeRdfXmlT() throws Exception {
@@ -611,7 +596,7 @@ public abstract class ComboTest {
        
//--------------------------------------------------------------------------------
        // RdfXml - Readable
        
//--------------------------------------------------------------------------------
-       WriterSerializer sRdfXmlR = 
RdfSerializer.DEFAULT_XMLABBREV.clone().setUseWhitespace(true);
+       WriterSerializer sRdfXmlR = new 
RdfSerializerBuilder().language(LANG_RDF_XML_ABBREV).ws().build();
        ReaderParser pRdfXmlR = RdfParser.DEFAULT_XML;
        
        @Test

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-core-test/src/test/java/org/apache/juneau/ContextFactoryTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core-test/src/test/java/org/apache/juneau/ContextFactoryTest.java 
b/juneau-core-test/src/test/java/org/apache/juneau/ContextFactoryTest.java
deleted file mode 100644
index f48b825..0000000
--- a/juneau-core-test/src/test/java/org/apache/juneau/ContextFactoryTest.java
+++ /dev/null
@@ -1,823 +0,0 @@
-// 
***************************************************************************************************************************
-// * 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.juneau;
-
-import static org.apache.juneau.TestUtils.*;
-import static org.junit.Assert.*;
-
-import java.util.*;
-
-import org.apache.juneau.xml.*;
-import org.junit.*;
-
-
-@SuppressWarnings({"rawtypes","javadoc"})
-public class ContextFactoryTest {
-
-       
//====================================================================================================
-       // testSimpleProperties()
-       
//====================================================================================================
-       @Test
-       public void testSimpleProperties() {
-               ContextFactory f = ContextFactory.create();
-
-               f.setProperty("A.f1", "1");
-               f.setProperty("A.f2", "2");
-
-               assertObjectEquals("{'A.f1':'1','A.f2':'2'}", 
f.getPropertyMap("A").asMap());
-
-               f.setProperty("B.f3", "3");
-               f.setProperty("A.f1", String.class);
-               f.setProperty("A.f2", 4);
-
-               assertObjectEquals("{'A.f1':'java.lang.String','A.f2':4}", 
f.getPropertyMap("A").asMap());
-
-               f.setProperty("A.f2", null);
-               f.setProperty("A.f2", null);
-               assertObjectEquals("{'A.f1':'java.lang.String'}", 
f.getPropertyMap("A").asMap());
-
-               try {
-                       f.setProperty(null, null);
-                       fail("Exception expected");
-               } catch (Exception e) {
-                       assertEquals("Invalid property name specified: 'null'", 
e.getMessage());
-               }
-
-               try {
-                       f.addToProperty("A.f1", "foo");
-                       fail("Exception expected");
-               } catch (Exception e) {
-                       assertEquals("Cannot add value 'foo' (java.lang.String) 
to property 'A.f1' (SIMPLE).", e.getMessage());
-               }
-
-               try {
-                       f.removeFromProperty("A.f1", "foo");
-                       fail("Exception expected");
-               } catch (Exception e) {
-                       assertEquals("Cannot remove value 'foo' 
(java.lang.String) from property 'A.f1' (SIMPLE).", e.getMessage());
-               }
-
-               try {
-                       f.putToProperty("A.f1", "foo", "bar");
-                       fail("Exception expected");
-               } catch (Exception e) {
-                       assertEquals("Cannot put value 
'foo'(java.lang.String)->'bar'(java.lang.String) to property 'A.f1' (SIMPLE).", 
e.getMessage());
-               }
-
-               try {
-                       f.putToProperty("A.f1", "foo");
-                       fail("Exception expected");
-               } catch (Exception e) {
-                       assertEquals("Cannot put value 'foo' (java.lang.String) 
to property 'A.f1' (SIMPLE).", e.getMessage());
-               }
-       }
-
-       
//====================================================================================================
-       // testSetProperties()
-       
//====================================================================================================
-       @Test
-       public void testSetProperties() {
-               ContextFactory f = ContextFactory.create();
-               String key = "A.f1.set";
-
-               f.setProperty(key, Arrays.asList(2,3,1));
-               assertObjectEquals("[1,2,3]", f.getProperty(key, int[].class, 
null));
-
-               f.addToProperty(key, 0);
-               f.addToProperty(key, new int[]{4,5});
-               assertObjectEquals("[0,1,2,3,4,5]", f.getProperty(key, 
int[].class, null));
-               f.addToProperty(key, new 
HashSet<String>(Arrays.asList("6","7")));
-               assertObjectEquals("[0,1,2,3,4,5,6,7]", f.getProperty(key, 
int[].class, null));
-               f.addToProperty(key, new int[]{4,5});
-               assertObjectEquals("[0,1,2,3,4,5,6,7]", f.getProperty(key, 
int[].class, null));
-
-               f.removeFromProperty(key, 4);
-               f.removeFromProperty(key, new 
HashSet<String>(Arrays.asList("1")));
-               f.removeFromProperty(key, new String[]{"2","9"});
-               assertObjectEquals("[0,3,5,6,7]", f.getProperty(key, 
int[].class, null));
-               assertObjectEquals("['0','3','5','6','7']", f.getProperty(key, 
String[].class, null));
-
-               f.setProperty(key, Arrays.asList("foo","bar","baz"));
-               assertObjectEquals("['bar','baz','foo']", f.getProperty(key, 
String[].class, null));
-
-               f.setProperty(key, "[1,2,3]");
-               assertObjectEquals("[1,2,3]", f.getProperty(key, int[].class, 
null));
-
-               f.setProperty(key, "['1','2','3']");
-               assertObjectEquals("[1,2,3]", f.getProperty(key, int[].class, 
null));
-
-               try {
-                       f.putToProperty("A.f1.set", "foo");
-                       fail("Exception expected");
-               } catch (Exception e) {
-                       assertEquals("Cannot put value 'foo' (java.lang.String) 
to property 'A.f1.set' (SET).", e.getMessage());
-               }
-
-               try {
-                       f.putToProperty("A.f1.set", "foo", "bar");
-                       fail("Exception expected");
-               } catch (Exception e) {
-                       assertEquals("Cannot put value 
'foo'(java.lang.String)->'bar'(java.lang.String) to property 'A.f1.set' 
(SET).", e.getMessage());
-               }
-       }
-
-       
//====================================================================================================
-       // testListProperties()
-       
//====================================================================================================
-       @Test
-       public void testListProperties() {
-               ContextFactory f = ContextFactory.create();
-               String key = "A.f1.list";
-
-               f.setProperty(key, Arrays.asList(2,3,1));
-               assertObjectEquals("[2,3,1]", f.getProperty(key, int[].class, 
null));
-
-               f.addToProperty(key, 0);
-               f.addToProperty(key, new int[]{4,5});
-               assertObjectEquals("[4,5,0,2,3,1]", f.getProperty(key, 
int[].class, null));
-               f.addToProperty(key, new 
TreeSet<String>(Arrays.asList("6","7")));
-               assertObjectEquals("[6,7,4,5,0,2,3,1]", f.getProperty(key, 
int[].class, null));
-               f.addToProperty(key, new int[]{4,5});
-               assertObjectEquals("[4,5,6,7,0,2,3,1]", f.getProperty(key, 
int[].class, null));
-
-               f.removeFromProperty(key, 4);
-               f.removeFromProperty(key, new 
HashSet<String>(Arrays.asList("1")));
-               f.removeFromProperty(key, new String[]{"2","9"});
-               assertObjectEquals("[5,6,7,0,3]", f.getProperty(key, 
int[].class, null));
-               assertObjectEquals("['5','6','7','0','3']", f.getProperty(key, 
String[].class, null));
-
-               f.setProperty(key, Arrays.asList("foo","bar","baz"));
-               assertObjectEquals("['foo','bar','baz']", f.getProperty(key, 
String[].class, null));
-       }
-
-       
//====================================================================================================
-       // testMapProperties()
-       
//====================================================================================================
-       @SuppressWarnings("serial")
-       @Test
-       public void testMapProperties() {
-               ContextFactory f = ContextFactory.create();
-               String key = "A.f1.map";
-
-               f.setProperty(key, new 
HashMap<String,String>(){{put("1","1");put("3","3");put("2","2");}});
-               assertObjectEquals("{'1':1,'2':2,'3':3}", f.getMap(key, 
Integer.class, Integer.class, null));
-
-               f.setProperty(key, "{'1':1,'2':2,'3':3}");
-               assertObjectEquals("{'1':1,'2':2,'3':3}", f.getMap(key, 
Integer.class, Integer.class, null));
-
-               f.putToProperty(key, "{'3':4,'4':5,'5':6}");
-               assertObjectEquals("{'1':1,'2':2,'3':4,'4':5,'5':6}", 
f.getMap(key, Integer.class, Integer.class, null));
-       }
-
-       
//====================================================================================================
-       // Hash code and comparison
-       
//====================================================================================================
-       @SuppressWarnings({ "serial" })
-       @Test
-       public void testHashCodes() throws Exception {
-               ContextFactory f1 = ContextFactory.create();
-               f1.setProperty("A.a", 1);
-               f1.setProperty("A.b", true);
-               f1.setProperty("A.c", String.class);
-               f1.setProperty("A.d.set", new Object[]{1, true, String.class});
-               f1.setProperty("A.e.map", new 
HashMap<Object,Object>(){{put(true,true);put(1,1);put(String.class,String.class);}});
-
-               ContextFactory f2 = ContextFactory.create();
-               f2.setProperty("A.e.map", new 
HashMap<Object,Object>(){{put("1","1");put("true","true");put("java.lang.String","java.lang.String");}});
-               f2.setProperty("A.d.set", new 
Object[]{"true","1","java.lang.String"});
-               f2.setProperty("A.c", "java.lang.String");
-               f2.setProperty("A.b", "true");
-               f2.setProperty("A.a", "1");
-
-               ContextFactory.PropertyMap p1 = f1.getPropertyMap("A");
-               ContextFactory.PropertyMap p2 = f2.getPropertyMap("A");
-               assertEquals(p1.hashCode(), p2.hashCode());
-       }
-
-       @SuppressWarnings("unchecked")
-       private static class ConversionTest {
-               ContextFactory config = ContextFactory.create();
-               String pName;
-               Object in;
-
-               private ConversionTest(String pName, Object in) {
-                       this.pName = pName;
-                       this.in = in;
-               }
-
-               private ConversionTest test(Class c, String expected) {
-                       try {
-                               config.setProperty(pName, in);
-                               assertObjectEquals(expected, 
config.getProperty(pName, c, null));
-                       } catch (Exception x) {
-                               assertEquals(expected.toString(), 
x.getLocalizedMessage());
-                       }
-                       return this;
-               }
-
-               private ConversionTest testMap(Class k, Class v, String 
expected) {
-                       try {
-                               config.setProperty(pName, in);
-                               assertObjectEquals(expected, 
config.getMap(pName, k, v, null));
-                       } catch (Exception x) {
-                               assertEquals(expected, x.getLocalizedMessage());
-                       }
-                       return this;
-               }
-       }
-
-       
//====================================================================================================
-       // Conversions on simple properties
-       
//====================================================================================================
-       @Test
-       @SuppressWarnings({ "serial" })
-       public void testConversionsOnSimpleProperties() throws Exception {
-               String pName = "A.a";
-
-               
//--------------------------------------------------------------------------------
-               // boolean
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, true)
-                       .test(boolean.class, "true")
-                       .test(int.class, "1")
-                       .test(String.class, "'true'")
-                       .test(Class.class, "Could not retrieve config property 
'A.a'.  Invalid data conversion from type 'java.lang.Boolean' to type 
'java.lang.Class'.  Value=true.")
-                       .test(TestEnum.class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.lang.Boolean' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum'.  Value=true.")
-                       .test(String[].class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.lang.Boolean' to type 
'java.lang.String[]'.  Value=true.")
-                       .test(Class[].class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.lang.Boolean' to type 
'java.lang.Class[]'.  Value=true.")
-                       .test(TestEnum[].class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.lang.Boolean' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum[]'.  Value=true.")
-                       .testMap(String.class, String.class, "Could not 
retrieve config property 'A.a'.  Invalid data conversion from type 
'java.lang.Boolean' to type 
'java.util.LinkedHashMap<java.lang.String,java.lang.String>'.  Value=true.")
-                       .testMap(Class.class, Class.class, "Could not retrieve 
config property 'A.a'.  Invalid data conversion from type 'java.lang.Boolean' 
to type 'java.util.LinkedHashMap<java.lang.Class,java.lang.Class>'.  
Value=true.")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // int
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, 123)
-                       .test(boolean.class, "true")
-                       .test(int.class, "123")
-                       .test(String.class, "'123'")
-                       .test(Class.class, "Could not retrieve config property 
'A.a'.  Invalid data conversion from type 'java.lang.Integer' to type 
'java.lang.Class'.  Value=123.")
-                       .test(TestEnum.class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.lang.Integer' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum'.  Value=123.")
-                       .test(String[].class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.lang.Integer' to type 
'java.lang.String[]'.  Value=123.")
-                       .test(Class[].class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.lang.Integer' to type 
'java.lang.Class[]'.  Value=123.")
-                       .test(TestEnum[].class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.lang.Integer' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum[]'.  Value=123.")
-                       .testMap(String.class, String.class, "Could not 
retrieve config property 'A.a'.  Invalid data conversion from type 
'java.lang.Integer' to type 
'java.util.LinkedHashMap<java.lang.String,java.lang.String>'.  Value=123.")
-                       .testMap(Class.class, Class.class, "Could not retrieve 
config property 'A.a'.  Invalid data conversion from type 'java.lang.Integer' 
to type 'java.util.LinkedHashMap<java.lang.Class,java.lang.Class>'.  
Value=123.")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // Class
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, String.class)
-                       .test(boolean.class, "false")
-                       .test(int.class, "Could not retrieve config property 
'A.a'.  Invalid data conversion from type 'java.lang.Class' to type 'int'.  
Value='java.lang.String'.")
-                       .test(String.class, "'java.lang.String'")
-                       .test(Class.class, "'java.lang.String'")
-                       .test(TestEnum.class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.lang.Class' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum'.  Value='java.lang.String'.")
-                       .test(String[].class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.lang.Class' to type 
'java.lang.String[]'.  Value='java.lang.String'.")
-                       .test(Class[].class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.lang.Class' to type 
'java.lang.Class[]'.  Value='java.lang.String'.")
-                       .test(TestEnum[].class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.lang.Class' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum[]'.  Value='java.lang.String'.")
-                       .testMap(String.class, String.class, "Could not 
retrieve config property 'A.a'.  Invalid data conversion from type 
'java.lang.Class' to type 
'java.util.LinkedHashMap<java.lang.String,java.lang.String>'.  
Value='java.lang.String'.")
-                       .testMap(Class.class, Class.class, "Could not retrieve 
config property 'A.a'.  Invalid data conversion from type 'java.lang.Class' to 
type 'java.util.LinkedHashMap<java.lang.Class,java.lang.Class>'.  
Value='java.lang.String'.")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // String
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, "foo")
-                       .test(boolean.class, "false")
-                       .test(int.class, "Could not retrieve config property 
'A.a'.  Invalid data conversion from type 'java.lang.String' to type 'int'.  
Value='foo'.")
-                       .test(String.class, "'foo'")
-                       .test(Class.class, "Could not retrieve config property 
'A.a'.  Invalid data conversion from type 'java.lang.String' to type 
'java.lang.Class'.  Value='foo'.")
-                       .test(TestEnum.class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.lang.String' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum'.  Value='foo'.")
-                       .test(String[].class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.lang.String' to type 
'java.lang.String[]'.  Value='foo'.")
-                       .test(Class[].class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.lang.String' to type 
'java.lang.Class[]'.  Value='foo'.")
-                       .test(TestEnum[].class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.lang.String' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum[]'.  Value='foo'.")
-                       .testMap(String.class, String.class, "Could not 
retrieve config property 'A.a'.  Invalid data conversion from type 
'java.lang.String' to type 
'java.util.LinkedHashMap<java.lang.String,java.lang.String>'.  Value='foo'.")
-                       .testMap(Class.class, Class.class, "Could not retrieve 
config property 'A.a'.  Invalid data conversion from type 'java.lang.String' to 
type 'java.util.LinkedHashMap<java.lang.Class,java.lang.Class>'.  Value='foo'.")
-               ;
-               new ConversionTest(pName, "java.lang.String")
-                       .test(Class.class, "'java.lang.String'")
-               ;
-               new ConversionTest(pName, "true")
-                       .test(boolean.class, "true")
-               ;
-               new ConversionTest(pName, "ONE")
-                       .test(TestEnum.class, "'ONE'")
-               ;
-               new ConversionTest(pName, "123")
-                       .test(int.class, "123")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // enum
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, TestEnum.ONE)
-                       .test(boolean.class, "false")
-                       .test(int.class, "Could not retrieve config property 
'A.a'.  Invalid data conversion from type 
'org.apache.juneau.ContextFactoryTest$TestEnum' to type 'int'.  Value='ONE'.")
-                       .test(String.class, "'ONE'")
-                       .test(Class.class, "Could not retrieve config property 
'A.a'.  Invalid data conversion from type 
'org.apache.juneau.ContextFactoryTest$TestEnum' to type 'java.lang.Class'.  
Value='ONE'.")
-                       .test(TestEnum.class, "'ONE'")
-                       .test(String[].class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 
'org.apache.juneau.ContextFactoryTest$TestEnum' to type 'java.lang.String[]'.  
Value='ONE'.")
-                       .test(Class[].class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 
'org.apache.juneau.ContextFactoryTest$TestEnum' to type 'java.lang.Class[]'.  
Value='ONE'.")
-                       .test(TestEnum[].class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 
'org.apache.juneau.ContextFactoryTest$TestEnum' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum[]'.  Value='ONE'.")
-                       .testMap(String.class, String.class, "Could not 
retrieve config property 'A.a'.  Invalid data conversion from type 
'org.apache.juneau.ContextFactoryTest$TestEnum' to type 
'java.util.LinkedHashMap<java.lang.String,java.lang.String>'.  Value='ONE'.")
-                       .testMap(Class.class, Class.class, "Could not retrieve 
config property 'A.a'.  Invalid data conversion from type 
'org.apache.juneau.ContextFactoryTest$TestEnum' to type 
'java.util.LinkedHashMap<java.lang.Class,java.lang.Class>'.  Value='ONE'.")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // String[]
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, new String[]{"foo","bar"})
-                       .test(boolean.class, "false")
-                       .test(int.class, "Could not retrieve config property 
'A.a'.  Invalid data conversion from type 'java.lang.String[]' to type 'int'.  
Value=['foo','bar'].")
-                       .test(String.class, "'[\\'foo\\',\\'bar\\']'")
-                       .test(Class.class, "Could not retrieve config property 
'A.a'.  Invalid data conversion from type 'java.lang.String[]' to type 
'java.lang.Class'.  Value=['foo','bar'].")
-                       .test(TestEnum.class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.lang.String[]' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum'.  Value=['foo','bar'].")
-                       .test(String[].class, "['foo','bar']")
-                       .test(Class[].class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.lang.String[]' to type 
'java.lang.Class[]'.  Value=['foo','bar'].")
-                       .test(TestEnum[].class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.lang.String[]' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum[]'.  Value=['foo','bar'].")
-                       .testMap(String.class, String.class, "Could not 
retrieve config property 'A.a'.  Invalid data conversion from type 
'java.lang.String[]' to type 
'java.util.LinkedHashMap<java.lang.String,java.lang.String>'.  
Value=['foo','bar'].")
-                       .testMap(Class.class, Class.class, "Could not retrieve 
config property 'A.a'.  Invalid data conversion from type 'java.lang.String[]' 
to type 'java.util.LinkedHashMap<java.lang.Class,java.lang.Class>'.  
Value=['foo','bar'].")
-               ;
-               new ConversionTest(pName, new String[]{"ONE","TWO"})
-                       .test(TestEnum[].class, "['ONE','TWO']")
-               ;
-               new ConversionTest(pName, new String[]{"true","false"})
-                       .test(boolean[].class, "[true,false]")
-               ;
-               new ConversionTest(pName, new 
String[]{"java.lang.String","java.lang.Integer"})
-                       .test(Class[].class, 
"['java.lang.String','java.lang.Integer']")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // Class[]
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, new 
Class[]{String.class,Integer.class})
-                       .test(boolean.class, "false")
-                       .test(int.class, "Could not retrieve config property 
'A.a'.  Invalid data conversion from type 'java.lang.Class[]' to type 'int'.  
Value=['java.lang.String','java.lang.Integer'].")
-                       .test(String.class, 
"'[\\'java.lang.String\\',\\'java.lang.Integer\\']'")
-                       .test(Class.class, "Could not retrieve config property 
'A.a'.  Invalid data conversion from type 'java.lang.Class[]' to type 
'java.lang.Class'.  Value=['java.lang.String','java.lang.Integer'].")
-                       .test(TestEnum.class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.lang.Class[]' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum'.  
Value=['java.lang.String','java.lang.Integer'].")
-                       .test(String[].class, 
"['java.lang.String','java.lang.Integer']")
-                       .test(Class[].class, 
"['java.lang.String','java.lang.Integer']")
-                       .test(TestEnum[].class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.lang.Class[]' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum[]'.  
Value=['java.lang.String','java.lang.Integer'].")
-                       .testMap(String.class, String.class, "Could not 
retrieve config property 'A.a'.  Invalid data conversion from type 
'java.lang.Class[]' to type 
'java.util.LinkedHashMap<java.lang.String,java.lang.String>'.  
Value=['java.lang.String','java.lang.Integer'].")
-                       .testMap(Class.class, Class.class, "Could not retrieve 
config property 'A.a'.  Invalid data conversion from type 'java.lang.Class[]' 
to type 'java.util.LinkedHashMap<java.lang.Class,java.lang.Class>'.  
Value=['java.lang.String','java.lang.Integer'].")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // enum[]
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, new 
TestEnum[]{TestEnum.ONE,TestEnum.TWO})
-                       .test(boolean.class, "false")
-                       .test(int.class, "Could not retrieve config property 
'A.a'.  Invalid data conversion from type 
'org.apache.juneau.ContextFactoryTest$TestEnum[]' to type 'int'.  
Value=['ONE','TWO'].")
-                       .test(String.class, "'[\\'ONE\\',\\'TWO\\']'")
-                       .test(Class.class, "Could not retrieve config property 
'A.a'.  Invalid data conversion from type 
'org.apache.juneau.ContextFactoryTest$TestEnum[]' to type 'java.lang.Class'.  
Value=['ONE','TWO'].")
-                       .test(TestEnum.class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 
'org.apache.juneau.ContextFactoryTest$TestEnum[]' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum'.  Value=['ONE','TWO'].")
-                       .test(String[].class, "['ONE','TWO']")
-                       .test(Class[].class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 
'org.apache.juneau.ContextFactoryTest$TestEnum[]' to type 'java.lang.Class[]'.  
Value=['ONE','TWO'].")
-                       .test(TestEnum[].class, "['ONE','TWO']")
-                       .testMap(String.class, String.class, "Could not 
retrieve config property 'A.a'.  Invalid data conversion from type 
'org.apache.juneau.ContextFactoryTest$TestEnum[]' to type 
'java.util.LinkedHashMap<java.lang.String,java.lang.String>'.  
Value=['ONE','TWO'].")
-                       .testMap(Class.class, Class.class, "Could not retrieve 
config property 'A.a'.  Invalid data conversion from type 
'org.apache.juneau.ContextFactoryTest$TestEnum[]' to type 
'java.util.LinkedHashMap<java.lang.Class,java.lang.Class>'.  
Value=['ONE','TWO'].")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // Map<String,String>
-               
//--------------------------------------------------------------------------------
-               LinkedHashMap<String,String> m1 = new 
LinkedHashMap<String,String>();
-               m1.put("foo","bar");
-               new ConversionTest(pName, m1)
-                       .test(boolean.class, "false")
-                       .test(int.class, "Could not retrieve config property 
'A.a'.  Invalid data conversion from type 'java.util.LinkedHashMap' to type 
'int'.  Value={foo:'bar'}.")
-                       .test(String.class, "'{foo:\\'bar\\'}'")
-                       .test(Class.class, "Could not retrieve config property 
'A.a'.  Invalid data conversion from type 'java.util.LinkedHashMap' to type 
'java.lang.Class'.  Value={foo:'bar'}.")
-                       .test(TestEnum.class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.util.LinkedHashMap' to 
type 'org.apache.juneau.ContextFactoryTest$TestEnum'.  Value={foo:'bar'}.")
-                       .test(String[].class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.util.LinkedHashMap' to 
type 'java.lang.String[]'.  Value={foo:'bar'}.")
-                       .test(Class[].class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.util.LinkedHashMap' to 
type 'java.lang.Class[]'.  Value={foo:'bar'}.")
-                       .test(TestEnum[].class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.util.LinkedHashMap' to 
type 'org.apache.juneau.ContextFactoryTest$TestEnum[]'.  Value={foo:'bar'}.")
-                       .testMap(String.class, String.class, "{foo:'bar'}")
-                       .testMap(Class.class, Class.class, "Could not retrieve 
config property 'A.a'.  Invalid data conversion from type 
'java.util.LinkedHashMap' to type 
'java.util.LinkedHashMap<java.lang.Class,java.lang.Class>'.  
Value={foo:'bar'}.")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // Map<Class,Class>
-               
//--------------------------------------------------------------------------------
-               LinkedHashMap<Class,Class> m2 = new 
LinkedHashMap<Class,Class>();
-               m2.put(String.class, Integer.class);
-               new ConversionTest(pName, m2)
-                       .test(boolean.class, "false")
-                       .test(int.class, "Could not retrieve config property 
'A.a'.  Invalid data conversion from type 'java.util.LinkedHashMap' to type 
'int'.  Value={'java.lang.String':'java.lang.Integer'}.")
-                       .test(String.class, 
"'{\\'java.lang.String\\':\\'java.lang.Integer\\'}'")
-                       .test(Class.class, "Could not retrieve config property 
'A.a'.  Invalid data conversion from type 'java.util.LinkedHashMap' to type 
'java.lang.Class'.  Value={'java.lang.String':'java.lang.Integer'}.")
-                       .test(TestEnum.class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.util.LinkedHashMap' to 
type 'org.apache.juneau.ContextFactoryTest$TestEnum'.  
Value={'java.lang.String':'java.lang.Integer'}.")
-                       .test(String[].class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.util.LinkedHashMap' to 
type 'java.lang.String[]'.  Value={'java.lang.String':'java.lang.Integer'}.")
-                       .test(Class[].class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.util.LinkedHashMap' to 
type 'java.lang.Class[]'.  Value={'java.lang.String':'java.lang.Integer'}.")
-                       .test(TestEnum[].class, "Could not retrieve config 
property 'A.a'.  Invalid data conversion from type 'java.util.LinkedHashMap' to 
type 'org.apache.juneau.ContextFactoryTest$TestEnum[]'.  
Value={'java.lang.String':'java.lang.Integer'}.")
-                       .testMap(String.class, String.class, 
"{'java.lang.String':'java.lang.Integer'}")
-                       .testMap(Class.class, Class.class, 
"{'java.lang.String':'java.lang.Integer'}")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // Namespace
-               
//--------------------------------------------------------------------------------
-               final Namespace n = new Namespace("foo","bar");
-               new ConversionTest(pName, n)
-                       .test(String.class, "'{name:\\'foo\\',uri:\\'bar\\'}'")
-                       .test(Namespace.class, "{name:'foo',uri:'bar'}");
-
-               
//--------------------------------------------------------------------------------
-               // Namespace[]
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, new Namespace[]{n})
-                       .test(String.class, 
"'[{name:\\'foo\\',uri:\\'bar\\'}]'")
-                       .test(Namespace[].class, "[{name:'foo',uri:'bar'}]");
-
-               
//--------------------------------------------------------------------------------
-               // Map<Namespace,Namespace>
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, new 
LinkedHashMap<Namespace,Namespace>(){{put(n,n);}})
-                       .testMap(Namespace.class, Namespace.class, 
"{'{name:\\'foo\\',uri:\\'bar\\'}':{name:'foo',uri:'bar'}}")
-                       .testMap(String.class, String.class, 
"{'{name:\\'foo\\',uri:\\'bar\\'}':'{name:\\'foo\\',uri:\\'bar\\'}'}");
-       }
-
-       
//====================================================================================================
-       // Conversions on set properties
-       
//====================================================================================================
-       @Test
-       @SuppressWarnings({ "serial" })
-       public void testConversionsOnSetProperties() throws Exception {
-               String pName = "A.a.set";
-
-               
//--------------------------------------------------------------------------------
-               // boolean
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, true)
-                       .test(boolean.class, "false")
-                       .test(int.class, "Could not retrieve config property 
'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'int'.  Value=[true].")
-                       .test(String.class, "'[true]'")
-                       .test(Class.class, "Could not retrieve config property 
'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'java.lang.Class'.  
Value=[true].")
-                       .test(TestEnum.class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum'.  Value=[true].")
-                       .test(String[].class, "['true']")
-                       .test(Class[].class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'java.lang.Class[]'.  
Value=[true].")
-                       .test(TestEnum[].class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum[]'.  Value=[true].")
-                       .testMap(String.class, String.class, "Could not 
retrieve config property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'java.util.LinkedHashMap<java.lang.String,java.lang.String>'.  Value=[true].")
-                       .testMap(Class.class, Class.class, "Could not retrieve 
config property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'java.util.LinkedHashMap<java.lang.Class,java.lang.Class>'.  Value=[true].")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // int
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, 123)
-                       .test(boolean.class, "false")
-                       .test(int.class, "Could not retrieve config property 
'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'int'.  Value=[123].")
-                       .test(String.class, "'[123]'")
-                       .test(Class.class, "Could not retrieve config property 
'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'java.lang.Class'.  
Value=[123].")
-                       .test(TestEnum.class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum'.  Value=[123].")
-                       .test(String[].class, "['123']")
-                       .test(Class[].class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'java.lang.Class[]'.  
Value=[123].")
-                       .test(TestEnum[].class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum[]'.  Value=[123].")
-                       .testMap(String.class, String.class, "Could not 
retrieve config property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'java.util.LinkedHashMap<java.lang.String,java.lang.String>'.  Value=[123].")
-                       .testMap(Class.class, Class.class, "Could not retrieve 
config property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'java.util.LinkedHashMap<java.lang.Class,java.lang.Class>'.  Value=[123].")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // Class
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, String.class)
-                       .test(boolean.class, "false")
-                       .test(int.class, "Could not retrieve config property 
'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'int'.  
Value=['java.lang.String'].")
-                       .test(String.class, "'[\\'java.lang.String\\']'")
-                       .test(Class.class, "Could not retrieve config property 
'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'java.lang.Class'.  
Value=['java.lang.String'].")
-                       .test(TestEnum.class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum'.  Value=['java.lang.String'].")
-                       .test(String[].class, "['java.lang.String']")
-                       .test(Class[].class, "['java.lang.String']")
-                       .test(TestEnum[].class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum[]'.  
Value=['java.lang.String'].")
-                       .testMap(String.class, String.class, "Could not 
retrieve config property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'java.util.LinkedHashMap<java.lang.String,java.lang.String>'.  
Value=['java.lang.String'].")
-                       .testMap(Class.class, Class.class, "Could not retrieve 
config property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'java.util.LinkedHashMap<java.lang.Class,java.lang.Class>'.  
Value=['java.lang.String'].")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // String
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, "foo")
-                       .test(boolean.class, "false")
-                       .test(int.class, "Could not retrieve config property 
'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'int'.  Value=['foo'].")
-                       .test(String.class, "'[\\'foo\\']'")
-                       .test(Class.class, "Could not retrieve config property 
'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'java.lang.Class'.  
Value=['foo'].")
-                       .test(TestEnum.class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum'.  Value=['foo'].")
-                       .test(String[].class, "['foo']")
-                       .test(Class[].class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'java.lang.Class[]'.  
Value=['foo'].")
-                       .test(TestEnum[].class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum[]'.  Value=['foo'].")
-                       .testMap(String.class, String.class, "Could not 
retrieve config property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'java.util.LinkedHashMap<java.lang.String,java.lang.String>'.  Value=['foo'].")
-                       .testMap(Class.class, Class.class, "Could not retrieve 
config property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'java.util.LinkedHashMap<java.lang.Class,java.lang.Class>'.  Value=['foo'].")
-               ;
-               new ConversionTest(pName, Arrays.asList("java.lang.String"))
-                       .test(Class[].class, "['java.lang.String']")
-               ;
-               new ConversionTest(pName, Arrays.asList("true"))
-                       .test(boolean[].class, "[true]")
-               ;
-               new ConversionTest(pName, Arrays.asList("ONE"))
-                       .test(TestEnum[].class, "['ONE']")
-               ;
-               new ConversionTest(pName, Arrays.asList("123"))
-                       .test(int[].class, "[123]")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // enum
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, TestEnum.ONE)
-                       .test(boolean.class, "false")
-                       .test(int.class, "Could not retrieve config property 
'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'int'.  Value=['ONE'].")
-                       .test(String.class, "'[\\'ONE\\']'")
-                       .test(Class.class, "Could not retrieve config property 
'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'java.lang.Class'.  
Value=['ONE'].")
-                       .test(TestEnum.class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum'.  Value=['ONE'].")
-                       .test(String[].class, "['ONE']")
-                       .test(Class[].class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'java.lang.Class[]'.  
Value=['ONE'].")
-                       .test(TestEnum[].class, "['ONE']")
-                       .testMap(String.class, String.class, "Could not 
retrieve config property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'java.util.LinkedHashMap<java.lang.String,java.lang.String>'.  Value=['ONE'].")
-                       .testMap(Class.class, Class.class, "Could not retrieve 
config property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'java.util.LinkedHashMap<java.lang.Class,java.lang.Class>'.  Value=['ONE'].")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // String[]
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, new String[]{"foo","bar"})
-                       .test(boolean.class, "false")
-                       .test(int.class, "Could not retrieve config property 
'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'int'.  
Value=['bar','foo'].")
-                       .test(String.class, "'[\\'bar\\',\\'foo\\']'")
-                       .test(Class.class, "Could not retrieve config property 
'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'java.lang.Class'.  
Value=['bar','foo'].")
-                       .test(TestEnum.class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum'.  Value=['bar','foo'].")
-                       .test(String[].class, "['bar','foo']")
-                       .test(Class[].class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'java.lang.Class[]'.  
Value=['bar','foo'].")
-                       .test(TestEnum[].class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum[]'.  Value=['bar','foo'].")
-                       .testMap(String.class, String.class, "Could not 
retrieve config property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'java.util.LinkedHashMap<java.lang.String,java.lang.String>'.  
Value=['bar','foo'].")
-                       .testMap(Class.class, Class.class, "Could not retrieve 
config property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'java.util.LinkedHashMap<java.lang.Class,java.lang.Class>'.  
Value=['bar','foo'].")
-               ;
-               new ConversionTest(pName, new String[]{"ONE","TWO"})
-                       .test(TestEnum[].class, "['ONE','TWO']")
-               ;
-               new ConversionTest(pName, new String[]{"true","false"})
-                       .test(boolean[].class, "[false,true]")
-               ;
-               new ConversionTest(pName, new 
String[]{"java.lang.String","java.lang.Integer"})
-                       .test(Class[].class, 
"['java.lang.Integer','java.lang.String']")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // Class[]
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, new 
Class[]{String.class,Integer.class})
-                       .test(boolean.class, "false")
-                       .test(int.class, "Could not retrieve config property 
'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'int'.  
Value=['java.lang.Integer','java.lang.String'].")
-                       .test(String.class, 
"'[\\'java.lang.Integer\\',\\'java.lang.String\\']'")
-                       .test(Class.class, "Could not retrieve config property 
'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'java.lang.Class'.  
Value=['java.lang.Integer','java.lang.String'].")
-                       .test(TestEnum.class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum'.  
Value=['java.lang.Integer','java.lang.String'].")
-                       .test(String[].class, 
"['java.lang.Integer','java.lang.String']")
-                       .test(Class[].class, 
"['java.lang.Integer','java.lang.String']")
-                       .test(TestEnum[].class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum[]'.  
Value=['java.lang.Integer','java.lang.String'].")
-                       .testMap(String.class, String.class, "Could not 
retrieve config property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'java.util.LinkedHashMap<java.lang.String,java.lang.String>'.  
Value=['java.lang.Integer','java.lang.String'].")
-                       .testMap(Class.class, Class.class, "Could not retrieve 
config property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'java.util.LinkedHashMap<java.lang.Class,java.lang.Class>'.  
Value=['java.lang.Integer','java.lang.String'].")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // enum[]
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, new 
TestEnum[]{TestEnum.ONE,TestEnum.TWO})
-                       .test(boolean.class, "false")
-                       .test(int.class, "Could not retrieve config property 
'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'int'.  
Value=['ONE','TWO'].")
-                       .test(String.class, "'[\\'ONE\\',\\'TWO\\']'")
-                       .test(Class.class, "Could not retrieve config property 
'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'java.lang.Class'.  
Value=['ONE','TWO'].")
-                       .test(TestEnum.class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum'.  Value=['ONE','TWO'].")
-                       .test(String[].class, "['ONE','TWO']")
-                       .test(Class[].class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'java.lang.Class[]'.  
Value=['ONE','TWO'].")
-                       .test(TestEnum[].class, "['ONE','TWO']")
-                       .testMap(String.class, String.class, "Could not 
retrieve config property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'java.util.LinkedHashMap<java.lang.String,java.lang.String>'.  
Value=['ONE','TWO'].")
-                       .testMap(Class.class, Class.class, "Could not retrieve 
config property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'java.util.LinkedHashMap<java.lang.Class,java.lang.Class>'.  
Value=['ONE','TWO'].")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // Map<String,String>
-               
//--------------------------------------------------------------------------------
-               LinkedHashMap<String,String> m1 = new 
LinkedHashMap<String,String>();
-               m1.put("foo","bar");
-               new ConversionTest(pName, m1)
-                       .test(boolean.class, "false")
-                       .test(int.class, "Could not retrieve config property 
'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'int'.  
Value=[{foo:'bar'}].")
-                       .test(String.class, "'[{foo:\\'bar\\'}]'")
-                       .test(Class.class, "Could not retrieve config property 
'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'java.lang.Class'.  
Value=[{foo:'bar'}].")
-                       .test(TestEnum.class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum'.  Value=[{foo:'bar'}].")
-                       .test(String[].class, "['{foo:\\'bar\\'}']")
-                       .test(Class[].class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'java.lang.Class[]'.  
Value=[{foo:'bar'}].")
-                       .test(TestEnum[].class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum[]'.  Value=[{foo:'bar'}].")
-                       .testMap(String.class, String.class, "Could not 
retrieve config property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'java.util.LinkedHashMap<java.lang.String,java.lang.String>'.  
Value=[{foo:'bar'}].")
-                       .testMap(Class.class, Class.class, "Could not retrieve 
config property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'java.util.LinkedHashMap<java.lang.Class,java.lang.Class>'.  
Value=[{foo:'bar'}].")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // Map<Class,Class>
-               
//--------------------------------------------------------------------------------
-               LinkedHashMap<Class,Class> m2 = new 
LinkedHashMap<Class,Class>();
-               m2.put(String.class, Integer.class);
-               new ConversionTest(pName, m2)
-                       .test(boolean.class, "false")
-                       .test(int.class, "Could not retrieve config property 
'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'int'.  
Value=[{'java.lang.String':'java.lang.Integer'}].")
-                       .test(String.class, 
"'[{\\'java.lang.String\\':\\'java.lang.Integer\\'}]'")
-                       .test(Class.class, "Could not retrieve config property 
'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'java.lang.Class'.  
Value=[{'java.lang.String':'java.lang.Integer'}].")
-                       .test(TestEnum.class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum'.  
Value=[{'java.lang.String':'java.lang.Integer'}].")
-                       .test(String[].class, 
"['{\\'java.lang.String\\':\\'java.lang.Integer\\'}']")
-                       .test(Class[].class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 'java.lang.Class[]'.  
Value=[{'java.lang.String':'java.lang.Integer'}].")
-                       .test(TestEnum[].class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum[]'.  
Value=[{'java.lang.String':'java.lang.Integer'}].")
-                       .testMap(String.class, String.class, "Could not 
retrieve config property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'java.util.LinkedHashMap<java.lang.String,java.lang.String>'.  
Value=[{'java.lang.String':'java.lang.Integer'}].")
-                       .testMap(Class.class, Class.class, "Could not retrieve 
config property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'java.util.LinkedHashMap<java.lang.Class,java.lang.Class>'.  
Value=[{'java.lang.String':'java.lang.Integer'}].")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // Namespace
-               
//--------------------------------------------------------------------------------
-               final Namespace n = new Namespace("foo","bar");
-               new ConversionTest(pName, Arrays.asList(n))
-                       .test(String.class, 
"'[{name:\\'foo\\',uri:\\'bar\\'}]'")
-                       .test(Namespace.class, "Could not retrieve config 
property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'org.apache.juneau.xml.Namespace'.  Value=[{name:'foo',uri:'bar'}].");
-
-               
//--------------------------------------------------------------------------------
-               // Namespace[]
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, new Namespace[]{n})
-                       .test(String.class, 
"'[{name:\\'foo\\',uri:\\'bar\\'}]'")
-                       .test(Namespace[].class, "[{name:'foo',uri:'bar'}]");
-
-               
//--------------------------------------------------------------------------------
-               // Map<Namespace,Namespace>
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, new 
LinkedHashMap<Namespace,Namespace>(){{put(n,n);}})
-                       .testMap(Namespace.class, Namespace.class, "Could not 
retrieve config property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'java.util.LinkedHashMap<org.apache.juneau.xml.Namespace,org.apache.juneau.xml.Namespace>'.
  Value=[{'{name:\\'foo\\',uri:\\'bar\\'}':{name:'foo',uri:'bar'}}].")
-                       .testMap(String.class, String.class, "Could not 
retrieve config property 'A.a.set'.  Invalid data conversion from type 
'java.util.concurrent.ConcurrentSkipListSet' to type 
'java.util.LinkedHashMap<java.lang.String,java.lang.String>'.  
Value=[{'{name:\\'foo\\',uri:\\'bar\\'}':{name:'foo',uri:'bar'}}].");
-       }
-
-
-       
//====================================================================================================
-       // Conversions on map properties
-       
//====================================================================================================
-       @Test
-       @SuppressWarnings({ "serial" })
-       public void testConversionsOnMapProperties() throws Exception {
-               String pName = "A.a.map";
-
-               
//--------------------------------------------------------------------------------
-               // boolean
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, true)
-                       .test(boolean.class, "Cannot put value true 
(java.lang.Boolean) to property 'A.a.map' (MAP).")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // int
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, 123)
-                       .test(int.class, "Cannot put value 123 
(java.lang.Integer) to property 'A.a.map' (MAP).")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // Class
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, String.class)
-                       .test(Class.class, "Cannot put value 'java.lang.String' 
(java.lang.Class) to property 'A.a.map' (MAP).")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // String
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, "foo")
-                       .test(String.class, "Cannot put value 'foo' 
(java.lang.String) to property 'A.a.map' (MAP).")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // enum
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, TestEnum.ONE)
-                       .test(TestEnum.class, "Cannot put value 'ONE' 
(org.apache.juneau.ContextFactoryTest$TestEnum) to property 'A.a.map' (MAP).")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // String[]
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, new String[]{"foo","bar"})
-                       .test(String[].class, "Cannot put value ['foo','bar'] 
(java.lang.String[]) to property 'A.a.map' (MAP).")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // Class[]
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, new 
Class[]{String.class,Integer.class})
-                       .test(Class[].class, "Cannot put value 
['java.lang.String','java.lang.Integer'] (java.lang.Class[]) to property 
'A.a.map' (MAP).")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // enum[]
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, new 
TestEnum[]{TestEnum.ONE,TestEnum.TWO})
-                       .test(TestEnum[].class, "Cannot put value ['ONE','TWO'] 
(org.apache.juneau.ContextFactoryTest$TestEnum[]) to property 'A.a.map' (MAP).")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // Map<String,String>
-               
//--------------------------------------------------------------------------------
-               LinkedHashMap<String,String> m1 = new 
LinkedHashMap<String,String>();
-               m1.put("foo","bar");
-               new ConversionTest(pName, m1)
-                       .test(boolean.class, "false")
-                       .test(int.class, "Could not retrieve config property 
'A.a.map'.  Invalid data conversion from type 
'java.util.Collections$SynchronizedMap' to type 'int'.  Value={foo:'bar'}.")
-                       .test(String.class, "'{foo:\\'bar\\'}'")
-                       .test(Class.class, "Could not retrieve config property 
'A.a.map'.  Invalid data conversion from type 
'java.util.Collections$SynchronizedMap' to type 'java.lang.Class'.  
Value={foo:'bar'}.")
-                       .test(TestEnum.class, "Could not retrieve config 
property 'A.a.map'.  Invalid data conversion from type 
'java.util.Collections$SynchronizedMap' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum'.  Value={foo:'bar'}.")
-                       .test(String[].class, "Could not retrieve config 
property 'A.a.map'.  Invalid data conversion from type 
'java.util.Collections$SynchronizedMap' to type 'java.lang.String[]'.  
Value={foo:'bar'}.")
-                       .test(Class[].class, "Could not retrieve config 
property 'A.a.map'.  Invalid data conversion from type 
'java.util.Collections$SynchronizedMap' to type 'java.lang.Class[]'.  
Value={foo:'bar'}.")
-                       .test(TestEnum[].class, "Could not retrieve config 
property 'A.a.map'.  Invalid data conversion from type 
'java.util.Collections$SynchronizedMap' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum[]'.  Value={foo:'bar'}.")
-                       .testMap(String.class, String.class, "{foo:'bar'}")
-                       .testMap(Class.class, Class.class, "Could not retrieve 
config property 'A.a.map'.  Invalid data conversion from type 
'java.util.Collections$SynchronizedMap' to type 
'java.util.LinkedHashMap<java.lang.Class,java.lang.Class>'.  
Value={foo:'bar'}.")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // Map<Class,Class>
-               
//--------------------------------------------------------------------------------
-               LinkedHashMap<Class,Class> m2 = new 
LinkedHashMap<Class,Class>();
-               m2.put(String.class, Integer.class);
-               new ConversionTest(pName, m2)
-                       .test(boolean.class, "false")
-                       .test(int.class, "Could not retrieve config property 
'A.a.map'.  Invalid data conversion from type 
'java.util.Collections$SynchronizedMap' to type 'int'.  
Value={'java.lang.String':'java.lang.Integer'}.")
-                       .test(String.class, 
"'{\\'java.lang.String\\':\\'java.lang.Integer\\'}'")
-                       .test(Class.class, "Could not retrieve config property 
'A.a.map'.  Invalid data conversion from type 
'java.util.Collections$SynchronizedMap' to type 'java.lang.Class'.  
Value={'java.lang.String':'java.lang.Integer'}.")
-                       .test(TestEnum.class, "Could not retrieve config 
property 'A.a.map'.  Invalid data conversion from type 
'java.util.Collections$SynchronizedMap' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum'.  
Value={'java.lang.String':'java.lang.Integer'}.")
-                       .test(String[].class, "Could not retrieve config 
property 'A.a.map'.  Invalid data conversion from type 
'java.util.Collections$SynchronizedMap' to type 'java.lang.String[]'.  
Value={'java.lang.String':'java.lang.Integer'}.")
-                       .test(Class[].class, "Could not retrieve config 
property 'A.a.map'.  Invalid data conversion from type 
'java.util.Collections$SynchronizedMap' to type 'java.lang.Class[]'.  
Value={'java.lang.String':'java.lang.Integer'}.")
-                       .test(TestEnum[].class, "Could not retrieve config 
property 'A.a.map'.  Invalid data conversion from type 
'java.util.Collections$SynchronizedMap' to type 
'org.apache.juneau.ContextFactoryTest$TestEnum[]'.  
Value={'java.lang.String':'java.lang.Integer'}.")
-                       .testMap(String.class, String.class, 
"{'java.lang.String':'java.lang.Integer'}")
-                       .testMap(Class.class, Class.class, 
"{'java.lang.String':'java.lang.Integer'}")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // Namespace
-               
//--------------------------------------------------------------------------------
-               final Namespace n = new Namespace("foo","bar");
-               new ConversionTest(pName, Arrays.asList(n))
-                       .test(String.class, "Cannot put value 
[{name:'foo',uri:'bar'}] (java.util.Arrays$ArrayList) to property 'A.a.map' 
(MAP).")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // Namespace[]
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, new Namespace[]{n})
-                       .test(String.class, "Cannot put value 
[{name:'foo',uri:'bar'}] (org.apache.juneau.xml.Namespace[]) to property 
'A.a.map' (MAP).")
-               ;
-
-               
//--------------------------------------------------------------------------------
-               // Map<Namespace,Namespace>
-               
//--------------------------------------------------------------------------------
-               new ConversionTest(pName, new 
LinkedHashMap<Namespace,Namespace>(){{put(n,n);}})
-                       .testMap(Namespace.class, Namespace.class, 
"{'{name:\\'foo\\',uri:\\'bar\\'}':{name:'foo',uri:'bar'}}")
-                       .testMap(String.class, String.class, 
"{'{name:\\'foo\\',uri:\\'bar\\'}':'{name:\\'foo\\',uri:\\'bar\\'}'}");
-       }
-
-       public enum TestEnum {
-               ONE,TWO,TREE;
-       }
-
-       
//====================================================================================================
-       // testSystemPropertyDefaults()
-       
//====================================================================================================
-       @Test
-       public void testSystemPropertyDefaults() {
-               System.setProperty("Foo.f1", "true");
-               System.setProperty("Foo.f2", "123");
-               System.setProperty("Foo.f3", "TWO");
-
-               ContextFactory f = ContextFactory.create();
-
-               assertObjectEquals("true", f.getProperty("Foo.f1", 
boolean.class, false));
-               assertObjectEquals("123", f.getProperty("Foo.f2", int.class, 
0));
-               assertObjectEquals("'TWO'", f.getProperty("Foo.f3", 
TestEnum.class, TestEnum.ONE));
-
-               f.setProperty("Foo.f1", false);
-               f.setProperty("Foo.f2", 456);
-               f.setProperty("Foo.f3", TestEnum.TREE);
-
-               assertObjectEquals("false", f.getProperty("Foo.f1", 
boolean.class, false));
-               assertObjectEquals("456", f.getProperty("Foo.f2", int.class, 
0));
-               assertObjectEquals("'TREE'", f.getProperty("Foo.f3", 
TestEnum.class, TestEnum.ONE));
-       }
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-core-test/src/test/java/org/apache/juneau/DataConversionTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core-test/src/test/java/org/apache/juneau/DataConversionTest.java 
b/juneau-core-test/src/test/java/org/apache/juneau/DataConversionTest.java
index d3d8ed1..be7c264 100755
--- a/juneau-core-test/src/test/java/org/apache/juneau/DataConversionTest.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/DataConversionTest.java
@@ -144,7 +144,7 @@ public class DataConversionTest {
        @Test
        public void testObjectSwaps() throws Exception {
                String s = "Jan 12, 2001";
-               BeanSession session = 
ContextFactory.create().addPojoSwaps(CalendarSwap.DateMedium.class).getBeanContext().createSession();
+               BeanSession session = 
PropertyStore.create().setPojoSwaps(CalendarSwap.DateMedium.class).getBeanContext().createSession();
                Calendar c = session.convertToType(s, GregorianCalendar.class);
                assertEquals(2001, c.get(Calendar.YEAR));
                c = session.convertToType(s, Calendar.class);

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-core-test/src/test/java/org/apache/juneau/IgnoredClassesTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core-test/src/test/java/org/apache/juneau/IgnoredClassesTest.java 
b/juneau-core-test/src/test/java/org/apache/juneau/IgnoredClassesTest.java
index 28674f3..e22d86d 100755
--- a/juneau-core-test/src/test/java/org/apache/juneau/IgnoredClassesTest.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/IgnoredClassesTest.java
@@ -41,24 +41,24 @@ public class IgnoredClassesTest {
        @Test
        public void testIgnorePackages() throws Exception {
                A a = new A();
-               JsonSerializer s = new JsonSerializer.Simple();
-               assertEquals("{f1:'isBean'}", s.serialize(a));
-               s.addNotBeanPackages("org.apache.juneau");
-               assertEquals("'isNotBean'", s.serialize(a));
+               JsonSerializerBuilder s = new JsonSerializerBuilder().simple();
+               assertEquals("{f1:'isBean'}", s.build().serialize(a));
+               s.notBeanPackages("org.apache.juneau");
+               assertEquals("'isNotBean'", s.build().serialize(a));
                s.removeNotBeanPackages("org.apache.juneau");
-               assertEquals("{f1:'isBean'}", s.serialize(a));
-               s.addNotBeanPackages("org.apache.juneau.*");
-               assertEquals("'isNotBean'", s.serialize(a));
+               assertEquals("{f1:'isBean'}", s.build().serialize(a));
+               s.notBeanPackages("org.apache.juneau.*");
+               assertEquals("'isNotBean'", s.build().serialize(a));
                s.removeNotBeanPackages("org.apache.juneau.*");
-               assertEquals("{f1:'isBean'}", s.serialize(a));
-               s.addNotBeanPackages("org.apache.juneau.*");
-               assertEquals("'isNotBean'", s.serialize(a));
+               assertEquals("{f1:'isBean'}", s.build().serialize(a));
+               s.notBeanPackages("org.apache.juneau.*");
+               assertEquals("'isNotBean'", s.build().serialize(a));
                s.removeNotBeanPackages("org.apache.juneau.*");
-               assertEquals("{f1:'isBean'}", s.serialize(a));
-               s.addNotBeanPackages("org.apache.juneau");
-               assertEquals("'isNotBean'", s.serialize(a));
-               s.addNotBeanPackages("org.apache.juneau.x");
-               assertEquals("'isNotBean'", s.serialize(a));
+               assertEquals("{f1:'isBean'}", s.build().serialize(a));
+               s.notBeanPackages("org.apache.juneau");
+               assertEquals("'isNotBean'", s.build().serialize(a));
+               s.notBeanPackages("org.apache.juneau.x");
+               assertEquals("'isNotBean'", s.build().serialize(a));
        }
 
        public static class A {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-core-test/src/test/java/org/apache/juneau/MediaRangeTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core-test/src/test/java/org/apache/juneau/MediaRangeTest.java 
b/juneau-core-test/src/test/java/org/apache/juneau/MediaRangeTest.java
index f3fd216..882ca6a 100644
--- a/juneau-core-test/src/test/java/org/apache/juneau/MediaRangeTest.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/MediaRangeTest.java
@@ -12,15 +12,14 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau;
 
-import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.*;
 
-import java.util.Arrays;
-import java.util.Collection;
+import java.util.*;
 
-import org.apache.juneau.json.JsonSerializer;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
+import org.apache.juneau.json.*;
+import org.junit.*;
+import org.junit.runner.*;
+import org.junit.runners.*;
 
 /**
  * Verifies that the MediaRange and MediaType classes parse and sort Accept 
headers correctly.

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/95e832e1/juneau-core-test/src/test/java/org/apache/juneau/PojoSwapTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/PojoSwapTest.java 
b/juneau-core-test/src/test/java/org/apache/juneau/PojoSwapTest.java
index d9b7944..5fa73b2 100755
--- a/juneau-core-test/src/test/java/org/apache/juneau/PojoSwapTest.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/PojoSwapTest.java
@@ -29,8 +29,8 @@ public class PojoSwapTest {
        
//====================================================================================================
        @Test
        public void testSameType() throws Exception {
-               JsonSerializer s = 
JsonSerializer.DEFAULT_LAX.clone().addPojoSwaps(ASwap.class);
-               JsonParser p = 
JsonParser.DEFAULT.clone().addPojoSwaps(ASwap.class);
+               JsonSerializer s = new 
JsonSerializerBuilder().simple().pojoSwaps(ASwap.class).build();
+               JsonParser p = new 
JsonParserBuilder().pojoSwaps(ASwap.class).build();
                String r;
 
                r = s.serialize("foobar");

Reply via email to