http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/bde9b101/juneau-core-test/src/test/java/org/apache/juneau/transforms/DateSwapComboTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/transforms/DateSwapComboTest.java b/juneau-core-test/src/test/java/org/apache/juneau/transforms/DateSwapComboTest.java index 376cbec..9bdd575 100644 --- a/juneau-core-test/src/test/java/org/apache/juneau/transforms/DateSwapComboTest.java +++ b/juneau-core-test/src/test/java/org/apache/juneau/transforms/DateSwapComboTest.java @@ -12,6 +12,9 @@ // *************************************************************************************************************************** package org.apache.juneau.transforms; +import static org.apache.juneau.TestUtils.*; + +import java.lang.reflect.*; import java.util.*; import org.apache.juneau.*; @@ -39,502 +42,660 @@ public class DateSwapComboTest extends ComboTest { public static Collection<Object[]> getParameters() { return Arrays.asList(new Object[][] { { /* 0 */ - "DateSwap.ToString/singleDate", - singleDate, - DateSwap.ToString.class, - /* Json */ "'Sun Mar 03 10:11:12 PST 1901'", - /* JsonT */ "'Sun Mar 03 10:11:12 PST 1901'", - /* JsonR */ "'Sun Mar 03 10:11:12 PST 1901'", - /* Xml */ "<string>Sun Mar 03 10:11:12 PST 1901</string>", - /* XmlT */ "<string>Sun Mar 03 10:11:12 PST 1901</string>", - /* XmlR */ "<string>Sun Mar 03 10:11:12 PST 1901</string>\n", - /* XmlNs */ "<string>Sun Mar 03 10:11:12 PST 1901</string>", - /* Html */ "<string>Sun Mar 03 10:11:12 PST 1901</string>", - /* HtmlT */ "<string>Sun Mar 03 10:11:12 PST 1901</string>", - /* HtmlR */ "<string>Sun Mar 03 10:11:12 PST 1901</string>", - /* Uon */ "'Sun Mar 03 10:11:12 PST 1901'", - /* UonT */ "'Sun Mar 03 10:11:12 PST 1901'", - /* UonR */ "'Sun Mar 03 10:11:12 PST 1901'", - /* UrlEnc */ "_value='Sun+Mar+03+10:11:12+PST+1901'", - /* UrlEncT */ "_value='Sun+Mar+03+10:11:12+PST+1901'", - /* UrlEncR */ "_value='Sun+Mar+03+10:11:12+PST+1901'", - /* MsgPack */ "BC53756E204D61722030332031303A31313A3132205053542031393031", - /* MsgPackT */ "BC53756E204D61722030332031303A31313A3132205053542031393031", - /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<j:value>Sun Mar 03 10:11:12 PST 1901</j:value>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<j:value>Sun Mar 03 10:11:12 PST 1901</j:value>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <j:value>Sun Mar 03 10:11:12 PST 1901</j:value>\n </rdf:Description>\n</rdf:RDF>\n", + new ComboInput2<Date>( + "DateSwap.ToString/singleDate", + Date.class, + singleDate, + DateSwap.ToString.class, + /* Json */ "'Sun Mar 03 10:11:12 PST 1901'", + /* JsonT */ "'Sun Mar 03 10:11:12 PST 1901'", + /* JsonR */ "'Sun Mar 03 10:11:12 PST 1901'", + /* Xml */ "<string>Sun Mar 03 10:11:12 PST 1901</string>", + /* XmlT */ "<string>Sun Mar 03 10:11:12 PST 1901</string>", + /* XmlR */ "<string>Sun Mar 03 10:11:12 PST 1901</string>\n", + /* XmlNs */ "<string>Sun Mar 03 10:11:12 PST 1901</string>", + /* Html */ "<string>Sun Mar 03 10:11:12 PST 1901</string>", + /* HtmlT */ "<string>Sun Mar 03 10:11:12 PST 1901</string>", + /* HtmlR */ "<string>Sun Mar 03 10:11:12 PST 1901</string>", + /* Uon */ "'Sun Mar 03 10:11:12 PST 1901'", + /* UonT */ "'Sun Mar 03 10:11:12 PST 1901'", + /* UonR */ "'Sun Mar 03 10:11:12 PST 1901'", + /* UrlEnc */ "_value='Sun+Mar+03+10:11:12+PST+1901'", + /* UrlEncT */ "_value='Sun+Mar+03+10:11:12+PST+1901'", + /* UrlEncR */ "_value='Sun+Mar+03+10:11:12+PST+1901'", + /* MsgPack */ "BC53756E204D61722030332031303A31313A3132205053542031393031", + /* MsgPackT */ "BC53756E204D61722030332031303A31313A3132205053542031393031", + /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<j:value>Sun Mar 03 10:11:12 PST 1901</j:value>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<j:value>Sun Mar 03 10:11:12 PST 1901</j:value>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <j:value>Sun Mar 03 10:11:12 PST 1901</j:value>\n </rdf:Description>\n</rdf:RDF>\n" + ) + { + public void verify(Date o) { + assertType(Date.class, o); + } + } }, { /* 1 */ - "DateSwap.ToString/dateArray", - dateArray, - DateSwap.ToString.class, - /* Json */ "['Sun Mar 03 10:11:12 PST 1901']", - /* JsonT */ "['Sun Mar 03 10:11:12 PST 1901']", - /* JsonR */ "[\n\t'Sun Mar 03 10:11:12 PST 1901'\n]", - /* Xml */ "<array><string>Sun Mar 03 10:11:12 PST 1901</string></array>", - /* XmlT */ "<array><string>Sun Mar 03 10:11:12 PST 1901</string></array>", - /* XmlR */ "<array>\n\t<string>Sun Mar 03 10:11:12 PST 1901</string>\n</array>\n", - /* XmlNs */ "<array><string>Sun Mar 03 10:11:12 PST 1901</string></array>", - /* Html */ "<ul><li>Sun Mar 03 10:11:12 PST 1901</li></ul>", - /* HtmlT */ "<ul><li>Sun Mar 03 10:11:12 PST 1901</li></ul>", - /* HtmlR */ "<ul>\n\t<li>Sun Mar 03 10:11:12 PST 1901</li>\n</ul>\n", - /* Uon */ "@('Sun Mar 03 10:11:12 PST 1901')", - /* UonT */ "@('Sun Mar 03 10:11:12 PST 1901')", - /* UonR */ "@(\n\t'Sun Mar 03 10:11:12 PST 1901'\n)", - /* UrlEnc */ "0='Sun+Mar+03+10:11:12+PST+1901'", - /* UrlEncT */ "0='Sun+Mar+03+10:11:12+PST+1901'", - /* UrlEncR */ "0='Sun+Mar+03+10:11:12+PST+1901'", - /* MsgPack */ "91BC53756E204D61722030332031303A31313A3132205053542031393031", - /* MsgPackT */ "91BC53756E204D61722030332031303A31313A3132205053542031393031", - /* RdfXml */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Sun Mar 03 10:11:12 PST 1901</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Sun Mar 03 10:11:12 PST 1901</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Seq>\n <rdf:li>Sun Mar 03 10:11:12 PST 1901</rdf:li>\n </rdf:Seq>\n</rdf:RDF>\n", + new ComboInput2<Date[]>( + "DateSwap.ToString/dateArray", + Date[].class, + dateArray, + DateSwap.ToString.class, + /* Json */ "['Sun Mar 03 10:11:12 PST 1901']", + /* JsonT */ "['Sun Mar 03 10:11:12 PST 1901']", + /* JsonR */ "[\n\t'Sun Mar 03 10:11:12 PST 1901'\n]", + /* Xml */ "<array><string>Sun Mar 03 10:11:12 PST 1901</string></array>", + /* XmlT */ "<array><string>Sun Mar 03 10:11:12 PST 1901</string></array>", + /* XmlR */ "<array>\n\t<string>Sun Mar 03 10:11:12 PST 1901</string>\n</array>\n", + /* XmlNs */ "<array><string>Sun Mar 03 10:11:12 PST 1901</string></array>", + /* Html */ "<ul><li>Sun Mar 03 10:11:12 PST 1901</li></ul>", + /* HtmlT */ "<ul><li>Sun Mar 03 10:11:12 PST 1901</li></ul>", + /* HtmlR */ "<ul>\n\t<li>Sun Mar 03 10:11:12 PST 1901</li>\n</ul>\n", + /* Uon */ "@('Sun Mar 03 10:11:12 PST 1901')", + /* UonT */ "@('Sun Mar 03 10:11:12 PST 1901')", + /* UonR */ "@(\n\t'Sun Mar 03 10:11:12 PST 1901'\n)", + /* UrlEnc */ "0='Sun+Mar+03+10:11:12+PST+1901'", + /* UrlEncT */ "0='Sun+Mar+03+10:11:12+PST+1901'", + /* UrlEncR */ "0='Sun+Mar+03+10:11:12+PST+1901'", + /* MsgPack */ "91BC53756E204D61722030332031303A31313A3132205053542031393031", + /* MsgPackT */ "91BC53756E204D61722030332031303A31313A3132205053542031393031", + /* RdfXml */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Sun Mar 03 10:11:12 PST 1901</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Sun Mar 03 10:11:12 PST 1901</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Seq>\n <rdf:li>Sun Mar 03 10:11:12 PST 1901</rdf:li>\n </rdf:Seq>\n</rdf:RDF>\n" + ) + { + public void verify(Date[] o) { + assertType(Date.class, o[0]); + } + } }, { /* 2 */ - "DateSwap.ToString", - dateMap, - DateSwap.ToString.class, - /* Json */ "{foo:'Sun Mar 03 10:11:12 PST 1901'}", - /* JsonT */ "{foo:'Sun Mar 03 10:11:12 PST 1901'}", - /* JsonR */ "{\n\tfoo: 'Sun Mar 03 10:11:12 PST 1901'\n}", - /* Xml */ "<object><foo>Sun Mar 03 10:11:12 PST 1901</foo></object>", - /* XmlT */ "<object><foo>Sun Mar 03 10:11:12 PST 1901</foo></object>", - /* XmlR */ "<object>\n\t<foo>Sun Mar 03 10:11:12 PST 1901</foo>\n</object>\n", - /* XmlNs */ "<object><foo>Sun Mar 03 10:11:12 PST 1901</foo></object>", - /* Html */ "<table><tr><td>foo</td><td>Sun Mar 03 10:11:12 PST 1901</td></tr></table>", - /* HtmlT */ "<table><tr><td>foo</td><td>Sun Mar 03 10:11:12 PST 1901</td></tr></table>", - /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td>Sun Mar 03 10:11:12 PST 1901</td>\n\t</tr>\n</table>\n", - /* Uon */ "(foo='Sun Mar 03 10:11:12 PST 1901')", - /* UonT */ "(foo='Sun Mar 03 10:11:12 PST 1901')", - /* UonR */ "(\n\tfoo='Sun Mar 03 10:11:12 PST 1901'\n)", - /* UrlEnc */ "foo='Sun+Mar+03+10:11:12+PST+1901'", - /* UrlEncT */ "foo='Sun+Mar+03+10:11:12+PST+1901'", - /* UrlEncR */ "foo='Sun+Mar+03+10:11:12+PST+1901'", - /* MsgPack */ "81A3666F6FBC53756E204D61722030332031303A31313A3132205053542031393031", - /* MsgPackT */ "81A3666F6FBC53756E204D61722030332031303A31313A3132205053542031393031", - /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>Sun Mar 03 10:11:12 PST 1901</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>Sun Mar 03 10:11:12 PST 1901</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:foo>Sun Mar 03 10:11:12 PST 1901</jp:foo>\n </rdf:Description>\n</rdf:RDF>\n", + new ComboInput2<ObjectMap>( + "DateSwap.ToString", + getType(Map.class,String.class,Date.class), + dateMap, + DateSwap.ToString.class, + /* Json */ "{foo:'Sun Mar 03 10:11:12 PST 1901'}", + /* JsonT */ "{foo:'Sun Mar 03 10:11:12 PST 1901'}", + /* JsonR */ "{\n\tfoo: 'Sun Mar 03 10:11:12 PST 1901'\n}", + /* Xml */ "<object><foo>Sun Mar 03 10:11:12 PST 1901</foo></object>", + /* XmlT */ "<object><foo>Sun Mar 03 10:11:12 PST 1901</foo></object>", + /* XmlR */ "<object>\n\t<foo>Sun Mar 03 10:11:12 PST 1901</foo>\n</object>\n", + /* XmlNs */ "<object><foo>Sun Mar 03 10:11:12 PST 1901</foo></object>", + /* Html */ "<table><tr><td>foo</td><td>Sun Mar 03 10:11:12 PST 1901</td></tr></table>", + /* HtmlT */ "<table><tr><td>foo</td><td>Sun Mar 03 10:11:12 PST 1901</td></tr></table>", + /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td>Sun Mar 03 10:11:12 PST 1901</td>\n\t</tr>\n</table>\n", + /* Uon */ "(foo='Sun Mar 03 10:11:12 PST 1901')", + /* UonT */ "(foo='Sun Mar 03 10:11:12 PST 1901')", + /* UonR */ "(\n\tfoo='Sun Mar 03 10:11:12 PST 1901'\n)", + /* UrlEnc */ "foo='Sun+Mar+03+10:11:12+PST+1901'", + /* UrlEncT */ "foo='Sun+Mar+03+10:11:12+PST+1901'", + /* UrlEncR */ "foo='Sun+Mar+03+10:11:12+PST+1901'", + /* MsgPack */ "81A3666F6FBC53756E204D61722030332031303A31313A3132205053542031393031", + /* MsgPackT */ "81A3666F6FBC53756E204D61722030332031303A31313A3132205053542031393031", + /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>Sun Mar 03 10:11:12 PST 1901</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>Sun Mar 03 10:11:12 PST 1901</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:foo>Sun Mar 03 10:11:12 PST 1901</jp:foo>\n </rdf:Description>\n</rdf:RDF>\n" + ) + { + public void verify(ObjectMap o) { + assertType(Date.class, o.get("foo")); + } + } }, { /* 3 */ - "DateSwap.ISO8601DT/singleDate", - singleDate, - DateSwap.ISO8601DT.class, - /* Json */ "'1901-03-03T10:11:12-08:00'", - /* JsonT */ "'1901-03-03T10:11:12-08:00'", - /* JsonR */ "'1901-03-03T10:11:12-08:00'", - /* Xml */ "<string>1901-03-03T10:11:12-08:00</string>", - /* XmlT */ "<string>1901-03-03T10:11:12-08:00</string>", - /* XmlR */ "<string>1901-03-03T10:11:12-08:00</string>\n", - /* XmlNs */ "<string>1901-03-03T10:11:12-08:00</string>", - /* Html */ "<string>1901-03-03T10:11:12-08:00</string>", - /* HtmlT */ "<string>1901-03-03T10:11:12-08:00</string>", - /* HtmlR */ "<string>1901-03-03T10:11:12-08:00</string>", - /* Uon */ "1901-03-03T10:11:12-08:00", - /* UonT */ "1901-03-03T10:11:12-08:00", - /* UonR */ "1901-03-03T10:11:12-08:00", - /* UrlEnc */ "_value=1901-03-03T10:11:12-08:00", - /* UrlEncT */ "_value=1901-03-03T10:11:12-08:00", - /* UrlEncR */ "_value=1901-03-03T10:11:12-08:00", - /* MsgPack */ "B9313930312D30332D30335431303A31313A31322D30383A3030", - /* MsgPackT */ "B9313930312D30332D30335431303A31313A31322D30383A3030", - /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<j:value>1901-03-03T10:11:12-08:00</j:value>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<j:value>1901-03-03T10:11:12-08:00</j:value>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <j:value>1901-03-03T10:11:12-08:00</j:value>\n </rdf:Description>\n</rdf:RDF>\n", + new ComboInput2<Date>( + "DateSwap.ISO8601DT/singleDate", + Date.class, + singleDate, + DateSwap.ISO8601DT.class, + /* Json */ "'1901-03-03T10:11:12-08:00'", + /* JsonT */ "'1901-03-03T10:11:12-08:00'", + /* JsonR */ "'1901-03-03T10:11:12-08:00'", + /* Xml */ "<string>1901-03-03T10:11:12-08:00</string>", + /* XmlT */ "<string>1901-03-03T10:11:12-08:00</string>", + /* XmlR */ "<string>1901-03-03T10:11:12-08:00</string>\n", + /* XmlNs */ "<string>1901-03-03T10:11:12-08:00</string>", + /* Html */ "<string>1901-03-03T10:11:12-08:00</string>", + /* HtmlT */ "<string>1901-03-03T10:11:12-08:00</string>", + /* HtmlR */ "<string>1901-03-03T10:11:12-08:00</string>", + /* Uon */ "1901-03-03T10:11:12-08:00", + /* UonT */ "1901-03-03T10:11:12-08:00", + /* UonR */ "1901-03-03T10:11:12-08:00", + /* UrlEnc */ "_value=1901-03-03T10:11:12-08:00", + /* UrlEncT */ "_value=1901-03-03T10:11:12-08:00", + /* UrlEncR */ "_value=1901-03-03T10:11:12-08:00", + /* MsgPack */ "B9313930312D30332D30335431303A31313A31322D30383A3030", + /* MsgPackT */ "B9313930312D30332D30335431303A31313A31322D30383A3030", + /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<j:value>1901-03-03T10:11:12-08:00</j:value>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<j:value>1901-03-03T10:11:12-08:00</j:value>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <j:value>1901-03-03T10:11:12-08:00</j:value>\n </rdf:Description>\n</rdf:RDF>\n" + ) + { + public void verify(Date o) { + assertType(Date.class, o); + } + } }, { /* 4 */ - "DateSwap.ISO8601DT/dateArray", - dateArray, - DateSwap.ISO8601DT.class, - /* Json */ "['1901-03-03T10:11:12-08:00']", - /* JsonT */ "['1901-03-03T10:11:12-08:00']", - /* JsonR */ "[\n\t'1901-03-03T10:11:12-08:00'\n]", - /* Xml */ "<array><string>1901-03-03T10:11:12-08:00</string></array>", - /* XmlT */ "<array><string>1901-03-03T10:11:12-08:00</string></array>", - /* XmlR */ "<array>\n\t<string>1901-03-03T10:11:12-08:00</string>\n</array>\n", - /* XmlNs */ "<array><string>1901-03-03T10:11:12-08:00</string></array>", - /* Html */ "<ul><li>1901-03-03T10:11:12-08:00</li></ul>", - /* HtmlT */ "<ul><li>1901-03-03T10:11:12-08:00</li></ul>", - /* HtmlR */ "<ul>\n\t<li>1901-03-03T10:11:12-08:00</li>\n</ul>\n", - /* Uon */ "@(1901-03-03T10:11:12-08:00)", - /* UonT */ "@(1901-03-03T10:11:12-08:00)", - /* UonR */ "@(\n\t1901-03-03T10:11:12-08:00\n)", - /* UrlEnc */ "0=1901-03-03T10:11:12-08:00", - /* UrlEncT */ "0=1901-03-03T10:11:12-08:00", - /* UrlEncR */ "0=1901-03-03T10:11:12-08:00", - /* MsgPack */ "91B9313930312D30332D30335431303A31313A31322D30383A3030", - /* MsgPackT */ "91B9313930312D30332D30335431303A31313A31322D30383A3030", - /* RdfXml */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>1901-03-03T10:11:12-08:00</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>1901-03-03T10:11:12-08:00</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Seq>\n <rdf:li>1901-03-03T10:11:12-08:00</rdf:li>\n </rdf:Seq>\n</rdf:RDF>\n", + new ComboInput2<Date[]>( + "DateSwap.ISO8601DT/dateArray", + Date[].class, + dateArray, + DateSwap.ISO8601DT.class, + /* Json */ "['1901-03-03T10:11:12-08:00']", + /* JsonT */ "['1901-03-03T10:11:12-08:00']", + /* JsonR */ "[\n\t'1901-03-03T10:11:12-08:00'\n]", + /* Xml */ "<array><string>1901-03-03T10:11:12-08:00</string></array>", + /* XmlT */ "<array><string>1901-03-03T10:11:12-08:00</string></array>", + /* XmlR */ "<array>\n\t<string>1901-03-03T10:11:12-08:00</string>\n</array>\n", + /* XmlNs */ "<array><string>1901-03-03T10:11:12-08:00</string></array>", + /* Html */ "<ul><li>1901-03-03T10:11:12-08:00</li></ul>", + /* HtmlT */ "<ul><li>1901-03-03T10:11:12-08:00</li></ul>", + /* HtmlR */ "<ul>\n\t<li>1901-03-03T10:11:12-08:00</li>\n</ul>\n", + /* Uon */ "@(1901-03-03T10:11:12-08:00)", + /* UonT */ "@(1901-03-03T10:11:12-08:00)", + /* UonR */ "@(\n\t1901-03-03T10:11:12-08:00\n)", + /* UrlEnc */ "0=1901-03-03T10:11:12-08:00", + /* UrlEncT */ "0=1901-03-03T10:11:12-08:00", + /* UrlEncR */ "0=1901-03-03T10:11:12-08:00", + /* MsgPack */ "91B9313930312D30332D30335431303A31313A31322D30383A3030", + /* MsgPackT */ "91B9313930312D30332D30335431303A31313A31322D30383A3030", + /* RdfXml */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>1901-03-03T10:11:12-08:00</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>1901-03-03T10:11:12-08:00</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Seq>\n <rdf:li>1901-03-03T10:11:12-08:00</rdf:li>\n </rdf:Seq>\n</rdf:RDF>\n" + ) + { + public void verify(Date[] o) { + assertType(Date.class, o[0]); + } + } }, { /* 5 */ - "DateSwap.ISO8601DT/dateMap", - dateMap, - DateSwap.ISO8601DT.class, - /* Json */ "{foo:'1901-03-03T10:11:12-08:00'}", - /* JsonT */ "{foo:'1901-03-03T10:11:12-08:00'}", - /* JsonR */ "{\n\tfoo: '1901-03-03T10:11:12-08:00'\n}", - /* Xml */ "<object><foo>1901-03-03T10:11:12-08:00</foo></object>", - /* XmlT */ "<object><foo>1901-03-03T10:11:12-08:00</foo></object>", - /* XmlR */ "<object>\n\t<foo>1901-03-03T10:11:12-08:00</foo>\n</object>\n", - /* XmlNs */ "<object><foo>1901-03-03T10:11:12-08:00</foo></object>", - /* Html */ "<table><tr><td>foo</td><td>1901-03-03T10:11:12-08:00</td></tr></table>", - /* HtmlT */ "<table><tr><td>foo</td><td>1901-03-03T10:11:12-08:00</td></tr></table>", - /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td>1901-03-03T10:11:12-08:00</td>\n\t</tr>\n</table>\n", - /* Uon */ "(foo=1901-03-03T10:11:12-08:00)", - /* UonT */ "(foo=1901-03-03T10:11:12-08:00)", - /* UonR */ "(\n\tfoo=1901-03-03T10:11:12-08:00\n)", - /* UrlEnc */ "foo=1901-03-03T10:11:12-08:00", - /* UrlEncT */ "foo=1901-03-03T10:11:12-08:00", - /* UrlEncR */ "foo=1901-03-03T10:11:12-08:00", - /* MsgPack */ "81A3666F6FB9313930312D30332D30335431303A31313A31322D30383A3030", - /* MsgPackT */ "81A3666F6FB9313930312D30332D30335431303A31313A31322D30383A3030", - /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>1901-03-03T10:11:12-08:00</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>1901-03-03T10:11:12-08:00</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:foo>1901-03-03T10:11:12-08:00</jp:foo>\n </rdf:Description>\n</rdf:RDF>\n", + new ComboInput2<ObjectMap>( + "DateSwap.ISO8601DT/dateMap", + getType(Map.class,String.class,Date.class), + dateMap, + DateSwap.ISO8601DT.class, + /* Json */ "{foo:'1901-03-03T10:11:12-08:00'}", + /* JsonT */ "{foo:'1901-03-03T10:11:12-08:00'}", + /* JsonR */ "{\n\tfoo: '1901-03-03T10:11:12-08:00'\n}", + /* Xml */ "<object><foo>1901-03-03T10:11:12-08:00</foo></object>", + /* XmlT */ "<object><foo>1901-03-03T10:11:12-08:00</foo></object>", + /* XmlR */ "<object>\n\t<foo>1901-03-03T10:11:12-08:00</foo>\n</object>\n", + /* XmlNs */ "<object><foo>1901-03-03T10:11:12-08:00</foo></object>", + /* Html */ "<table><tr><td>foo</td><td>1901-03-03T10:11:12-08:00</td></tr></table>", + /* HtmlT */ "<table><tr><td>foo</td><td>1901-03-03T10:11:12-08:00</td></tr></table>", + /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td>1901-03-03T10:11:12-08:00</td>\n\t</tr>\n</table>\n", + /* Uon */ "(foo=1901-03-03T10:11:12-08:00)", + /* UonT */ "(foo=1901-03-03T10:11:12-08:00)", + /* UonR */ "(\n\tfoo=1901-03-03T10:11:12-08:00\n)", + /* UrlEnc */ "foo=1901-03-03T10:11:12-08:00", + /* UrlEncT */ "foo=1901-03-03T10:11:12-08:00", + /* UrlEncR */ "foo=1901-03-03T10:11:12-08:00", + /* MsgPack */ "81A3666F6FB9313930312D30332D30335431303A31313A31322D30383A3030", + /* MsgPackT */ "81A3666F6FB9313930312D30332D30335431303A31313A31322D30383A3030", + /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>1901-03-03T10:11:12-08:00</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>1901-03-03T10:11:12-08:00</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:foo>1901-03-03T10:11:12-08:00</jp:foo>\n </rdf:Description>\n</rdf:RDF>\n" + ) + { + public void verify(ObjectMap o) { + assertType(Date.class, o.get("foo")); + } + } }, { /* 6 */ - "DateSwap.RFC2822DTZ/singleDate", - singleDate, - DateSwap.RFC2822DTZ.class, - /* Json */ "'Sun, 03 Mar 1901 18:11:12 GMT'", - /* JsonT */ "'Sun, 03 Mar 1901 18:11:12 GMT'", - /* JsonR */ "'Sun, 03 Mar 1901 18:11:12 GMT'", - /* Xml */ "<string>Sun, 03 Mar 1901 18:11:12 GMT</string>", - /* XmlT */ "<string>Sun, 03 Mar 1901 18:11:12 GMT</string>", - /* XmlR */ "<string>Sun, 03 Mar 1901 18:11:12 GMT</string>\n", - /* XmlNs */ "<string>Sun, 03 Mar 1901 18:11:12 GMT</string>", - /* Html */ "<string>Sun, 03 Mar 1901 18:11:12 GMT</string>", - /* HtmlT */ "<string>Sun, 03 Mar 1901 18:11:12 GMT</string>", - /* HtmlR */ "<string>Sun, 03 Mar 1901 18:11:12 GMT</string>", - /* Uon */ "'Sun, 03 Mar 1901 18:11:12 GMT'", - /* UonT */ "'Sun, 03 Mar 1901 18:11:12 GMT'", - /* UonR */ "'Sun, 03 Mar 1901 18:11:12 GMT'", - /* UrlEnc */ "_value='Sun,+03+Mar+1901+18:11:12+GMT'", - /* UrlEncT */ "_value='Sun,+03+Mar+1901+18:11:12+GMT'", - /* UrlEncR */ "_value='Sun,+03+Mar+1901+18:11:12+GMT'", - /* MsgPack */ "BD53756E2C203033204D617220313930312031383A31313A313220474D54", - /* MsgPackT */ "BD53756E2C203033204D617220313930312031383A31313A313220474D54", - /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<j:value>Sun, 03 Mar 1901 18:11:12 GMT</j:value>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<j:value>Sun, 03 Mar 1901 18:11:12 GMT</j:value>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <j:value>Sun, 03 Mar 1901 18:11:12 GMT</j:value>\n </rdf:Description>\n</rdf:RDF>\n", + new ComboInput2<Date>( + "DateSwap.RFC2822DTZ/singleDate", + Date.class, + singleDate, + DateSwap.RFC2822DTZ.class, + /* Json */ "'Sun, 03 Mar 1901 18:11:12 GMT'", + /* JsonT */ "'Sun, 03 Mar 1901 18:11:12 GMT'", + /* JsonR */ "'Sun, 03 Mar 1901 18:11:12 GMT'", + /* Xml */ "<string>Sun, 03 Mar 1901 18:11:12 GMT</string>", + /* XmlT */ "<string>Sun, 03 Mar 1901 18:11:12 GMT</string>", + /* XmlR */ "<string>Sun, 03 Mar 1901 18:11:12 GMT</string>\n", + /* XmlNs */ "<string>Sun, 03 Mar 1901 18:11:12 GMT</string>", + /* Html */ "<string>Sun, 03 Mar 1901 18:11:12 GMT</string>", + /* HtmlT */ "<string>Sun, 03 Mar 1901 18:11:12 GMT</string>", + /* HtmlR */ "<string>Sun, 03 Mar 1901 18:11:12 GMT</string>", + /* Uon */ "'Sun, 03 Mar 1901 18:11:12 GMT'", + /* UonT */ "'Sun, 03 Mar 1901 18:11:12 GMT'", + /* UonR */ "'Sun, 03 Mar 1901 18:11:12 GMT'", + /* UrlEnc */ "_value='Sun,+03+Mar+1901+18:11:12+GMT'", + /* UrlEncT */ "_value='Sun,+03+Mar+1901+18:11:12+GMT'", + /* UrlEncR */ "_value='Sun,+03+Mar+1901+18:11:12+GMT'", + /* MsgPack */ "BD53756E2C203033204D617220313930312031383A31313A313220474D54", + /* MsgPackT */ "BD53756E2C203033204D617220313930312031383A31313A313220474D54", + /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<j:value>Sun, 03 Mar 1901 18:11:12 GMT</j:value>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<j:value>Sun, 03 Mar 1901 18:11:12 GMT</j:value>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <j:value>Sun, 03 Mar 1901 18:11:12 GMT</j:value>\n </rdf:Description>\n</rdf:RDF>\n" + ) + { + public void verify(Date o) { + assertType(Date.class, o); + } + } }, { /* 7 */ - "DateSwap.RFC2822DTZ/dateArray", - dateArray, - DateSwap.RFC2822DTZ.class, - /* Json */ "['Sun, 03 Mar 1901 18:11:12 GMT']", - /* JsonT */ "['Sun, 03 Mar 1901 18:11:12 GMT']", - /* JsonR */ "[\n\t'Sun, 03 Mar 1901 18:11:12 GMT'\n]", - /* Xml */ "<array><string>Sun, 03 Mar 1901 18:11:12 GMT</string></array>", - /* XmlT */ "<array><string>Sun, 03 Mar 1901 18:11:12 GMT</string></array>", - /* XmlR */ "<array>\n\t<string>Sun, 03 Mar 1901 18:11:12 GMT</string>\n</array>\n", - /* XmlNs */ "<array><string>Sun, 03 Mar 1901 18:11:12 GMT</string></array>", - /* Html */ "<ul><li>Sun, 03 Mar 1901 18:11:12 GMT</li></ul>", - /* HtmlT */ "<ul><li>Sun, 03 Mar 1901 18:11:12 GMT</li></ul>", - /* HtmlR */ "<ul>\n\t<li>Sun, 03 Mar 1901 18:11:12 GMT</li>\n</ul>\n", - /* Uon */ "@('Sun, 03 Mar 1901 18:11:12 GMT')", - /* UonT */ "@('Sun, 03 Mar 1901 18:11:12 GMT')", - /* UonR */ "@(\n\t'Sun, 03 Mar 1901 18:11:12 GMT'\n)", - /* UrlEnc */ "0='Sun,+03+Mar+1901+18:11:12+GMT'", - /* UrlEncT */ "0='Sun,+03+Mar+1901+18:11:12+GMT'", - /* UrlEncR */ "0='Sun,+03+Mar+1901+18:11:12+GMT'", - /* MsgPack */ "91BD53756E2C203033204D617220313930312031383A31313A313220474D54", - /* MsgPackT */ "91BD53756E2C203033204D617220313930312031383A31313A313220474D54", - /* RdfXml */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Sun, 03 Mar 1901 18:11:12 GMT</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Sun, 03 Mar 1901 18:11:12 GMT</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Seq>\n <rdf:li>Sun, 03 Mar 1901 18:11:12 GMT</rdf:li>\n </rdf:Seq>\n</rdf:RDF>\n", + new ComboInput2<Date[]>( + "DateSwap.RFC2822DTZ/dateArray", + Date[].class, + dateArray, + DateSwap.RFC2822DTZ.class, + /* Json */ "['Sun, 03 Mar 1901 18:11:12 GMT']", + /* JsonT */ "['Sun, 03 Mar 1901 18:11:12 GMT']", + /* JsonR */ "[\n\t'Sun, 03 Mar 1901 18:11:12 GMT'\n]", + /* Xml */ "<array><string>Sun, 03 Mar 1901 18:11:12 GMT</string></array>", + /* XmlT */ "<array><string>Sun, 03 Mar 1901 18:11:12 GMT</string></array>", + /* XmlR */ "<array>\n\t<string>Sun, 03 Mar 1901 18:11:12 GMT</string>\n</array>\n", + /* XmlNs */ "<array><string>Sun, 03 Mar 1901 18:11:12 GMT</string></array>", + /* Html */ "<ul><li>Sun, 03 Mar 1901 18:11:12 GMT</li></ul>", + /* HtmlT */ "<ul><li>Sun, 03 Mar 1901 18:11:12 GMT</li></ul>", + /* HtmlR */ "<ul>\n\t<li>Sun, 03 Mar 1901 18:11:12 GMT</li>\n</ul>\n", + /* Uon */ "@('Sun, 03 Mar 1901 18:11:12 GMT')", + /* UonT */ "@('Sun, 03 Mar 1901 18:11:12 GMT')", + /* UonR */ "@(\n\t'Sun, 03 Mar 1901 18:11:12 GMT'\n)", + /* UrlEnc */ "0='Sun,+03+Mar+1901+18:11:12+GMT'", + /* UrlEncT */ "0='Sun,+03+Mar+1901+18:11:12+GMT'", + /* UrlEncR */ "0='Sun,+03+Mar+1901+18:11:12+GMT'", + /* MsgPack */ "91BD53756E2C203033204D617220313930312031383A31313A313220474D54", + /* MsgPackT */ "91BD53756E2C203033204D617220313930312031383A31313A313220474D54", + /* RdfXml */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Sun, 03 Mar 1901 18:11:12 GMT</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Sun, 03 Mar 1901 18:11:12 GMT</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Seq>\n <rdf:li>Sun, 03 Mar 1901 18:11:12 GMT</rdf:li>\n </rdf:Seq>\n</rdf:RDF>\n" + ) + { + public void verify(Date[] o) { + assertType(Date.class, o[0]); + } + } }, { /* 8 */ - "DateSwap.RFC2822DTZ/dateMap", - dateMap, - DateSwap.RFC2822DTZ.class, - /* Json */ "{foo:'Sun, 03 Mar 1901 18:11:12 GMT'}", - /* JsonT */ "{foo:'Sun, 03 Mar 1901 18:11:12 GMT'}", - /* JsonR */ "{\n\tfoo: 'Sun, 03 Mar 1901 18:11:12 GMT'\n}", - /* Xml */ "<object><foo>Sun, 03 Mar 1901 18:11:12 GMT</foo></object>", - /* XmlT */ "<object><foo>Sun, 03 Mar 1901 18:11:12 GMT</foo></object>", - /* XmlR */ "<object>\n\t<foo>Sun, 03 Mar 1901 18:11:12 GMT</foo>\n</object>\n", - /* XmlNs */ "<object><foo>Sun, 03 Mar 1901 18:11:12 GMT</foo></object>", - /* Html */ "<table><tr><td>foo</td><td>Sun, 03 Mar 1901 18:11:12 GMT</td></tr></table>", - /* HtmlT */ "<table><tr><td>foo</td><td>Sun, 03 Mar 1901 18:11:12 GMT</td></tr></table>", - /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td>Sun, 03 Mar 1901 18:11:12 GMT</td>\n\t</tr>\n</table>\n", - /* Uon */ "(foo='Sun, 03 Mar 1901 18:11:12 GMT')", - /* UonT */ "(foo='Sun, 03 Mar 1901 18:11:12 GMT')", - /* UonR */ "(\n\tfoo='Sun, 03 Mar 1901 18:11:12 GMT'\n)", - /* UrlEnc */ "foo='Sun,+03+Mar+1901+18:11:12+GMT'", - /* UrlEncT */ "foo='Sun,+03+Mar+1901+18:11:12+GMT'", - /* UrlEncR */ "foo='Sun,+03+Mar+1901+18:11:12+GMT'", - /* MsgPack */ "81A3666F6FBD53756E2C203033204D617220313930312031383A31313A313220474D54", - /* MsgPackT */ "81A3666F6FBD53756E2C203033204D617220313930312031383A31313A313220474D54", - /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>Sun, 03 Mar 1901 18:11:12 GMT</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>Sun, 03 Mar 1901 18:11:12 GMT</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:foo>Sun, 03 Mar 1901 18:11:12 GMT</jp:foo>\n </rdf:Description>\n</rdf:RDF>\n", + new ComboInput2<ObjectMap>( + "DateSwap.RFC2822DTZ/dateMap", + getType(Map.class,String.class,Date.class), + dateMap, + DateSwap.RFC2822DTZ.class, + /* Json */ "{foo:'Sun, 03 Mar 1901 18:11:12 GMT'}", + /* JsonT */ "{foo:'Sun, 03 Mar 1901 18:11:12 GMT'}", + /* JsonR */ "{\n\tfoo: 'Sun, 03 Mar 1901 18:11:12 GMT'\n}", + /* Xml */ "<object><foo>Sun, 03 Mar 1901 18:11:12 GMT</foo></object>", + /* XmlT */ "<object><foo>Sun, 03 Mar 1901 18:11:12 GMT</foo></object>", + /* XmlR */ "<object>\n\t<foo>Sun, 03 Mar 1901 18:11:12 GMT</foo>\n</object>\n", + /* XmlNs */ "<object><foo>Sun, 03 Mar 1901 18:11:12 GMT</foo></object>", + /* Html */ "<table><tr><td>foo</td><td>Sun, 03 Mar 1901 18:11:12 GMT</td></tr></table>", + /* HtmlT */ "<table><tr><td>foo</td><td>Sun, 03 Mar 1901 18:11:12 GMT</td></tr></table>", + /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td>Sun, 03 Mar 1901 18:11:12 GMT</td>\n\t</tr>\n</table>\n", + /* Uon */ "(foo='Sun, 03 Mar 1901 18:11:12 GMT')", + /* UonT */ "(foo='Sun, 03 Mar 1901 18:11:12 GMT')", + /* UonR */ "(\n\tfoo='Sun, 03 Mar 1901 18:11:12 GMT'\n)", + /* UrlEnc */ "foo='Sun,+03+Mar+1901+18:11:12+GMT'", + /* UrlEncT */ "foo='Sun,+03+Mar+1901+18:11:12+GMT'", + /* UrlEncR */ "foo='Sun,+03+Mar+1901+18:11:12+GMT'", + /* MsgPack */ "81A3666F6FBD53756E2C203033204D617220313930312031383A31313A313220474D54", + /* MsgPackT */ "81A3666F6FBD53756E2C203033204D617220313930312031383A31313A313220474D54", + /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>Sun, 03 Mar 1901 18:11:12 GMT</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>Sun, 03 Mar 1901 18:11:12 GMT</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:foo>Sun, 03 Mar 1901 18:11:12 GMT</jp:foo>\n </rdf:Description>\n</rdf:RDF>\n" + ) + { + public void verify(ObjectMap o) { + assertType(Date.class, o.get("foo")); + } + } }, { /* 9 */ - "DateLongSwap", - singleDate, - DateLongSwap.class, - /* Json */ "-2172116928000", - /* JsonT */ "-2172116928000", - /* JsonR */ "-2172116928000", - /* Xml */ "<number>-2172116928000</number>", - /* XmlT */ "<number>-2172116928000</number>", - /* XmlR */ "<number>-2172116928000</number>\n", - /* XmlNs */ "<number>-2172116928000</number>", - /* Html */ "<number>-2172116928000</number>", - /* HtmlT */ "<number>-2172116928000</number>", - /* HtmlR */ "<number>-2172116928000</number>", - /* Uon */ "-2172116928000", - /* UonT */ "-2172116928000", - /* UonR */ "-2172116928000", - /* UrlEnc */ "_value=-2172116928000", - /* UrlEncT */ "_value=-2172116928000", - /* UrlEncR */ "_value=-2172116928000", - /* MsgPack */ "D3FFFFFE0643BDFA00", - /* MsgPackT */ "D3FFFFFE0643BDFA00", - /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<j:value>-2172116928000</j:value>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<j:value>-2172116928000</j:value>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <j:value>-2172116928000</j:value>\n </rdf:Description>\n</rdf:RDF>\n", + new ComboInput2<Date>( + "DateLongSwap", + Date.class, + singleDate, + DateLongSwap.class, + /* Json */ "-2172116928000", + /* JsonT */ "-2172116928000", + /* JsonR */ "-2172116928000", + /* Xml */ "<number>-2172116928000</number>", + /* XmlT */ "<number>-2172116928000</number>", + /* XmlR */ "<number>-2172116928000</number>\n", + /* XmlNs */ "<number>-2172116928000</number>", + /* Html */ "<number>-2172116928000</number>", + /* HtmlT */ "<number>-2172116928000</number>", + /* HtmlR */ "<number>-2172116928000</number>", + /* Uon */ "-2172116928000", + /* UonT */ "-2172116928000", + /* UonR */ "-2172116928000", + /* UrlEnc */ "_value=-2172116928000", + /* UrlEncT */ "_value=-2172116928000", + /* UrlEncR */ "_value=-2172116928000", + /* MsgPack */ "D3FFFFFE0643BDFA00", + /* MsgPackT */ "D3FFFFFE0643BDFA00", + /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<j:value>-2172116928000</j:value>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<j:value>-2172116928000</j:value>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <j:value>-2172116928000</j:value>\n </rdf:Description>\n</rdf:RDF>\n" + ) + { + public void verify(Date o) { + assertType(Date.class, o); + } + } }, { /* 10 */ - "DateLongSwap/dateArray", - dateArray, - DateLongSwap.class, - /* Json */ "[-2172116928000]", - /* JsonT */ "[-2172116928000]", - /* JsonR */ "[\n\t-2172116928000\n]", - /* Xml */ "<array><number>-2172116928000</number></array>", - /* XmlT */ "<array><number>-2172116928000</number></array>", - /* XmlR */ "<array>\n\t<number>-2172116928000</number>\n</array>\n", - /* XmlNs */ "<array><number>-2172116928000</number></array>", - /* Html */ "<ul><li><number>-2172116928000</number></li></ul>", - /* HtmlT */ "<ul><li><number>-2172116928000</number></li></ul>", - /* HtmlR */ "<ul>\n\t<li><number>-2172116928000</number></li>\n</ul>\n", - /* Uon */ "@(-2172116928000)", - /* UonT */ "@(-2172116928000)", - /* UonR */ "@(\n\t-2172116928000\n)", - /* UrlEnc */ "0=-2172116928000", - /* UrlEncT */ "0=-2172116928000", - /* UrlEncR */ "0=-2172116928000", - /* MsgPack */ "91D3FFFFFE0643BDFA00", - /* MsgPackT */ "91D3FFFFFE0643BDFA00", - /* RdfXml */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>-2172116928000</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>-2172116928000</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Seq>\n <rdf:li>-2172116928000</rdf:li>\n </rdf:Seq>\n</rdf:RDF>\n", + new ComboInput2<Date[]>( + "DateLongSwap/dateArray", + Date[].class, + dateArray, + DateLongSwap.class, + /* Json */ "[-2172116928000]", + /* JsonT */ "[-2172116928000]", + /* JsonR */ "[\n\t-2172116928000\n]", + /* Xml */ "<array><number>-2172116928000</number></array>", + /* XmlT */ "<array><number>-2172116928000</number></array>", + /* XmlR */ "<array>\n\t<number>-2172116928000</number>\n</array>\n", + /* XmlNs */ "<array><number>-2172116928000</number></array>", + /* Html */ "<ul><li><number>-2172116928000</number></li></ul>", + /* HtmlT */ "<ul><li><number>-2172116928000</number></li></ul>", + /* HtmlR */ "<ul>\n\t<li><number>-2172116928000</number></li>\n</ul>\n", + /* Uon */ "@(-2172116928000)", + /* UonT */ "@(-2172116928000)", + /* UonR */ "@(\n\t-2172116928000\n)", + /* UrlEnc */ "0=-2172116928000", + /* UrlEncT */ "0=-2172116928000", + /* UrlEncR */ "0=-2172116928000", + /* MsgPack */ "91D3FFFFFE0643BDFA00", + /* MsgPackT */ "91D3FFFFFE0643BDFA00", + /* RdfXml */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>-2172116928000</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>-2172116928000</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Seq>\n <rdf:li>-2172116928000</rdf:li>\n </rdf:Seq>\n</rdf:RDF>\n" + ) + { + public void verify(Date[] o) { + assertType(Date.class, o[0]); + } + } }, { /* 11 */ - "DateLongSwap/dateMap", - dateMap, - DateLongSwap.class, - /* Json */ "{foo:-2172116928000}", - /* JsonT */ "{foo:-2172116928000}", - /* JsonR */ "{\n\tfoo: -2172116928000\n}", - /* Xml */ "<object><foo _type='number'>-2172116928000</foo></object>", - /* XmlT */ "<object><foo t='number'>-2172116928000</foo></object>", - /* XmlR */ "<object>\n\t<foo _type='number'>-2172116928000</foo>\n</object>\n", - /* XmlNs */ "<object><foo _type='number'>-2172116928000</foo></object>", - /* Html */ "<table><tr><td>foo</td><td><number>-2172116928000</number></td></tr></table>", - /* HtmlT */ "<table><tr><td>foo</td><td><number>-2172116928000</number></td></tr></table>", - /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td><number>-2172116928000</number></td>\n\t</tr>\n</table>\n", - /* Uon */ "(foo=-2172116928000)", - /* UonT */ "(foo=-2172116928000)", - /* UonR */ "(\n\tfoo=-2172116928000\n)", - /* UrlEnc */ "foo=-2172116928000", - /* UrlEncT */ "foo=-2172116928000", - /* UrlEncR */ "foo=-2172116928000", - /* MsgPack */ "81A3666F6FD3FFFFFE0643BDFA00", - /* MsgPackT */ "81A3666F6FD3FFFFFE0643BDFA00", - /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>-2172116928000</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>-2172116928000</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:foo>-2172116928000</jp:foo>\n </rdf:Description>\n</rdf:RDF>\n", + new ComboInput2<ObjectMap>( + "DateLongSwap/dateMap", + getType(Map.class,String.class,Date.class), + dateMap, + DateLongSwap.class, + /* Json */ "{foo:-2172116928000}", + /* JsonT */ "{foo:-2172116928000}", + /* JsonR */ "{\n\tfoo: -2172116928000\n}", + /* Xml */ "<object><foo _type='number'>-2172116928000</foo></object>", + /* XmlT */ "<object><foo t='number'>-2172116928000</foo></object>", + /* XmlR */ "<object>\n\t<foo _type='number'>-2172116928000</foo>\n</object>\n", + /* XmlNs */ "<object><foo _type='number'>-2172116928000</foo></object>", + /* Html */ "<table><tr><td>foo</td><td><number>-2172116928000</number></td></tr></table>", + /* HtmlT */ "<table><tr><td>foo</td><td><number>-2172116928000</number></td></tr></table>", + /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td><number>-2172116928000</number></td>\n\t</tr>\n</table>\n", + /* Uon */ "(foo=-2172116928000)", + /* UonT */ "(foo=-2172116928000)", + /* UonR */ "(\n\tfoo=-2172116928000\n)", + /* UrlEnc */ "foo=-2172116928000", + /* UrlEncT */ "foo=-2172116928000", + /* UrlEncR */ "foo=-2172116928000", + /* MsgPack */ "81A3666F6FD3FFFFFE0643BDFA00", + /* MsgPackT */ "81A3666F6FD3FFFFFE0643BDFA00", + /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>-2172116928000</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>-2172116928000</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:foo>-2172116928000</jp:foo>\n </rdf:Description>\n</rdf:RDF>\n" + ) + { + public void verify(ObjectMap o) { + assertType(Date.class, o.get("foo")); + } + } }, { /* 12 */ - "DateMapSwap/singleDate", - singleDate, - DateMapSwap.class, - /* Json */ "{time:-2172116928000}", - /* JsonT */ "{time:-2172116928000}", - /* JsonR */ "{\n\ttime: -2172116928000\n}", - /* Xml */ "<object><time _type='number'>-2172116928000</time></object>", - /* XmlT */ "<object><time t='number'>-2172116928000</time></object>", - /* XmlR */ "<object>\n\t<time _type='number'>-2172116928000</time>\n</object>\n", - /* XmlNs */ "<object><time _type='number'>-2172116928000</time></object>", - /* Html */ "<table><tr><td>time</td><td><number>-2172116928000</number></td></tr></table>", - /* HtmlT */ "<table><tr><td>time</td><td><number>-2172116928000</number></td></tr></table>", - /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>time</td>\n\t\t<td><number>-2172116928000</number></td>\n\t</tr>\n</table>\n", - /* Uon */ "(time=-2172116928000)", - /* UonT */ "(time=-2172116928000)", - /* UonR */ "(\n\ttime=-2172116928000\n)", - /* UrlEnc */ "time=-2172116928000", - /* UrlEncT */ "time=-2172116928000", - /* UrlEncR */ "time=-2172116928000", - /* MsgPack */ "81A474696D65D3FFFFFE0643BDFA00", - /* MsgPackT */ "81A474696D65D3FFFFFE0643BDFA00", - /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:time>-2172116928000</jp:time>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:time>-2172116928000</jp:time>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:time>-2172116928000</jp:time>\n </rdf:Description>\n</rdf:RDF>\n", + new ComboInput2<Date>( + "DateMapSwap/singleDate", + Date.class, + singleDate, + DateMapSwap.class, + /* Json */ "{time:-2172116928000}", + /* JsonT */ "{time:-2172116928000}", + /* JsonR */ "{\n\ttime: -2172116928000\n}", + /* Xml */ "<object><time _type='number'>-2172116928000</time></object>", + /* XmlT */ "<object><time t='number'>-2172116928000</time></object>", + /* XmlR */ "<object>\n\t<time _type='number'>-2172116928000</time>\n</object>\n", + /* XmlNs */ "<object><time _type='number'>-2172116928000</time></object>", + /* Html */ "<table><tr><td>time</td><td><number>-2172116928000</number></td></tr></table>", + /* HtmlT */ "<table><tr><td>time</td><td><number>-2172116928000</number></td></tr></table>", + /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>time</td>\n\t\t<td><number>-2172116928000</number></td>\n\t</tr>\n</table>\n", + /* Uon */ "(time=-2172116928000)", + /* UonT */ "(time=-2172116928000)", + /* UonR */ "(\n\ttime=-2172116928000\n)", + /* UrlEnc */ "time=-2172116928000", + /* UrlEncT */ "time=-2172116928000", + /* UrlEncR */ "time=-2172116928000", + /* MsgPack */ "81A474696D65D3FFFFFE0643BDFA00", + /* MsgPackT */ "81A474696D65D3FFFFFE0643BDFA00", + /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:time>-2172116928000</jp:time>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:time>-2172116928000</jp:time>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:time>-2172116928000</jp:time>\n </rdf:Description>\n</rdf:RDF>\n" + ) + { + public void verify(Date o) { + assertType(Date.class, o); + } + } }, { /* 13 */ - "DateMapSwap/dateArray", - dateArray, - DateMapSwap.class, - /* Json */ "[{time:-2172116928000}]", - /* JsonT */ "[{time:-2172116928000}]", - /* JsonR */ "[\n\t{\n\t\ttime: -2172116928000\n\t}\n]", - /* Xml */ "<array><object><time _type='number'>-2172116928000</time></object></array>", - /* XmlT */ "<array><object><time t='number'>-2172116928000</time></object></array>", - /* XmlR */ "<array>\n\t<object>\n\t\t<time _type='number'>-2172116928000</time>\n\t</object>\n</array>\n", - /* XmlNs */ "<array><object><time _type='number'>-2172116928000</time></object></array>", - /* Html */ "<ul><li><table><tr><td>time</td><td><number>-2172116928000</number></td></tr></table></li></ul>", - /* HtmlT */ "<ul><li><table><tr><td>time</td><td><number>-2172116928000</number></td></tr></table></li></ul>", - /* HtmlR */ "<ul>\n\t<li>\n\t\t<table>\n\t\t\t<tr>\n\t\t\t\t<td>time</td>\n\t\t\t\t<td><number>-2172116928000</number></td>\n\t\t\t</tr>\n\t\t</table>\n\t</li>\n</ul>\n", - /* Uon */ "@((time=-2172116928000))", - /* UonT */ "@((time=-2172116928000))", - /* UonR */ "@(\n\t(\n\t\ttime=-2172116928000\n\t)\n)", - /* UrlEnc */ "0=(time=-2172116928000)", - /* UrlEncT */ "0=(time=-2172116928000)", - /* UrlEncR */ "0=(\n\ttime=-2172116928000\n)", - /* MsgPack */ "9181A474696D65D3FFFFFE0643BDFA00", - /* MsgPackT */ "9181A474696D65D3FFFFFE0643BDFA00", - /* RdfXml */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li rdf:parseType='Resource'>\n<jp:time>-2172116928000</jp:time>\n</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li rdf:parseType='Resource'>\n<jp:time>-2172116928000</jp:time>\n</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Seq>\n <rdf:li rdf:parseType='Resource'>\n <jp:time>-2172116928000</jp:time>\n </rdf:li>\n </rdf:Seq>\n</rdf:RDF>\n", + new ComboInput2<Date[]>( + "DateMapSwap/dateArray", + Date[].class, + dateArray, + DateMapSwap.class, + /* Json */ "[{time:-2172116928000}]", + /* JsonT */ "[{time:-2172116928000}]", + /* JsonR */ "[\n\t{\n\t\ttime: -2172116928000\n\t}\n]", + /* Xml */ "<array><object><time _type='number'>-2172116928000</time></object></array>", + /* XmlT */ "<array><object><time t='number'>-2172116928000</time></object></array>", + /* XmlR */ "<array>\n\t<object>\n\t\t<time _type='number'>-2172116928000</time>\n\t</object>\n</array>\n", + /* XmlNs */ "<array><object><time _type='number'>-2172116928000</time></object></array>", + /* Html */ "<ul><li><table><tr><td>time</td><td><number>-2172116928000</number></td></tr></table></li></ul>", + /* HtmlT */ "<ul><li><table><tr><td>time</td><td><number>-2172116928000</number></td></tr></table></li></ul>", + /* HtmlR */ "<ul>\n\t<li>\n\t\t<table>\n\t\t\t<tr>\n\t\t\t\t<td>time</td>\n\t\t\t\t<td><number>-2172116928000</number></td>\n\t\t\t</tr>\n\t\t</table>\n\t</li>\n</ul>\n", + /* Uon */ "@((time=-2172116928000))", + /* UonT */ "@((time=-2172116928000))", + /* UonR */ "@(\n\t(\n\t\ttime=-2172116928000\n\t)\n)", + /* UrlEnc */ "0=(time=-2172116928000)", + /* UrlEncT */ "0=(time=-2172116928000)", + /* UrlEncR */ "0=(\n\ttime=-2172116928000\n)", + /* MsgPack */ "9181A474696D65D3FFFFFE0643BDFA00", + /* MsgPackT */ "9181A474696D65D3FFFFFE0643BDFA00", + /* RdfXml */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li rdf:parseType='Resource'>\n<jp:time>-2172116928000</jp:time>\n</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li rdf:parseType='Resource'>\n<jp:time>-2172116928000</jp:time>\n</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Seq>\n <rdf:li rdf:parseType='Resource'>\n <jp:time>-2172116928000</jp:time>\n </rdf:li>\n </rdf:Seq>\n</rdf:RDF>\n" + ) + { + public void verify(Date[] o) { + assertType(Date.class, o[0]); + } + } }, { /* 14 */ - "DateMapSwap/dateMap", - dateMap, - DateMapSwap.class, - /* Json */ "{foo:{time:-2172116928000}}", - /* JsonT */ "{foo:{time:-2172116928000}}", - /* JsonR */ "{\n\tfoo: {\n\t\ttime: -2172116928000\n\t}\n}", - /* Xml */ "<object><foo _type='object'><time _type='number'>-2172116928000</time></foo></object>", - /* XmlT */ "<object><foo t='object'><time t='number'>-2172116928000</time></foo></object>", - /* XmlR */ "<object>\n\t<foo _type='object'>\n\t\t<time _type='number'>-2172116928000</time>\n\t</foo>\n</object>\n", - /* XmlNs */ "<object><foo _type='object'><time _type='number'>-2172116928000</time></foo></object>", - /* Html */ "<table><tr><td>foo</td><td><table><tr><td>time</td><td><number>-2172116928000</number></td></tr></table></td></tr></table>", - /* HtmlT */ "<table><tr><td>foo</td><td><table><tr><td>time</td><td><number>-2172116928000</number></td></tr></table></td></tr></table>", - /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td>\n\t\t\t<table>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>time</td>\n\t\t\t\t\t<td><number>-2172116928000</number></td>\n\t\t\t\t</tr>\n\t\t\t</table>\n\t\t</td>\n\t</tr>\n</table>\n", - /* Uon */ "(foo=(time=-2172116928000))", - /* UonT */ "(foo=(time=-2172116928000))", - /* UonR */ "(\n\tfoo=(\n\t\ttime=-2172116928000\n\t)\n)", - /* UrlEnc */ "foo=(time=-2172116928000)", - /* UrlEncT */ "foo=(time=-2172116928000)", - /* UrlEncR */ "foo=(\n\ttime=-2172116928000\n)", - /* MsgPack */ "81A3666F6F81A474696D65D3FFFFFE0643BDFA00", - /* MsgPackT */ "81A3666F6F81A474696D65D3FFFFFE0643BDFA00", - /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo rdf:parseType='Resource'>\n<jp:time>-2172116928000</jp:time>\n</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo rdf:parseType='Resource'>\n<jp:time>-2172116928000</jp:time>\n</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:foo rdf:parseType='Resource'>\n <jp:time>-2172116928000</jp:time>\n </jp:foo>\n </rdf:Description>\n</rdf:RDF>\n", + new ComboInput2<ObjectMap>( + "DateMapSwap/dateMap", + getType(Map.class,String.class,Date.class), + dateMap, + DateMapSwap.class, + /* Json */ "{foo:{time:-2172116928000}}", + /* JsonT */ "{foo:{time:-2172116928000}}", + /* JsonR */ "{\n\tfoo: {\n\t\ttime: -2172116928000\n\t}\n}", + /* Xml */ "<object><foo _type='object'><time _type='number'>-2172116928000</time></foo></object>", + /* XmlT */ "<object><foo t='object'><time t='number'>-2172116928000</time></foo></object>", + /* XmlR */ "<object>\n\t<foo _type='object'>\n\t\t<time _type='number'>-2172116928000</time>\n\t</foo>\n</object>\n", + /* XmlNs */ "<object><foo _type='object'><time _type='number'>-2172116928000</time></foo></object>", + /* Html */ "<table><tr><td>foo</td><td><table><tr><td>time</td><td><number>-2172116928000</number></td></tr></table></td></tr></table>", + /* HtmlT */ "<table><tr><td>foo</td><td><table><tr><td>time</td><td><number>-2172116928000</number></td></tr></table></td></tr></table>", + /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td>\n\t\t\t<table>\n\t\t\t\t<tr>\n\t\t\t\t\t<td>time</td>\n\t\t\t\t\t<td><number>-2172116928000</number></td>\n\t\t\t\t</tr>\n\t\t\t</table>\n\t\t</td>\n\t</tr>\n</table>\n", + /* Uon */ "(foo=(time=-2172116928000))", + /* UonT */ "(foo=(time=-2172116928000))", + /* UonR */ "(\n\tfoo=(\n\t\ttime=-2172116928000\n\t)\n)", + /* UrlEnc */ "foo=(time=-2172116928000)", + /* UrlEncT */ "foo=(time=-2172116928000)", + /* UrlEncR */ "foo=(\n\ttime=-2172116928000\n)", + /* MsgPack */ "81A3666F6F81A474696D65D3FFFFFE0643BDFA00", + /* MsgPackT */ "81A3666F6F81A474696D65D3FFFFFE0643BDFA00", + /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo rdf:parseType='Resource'>\n<jp:time>-2172116928000</jp:time>\n</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo rdf:parseType='Resource'>\n<jp:time>-2172116928000</jp:time>\n</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:foo rdf:parseType='Resource'>\n <jp:time>-2172116928000</jp:time>\n </jp:foo>\n </rdf:Description>\n</rdf:RDF>\n" + ) + { + public void verify(ObjectMap o) { + assertType(Date.class, o.get("foo")); + } + } }, { /* 15 */ - "DateSwap.DateMedium/singleDate", - singleDate, - DateSwap.DateMedium.class, - /* Json */ "'Mar 3, 1901'", - /* JsonT */ "'Mar 3, 1901'", - /* JsonR */ "'Mar 3, 1901'", - /* Xml */ "<string>Mar 3, 1901</string>", - /* XmlT */ "<string>Mar 3, 1901</string>", - /* XmlR */ "<string>Mar 3, 1901</string>\n", - /* XmlNs */ "<string>Mar 3, 1901</string>", - /* Html */ "<string>Mar 3, 1901</string>", - /* HtmlT */ "<string>Mar 3, 1901</string>", - /* HtmlR */ "<string>Mar 3, 1901</string>", - /* Uon */ "'Mar 3, 1901'", - /* UonT */ "'Mar 3, 1901'", - /* UonR */ "'Mar 3, 1901'", - /* UrlEnc */ "_value='Mar+3,+1901'", - /* UrlEncT */ "_value='Mar+3,+1901'", - /* UrlEncR */ "_value='Mar+3,+1901'", - /* MsgPack */ "AB4D617220332C2031393031", - /* MsgPackT */ "AB4D617220332C2031393031", - /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<j:value>Mar 3, 1901</j:value>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<j:value>Mar 3, 1901</j:value>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <j:value>Mar 3, 1901</j:value>\n </rdf:Description>\n</rdf:RDF>\n", + new ComboInput2<Date>( + "DateSwap.DateMedium/singleDate", + Date.class, + singleDate, + DateSwap.DateMedium.class, + /* Json */ "'Mar 3, 1901'", + /* JsonT */ "'Mar 3, 1901'", + /* JsonR */ "'Mar 3, 1901'", + /* Xml */ "<string>Mar 3, 1901</string>", + /* XmlT */ "<string>Mar 3, 1901</string>", + /* XmlR */ "<string>Mar 3, 1901</string>\n", + /* XmlNs */ "<string>Mar 3, 1901</string>", + /* Html */ "<string>Mar 3, 1901</string>", + /* HtmlT */ "<string>Mar 3, 1901</string>", + /* HtmlR */ "<string>Mar 3, 1901</string>", + /* Uon */ "'Mar 3, 1901'", + /* UonT */ "'Mar 3, 1901'", + /* UonR */ "'Mar 3, 1901'", + /* UrlEnc */ "_value='Mar+3,+1901'", + /* UrlEncT */ "_value='Mar+3,+1901'", + /* UrlEncR */ "_value='Mar+3,+1901'", + /* MsgPack */ "AB4D617220332C2031393031", + /* MsgPackT */ "AB4D617220332C2031393031", + /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<j:value>Mar 3, 1901</j:value>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<j:value>Mar 3, 1901</j:value>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <j:value>Mar 3, 1901</j:value>\n </rdf:Description>\n</rdf:RDF>\n" + ) + { + public void verify(Date o) { + assertType(Date.class, o); + } + } }, { /* 16 */ - "DateSwap.DateMedium/dateArray", - dateArray, - DateSwap.DateMedium.class, - /* Json */ "['Mar 3, 1901']", - /* JsonT */ "['Mar 3, 1901']", - /* JsonR */ "[\n\t'Mar 3, 1901'\n]", - /* Xml */ "<array><string>Mar 3, 1901</string></array>", - /* XmlT */ "<array><string>Mar 3, 1901</string></array>", - /* XmlR */ "<array>\n\t<string>Mar 3, 1901</string>\n</array>\n", - /* XmlNs */ "<array><string>Mar 3, 1901</string></array>", - /* Html */ "<ul><li>Mar 3, 1901</li></ul>", - /* HtmlT */ "<ul><li>Mar 3, 1901</li></ul>", - /* HtmlR */ "<ul>\n\t<li>Mar 3, 1901</li>\n</ul>\n", - /* Uon */ "@('Mar 3, 1901')", - /* UonT */ "@('Mar 3, 1901')", - /* UonR */ "@(\n\t'Mar 3, 1901'\n)", - /* UrlEnc */ "0='Mar+3,+1901'", - /* UrlEncT */ "0='Mar+3,+1901'", - /* UrlEncR */ "0='Mar+3,+1901'", - /* MsgPack */ "91AB4D617220332C2031393031", - /* MsgPackT */ "91AB4D617220332C2031393031", - /* RdfXml */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Mar 3, 1901</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Mar 3, 1901</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Seq>\n <rdf:li>Mar 3, 1901</rdf:li>\n </rdf:Seq>\n</rdf:RDF>\n", + new ComboInput2<Date[]>( + "DateSwap.DateMedium/dateArray", + Date[].class, + dateArray, + DateSwap.DateMedium.class, + /* Json */ "['Mar 3, 1901']", + /* JsonT */ "['Mar 3, 1901']", + /* JsonR */ "[\n\t'Mar 3, 1901'\n]", + /* Xml */ "<array><string>Mar 3, 1901</string></array>", + /* XmlT */ "<array><string>Mar 3, 1901</string></array>", + /* XmlR */ "<array>\n\t<string>Mar 3, 1901</string>\n</array>\n", + /* XmlNs */ "<array><string>Mar 3, 1901</string></array>", + /* Html */ "<ul><li>Mar 3, 1901</li></ul>", + /* HtmlT */ "<ul><li>Mar 3, 1901</li></ul>", + /* HtmlR */ "<ul>\n\t<li>Mar 3, 1901</li>\n</ul>\n", + /* Uon */ "@('Mar 3, 1901')", + /* UonT */ "@('Mar 3, 1901')", + /* UonR */ "@(\n\t'Mar 3, 1901'\n)", + /* UrlEnc */ "0='Mar+3,+1901'", + /* UrlEncT */ "0='Mar+3,+1901'", + /* UrlEncR */ "0='Mar+3,+1901'", + /* MsgPack */ "91AB4D617220332C2031393031", + /* MsgPackT */ "91AB4D617220332C2031393031", + /* RdfXml */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Mar 3, 1901</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Seq>\n<rdf:li>Mar 3, 1901</rdf:li>\n</rdf:Seq>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Seq>\n <rdf:li>Mar 3, 1901</rdf:li>\n </rdf:Seq>\n</rdf:RDF>\n" + ) + { + public void verify(Date[] o) { + assertType(Date.class, o[0]); + } + } }, { /* 17 */ - "DateSwap.DateMedium/dateMap", - dateMap, - DateSwap.DateMedium.class, - /* Json */ "{foo:'Mar 3, 1901'}", - /* JsonT */ "{foo:'Mar 3, 1901'}", - /* JsonR */ "{\n\tfoo: 'Mar 3, 1901'\n}", - /* Xml */ "<object><foo>Mar 3, 1901</foo></object>", - /* XmlT */ "<object><foo>Mar 3, 1901</foo></object>", - /* XmlR */ "<object>\n\t<foo>Mar 3, 1901</foo>\n</object>\n", - /* XmlNs */ "<object><foo>Mar 3, 1901</foo></object>", - /* Html */ "<table><tr><td>foo</td><td>Mar 3, 1901</td></tr></table>", - /* HtmlT */ "<table><tr><td>foo</td><td>Mar 3, 1901</td></tr></table>", - /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td>Mar 3, 1901</td>\n\t</tr>\n</table>\n", - /* Uon */ "(foo='Mar 3, 1901')", - /* UonT */ "(foo='Mar 3, 1901')", - /* UonR */ "(\n\tfoo='Mar 3, 1901'\n)", - /* UrlEnc */ "foo='Mar+3,+1901'", - /* UrlEncT */ "foo='Mar+3,+1901'", - /* UrlEncR */ "foo='Mar+3,+1901'", - /* MsgPack */ "81A3666F6FAB4D617220332C2031393031", - /* MsgPackT */ "81A3666F6FAB4D617220332C2031393031", - /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>Mar 3, 1901</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>Mar 3, 1901</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", - /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:foo>Mar 3, 1901</jp:foo>\n </rdf:Description>\n</rdf:RDF>\n", + new ComboInput2<ObjectMap>( + "DateSwap.DateMedium/dateMap", + getType(Map.class,String.class,Date.class), + dateMap, + DateSwap.DateMedium.class, + /* Json */ "{foo:'Mar 3, 1901'}", + /* JsonT */ "{foo:'Mar 3, 1901'}", + /* JsonR */ "{\n\tfoo: 'Mar 3, 1901'\n}", + /* Xml */ "<object><foo>Mar 3, 1901</foo></object>", + /* XmlT */ "<object><foo>Mar 3, 1901</foo></object>", + /* XmlR */ "<object>\n\t<foo>Mar 3, 1901</foo>\n</object>\n", + /* XmlNs */ "<object><foo>Mar 3, 1901</foo></object>", + /* Html */ "<table><tr><td>foo</td><td>Mar 3, 1901</td></tr></table>", + /* HtmlT */ "<table><tr><td>foo</td><td>Mar 3, 1901</td></tr></table>", + /* HtmlR */ "<table>\n\t<tr>\n\t\t<td>foo</td>\n\t\t<td>Mar 3, 1901</td>\n\t</tr>\n</table>\n", + /* Uon */ "(foo='Mar 3, 1901')", + /* UonT */ "(foo='Mar 3, 1901')", + /* UonR */ "(\n\tfoo='Mar 3, 1901'\n)", + /* UrlEnc */ "foo='Mar+3,+1901'", + /* UrlEncT */ "foo='Mar+3,+1901'", + /* UrlEncR */ "foo='Mar+3,+1901'", + /* MsgPack */ "81A3666F6FAB4D617220332C2031393031", + /* MsgPackT */ "81A3666F6FAB4D617220332C2031393031", + /* RdfXml */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>Mar 3, 1901</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlT */ "<rdf:RDF>\n<rdf:Description>\n<jp:foo>Mar 3, 1901</jp:foo>\n</rdf:Description>\n</rdf:RDF>\n", + /* RdfXmlR */ "<rdf:RDF>\n <rdf:Description>\n <jp:foo>Mar 3, 1901</jp:foo>\n </rdf:Description>\n</rdf:RDF>\n" + ) + { + public void verify(ObjectMap o) { + assertType(Date.class, o.get("foo")); + } + } }, }); } - private Class<?> swapClass; + private final Class<?> swapClass; - public DateSwapComboTest( - String label, - Object in, - Class<?> swapClass, - String oJson, String oJsonT, String oJsonR, - String oXml, String oXmlT, String oXmlR, String oXmlNs, - String oHtml, String oHtmlT, String oHtmlR, - String oUon, String oUonT, String oUonR, - String oUrlEncoding, String oUrlEncodingT, String oUrlEncodingR, - String oMsgPack, String oMsgPackT, - String oRdfXml, String oRdfXmlT, String oRdfXmlR - ) { - super( - label, - in, - oJson, oJsonT, oJsonR, - oXml, oXmlT, oXmlR, oXmlNs, - oHtml, oHtmlT, oHtmlR, - oUon, oUonT, oUonR, - oUrlEncoding, oUrlEncodingT, oUrlEncodingR, - oMsgPack, oMsgPackT, - oRdfXml, oRdfXmlT, oRdfXmlR - ); - this.swapClass = swapClass; + public DateSwapComboTest(ComboInput2<?> comboInput) { + super(comboInput); + this.swapClass = comboInput.swapClass; + } + + public static class ComboInput2<T> extends ComboInput<T> { + private final Class<?> swapClass; + + public ComboInput2( + String label, + Type type, + T in, + Class<?> swapClass, + String json, + String jsonT, + String jsonR, + String xml, + String xmlT, + String xmlR, + String xmlNs, + String html, + String htmlT, + String htmlR, + String uon, + String uonT, + String uonR, + String urlEncoding, + String urlEncodingT, + String urlEncodingR, + String msgPack, + String msgPackT, + String rdfXml, + String rdfXmlT, + String rdfXmlR + ) { + super(label, type, in, json, jsonT, jsonR, xml, xmlT, xmlR, xmlNs, html, htmlT, htmlR, uon, uonT, uonR, urlEncoding, urlEncodingT, urlEncodingR, msgPack, msgPackT, rdfXml, rdfXmlT, rdfXmlR); + this.swapClass = swapClass; + } } @BeforeClass
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/bde9b101/juneau-core-test/src/test/java/org/apache/juneau/utils/PojoQueryTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/utils/PojoQueryTest.java b/juneau-core-test/src/test/java/org/apache/juneau/utils/PojoQueryTest.java index 157c45e..caa5285 100755 --- a/juneau-core-test/src/test/java/org/apache/juneau/utils/PojoQueryTest.java +++ b/juneau-core-test/src/test/java/org/apache/juneau/utils/PojoQueryTest.java @@ -336,7 +336,7 @@ public class PojoQueryTest { BeanSession session = BeanContext.DEFAULT.createSession(); List results; - List<D1> in = new AList<D1>() + List<D1> in = new AList<D1>() .append(new D1("foo")) .append(new D1("bar")) .append(new D1("baz")) http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/bde9b101/juneau-core-test/src/test/java/org/apache/juneau/xml/BasicXmlTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/xml/BasicXmlTest.java b/juneau-core-test/src/test/java/org/apache/juneau/xml/BasicXmlTest.java index 5754274..ec7bcf4 100644 --- a/juneau-core-test/src/test/java/org/apache/juneau/xml/BasicXmlTest.java +++ b/juneau-core-test/src/test/java/org/apache/juneau/xml/BasicXmlTest.java @@ -250,7 +250,7 @@ public class BasicXmlTest { +"<k6 _type='null'/>" +"</c>" +"</object>", - }, + }, { "BeanWithTypeName", new BeanWithTypeName().init(), @@ -501,16 +501,16 @@ public class BasicXmlTest { { "BeanWithXmlFormatAttrProperty", new BeanWithXmlFormatAttrProperty().init(), - "<object a='foo' b='123'/>", - "<object a='foo' b='123'/>\n", - "<object a='foo' b='123'/>", + "<object a='foo' b='123'/>", + "<object a='foo' b='123'/>\n", + "<object a='foo' b='123'/>", }, { "BeanWithXmlFormatAttrs", new BeanWithXmlFormatAttrs().init(), - "<object a='foo' b='123'/>", - "<object a='foo' b='123'/>\n", - "<object a='foo' b='123'/>", + "<object a='foo' b='123'/>", + "<object a='foo' b='123'/>\n", + "<object a='foo' b='123'/>", }, { "BeanWithXmlFormatElementProperty", http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/bde9b101/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlTest.java b/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlTest.java index 1926e12..c9a4fbe 100755 --- a/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlTest.java +++ b/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlTest.java @@ -149,7 +149,7 @@ public class XmlTest { @Test public void testBeanNameAnnotation() throws Exception { String e = - "<Person1>\n" + "<Person1>\n" + " <name>John Smith</name>\n" + " <age>123</age>\n" + "</Person1>\n"; @@ -180,7 +180,7 @@ public class XmlTest { @Test public void testTrimNulls() throws Exception { String e = - "<Person1>\n" + "<Person1>\n" + " <age>123</age>\n" + "</Person1>\n"; String r = XmlSerializer.DEFAULT_SQ_READABLE.serialize(new Person1(null, 123)); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/bde9b101/juneau-core/src/main/java/org/apache/juneau/BeanContext.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanContext.java b/juneau-core/src/main/java/org/apache/juneau/BeanContext.java index 763d76e..0977ba0 100644 --- a/juneau-core/src/main/java/org/apache/juneau/BeanContext.java +++ b/juneau-core/src/main/java/org/apache/juneau/BeanContext.java @@ -876,7 +876,7 @@ public class BeanContext extends Context { notBeanPackagePrefixes = l2.toArray(new String[l2.size()]); LinkedList<BeanFilter> lbf = new LinkedList<BeanFilter>(); - try { + try { for (Class<?> c : pm.get(BEAN_beanFilters, Class[].class, new Class[0])) { if (isParentClass(BeanFilter.class, c)) lbf.add((BeanFilter)c.newInstance()); @@ -888,10 +888,10 @@ public class BeanContext extends Context { } catch (Exception e) { throw new RuntimeException(e); } - beanFilters = lbf.toArray(new BeanFilter[0]); + beanFilters = lbf.toArray(new BeanFilter[0]); LinkedList<PojoSwap<?,?>> lpf = new LinkedList<PojoSwap<?,?>>(); - try { + try { for (Class<?> c : pm.get(BEAN_pojoSwaps, Class[].class, new Class[0])) { if (isParentClass(PojoSwap.class, c)) lpf.add((PojoSwap<?,?>)c.newInstance()); @@ -901,13 +901,13 @@ public class BeanContext extends Context { } catch (Exception e) { throw new RuntimeException(e); } - pojoSwaps = lpf.toArray(new PojoSwap[0]); + pojoSwaps = lpf.toArray(new PojoSwap[0]); - implClasses = new TreeMap<Class<?>,Class<?>>(new ClassComparator()); - Map<Class,Class> m = pm.getMap(BEAN_implClasses, Class.class, Class.class, null); - if (m != null) - for (Map.Entry<Class,Class> e : m.entrySet()) - implClasses.put(e.getKey(), e.getValue()); + implClasses = new TreeMap<Class<?>,Class<?>>(new ClassComparator()); + Map<Class,Class> m = pm.getMap(BEAN_implClasses, Class.class, Class.class, null); + if (m != null) + for (Map.Entry<Class,Class> e : m.entrySet()) + implClasses.put(e.getKey(), e.getValue()); implKeyClasses = implClasses.keySet().toArray(new Class[0]); implValueClasses = implClasses.values().toArray(new Class[0]); @@ -1112,9 +1112,9 @@ public class BeanContext extends Context { ClassMeta<?> ce = c.length == pos ? object() : getTypedClassMeta(c, pos); return (ce.isObject() ? cm : new ClassMeta(cm, null, null, ce)); } else if (cm.isMap()) { - ClassMeta<?> ck = c.length == pos ? object() : c[pos++]; - ClassMeta<?> cv = c.length == pos ? object() : getTypedClassMeta(c, pos); - return (ck.isObject() && cv.isObject() ? cm : new ClassMeta(cm, ck, cv, null)); + ClassMeta<?> ck = c.length == pos ? object() : c[pos++]; + ClassMeta<?> cv = c.length == pos ? object() : getTypedClassMeta(c, pos); + return (ck.isObject() && cv.isObject() ? cm : new ClassMeta(cm, ck, cv, null)); } return cm; } @@ -1123,8 +1123,19 @@ public class BeanContext extends Context { if (o == null) return null; - if (o instanceof ClassMeta) - return (ClassMeta)o; + if (o instanceof ClassMeta) { + ClassMeta<?> cm = (ClassMeta)o; + + // This classmeta could have been created by a different context. + // Need to re-resolve it to pick up PojoSwaps and stuff on this context. + if (cm.getBeanContext() == this) + return cm; + if (cm.isMap()) + return getClassMeta(cm.innerClass, cm.getKeyType(), cm.getValueType()); + if (cm.isCollection()) + return getClassMeta(cm.innerClass, cm.getElementType()); + return getClassMeta(cm.innerClass); + } Class c = resolve(o, typeVarImpls); @@ -1161,7 +1172,7 @@ public class BeanContext extends Context { return rawType; } - /** + /** * Convert a Type to a Class if possible. * Return null if not possible. */ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/bde9b101/juneau-core/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java b/juneau-core/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java index 219211d..0715bb5 100644 --- a/juneau-core/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java +++ b/juneau-core/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java @@ -148,6 +148,13 @@ public class CsvSerializerBuilder extends SerializerBuilder { super.sortMaps(value); return this; } + + @Override /* SerializerBuilder */ + public CsvSerializerBuilder abridged(boolean value) { + super.abridged(value); + return this; + } + @Override /* CoreObjectBuilder */ public CsvSerializerBuilder beansRequireDefaultConstructor(boolean value) { super.beansRequireDefaultConstructor(value); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/bde9b101/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementContainer.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementContainer.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementContainer.java index 1b8269e..0087b29 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementContainer.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementContainer.java @@ -60,6 +60,33 @@ public class HtmlElementContainer extends HtmlElement { } /** + * Returns the child node at the specified address. + * <p> + * Indexes are zero-indexed. + * <p> + * For example, calling <code>getChild(1,2,3);</code> will return the 4th child of the 3rd child of the 2nd child. + * + * @param index The child indexes. + * @return The child node, or <jk>null</jk> if it doesn't point to a valid child. + */ + public Object getChild(int...index) { + if (index.length == 0) + return null; + if (index.length == 1) + return getChild(index[0]); + Object c = this; + for (int i = 0; i < index.length; i++) { + if (c instanceof HtmlElementMixed) + c = ((HtmlElementMixed)c).getChild(index[i]); + else if (c instanceof HtmlElementContainer) + c = ((HtmlElementContainer)c).getChild(index[i]); + else + return null; + } + return c; + } + + /** * Returns the child node at the specified index. * * @param type The class type of the node. http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/bde9b101/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementMixed.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementMixed.java b/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementMixed.java index 0430528..869391a 100644 --- a/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementMixed.java +++ b/juneau-core/src/main/java/org/apache/juneau/dto/html5/HtmlElementMixed.java @@ -61,6 +61,33 @@ public class HtmlElementMixed extends HtmlElement { } /** + * Returns the child node at the specified address. + * <p> + * Indexes are zero-indexed. + * <p> + * For example, calling <code>getChild(1,2,3);</code> will return the 4th child of the 3rd child of the 2nd child. + * + * @param index The child indexes. + * @return The child node, or <jk>null</jk> if it doesn't point to a valid child. + */ + public Object getChild(int...index) { + if (index.length == 0) + return null; + if (index.length == 1) + return getChild(index[0]); + Object c = this; + for (int i = 0; i < index.length; i++) { + if (c instanceof HtmlElementMixed) + c = ((HtmlElementMixed)c).getChild(index[i]); + else if (c instanceof HtmlElementContainer) + c = ((HtmlElementContainer)c).getChild(index[i]); + else + return null; + } + return c; + } + + /** * Returns the child node at the specified index. * * @param type The class type of the node. http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/bde9b101/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializer.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializer.java b/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializer.java index abb55c8..168ac5c 100644 --- a/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializer.java +++ b/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializer.java @@ -202,7 +202,7 @@ public class HtmlSerializer extends XmlSerializer { * @throws IOException If a problem occurred trying to send output to the writer. */ private HtmlWriter doSerialize(HtmlSerializerSession session, Object o, HtmlWriter w) throws Exception { - serializeAnything(session, w, o, null, null, session.getInitialDepth()-1, null, true); + serializeAnything(session, w, o, session.getExpectedRootType(o), null, session.getInitialDepth()-1, null, true); return w; } @@ -284,14 +284,14 @@ public class HtmlSerializer extends XmlSerializer { cr = CR_SIMPLE; } else if (sType.isNumber()) { - if (eType.isNumber()) + if (eType.isNumber() && ! isRoot) out.append(o); else out.sTag("number").append(o).eTag("number"); cr = CR_SIMPLE; } else if (sType.isBoolean()) { - if (eType.isBoolean()) + if (eType.isBoolean() && ! isRoot) out.append(o); else out.sTag("boolean").append(o).eTag("boolean"); @@ -353,8 +353,8 @@ public class HtmlSerializer extends XmlSerializer { @SuppressWarnings({ "rawtypes", "unchecked" }) private void serializeMap(HtmlSerializerSession session, HtmlWriter out, Map m, ClassMeta<?> sType, ClassMeta<?> eKeyType, ClassMeta<?> eValueType, String typeName, BeanPropertyMeta ppMeta) throws Exception { - ClassMeta<?> keyType = eKeyType == null ? sType.getKeyType() : eKeyType; - ClassMeta<?> valueType = eValueType == null ? sType.getValueType() : eValueType; + ClassMeta<?> keyType = eKeyType == null ? session.string() : eKeyType; + ClassMeta<?> valueType = eValueType == null ? session.object() : eValueType; ClassMeta<?> aType = session.getClassMetaForObject(m); // The actual type int i = session.getIndent(); @@ -504,6 +504,7 @@ public class HtmlSerializer extends XmlSerializer { out.oTag(i+1, "tr"); String typeName = (cm == null ? null : cm.getDictionaryName()); String typeProperty = session.getBeanTypePropertyName(cm); + if (typeName != null && eType.getElementType() != cm) out.attr(typeProperty, typeName); out.cTag().nl(); @@ -516,7 +517,7 @@ public class HtmlSerializer extends XmlSerializer { for (Object k : th) { out.sTag(i+2, "td"); - ContentResult cr = serializeAnything(session, out, m2.get(k), seType, session.toString(k), 2, null, false); + ContentResult cr = serializeAnything(session, out, m2.get(k), eType.getElementType(), session.toString(k), 2, null, false); if (cr == CR_NORMAL) out.i(i+2); out.eTag("td").nl(); @@ -549,7 +550,7 @@ public class HtmlSerializer extends XmlSerializer { out.append('>').nl(); for (Object o : c) { out.sTag(i+1, "li"); - ContentResult cr = serializeAnything(session, out, o, seType, name, 1, null, false); + ContentResult cr = serializeAnything(session, out, o, eType.getElementType(), name, 1, null, false); if (cr == CR_NORMAL) out.i(i+1); out.eTag("li").nl(); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/bde9b101/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java b/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java index 7c9a923..fe0a7c5 100644 --- a/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java +++ b/juneau-core/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java @@ -321,6 +321,12 @@ public class HtmlSerializerBuilder extends XmlSerializerBuilder { } @Override /* SerializerBuilder */ + public HtmlSerializerBuilder abridged(boolean value) { + super.abridged(value); + return this; + } + + @Override /* SerializerBuilder */ public HtmlSerializerBuilder sortMaps(boolean value) { super.sortMaps(value); return this; http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/bde9b101/juneau-core/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java b/juneau-core/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java index c591b91..c4d7d40 100644 --- a/juneau-core/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java +++ b/juneau-core/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java @@ -149,6 +149,12 @@ public class JsoSerializerBuilder extends SerializerBuilder { return this; } + @Override /* SerializerBuilder */ + public JsoSerializerBuilder abridged(boolean value) { + super.abridged(value); + return this; + } + @Override /* CoreObjectBuilder */ public JsoSerializerBuilder beansRequireDefaultConstructor(boolean value) { super.beansRequireDefaultConstructor(value); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/bde9b101/juneau-core/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java b/juneau-core/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java index 104d838..3e28eab 100644 --- a/juneau-core/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java +++ b/juneau-core/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java @@ -60,7 +60,7 @@ public final class JsonSchemaSerializer extends JsonSerializer { } @Override /* CoreObject */ - protected ObjectMap getOverrideProperties() { + protected ObjectMap getOverrideProperties() { return super.getOverrideProperties().append(SERIALIZER_detectRecursions, true).append(SERIALIZER_ignoreRecursions, true); } @@ -78,7 +78,7 @@ public final class JsonSchemaSerializer extends JsonSerializer { protected void doSerialize(SerializerSession session, Object o) throws Exception { JsonSerializerSession s = (JsonSerializerSession)session; ObjectMap schema = getSchema(s, session.getClassMetaForObject(o), "root", null); - serializeAnything(s, s.getWriter(), schema, null, "root", null); + serializeAnything(s, s.getWriter(), schema, s.getExpectedRootType(o), "root", null); } /* http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/bde9b101/juneau-core/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java b/juneau-core/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java index aab5768..9a8616f 100644 --- a/juneau-core/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java +++ b/juneau-core/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java @@ -165,6 +165,13 @@ public class JsonSchemaSerializerBuilder extends JsonSerializerBuilder { super.sortMaps(value); return this; } + + @Override /* SerializerBuilder */ + public JsonSchemaSerializerBuilder abridged(boolean value) { + super.abridged(value); + return this; + } + @Override /* CoreObjectBuilder */ public JsonSchemaSerializerBuilder beansRequireDefaultConstructor(boolean value) { super.beansRequireDefaultConstructor(value); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/bde9b101/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java b/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java index 7464495..91945d4 100644 --- a/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java +++ b/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java @@ -387,6 +387,6 @@ public class JsonSerializer extends WriterSerializer { @Override /* Serializer */ protected void doSerialize(SerializerSession session, Object o) throws Exception { JsonSerializerSession s = (JsonSerializerSession)session; - serializeAnything(s, s.getWriter(), o, null, "root", null); + serializeAnything(s, s.getWriter(), o, s.getExpectedRootType(o), "root", null); } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/bde9b101/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java b/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java index b226459..97323aa 100644 --- a/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java +++ b/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java @@ -214,6 +214,12 @@ public class JsonSerializerBuilder extends SerializerBuilder { return this; } + @Override /* SerializerBuilder */ + public JsonSerializerBuilder abridged(boolean value) { + super.abridged(value); + return this; + } + @Override /* CoreObjectBuilder */ public JsonSerializerBuilder beansRequireDefaultConstructor(boolean value) { super.beansRequireDefaultConstructor(value); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/bde9b101/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java index 9834195..89e736b 100644 --- a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java +++ b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java @@ -217,6 +217,6 @@ public class MsgPackSerializer extends OutputStreamSerializer { @Override /* Serializer */ protected void doSerialize(SerializerSession session, Object o) throws Exception { MsgPackSerializerSession s = (MsgPackSerializerSession)session; - serializeAnything(s, s.getOutputStream(), o, null, "root", null); + serializeAnything(s, s.getOutputStream(), o, s.getExpectedRootType(o), "root", null); } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/bde9b101/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java index de0fb45..f909e14 100644 --- a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java +++ b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java @@ -148,6 +148,13 @@ public class MsgPackSerializerBuilder extends SerializerBuilder { super.sortMaps(value); return this; } + + @Override /* SerializerBuilder */ + public MsgPackSerializerBuilder abridged(boolean value) { + super.abridged(value); + return this; + } + @Override /* CoreObjectBuilder */ public MsgPackSerializerBuilder beansRequireDefaultConstructor(boolean value) { super.beansRequireDefaultConstructor(value); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/bde9b101/juneau-core/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java b/juneau-core/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java index 8ab1255..d56aee6 100644 --- a/juneau-core/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java +++ b/juneau-core/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java @@ -148,6 +148,13 @@ public class PlainTextSerializerBuilder extends SerializerBuilder { super.sortMaps(value); return this; } + + @Override /* SerializerBuilder */ + public PlainTextSerializerBuilder abridged(boolean value) { + super.abridged(value); + return this; + } + @Override /* CoreObjectBuilder */ public PlainTextSerializerBuilder beansRequireDefaultConstructor(boolean value) { super.beansRequireDefaultConstructor(value);
