http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/parser/ParserGroupTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/parser/ParserGroupTest.java b/juneau-core-test/src/test/java/org/apache/juneau/parser/ParserGroupTest.java deleted file mode 100755 index 62b17dc..0000000 --- a/juneau-core-test/src/test/java/org/apache/juneau/parser/ParserGroupTest.java +++ /dev/null @@ -1,116 +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.parser; - -import static org.apache.juneau.TestUtils.*; - -import org.apache.juneau.*; -import org.apache.juneau.json.*; -import org.junit.*; - -@SuppressWarnings({"javadoc"}) -public class ParserGroupTest { - - //==================================================================================================== - // Test parser group matching - //==================================================================================================== - @Test - public void testParserGroupMatching() throws Exception { - - ParserGroup g = new ParserGroupBuilder().append(Parser1.class, Parser2.class, Parser3.class).build(); - assertType(Parser1.class, g.getParser("text/foo")); - assertType(Parser1.class, g.getParser("text/foo_a")); - assertType(Parser1.class, g.getParser("text/foo_a+xxx")); - assertType(Parser1.class, g.getParser("text/xxx+foo_a")); - assertType(Parser2.class, g.getParser("text/foo+bar")); - assertType(Parser2.class, g.getParser("text/foo+bar_a")); - assertType(Parser2.class, g.getParser("text/bar+foo")); - assertType(Parser2.class, g.getParser("text/bar+foo+xxx")); - assertType(Parser3.class, g.getParser("text/baz")); - assertType(Parser3.class, g.getParser("text/baz_a")); - assertType(Parser3.class, g.getParser("text/baz+yyy")); - assertType(Parser3.class, g.getParser("text/baz_a+yyy")); - assertType(Parser3.class, g.getParser("text/yyy+baz")); - assertType(Parser3.class, g.getParser("text/yyy+baz_a")); - } - - - public static class Parser1 extends JsonParser { - public Parser1(PropertyStore propertyStore) { - super(propertyStore, "text/foo", "text/foo_a"); - } - } - - public static class Parser2 extends JsonParser { - public Parser2(PropertyStore propertyStore) { - super(propertyStore, "text/foo+bar", "text/foo+bar_a"); - } - } - - public static class Parser3 extends JsonParser { - public Parser3(PropertyStore propertyStore) { - super(propertyStore, "text/baz", "text/baz_a"); - } - } - - //==================================================================================================== - // Test inheritence - //==================================================================================================== - @Test - public void testInheritence() throws Exception { - ParserGroupBuilder gb = null; - ParserGroup g = null; - - gb = new ParserGroupBuilder().append(P1.class, P2.class); - g = gb.build(); - assertObjectEquals("['text/1','text/2','text/2a']", g.getSupportedMediaTypes()); - - gb = new ParserGroupBuilder(g).append(P3.class, P4.class); - g = gb.build(); - assertObjectEquals("['text/3','text/4','text/4a','text/1','text/2','text/2a']", g.getSupportedMediaTypes()); - - gb = new ParserGroupBuilder(g).append(P5.class); - g = gb.build(); - assertObjectEquals("['text/5','text/3','text/4','text/4a','text/1','text/2','text/2a']", g.getSupportedMediaTypes()); - } - - public static class P1 extends JsonParser { - public P1(PropertyStore propertyStore) { - super(propertyStore, "text/1"); - } - } - - public static class P2 extends JsonParser { - public P2(PropertyStore propertyStore) { - super(propertyStore, "text/2", "text/2a"); - } - } - - public static class P3 extends JsonParser { - public P3(PropertyStore propertyStore) { - super(propertyStore, "text/3"); - } - } - - public static class P4 extends JsonParser { - public P4(PropertyStore propertyStore) { - super(propertyStore, "text/4", "text/4a"); - } - } - - public static class P5 extends JsonParser { - public P5(PropertyStore propertyStore) { - super(propertyStore, "text/5"); - } - } -}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/serializer/ReaderObjectComboTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/serializer/ReaderObjectComboTest.java b/juneau-core-test/src/test/java/org/apache/juneau/serializer/ReaderObjectComboTest.java deleted file mode 100644 index b439593..0000000 --- a/juneau-core-test/src/test/java/org/apache/juneau/serializer/ReaderObjectComboTest.java +++ /dev/null @@ -1,439 +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.serializer; - -import java.io.*; -import java.util.*; - -import org.apache.juneau.*; -import org.apache.juneau.internal.*; -import org.apache.juneau.utils.*; -import org.junit.runner.*; -import org.junit.runners.*; - -/** - * Verifies that Reader and InputStream objects are serialized correctly. - * Note that these are one-way serializations and you're not guaranteed to produce parsable output. - */ -@RunWith(Parameterized.class) -@SuppressWarnings({"javadoc"}) -public class ReaderObjectComboTest extends ComboSerializeTest { - - @Parameterized.Parameters - public static Collection<Object[]> getParameters() { - return Arrays.asList(new Object[][] { - { /* 0 */ - new ComboInput<Reader>( - "SimpleReader", - Reader.class, - null, - /* Json */ "foobar", - /* JsonT */ "foobar", - /* JsonR */ "foobar", - /* Xml */ "foobar", - /* XmlT */ "foobar", - /* XmlR */ "foobar\n", - /* XmlNs */ "foobar", - /* Html */ "foobar", - /* HtmlT */ "foobar", - /* HtmlR */ "foobar", - /* Uon */ "foobar", - /* UonT */ "foobar", - /* UonR */ "foobar", - /* UrlEnc */ "foobar", - /* UrlEncT */ "foobar", - /* UrlEncR */ "foobar", - /* MsgPack */ "666F6F626172", - /* MsgPackT */ "666F6F626172", - /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<j:value>foobar</j:value>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<j:value>foobar</j:value>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <j:value>foobar</j:value>\n </rdf:Description>\n</rdf:RDF>\n" - ) { - @Override - public Reader getInput() { - return new StringReader("foobar"); - } - } - }, - { /* 1 */ - new ComboInput<InputStream>( - "SimpleInputStream", - InputStream.class, - null, - /* Json */ "foobar", - /* JsonT */ "foobar", - /* JsonR */ "foobar", - /* Xml */ "foobar", - /* XmlT */ "foobar", - /* XmlR */ "foobar\n", - /* XmlNs */ "foobar", - /* Html */ "foobar", - /* HtmlT */ "foobar", - /* HtmlR */ "foobar", - /* Uon */ "foobar", - /* UonT */ "foobar", - /* UonR */ "foobar", - /* UrlEnc */ "foobar", - /* UrlEncT */ "foobar", - /* UrlEncR */ "foobar", - /* MsgPack */ "666F6F626172", - /* MsgPackT */ "666F6F626172", - /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<j:value>foobar</j:value>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<j:value>foobar</j:value>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <j:value>foobar</j:value>\n </rdf:Description>\n</rdf:RDF>\n" - ) { - @Override - public InputStream getInput() throws Exception { - return IOUtils.toInputStream("foobar"); - } - } - }, - { /* 2 */ - new ComboInput<BeanWithReaderField>( - "BeanWithReaderField", - BeanWithReaderField.class, - null, - /* Json */ "{f:fv}", - /* JsonT */ "{f:fv}", - /* JsonR */ "{\n\tf: fv\n}", - /* Xml */ "<object><f>fv</f></object>", - /* XmlT */ "<object><f>fv</f></object>", - /* XmlR */ "<object>\n\t<f>fv</f>\n</object>\n", - /* XmlNs */ "<object><f>fv</f></object>", - /* Html */ "<table><tr><td>f</td><td>fv</td></tr></table>", - /* HtmlT */ "<table><tr><td>f</td><td>fv</td></tr></table>", - /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>f</td>\n\t\t<td>fv</td>\n\t</tr>\n</table>\n", - /* Uon */ "(f=fv)", - /* UonT */ "(f=fv)", - /* UonR */ "(\n\tf=fv\n)", - /* UrlEnc */ "f=fv", - /* UrlEncT */ "f=fv", - /* UrlEncR */ "f=fv", - /* MsgPack */ "81A1666676", - /* MsgPackT */ "81A1666676", - /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:f>fv</jp:f>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:f>fv</jp:f>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:f>fv</jp:f>\n </rdf:Description>\n</rdf:RDF>\n" - ) { - @Override - public BeanWithReaderField getInput() throws Exception { - return new BeanWithReaderField().init(); - } - } - }, - { /* 3 */ - new ComboInput<BeanWithReader1dField>( - "BeanWithReader1dField", - BeanWithReader1dField.class, - null, - /* Json */ "{f:[fv1,fv2,null]}", - /* JsonT */ "{f:[fv1,fv2,null]}", - /* JsonR */ "{\n\tf: [\n\t\tfv1,\n\t\tfv2,\n\t\tnull\n\t]\n}", - /* Xml */ "<object><f>fv1fv2<null/></f></object>", - /* XmlT */ "<object><f>fv1fv2<null/></f></object>", - /* XmlR */ "<object>\n\t<f>\n\t\tfv1\n\t\tfv2\n\t\t<null/>\n\t</f>\n</object>\n", - /* XmlNs */ "<object><f>fv1fv2<null/></f></object>", - /* Html */ "<table><tr><td>f</td><td><ul><li>fv1</li><li>fv2</li><li><null/></li></ul></td></tr></table>", - /* HtmlT */ "<table><tr><td>f</td><td><ul><li>fv1</li><li>fv2</li><li><null/></li></ul></td></tr></table>", - /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>f</td>\n\t\t<td>\n\t\t\t<ul>\n\t\t\t\t<li>fv1</li>\n\t\t\t\t<li>fv2</li>\n\t\t\t\t<li><null/></li>\n\t\t\t</ul>\n\t\t</td>\n\t</tr>\n</table>\n", - /* Uon */ "(f=@(fv1,fv2,null))", - /* UonT */ "(f=@(fv1,fv2,null))", - /* UonR */ "(\n\tf=@(\n\t\tfv1,\n\t\tfv2,\n\t\tnull\n\t)\n)", - /* UrlEnc */ "f=@(fv1,fv2,null)", - /* UrlEncT */ "f=@(fv1,fv2,null)", - /* UrlEncR */ "f=@(\n\tfv1,\n\tfv2,\n\tnull\n)", - /* MsgPack */ "81A16693667631667632C0", - /* MsgPackT */ "81A16693667631667632C0", - /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:f>\n<rdf:Seq>\n<rdf:li>fv1</rdf:li>\n<rdf:li>fv2</rdf:li>\n<rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n</rdf:Seq>\n</jp:f>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:f>\n<rdf:Seq>\n<rdf:li>fv1</rdf:li>\n<rdf:li>fv2</rdf:li>\n<rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n</rdf:Seq>\n</jp:f>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:f>\n <rdf:Seq>\n <rdf:li>fv1</rdf:li>\n <rdf:li>fv2</rdf:li>\n <rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n </rdf:Seq>\n </jp:f>\n </rdf:Description>\n</rdf:RDF>\n" - ) { - @Override - public BeanWithReader1dField getInput() throws Exception { - return new BeanWithReader1dField().init(); - } - } - }, - { /* 4 */ - new ComboInput<BeanWithReaderNullField>( - "BeanWithReaderNullField", - BeanWithReaderNullField.class, - null, - /* Json */ "{f:null}", - /* JsonT */ "{f:null}", - /* JsonR */ "{\n\tf: null\n}", - /* Xml */ "<object><f _type='null'/></object>", - /* XmlT */ "<object><f t='null'/></object>", - /* XmlR */ "<object>\n\t<f _type='null'/>\n</object>\n", - /* XmlNs */ "<object><f _type='null'/></object>", - /* Html */ "<table><tr><td>f</td><td><null/></td></tr></table>", - /* HtmlT */ "<table><tr><td>f</td><td><null/></td></tr></table>", - /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>f</td>\n\t\t<td><null/></td>\n\t</tr>\n</table>\n", - /* Uon */ "(f=null)", - /* UonT */ "(f=null)", - /* UonR */ "(\n\tf=null\n)", - /* UrlEnc */ "f=null", - /* UrlEncT */ "f=null", - /* UrlEncR */ "f=null", - /* MsgPack */ "81A166C0", - /* MsgPackT */ "81A166C0", - /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:f rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:f rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:f rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n </rdf:Description>\n</rdf:RDF>\n" - ) { - @Override - public BeanWithReaderNullField getInput() throws Exception { - return new BeanWithReaderNullField().init(); - } - } - }, - { /* 5 */ - new ComboInput<BeanWithReaderListField>( - "BeanWithReaderListField", - BeanWithReaderListField.class, - null, - /* Json */ "{f:[fv1,fv2,null]}", - /* JsonT */ "{f:[fv1,fv2,null]}", - /* JsonR */ "{\n\tf: [\n\t\tfv1,\n\t\tfv2,\n\t\tnull\n\t]\n}", - /* Xml */ "<object><f>fv1fv2<null/></f></object>", - /* XmlT */ "<object><f>fv1fv2<null/></f></object>", - /* XmlR */ "<object>\n\t<f>\n\t\tfv1\n\t\tfv2\n\t\t<null/>\n\t</f>\n</object>\n", - /* XmlNs */ "<object><f>fv1fv2<null/></f></object>", - /* Html */ "<table><tr><td>f</td><td><ul><li>fv1</li><li>fv2</li><li><null/></li></ul></td></tr></table>", - /* HtmlT */ "<table><tr><td>f</td><td><ul><li>fv1</li><li>fv2</li><li><null/></li></ul></td></tr></table>", - /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>f</td>\n\t\t<td>\n\t\t\t<ul>\n\t\t\t\t<li>fv1</li>\n\t\t\t\t<li>fv2</li>\n\t\t\t\t<li><null/></li>\n\t\t\t</ul>\n\t\t</td>\n\t</tr>\n</table>\n", - /* Uon */ "(f=@(fv1,fv2,null))", - /* UonT */ "(f=@(fv1,fv2,null))", - /* UonR */ "(\n\tf=@(\n\t\tfv1,\n\t\tfv2,\n\t\tnull\n\t)\n)", - /* UrlEnc */ "f=@(fv1,fv2,null)", - /* UrlEncT */ "f=@(fv1,fv2,null)", - /* UrlEncR */ "f=@(\n\tfv1,\n\tfv2,\n\tnull\n)", - /* MsgPack */ "81A16693667631667632C0", - /* MsgPackT */ "81A16693667631667632C0", - /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:f>\n<rdf:Seq>\n<rdf:li>fv1</rdf:li>\n<rdf:li>fv2</rdf:li>\n<rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n</rdf:Seq>\n</jp:f>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:f>\n<rdf:Seq>\n<rdf:li>fv1</rdf:li>\n<rdf:li>fv2</rdf:li>\n<rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n</rdf:Seq>\n</jp:f>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:f>\n <rdf:Seq>\n <rdf:li>fv1</rdf:li>\n <rdf:li>fv2</rdf:li>\n <rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n </rdf:Seq>\n </jp:f>\n </rdf:Description>\n</rdf:RDF>\n" - ) { - @Override - public BeanWithReaderListField getInput() throws Exception { - return new BeanWithReaderListField().init(); - } - } - }, - { /* 6 */ - new ComboInput<BeanWithReaderMapField>( - "BeanWithReaderMapField", - BeanWithReaderMapField.class, - null, - /* Json */ "{f:{foo:fv1,bar:null,null:fv2}}", - /* JsonT */ "{f:{foo:fv1,bar:null,null:fv2}}", - /* JsonR */ "{\n\tf: {\n\t\tfoo: fv1,\n\t\tbar: null,\n\t\tnull: fv2\n\t}\n}", - /* Xml */ "<object><f><foo>fv1</foo><bar _type='null'/><_x0000_>fv2</_x0000_></f></object>", - /* XmlT */ "<object><f><foo>fv1</foo><bar t='null'/><_x0000_>fv2</_x0000_></f></object>", - /* XmlR */ "<object>\n\t<f>\n\t\t<foo>fv1</foo>\n\t\t<bar _type='null'/>\n\t\t<_x0000_>fv2</_x0000_>\n\t</f>\n</object>\n", - /* XmlNs */ "<object><f><foo>fv1</foo><bar _type='null'/><_x0000_>fv2</_x0000_></f></object>", - /* Html */ "<table><tr><td>f</td><td><table><tr><td>foo</td><td>fv1</td></tr><tr><td>bar</td><td><null/></td></tr><tr><td><null/></td><td>fv2</td></tr></table></td></tr></table>", - /* HtmlT */ "<table><tr><td>f</td><td><table><tr><td>foo</td><td>fv1</td></tr><tr><td>bar</td><td><null/></td></tr><tr><td><null/></td><td>fv2</td></tr></table></td></tr></table>", - /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>f</td>\n\t\t<td>\n\t\t\t<table>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>foo</td>\n\t\t\t\t\t<td>fv1</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>bar</td>\n\t\t\t\t\t<td><null/></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td><null/></td>\n\t\t\t\t\t<td>fv2</td>\n\t\t\t\t</tr>\n\t\t\t</table>\n\t\t</td>\n\t</tr>\n</table>\n", - /* Uon */ "(f=(foo=fv1,bar=null,null=fv2))", - /* UonT */ "(f=(foo=fv1,bar=null,null=fv2))", - /* UonR */ "(\n\tf=(\n\t\tfoo=fv1,\n\t\tbar=null,\n\t\tnull=fv2\n\t)\n)", - /* UrlEnc */ "f=(foo=fv1,bar=null,null=fv2)", - /* UrlEncT */ "f=(foo=fv1,bar=null,null=fv2)", - /* UrlEncR */ "f=(\n\tfoo=fv1,\n\tbar=null,\n\tnull=fv2\n)", - /* MsgPack */ "81A16683A3666F6F667631A3626172C0C0667632", - /* MsgPackT */ "81A16683A3666F6F667631A3626172C0C0667632", - /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:f rdf:parseType='Resource'>\n<jp:foo>fv1</jp:foo>\n<jp:bar rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n<jp:_x0000_>fv2</jp:_x0000_>\n</jp:f>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:f rdf:parseType='Resource'>\n<jp:foo>fv1</jp:foo>\n<jp:bar rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n<jp:_x0000_>fv2</jp:_x0000_>\n</jp:f>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:f rdf:parseType='Resource'>\n <jp:foo>fv1</jp:foo>\n <jp:bar rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n <jp:_x0000_>fv2</jp:_x0000_>\n </jp:f>\n </rdf:Description>\n</rdf:RDF>\n" - ) { - @Override - public BeanWithReaderMapField getInput() throws Exception { - return new BeanWithReaderMapField().init(); - } - } - }, - { /* 7 */ - new ComboInput<BeanWithReaderBeanListField>( - "BeanWithReaderBeanListField", - BeanWithReaderBeanListField.class, - null, - /* Json */ "{f:[{f1:f1v,f2:[f2v1,f2v2,null],f3:null,f4:[f4v1,f4v2,null],f5:{foo:f5v1,bar:null,null:f5v2}},null]}", - /* JsonT */ "{f:[{f1:f1v,f2:[f2v1,f2v2,null],f3:null,f4:[f4v1,f4v2,null],f5:{foo:f5v1,bar:null,null:f5v2}},null]}", - /* JsonR */ "{\n\tf: [\n\t\t{\n\t\t\tf1: f1v,\n\t\t\tf2: [\n\t\t\t\tf2v1,\n\t\t\t\tf2v2,\n\t\t\t\tnull\n\t\t\t],\n\t\t\tf3: null,\n\t\t\tf4: [\n\t\t\t\tf4v1,\n\t\t\t\tf4v2,\n\t\t\t\tnull\n\t\t\t],\n\t\t\tf5: {\n\t\t\t\tfoo: f5v1,\n\t\t\t\tbar: null,\n\t\t\t\tnull: f5v2\n\t\t\t}\n\t\t},\n\t\tnull\n\t]\n}", - /* Xml */ "<object><f><object><f1>f1v</f1><f2>f2v1f2v2<null/></f2><f3 _type='null'/><f4>f4v1f4v2<null/></f4><f5><foo>f5v1</foo><bar _type='null'/><_x0000_>f5v2</_x0000_></f5></object><null/></f></object>", - /* XmlT */ "<object><f><object><f1>f1v</f1><f2>f2v1f2v2<null/></f2><f3 t='null'/><f4>f4v1f4v2<null/></f4><f5><foo>f5v1</foo><bar t='null'/><_x0000_>f5v2</_x0000_></f5></object><null/></f></object>", - /* XmlR */ "<object>\n\t<f>\n\t\t<object>\n\t\t\t<f1>f1v</f1>\n\t\t\t<f2>\n\t\t\t\tf2v1\n\t\t\t\tf2v2\n\t\t\t\t<null/>\n\t\t\t</f2>\n\t\t\t<f3 _type='null'/>\n\t\t\t<f4>\n\t\t\t\tf4v1\n\t\t\t\tf4v2\n\t\t\t\t<null/>\n\t\t\t</f4>\n\t\t\t<f5>\n\t\t\t\t<foo>f5v1</foo>\n\t\t\t\t<bar _type='null'/>\n\t\t\t\t<_x0000_>f5v2</_x0000_>\n\t\t\t</f5>\n\t\t</object>\n\t\t<null/>\n\t</f>\n</object>\n", - /* XmlNs */ "<object><f><object><f1>f1v</f1><f2>f2v1f2v2<null/></f2><f3 _type='null'/><f4>f4v1f4v2<null/></f4><f5><foo>f5v1</foo><bar _type='null'/><_x0000_>f5v2</_x0000_></f5></object><null/></f></object>", - /* Html */ "<table><tr><td>f</td><td><ul><li><table><tr><td>f1</td><td>f1v</td></tr><tr><td>f2</td><td><ul><li>f2v1</li><li>f2v2</li><li><null/></li></ul></td></tr><tr><td>f3</td><td><null/></td></tr><tr><td>f4</td><td><ul><li>f4v1</li><li>f4v2</li><li><null/></li></ul></td></tr><tr><td>f5</td><td><table><tr><td>foo</td><td>f5v1</td></tr><tr><td>bar</td><td><null/></td></tr><tr><td><null/></td><td>f5v2</td></tr></table></td></tr></table></li><li><null/></li></ul></td></tr></table>", - /* HtmlT */ "<table><tr><td>f</td><td><ul><li><table><tr><td>f1</td><td>f1v</td></tr><tr><td>f2</td><td><ul><li>f2v1</li><li>f2v2</li><li><null/></li></ul></td></tr><tr><td>f3</td><td><null/></td></tr><tr><td>f4</td><td><ul><li>f4v1</li><li>f4v2</li><li><null/></li></ul></td></tr><tr><td>f5</td><td><table><tr><td>foo</td><td>f5v1</td></tr><tr><td>bar</td><td><null/></td></tr><tr><td><null/></td><td>f5v2</td></tr></table></td></tr></table></li><li><null/></li></ul></td></tr></table>", - /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>f</td>\n\t\t<td>\n\t\t\t<ul>\n\t\t\t\t<li>\n\t\t\t\t\t<table>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td>f1</td>\n\t\t\t\t\t\t\t<td>f1v</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td>f2</td>\n\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t\t<li>f2v1</li>\n\t\t\t\t\t\t\t\t\t<li>f2v2</li>\n\t\t\t\t\t\t\t\t\t<li><null/></li>\n\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td>f3</td>\n\t\t\t\t\t\t\t<td><null/></td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td>f4</td>\n\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t\t<li>f4v1</li>\n\t\t\t\t\t\t\t\t\t<li>f4v2</li>\n\t\t\t\t\t\t\t\t\t<li><null/></li>\n\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t<td>f5</td>\n\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t<td>foo</td>\n\t\t\t\t\t\t\t\t\t\t<td>f5v1</td>\n\t\t\t\t\t\t\t\ t\t</tr>\n\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t<td>bar</td>\n\t\t\t\t\t\t\t\t\t\t<td><null/></td>\n\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t<td><null/></td>\n\t\t\t\t\t\t\t\t\t\t<td>f5v2</td>\n\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t</table>\n\t\t\t\t</li>\n\t\t\t\t<li><null/></li>\n\t\t\t</ul>\n\t\t</td>\n\t</tr>\n</table>\n", - /* Uon */ "(f=@((f1=f1v,f2=@(f2v1,f2v2,null),f3=null,f4=@(f4v1,f4v2,null),f5=(foo=f5v1,bar=null,null=f5v2)),null))", - /* UonT */ "(f=@((f1=f1v,f2=@(f2v1,f2v2,null),f3=null,f4=@(f4v1,f4v2,null),f5=(foo=f5v1,bar=null,null=f5v2)),null))", - /* UonR */ "(\n\tf=@(\n\t\t(\n\t\t\tf1=f1v,\n\t\t\tf2=@(\n\t\t\t\tf2v1,\n\t\t\t\tf2v2,\n\t\t\t\tnull\n\t\t\t),\n\t\t\tf3=null,\n\t\t\tf4=@(\n\t\t\t\tf4v1,\n\t\t\t\tf4v2,\n\t\t\t\tnull\n\t\t\t),\n\t\t\tf5=(\n\t\t\t\tfoo=f5v1,\n\t\t\t\tbar=null,\n\t\t\t\tnull=f5v2\n\t\t\t)\n\t\t),\n\t\tnull\n\t)\n)", - /* UrlEnc */ "f=@((f1=f1v,f2=@(f2v1,f2v2,null),f3=null,f4=@(f4v1,f4v2,null),f5=(foo=f5v1,bar=null,null=f5v2)),null)", - /* UrlEncT */ "f=@((f1=f1v,f2=@(f2v1,f2v2,null),f3=null,f4=@(f4v1,f4v2,null),f5=(foo=f5v1,bar=null,null=f5v2)),null)", - /* UrlEncR */ "f=@(\n\t(\n\t\tf1=f1v,\n\t\tf2=@(\n\t\t\tf2v1,\n\t\t\tf2v2,\n\t\t\tnull\n\t\t),\n\t\tf3=null,\n\t\tf4=@(\n\t\t\tf4v1,\n\t\t\tf4v2,\n\t\t\tnull\n\t\t),\n\t\tf5=(\n\t\t\tfoo=f5v1,\n\t\t\tbar=null,\n\t\t\tnull=f5v2\n\t\t)\n\t),\n\tnull\n)", - /* MsgPack */ "81A1669285A26631663176A26632936632763166327632C0A26633C0A26634936634763166347632C0A2663583A3666F6F66357631A3626172C0C066357632C0", - /* MsgPackT */ "81A1669285A26631663176A26632936632763166327632C0A26633C0A26634936634763166347632C0A2663583A3666F6F66357631A3626172C0C066357632C0", - /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:f>\n<rdf:Seq>\n<rdf:li rdf:parseType='Resource'>\n<jp:f1>f1v</jp:f1>\n<jp:f2>\n<rdf:Seq>\n<rdf:li>f2v1</rdf:li>\n<rdf:li>f2v2</rdf:li>\n<rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n</rdf:Seq>\n</jp:f2>\n<jp:f3 rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n<jp:f4>\n<rdf:Seq>\n<rdf:li>f4v1</rdf:li>\n<rdf:li>f4v2</rdf:li>\n<rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n</rdf:Seq>\n</jp:f4>\n<jp:f5 rdf:parseType='Resource'>\n<jp:foo>f5v1</jp:foo>\n<jp:bar rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n<jp:_x0000_>f5v2</jp:_x0000_>\n</jp:f5>\n</rdf:li>\n<rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n</rdf:Seq>\n</jp:f>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:f>\n<rdf:Seq>\n<rdf:li rdf:parseType='Resource'>\n<jp:f1>f1v</jp:f1>\n<jp:f2>\n<rdf:Seq>\n<rdf:li>f2v1</rdf:li>\n<rdf:li>f2v2</rdf:li>\n<rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n</rdf:Seq>\n</jp:f2>\n<jp:f3 rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n<jp:f4>\n<rdf:Seq>\n<rdf:li>f4v1</rdf:li>\n<rdf:li>f4v2</rdf:li>\n<rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n</rdf:Seq>\n</jp:f4>\n<jp:f5 rdf:parseType='Resource'>\n<jp:foo>f5v1</jp:foo>\n<jp:bar rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n<jp:_x0000_>f5v2</jp:_x0000_>\n</jp:f5>\n</rdf:li>\n<rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n</rdf:Seq>\n</jp:f>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:f>\n <rdf:Seq>\n <rdf:li rdf:parseType='Resource'>\n <jp:f1>f1v</jp:f1>\n <jp:f2>\n <rdf:Seq>\n <rdf:li>f2v1</rdf:li>\n <rdf:li>f2v2</rdf:li>\n <rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n </rdf:Seq>\n </jp:f2>\n <jp:f3 rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n <jp:f4>\n <rdf:Seq>\n <rdf:li>f4v1</rdf:li>\n <rdf:li>f4v2</rdf:li>\n <rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n </rdf:Seq>\n </jp:f4>\n <jp:f5 rdf:parseType='Resource'>\n <jp:foo>f5v1</jp:foo>\n <jp:bar rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n <jp:_x0000_>f5v2</jp:_x0000_>\n </jp:f5>\n </rdf:li>\n <rdf:li rdf:r esource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n </rdf:Seq>\n </jp:f>\n </rdf:Description>\n</rdf:RDF>\n" - ) { - @Override - public BeanWithReaderBeanListField getInput() throws Exception { - return new BeanWithReaderBeanListField().init(); - } - } - }, - { /* 8 */ - new ComboInput<BeanWithReaderBeanMapField>( - "BeanWithReaderBeanMapField", - BeanWithReaderBeanMapField.class, - null, - /* Json */ "{f:{foo:{f1:f1v,f2:[f2v1,f2v2,null],f3:null,f4:[f4v1,f4v2,null],f5:{foo:f5v1,bar:null,null:f5v2}},bar:null,null:{f1:f1v,f2:[f2v1,f2v2,null],f3:null,f4:[f4v1,f4v2,null],f5:{foo:f5v1,bar:null,null:f5v2}}}}", - /* JsonT */ "{f:{foo:{f1:f1v,f2:[f2v1,f2v2,null],f3:null,f4:[f4v1,f4v2,null],f5:{foo:f5v1,bar:null,null:f5v2}},bar:null,null:{f1:f1v,f2:[f2v1,f2v2,null],f3:null,f4:[f4v1,f4v2,null],f5:{foo:f5v1,bar:null,null:f5v2}}}}", - /* JsonR */ "{\n\tf: {\n\t\tfoo: {\n\t\t\tf1: f1v,\n\t\t\tf2: [\n\t\t\t\tf2v1,\n\t\t\t\tf2v2,\n\t\t\t\tnull\n\t\t\t],\n\t\t\tf3: null,\n\t\t\tf4: [\n\t\t\t\tf4v1,\n\t\t\t\tf4v2,\n\t\t\t\tnull\n\t\t\t],\n\t\t\tf5: {\n\t\t\t\tfoo: f5v1,\n\t\t\t\tbar: null,\n\t\t\t\tnull: f5v2\n\t\t\t}\n\t\t},\n\t\tbar: null,\n\t\tnull: {\n\t\t\tf1: f1v,\n\t\t\tf2: [\n\t\t\t\tf2v1,\n\t\t\t\tf2v2,\n\t\t\t\tnull\n\t\t\t],\n\t\t\tf3: null,\n\t\t\tf4: [\n\t\t\t\tf4v1,\n\t\t\t\tf4v2,\n\t\t\t\tnull\n\t\t\t],\n\t\t\tf5: {\n\t\t\t\tfoo: f5v1,\n\t\t\t\tbar: null,\n\t\t\t\tnull: f5v2\n\t\t\t}\n\t\t}\n\t}\n}", - /* Xml */ "<object><f><foo><f1>f1v</f1><f2>f2v1f2v2<null/></f2><f3 _type='null'/><f4>f4v1f4v2<null/></f4><f5><foo>f5v1</foo><bar _type='null'/><_x0000_>f5v2</_x0000_></f5></foo><bar _type='null'/><_x0000_><f1>f1v</f1><f2>f2v1f2v2<null/></f2><f3 _type='null'/><f4>f4v1f4v2<null/></f4><f5><foo>f5v1</foo><bar _type='null'/><_x0000_>f5v2</_x0000_></f5></_x0000_></f></object>", - /* XmlT */ "<object><f><foo><f1>f1v</f1><f2>f2v1f2v2<null/></f2><f3 t='null'/><f4>f4v1f4v2<null/></f4><f5><foo>f5v1</foo><bar t='null'/><_x0000_>f5v2</_x0000_></f5></foo><bar t='null'/><_x0000_><f1>f1v</f1><f2>f2v1f2v2<null/></f2><f3 t='null'/><f4>f4v1f4v2<null/></f4><f5><foo>f5v1</foo><bar t='null'/><_x0000_>f5v2</_x0000_></f5></_x0000_></f></object>", - /* XmlR */ "<object>\n\t<f>\n\t\t<foo>\n\t\t\t<f1>f1v</f1>\n\t\t\t<f2>\n\t\t\t\tf2v1\n\t\t\t\tf2v2\n\t\t\t\t<null/>\n\t\t\t</f2>\n\t\t\t<f3 _type='null'/>\n\t\t\t<f4>\n\t\t\t\tf4v1\n\t\t\t\tf4v2\n\t\t\t\t<null/>\n\t\t\t</f4>\n\t\t\t<f5>\n\t\t\t\t<foo>f5v1</foo>\n\t\t\t\t<bar _type='null'/>\n\t\t\t\t<_x0000_>f5v2</_x0000_>\n\t\t\t</f5>\n\t\t</foo>\n\t\t<bar _type='null'/>\n\t\t<_x0000_>\n\t\t\t<f1>f1v</f1>\n\t\t\t<f2>\n\t\t\t\tf2v1\n\t\t\t\tf2v2\n\t\t\t\t<null/>\n\t\t\t</f2>\n\t\t\t<f3 _type='null'/>\n\t\t\t<f4>\n\t\t\t\tf4v1\n\t\t\t\tf4v2\n\t\t\t\t<null/>\n\t\t\t</f4>\n\t\t\t<f5>\n\t\t\t\t<foo>f5v1</foo>\n\t\t\t\t<bar _type='null'/>\n\t\t\t\t<_x0000_>f5v2</_x0000_>\n\t\t\t</f5>\n\t\t</_x0000_>\n\t</f>\n</object>\n", - /* XmlNs */ "<object><f><foo><f1>f1v</f1><f2>f2v1f2v2<null/></f2><f3 _type='null'/><f4>f4v1f4v2<null/></f4><f5><foo>f5v1</foo><bar _type='null'/><_x0000_>f5v2</_x0000_></f5></foo><bar _type='null'/><_x0000_><f1>f1v</f1><f2>f2v1f2v2<null/></f2><f3 _type='null'/><f4>f4v1f4v2<null/></f4><f5><foo>f5v1</foo><bar _type='null'/><_x0000_>f5v2</_x0000_></f5></_x0000_></f></object>", - /* Html */ "<table><tr><td>f</td><td><table><tr><td>foo</td><td><table><tr><td>f1</td><td>f1v</td></tr><tr><td>f2</td><td><ul><li>f2v1</li><li>f2v2</li><li><null/></li></ul></td></tr><tr><td>f3</td><td><null/></td></tr><tr><td>f4</td><td><ul><li>f4v1</li><li>f4v2</li><li><null/></li></ul></td></tr><tr><td>f5</td><td><table><tr><td>foo</td><td>f5v1</td></tr><tr><td>bar</td><td><null/></td></tr><tr><td><null/></td><td>f5v2</td></tr></table></td></tr></table></td></tr><tr><td>bar</td><td><null/></td></tr><tr><td><null/></td><td><table><tr><td>f1</td><td>f1v</td></tr><tr><td>f2</td><td><ul><li>f2v1</li><li>f2v2</li><li><null/></li></ul></td></tr><tr><td>f3</td><td><null/></td></tr><tr><td>f4</td><td><ul><li>f4v1</li><li>f4v2</li><li><null/></li></ul></td></tr><tr><td>f5</td><td><table><tr><td>foo</td><td>f5v1</td></tr><tr><td>bar</td><td><null/></td></tr><tr><td><null/></td><td>f5v2</td></tr></table></td></tr></table></td></tr></table></td></tr></table>", - /* HtmlT */ "<table><tr><td>f</td><td><table><tr><td>foo</td><td><table><tr><td>f1</td><td>f1v</td></tr><tr><td>f2</td><td><ul><li>f2v1</li><li>f2v2</li><li><null/></li></ul></td></tr><tr><td>f3</td><td><null/></td></tr><tr><td>f4</td><td><ul><li>f4v1</li><li>f4v2</li><li><null/></li></ul></td></tr><tr><td>f5</td><td><table><tr><td>foo</td><td>f5v1</td></tr><tr><td>bar</td><td><null/></td></tr><tr><td><null/></td><td>f5v2</td></tr></table></td></tr></table></td></tr><tr><td>bar</td><td><null/></td></tr><tr><td><null/></td><td><table><tr><td>f1</td><td>f1v</td></tr><tr><td>f2</td><td><ul><li>f2v1</li><li>f2v2</li><li><null/></li></ul></td></tr><tr><td>f3</td><td><null/></td></tr><tr><td>f4</td><td><ul><li>f4v1</li><li>f4v2</li><li><null/></li></ul></td></tr><tr><td>f5</td><td><table><tr><td>foo</td><td>f5v1</td></tr><tr><td>bar</td><td><null/></td></tr><tr><td><null/></td><td>f5v2</td></tr></table></td></tr></table></td></tr></table></td></tr></table>", - /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>f</td>\n\t\t<td>\n\t\t\t<table>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>foo</td>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>f1</td>\n\t\t\t\t\t\t\t\t<td>f1v</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>f2</td>\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t\t\t<li>f2v1</li>\n\t\t\t\t\t\t\t\t\t\t<li>f2v2</li>\n\t\t\t\t\t\t\t\t\t\t<li><null/></li>\n\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>f3</td>\n\t\t\t\t\t\t\t\t<td><null/></td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>f4</td>\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t\t\t<li>f4v1</li>\n\t\t\t\t\t\t\t\t\t\t<li>f4v2</li>\n\t\t\t\t\t\t\t\t\t\t<li><null/></li>\n\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>f5</td>\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t<table>\ n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<td>foo</td>\n\t\t\t\t\t\t\t\t\t\t\t<td>f5v1</td>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<td>bar</td>\n\t\t\t\t\t\t\t\t\t\t\t<td><null/></td>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<td><null/></td>\n\t\t\t\t\t\t\t\t\t\t\t<td>f5v2</td>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</table>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>bar</td>\n\t\t\t\t\t<td><null/></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t\t<td><null/></td>\n\t\t\t\t\t<td>\n\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>f1</td>\n\t\t\t\t\t\t\t\t<td>f1v</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>f2</td>\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t\t\t<li>f2v1</li>\n\t\t\t\t\t\t\t\t\t\t<li>f2v2</li>\n\t\t\t\t\t\t\t\t\t\t<li><null/></li>\n\t\t\t\t\t\t\t\t\t</ul >\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>f3</td>\n\t\t\t\t\t\t\t\t<td><null/></td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>f4</td>\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t\t\t<li>f4v1</li>\n\t\t\t\t\t\t\t\t\t\t<li>f4v2</li>\n\t\t\t\t\t\t\t\t\t\t<li><null/></li>\n\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t<td>f5</td>\n\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t<table>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<td>foo</td>\n\t\t\t\t\t\t\t\t\t\t\t<td>f5v1</td>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<td>bar</td>\n\t\t\t\t\t\t\t\t\t\t\t<td><null/></td>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<td><null/></td>\n\t\t\t\t\t\t\t\t\t\t\t<td>f5v2</td>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t</table >\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</table>\n\t\t</td>\n\t</tr>\n</table>\n", - /* Uon */ "(f=(foo=(f1=f1v,f2=@(f2v1,f2v2,null),f3=null,f4=@(f4v1,f4v2,null),f5=(foo=f5v1,bar=null,null=f5v2)),bar=null,null=(f1=f1v,f2=@(f2v1,f2v2,null),f3=null,f4=@(f4v1,f4v2,null),f5=(foo=f5v1,bar=null,null=f5v2))))", - /* UonT */ "(f=(foo=(f1=f1v,f2=@(f2v1,f2v2,null),f3=null,f4=@(f4v1,f4v2,null),f5=(foo=f5v1,bar=null,null=f5v2)),bar=null,null=(f1=f1v,f2=@(f2v1,f2v2,null),f3=null,f4=@(f4v1,f4v2,null),f5=(foo=f5v1,bar=null,null=f5v2))))", - /* UonR */ "(\n\tf=(\n\t\tfoo=(\n\t\t\tf1=f1v,\n\t\t\tf2=@(\n\t\t\t\tf2v1,\n\t\t\t\tf2v2,\n\t\t\t\tnull\n\t\t\t),\n\t\t\tf3=null,\n\t\t\tf4=@(\n\t\t\t\tf4v1,\n\t\t\t\tf4v2,\n\t\t\t\tnull\n\t\t\t),\n\t\t\tf5=(\n\t\t\t\tfoo=f5v1,\n\t\t\t\tbar=null,\n\t\t\t\tnull=f5v2\n\t\t\t)\n\t\t),\n\t\tbar=null,\n\t\tnull=(\n\t\t\tf1=f1v,\n\t\t\tf2=@(\n\t\t\t\tf2v1,\n\t\t\t\tf2v2,\n\t\t\t\tnull\n\t\t\t),\n\t\t\tf3=null,\n\t\t\tf4=@(\n\t\t\t\tf4v1,\n\t\t\t\tf4v2,\n\t\t\t\tnull\n\t\t\t),\n\t\t\tf5=(\n\t\t\t\tfoo=f5v1,\n\t\t\t\tbar=null,\n\t\t\t\tnull=f5v2\n\t\t\t)\n\t\t)\n\t)\n)", - /* UrlEnc */ "f=(foo=(f1=f1v,f2=@(f2v1,f2v2,null),f3=null,f4=@(f4v1,f4v2,null),f5=(foo=f5v1,bar=null,null=f5v2)),bar=null,null=(f1=f1v,f2=@(f2v1,f2v2,null),f3=null,f4=@(f4v1,f4v2,null),f5=(foo=f5v1,bar=null,null=f5v2)))", - /* UrlEncT */ "f=(foo=(f1=f1v,f2=@(f2v1,f2v2,null),f3=null,f4=@(f4v1,f4v2,null),f5=(foo=f5v1,bar=null,null=f5v2)),bar=null,null=(f1=f1v,f2=@(f2v1,f2v2,null),f3=null,f4=@(f4v1,f4v2,null),f5=(foo=f5v1,bar=null,null=f5v2)))", - /* UrlEncR */ "f=(\n\tfoo=(\n\t\tf1=f1v,\n\t\tf2=@(\n\t\t\tf2v1,\n\t\t\tf2v2,\n\t\t\tnull\n\t\t),\n\t\tf3=null,\n\t\tf4=@(\n\t\t\tf4v1,\n\t\t\tf4v2,\n\t\t\tnull\n\t\t),\n\t\tf5=(\n\t\t\tfoo=f5v1,\n\t\t\tbar=null,\n\t\t\tnull=f5v2\n\t\t)\n\t),\n\tbar=null,\n\tnull=(\n\t\tf1=f1v,\n\t\tf2=@(\n\t\t\tf2v1,\n\t\t\tf2v2,\n\t\t\tnull\n\t\t),\n\t\tf3=null,\n\t\tf4=@(\n\t\t\tf4v1,\n\t\t\tf4v2,\n\t\t\tnull\n\t\t),\n\t\tf5=(\n\t\t\tfoo=f5v1,\n\t\t\tbar=null,\n\t\t\tnull=f5v2\n\t\t)\n\t)\n)", - /* MsgPack */ "81A16683A3666F6F85A26631663176A26632936632763166327632C0A26633C0A26634936634763166347632C0A2663583A3666F6F66357631A3626172C0C066357632A3626172C0C085A26631663176A26632936632763166327632C0A26633C0A26634936634763166347632C0A2663583A3666F6F66357631A3626172C0C066357632", - /* MsgPackT */ "81A16683A3666F6F85A26631663176A26632936632763166327632C0A26633C0A26634936634763166347632C0A2663583A3666F6F66357631A3626172C0C066357632A3626172C0C085A26631663176A26632936632763166327632C0A26633C0A26634936634763166347632C0A2663583A3666F6F66357631A3626172C0C066357632", - /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:f rdf:parseType='Resource'>\n<jp:foo rdf:parseType='Resource'>\n<jp:f1>f1v</jp:f1>\n<jp:f2>\n<rdf:Seq>\n<rdf:li>f2v1</rdf:li>\n<rdf:li>f2v2</rdf:li>\n<rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n</rdf:Seq>\n</jp:f2>\n<jp:f3 rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n<jp:f4>\n<rdf:Seq>\n<rdf:li>f4v1</rdf:li>\n<rdf:li>f4v2</rdf:li>\n<rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n</rdf:Seq>\n</jp:f4>\n<jp:f5 rdf:parseType='Resource'>\n<jp:foo>f5v1</jp:foo>\n<jp:bar rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n<jp:_x0000_>f5v2</jp:_x0000_>\n</jp:f5>\n</jp:foo>\n<jp:bar rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n<jp:_x0000_ rdf:parseType='Resource'>\n<jp:f1>f1v</jp:f1>\n<jp:f2>\n<rdf:Seq>\n<rdf:li>f2v1</rdf:li>\n<rdf:li>f2v2</rdf:li>\n<rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n</rdf:Seq>\n< /jp:f2>\n<jp:f3 rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n<jp:f4>\n<rdf:Seq>\n<rdf:li>f4v1</rdf:li>\n<rdf:li>f4v2</rdf:li>\n<rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n</rdf:Seq>\n</jp:f4>\n<jp:f5 rdf:parseType='Resource'>\n<jp:foo>f5v1</jp:foo>\n<jp:bar rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n<jp:_x0000_>f5v2</jp:_x0000_>\n</jp:f5>\n</jp:_x0000_>\n</jp:f>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:f rdf:parseType='Resource'>\n<jp:foo rdf:parseType='Resource'>\n<jp:f1>f1v</jp:f1>\n<jp:f2>\n<rdf:Seq>\n<rdf:li>f2v1</rdf:li>\n<rdf:li>f2v2</rdf:li>\n<rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n</rdf:Seq>\n</jp:f2>\n<jp:f3 rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n<jp:f4>\n<rdf:Seq>\n<rdf:li>f4v1</rdf:li>\n<rdf:li>f4v2</rdf:li>\n<rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n</rdf:Seq>\n</jp:f4>\n<jp:f5 rdf:parseType='Resource'>\n<jp:foo>f5v1</jp:foo>\n<jp:bar rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n<jp:_x0000_>f5v2</jp:_x0000_>\n</jp:f5>\n</jp:foo>\n<jp:bar rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n<jp:_x0000_ rdf:parseType='Resource'>\n<jp:f1>f1v</jp:f1>\n<jp:f2>\n<rdf:Seq>\n<rdf:li>f2v1</rdf:li>\n<rdf:li>f2v2</rdf:li>\n<rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n</rdf:Seq>\n </jp:f2>\n<jp:f3 rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n<jp:f4>\n<rdf:Seq>\n<rdf:li>f4v1</rdf:li>\n<rdf:li>f4v2</rdf:li>\n<rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n</rdf:Seq>\n</jp:f4>\n<jp:f5 rdf:parseType='Resource'>\n<jp:foo>f5v1</jp:foo>\n<jp:bar rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n<jp:_x0000_>f5v2</jp:_x0000_>\n</jp:f5>\n</jp:_x0000_>\n</jp:f>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:f rdf:parseType='Resource'>\n <jp:foo rdf:parseType='Resource'>\n <jp:f1>f1v</jp:f1>\n <jp:f2>\n <rdf:Seq>\n <rdf:li>f2v1</rdf:li>\n <rdf:li>f2v2</rdf:li>\n <rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n </rdf:Seq>\n </jp:f2>\n <jp:f3 rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n <jp:f4>\n <rdf:Seq>\n <rdf:li>f4v1</rdf:li>\n <rdf:li>f4v2</rdf:li>\n <rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n </rdf:Seq>\n </jp:f4>\n <jp:f5 rdf:parseType='Resource'>\n <jp:foo>f5v1</jp:foo>\n <jp:bar rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n <jp:_x0000_>f5v2</jp:_x0000_>\n </jp:f5>\n </jp:foo>\n <jp:bar rdf:resource='http://www.w3.org/1999/02/22-rd f-syntax-ns#nil'/>\n <jp:_x0000_ rdf:parseType='Resource'>\n <jp:f1>f1v</jp:f1>\n <jp:f2>\n <rdf:Seq>\n <rdf:li>f2v1</rdf:li>\n <rdf:li>f2v2</rdf:li>\n <rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n </rdf:Seq>\n </jp:f2>\n <jp:f3 rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n <jp:f4>\n <rdf:Seq>\n <rdf:li>f4v1</rdf:li>\n <rdf:li>f4v2</rdf:li>\n <rdf:li rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n </rdf:Seq>\n </jp:f4>\n <jp:f5 rdf:parseType='Resource'>\n <jp:foo>f5v1</jp:foo>\n <jp:bar rdf:resource='http://www.w3.org/1999/02/22-rdf-syntax-ns#nil'/>\n <jp:_x0000_>f5v2</jp:_x0000_>\n </jp:f5>\n </jp:_x0000_>\n </jp:f>\n </rdf:Description>\n</rdf:RDF>\n" - ) { - @Override - public BeanWithReaderBeanMapField getInput() throws Exception { - return new BeanWithReaderBeanMapField().init(); - } - } - }, - }); - } - - public ReaderObjectComboTest(ComboInput<?> comboInput) { - super(comboInput); - } - - @Override - protected Serializer applySettings(Serializer s) throws Exception { - return s.builder().trimNullProperties(false).build(); - } - - public static class BeanWithReaderField { - public Reader f; - public BeanWithReaderField init() { - f = new StringReader("fv"); - return this; - } - } - - public static class BeanWithReader1dField { - public Reader[] f; - public BeanWithReader1dField init() { - f = new Reader[]{new StringReader("fv1"),new StringReader("fv2"),null}; - return this; - } - } - - public static class BeanWithReaderNullField { - public Reader f; - public BeanWithReaderNullField init() { - f = null; - return this; - } - } - - public static class BeanWithReaderListField { - public List<Reader> f; - public BeanWithReaderListField init() { - f = new AList<Reader>() - .append(new StringReader("fv1")) - .append(new StringReader("fv2")) - .append(null) - ; - return this; - } - } - - public static class BeanWithReaderMapField { - public Map<String,Reader> f; - public BeanWithReaderMapField init() { - f = new AMap<String,Reader>() - .append("foo", new StringReader("fv1")) - .append("bar", null) - .append(null, new StringReader("fv2")) - ; - return this; - } - } - - public static class BeanWithReaderBeanListField { - public List<B> f; - public BeanWithReaderBeanListField init() { - f = new AList<B>() - .append(new B().init()) - .append(null) - ; - return this; - } - } - - public static class BeanWithReaderBeanMapField { - public Map<String,B> f; - public BeanWithReaderBeanMapField init() { - f = new AMap<String,B>() - .append("foo", new B().init()) - .append("bar", null) - .append(null, new B().init()) - ; - return this; - } - } - - public static class B { - public Reader f1; - public Reader[] f2; - public Reader f3; - public List<Reader> f4; - public Map<String,Reader> f5; - - public B init() { - f1 = new StringReader("f1v"); - f2 = new Reader[]{new StringReader("f2v1"),new StringReader("f2v2"),null}; - f3 = null; - f4 = new AList<Reader>() - .append(new StringReader("f4v1")) - .append(new StringReader("f4v2")) - .append(null) - ; - f5 = new AMap<String,Reader>() - .append("foo", new StringReader("f5v1")) - .append("bar", null) - .append(null, new StringReader("f5v2")) - ; - return this; - } - } -} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/serializer/SerializerGroupTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/serializer/SerializerGroupTest.java b/juneau-core-test/src/test/java/org/apache/juneau/serializer/SerializerGroupTest.java deleted file mode 100755 index b5e2db9..0000000 --- a/juneau-core-test/src/test/java/org/apache/juneau/serializer/SerializerGroupTest.java +++ /dev/null @@ -1,154 +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.serializer; - -import static org.apache.juneau.TestUtils.*; - -import org.apache.juneau.*; -import org.apache.juneau.json.*; -import org.junit.*; - -@SuppressWarnings({"javadoc"}) -public class SerializerGroupTest { - - //==================================================================================================== - // Trim nulls from beans - //==================================================================================================== - @Test - public void testSerializerGroupMatching() throws Exception { - - SerializerGroup sg = new SerializerGroupBuilder().append(SA1.class, SA2.class, SA3.class).build(); - assertType(SA1.class, sg.getSerializer("text/foo")); - assertType(SA1.class, sg.getSerializer("text/foo_a")); - assertType(SA1.class, sg.getSerializer("text/xxx+foo_a")); - assertType(SA1.class, sg.getSerializer("text/foo_a+xxx")); - assertType(SA2.class, sg.getSerializer("text/foo+bar")); - assertType(SA2.class, sg.getSerializer("text/foo+bar_a")); - assertType(SA2.class, sg.getSerializer("text/bar+foo")); - assertType(SA2.class, sg.getSerializer("text/bar_a+foo")); - assertType(SA2.class, sg.getSerializer("text/bar+foo+xxx")); - assertType(SA2.class, sg.getSerializer("text/bar_a+foo+xxx")); - assertType(SA3.class, sg.getSerializer("text/baz")); - assertType(SA3.class, sg.getSerializer("text/baz_a")); - assertType(SA3.class, sg.getSerializer("text/baz+yyy")); - assertType(SA3.class, sg.getSerializer("text/baz_a+yyy")); - assertType(SA3.class, sg.getSerializer("text/yyy+baz")); - assertType(SA3.class, sg.getSerializer("text/yyy+baz_a")); - - assertType(SA1.class, sg.getSerializer("text/foo;q=0.9,text/foo+bar;q=0.8")); - assertType(SA2.class, sg.getSerializer("text/foo;q=0.8,text/foo+bar;q=0.9")); - } - - - public static class SA1 extends JsonSerializer { - public SA1(PropertyStore propertyStore) { - super(propertyStore, "application/json", "text/foo", "text/foo_a"); - } - } - - public static class SA2 extends JsonSerializer { - public SA2(PropertyStore propertyStore) { - super(propertyStore, "application/json", "text/foo+bar", "text/foo+bar_a"); - } - } - - public static class SA3 extends JsonSerializer { - public SA3(PropertyStore propertyStore) { - super(propertyStore, "application/json", "text/baz", "text/baz_a"); - } - } - - //==================================================================================================== - // Test inheritence - //==================================================================================================== - @Test - public void testInheritence() throws Exception { - SerializerGroupBuilder gb = null; - SerializerGroup g = null; - - gb = new SerializerGroupBuilder().append(SB1.class, SB2.class); - g = gb.build(); - assertObjectEquals("['text/1','text/2','text/2a']", g.getSupportedMediaTypes()); - - gb = new SerializerGroupBuilder(g).append(SB3.class, SB4.class); - g = gb.build(); - assertObjectEquals("['text/3','text/4','text/4a','text/1','text/2','text/2a']", g.getSupportedMediaTypes()); - - gb = new SerializerGroupBuilder(g).append(SB5.class); - g = gb.build(); - assertObjectEquals("['text/5','text/3','text/4','text/4a','text/1','text/2','text/2a']", g.getSupportedMediaTypes()); - } - - public static class SB1 extends JsonSerializer { - public SB1(PropertyStore propertyStore) { - super(propertyStore, "application/json", "text/1"); - } - } - - public static class SB2 extends JsonSerializer { - public SB2(PropertyStore propertyStore) { - super(propertyStore, "application/json", "text/2", "text/2a"); - } - } - - public static class SB3 extends JsonSerializer { - public SB3(PropertyStore propertyStore) { - super(propertyStore, "application/json", "text/3"); - } - } - - public static class SB4 extends JsonSerializer { - public SB4(PropertyStore propertyStore) { - super(propertyStore, "application/json", "text/4", "text/4a"); - } - } - - public static class SB5 extends JsonSerializer { - public SB5(PropertyStore propertyStore) { - super(propertyStore, "application/json", "text/5"); - } - } - - //==================================================================================================== - // Test media type with meta-characters - //==================================================================================================== - @Test - public void testMediaTypesWithMetaCharacters() throws Exception { - SerializerGroupBuilder gb = null; - SerializerGroup g = null; - - gb = new SerializerGroupBuilder().append(SC1.class, SC2.class, SC3.class); - g = gb.build(); - assertType(SC1.class, g.getSerializer("text/foo")); - assertType(SC2.class, g.getSerializer("foo/json")); - assertType(SC3.class, g.getSerializer("foo/foo")); - } - - public static class SC1 extends JsonSerializer { - public SC1(PropertyStore propertyStore) { - super(propertyStore, "application/json", "text/*"); - } - } - - public static class SC2 extends JsonSerializer { - public SC2(PropertyStore propertyStore) { - super(propertyStore, "application/json", "*/json"); - } - } - - public static class SC3 extends JsonSerializer { - public SC3(PropertyStore propertyStore) { - super(propertyStore, "application/json", "*/*"); - } - } -} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/serializer/TestURI.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/serializer/TestURI.java b/juneau-core-test/src/test/java/org/apache/juneau/serializer/TestURI.java deleted file mode 100755 index 80c1b61..0000000 --- a/juneau-core-test/src/test/java/org/apache/juneau/serializer/TestURI.java +++ /dev/null @@ -1,92 +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.serializer; - -import java.net.URI; - -import org.apache.juneau.annotation.*; -import org.apache.juneau.jena.annotation.*; -import org.apache.juneau.xml.*; -import org.apache.juneau.xml.annotation.*; - -@SuppressWarnings("javadoc") -@Bean(sort=true) -public class TestURI { - - // String annotated as a URI - @org.apache.juneau.annotation.URI - @Rdf(beanUri=true) - @Xml(format=XmlFormat.ATTR) - public String f0 = "f0/x0"; - - // URI properties - public URI - f1a = URI.create("http://www.apache.org/f1a"), - f1b = URI.create("/f1b"), - f1c = URI.create("/f1c/x/y"), - f1d = URI.create("f1d"), - f1e = URI.create("f1e/x/y"), - f1f = URI.create(""), - f1g = URI.create("servlet:/f1g/x"), - f1h = URI.create("servlet:/f1h"), - f1i = URI.create("servlet:/"), - f1j = URI.create("servlet:/.."), - f1k = URI.create("context:/f1j/x"), - f1l = URI.create("context:/f1k"), - f1m = URI.create("context:/"), - f1n = URI.create("context:/.."), - fio = null; - - // Strings annotated with @URI properties - @org.apache.juneau.annotation.URI - public String - f2a = "http://www.apache.org/f2a", - f2b = "/f2b", - f2c = "/f2c/x/y", - f2d = "f2d", - f2e = "f2e/x/y", - f2f = "", - f2g = "servlet:/f2g/x", - f2h = "servlet:/f2h", - f2i = "servlet:/", - f2j = "servlet:/..", - f2k = "context:/f2j/x", - f2l = "context:/f2k", - f2m = "context:/", - f2n = "context:/..", - f2o = null; - - // Strings with labels - @org.apache.juneau.annotation.URI - public String - f3a = "http://www.apache.org/f3a/x?label=MY_LABEL&foo=bar", - f3b = XmlUtils.urlEncode("<>&'\""), - f3c = "<>&'\""; // Invalid URI, but should produce parsable output. - - // @URI on bean - public TestURIb f4 = new TestURIb(); - - // @URI on bean property method. - @org.apache.juneau.annotation.URI - public String getF5() { - return "f5/x"; - } - - @org.apache.juneau.annotation.URI - public static class TestURIb { - @Override /* Object */ - public String toString() { - return "test/uri/b"; - } - } -} \ No newline at end of file