Repository: incubator-juneau Updated Branches: refs/heads/master bea31abd8 -> d87240712
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java b/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java index 12561cb..eb03b41 100755 --- a/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java +++ b/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java @@ -41,18 +41,18 @@ public class RoundTripTransformBeansTest extends RoundTripTest { } //==================================================================================================== - // testTransformBeans1 + // testSwapBeans1 //==================================================================================================== @Test - public void testTransformBeans1() throws Exception { + public void testSwapBeans1() throws Exception { Class<?>[] f = { ByteArrayBase64Swap.class, CalendarSwap.ISO8601DTZ.class, DateSwap.ISO8601DTZ.class }; - s.addTransforms(f); + s.addPojoSwaps(f); if (p != null) - p.addTransforms(f); + p.addPojoSwaps(f); A t = new A().init(); t = roundTrip(t, A.class); @@ -161,18 +161,18 @@ public class RoundTripTransformBeansTest extends RoundTripTest { //==================================================================================================== - // testTransformBeans2 + // testSwapBeans2 //==================================================================================================== @Test - public void testTransformBeans2() throws Exception { + public void testSwapBeans2() throws Exception { Class<?>[] f = { ByteArrayBase64Swap.class, CalendarSwap.Medium.class, DateSwap.RFC2822DT.class, }; - s.addTransforms(f); + s.addPojoSwaps(f); if (p != null) - p.addTransforms(f); + p.addPojoSwaps(f); A t = new A().init(); t = roundTrip(t, A.class); @@ -258,8 +258,8 @@ public class RoundTripTransformBeansTest extends RoundTripTest { GregorianCalendar gc = new GregorianCalendar(); XMLGregorianCalendar c = DatatypeFactory.newInstance().newXMLGregorianCalendar(gc); - Serializer s = getSerializer().clone().addTransforms(XMLGregorianCalendarSwap.class); - Parser p = getParser().clone().addTransforms(XMLGregorianCalendarSwap.class); + Serializer s = getSerializer().clone().addPojoSwaps(XMLGregorianCalendarSwap.class); + Parser p = getParser().clone().addPojoSwaps(XMLGregorianCalendarSwap.class); Object r = s.serialize(c); XMLGregorianCalendar c2 = p.parse(r, XMLGregorianCalendar.class); @@ -337,10 +337,10 @@ public class RoundTripTransformBeansTest extends RoundTripTest { //==================================================================================================== @Test public void testSurrogateTransform() throws Exception { - addTransforms(D2.class); + addPojoSwaps(D2.class); - JsonSerializer s = new JsonSerializer.Simple().addTransforms(D2.class); - JsonParser p = new JsonParser().addTransforms(D2.class); + JsonSerializer s = new JsonSerializer.Simple().addPojoSwaps(D2.class); + JsonParser p = new JsonParser().addPojoSwaps(D2.class); Object r; D1 d1 = D1.create(); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-core/src/test/java/org/apache/juneau/transforms/BeanFilterTest.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/test/java/org/apache/juneau/transforms/BeanFilterTest.java b/juneau-core/src/test/java/org/apache/juneau/transforms/BeanFilterTest.java index ec2da25..18f6a0f 100755 --- a/juneau-core/src/test/java/org/apache/juneau/transforms/BeanFilterTest.java +++ b/juneau-core/src/test/java/org/apache/juneau/transforms/BeanFilterTest.java @@ -30,13 +30,13 @@ public class BeanFilterTest { BeanContext bc; BeanMap<A3> bm; - bc = ContextFactory.create().addTransforms(A1.class).getBeanContext(); + bc = ContextFactory.create().addBeanFilters(A1.class).getBeanContext(); bm = bc.newBeanMap(A3.class); assertEquals("f1", bm.get("f1")); assertNull(bm.get("f2")); assertNull(bm.get("f3")); - bc = ContextFactory.create().addTransforms(A2.class).getBeanContext(); + bc = ContextFactory.create().addBeanFilters(A2.class).getBeanContext(); bm = bc.newBeanMap(A3.class); assertEquals("f1", bm.get("f1")); assertEquals("f2", bm.get("f2")); @@ -73,13 +73,13 @@ public class BeanFilterTest { BeanContext bc; BeanMap<Test2> bm; - bc = ContextFactory.create().addTransforms(B1.class).getBeanContext(); + bc = ContextFactory.create().addBeanFilters(B1.class).getBeanContext(); bm = bc.newBeanMap(Test2.class); assertEquals("f1", bm.get("f1")); assertNull(bm.get("f2")); assertNull(bm.get("f3")); - bc = ContextFactory.create().addTransforms(B2.class).getBeanContext(); + bc = ContextFactory.create().addBeanFilters(B2.class).getBeanContext(); bm = bc.newBeanMap(Test2.class); assertEquals("f1", bm.get("f1")); assertEquals("f2", bm.get("f2")); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-core/src/test/java/org/apache/juneau/transforms/BeanMapTest.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/test/java/org/apache/juneau/transforms/BeanMapTest.java b/juneau-core/src/test/java/org/apache/juneau/transforms/BeanMapTest.java index e3f5942..daa320f 100755 --- a/juneau-core/src/test/java/org/apache/juneau/transforms/BeanMapTest.java +++ b/juneau-core/src/test/java/org/apache/juneau/transforms/BeanMapTest.java @@ -26,7 +26,7 @@ public class BeanMapTest { //==================================================================================================== @Test public void testFilteredEntry() throws Exception { - BeanContext bc = ContextFactory.create().addTransforms(ByteArrayBase64Swap.class).getBeanContext(); + BeanContext bc = ContextFactory.create().addPojoSwaps(ByteArrayBase64Swap.class).getBeanContext(); BeanMap<A> m = bc.forBean(new A()); assertEquals("AQID", m.get("f1")); @@ -48,12 +48,12 @@ public class BeanMapTest { //==================================================================================================== @Test public void testFilteredEntryWithMultipleMatchingFilters() throws Exception { - BeanContext bc = ContextFactory.create().addTransforms(B2Filter.class,B1Filter.class).getBeanContext(); + BeanContext bc = ContextFactory.create().addPojoSwaps(B2Swap.class,B1Swap.class).getBeanContext(); BeanMap<B> bm = bc.forBean(B.create()); ObjectMap om = (ObjectMap)bm.get("b1"); assertEquals("b2", om.getString("type")); - bc = ContextFactory.create().addTransforms(B1Filter.class,B2Filter.class).getBeanContext(); + bc = ContextFactory.create().addPojoSwaps(B1Swap.class,B2Swap.class).getBeanContext(); bm = bc.forBean(B.create()); om = (ObjectMap)bm.get("b1"); assertEquals("b1", om.getString("type")); @@ -81,14 +81,14 @@ public class BeanMapTest { public String f2; } - public static class B1Filter extends PojoSwap<B1,ObjectMap> { + public static class B1Swap extends PojoSwap<B1,ObjectMap> { @Override /* PojoSwap */ public ObjectMap swap(B1 b1) { return new ObjectMap().append("type", "b1").append("f1", b1.f1); } } - public static class B2Filter extends PojoSwap<B2,ObjectMap> { + public static class B2Swap extends PojoSwap<B2,ObjectMap> { @Override /* PojoSwap */ public ObjectMap swap(B2 b2) { return new ObjectMap().append("type", "b2").append("f1", b2.f1); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-core/src/test/java/org/apache/juneau/transforms/ByteArrayBase64SwapTest.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/test/java/org/apache/juneau/transforms/ByteArrayBase64SwapTest.java b/juneau-core/src/test/java/org/apache/juneau/transforms/ByteArrayBase64SwapTest.java index 0e3c90d..49a8815 100755 --- a/juneau-core/src/test/java/org/apache/juneau/transforms/ByteArrayBase64SwapTest.java +++ b/juneau-core/src/test/java/org/apache/juneau/transforms/ByteArrayBase64SwapTest.java @@ -31,7 +31,7 @@ public class ByteArrayBase64SwapTest extends RoundTripTest { } @Override /* RoundTripTest */ - public Class<?>[] getTransforms() { + public Class<?>[] getPojoSwaps() { return new Class<?>[] { ByteArrayBase64Swap.class }; @@ -42,7 +42,7 @@ public class ByteArrayBase64SwapTest extends RoundTripTest { //==================================================================================================== @Test public void testPrimitiveArrays() throws Exception { - WriterSerializer s = new JsonSerializer.Simple().addTransforms(ByteArrayBase64Swap.class).setProperty(SERIALIZER_trimNullProperties, false); + WriterSerializer s = new JsonSerializer.Simple().addPojoSwaps(ByteArrayBase64Swap.class).setProperty(SERIALIZER_trimNullProperties, false); byte[] a1 = {1,2,3}; assertEquals("'AQID'", s.serialize(a1)); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-core/src/test/java/org/apache/juneau/transforms/CalendarSwapTest.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/test/java/org/apache/juneau/transforms/CalendarSwapTest.java b/juneau-core/src/test/java/org/apache/juneau/transforms/CalendarSwapTest.java index 72cf3eb..a0ed56e 100755 --- a/juneau-core/src/test/java/org/apache/juneau/transforms/CalendarSwapTest.java +++ b/juneau-core/src/test/java/org/apache/juneau/transforms/CalendarSwapTest.java @@ -141,8 +141,8 @@ public class CalendarSwapTest { @Test public void testDefaultStringJson() throws Exception { Class<?> f = CalendarSwap.ToString.class; - WriterSerializer s = new JsonSerializer.Simple().addTransforms(f); - ReaderParser p = new JsonParser().addTransforms(f); + WriterSerializer s = new JsonSerializer.Simple().addPojoSwaps(f); + ReaderParser p = new JsonParser().addPojoSwaps(f); doTest(s, p, true, "'Sun Mar 03 10:11:12 PST 1901'"); } @@ -152,8 +152,8 @@ public class CalendarSwapTest { @Test public void testDefaultStringXml() throws Exception { Class<?> f = CalendarSwap.ToString.class; - WriterSerializer s = new XmlSerializer.SimpleSq().addTransforms(f); - ReaderParser p = new XmlParser().addTransforms(f); + WriterSerializer s = new XmlSerializer.SimpleSq().addPojoSwaps(f); + ReaderParser p = new XmlParser().addPojoSwaps(f); doTest(s, p, true, "<string>Sun Mar 03 10:11:12 PST 1901</string>"); } @@ -163,8 +163,8 @@ public class CalendarSwapTest { @Test public void testDefaultStringHtml() throws Exception { Class<?> f = CalendarSwap.ToString.class; - WriterSerializer s = new HtmlSerializer().addTransforms(f); - ReaderParser p = new HtmlParser().addTransforms(f); + WriterSerializer s = new HtmlSerializer().addPojoSwaps(f); + ReaderParser p = new HtmlParser().addPojoSwaps(f); doTest(s, p, true, "<string>Sun Mar 03 10:11:12 PST 1901</string>"); } @@ -174,8 +174,8 @@ public class CalendarSwapTest { @Test public void testDefaultStringUon() throws Exception { Class<?> f = CalendarSwap.ToString.class; - WriterSerializer s = new UonSerializer.Encoding().addTransforms(f); - ReaderParser p = UonParser.DEFAULT_DECODING.clone().addTransforms(f); + WriterSerializer s = new UonSerializer.Encoding().addPojoSwaps(f); + ReaderParser p = UonParser.DEFAULT_DECODING.clone().addPojoSwaps(f); doTest(s, p, true, "Sun+Mar+03+10:11:12+PST+1901"); } @@ -185,8 +185,8 @@ public class CalendarSwapTest { @Test public void testDefaultStringUrlEncoding() throws Exception { Class<?> f = CalendarSwap.ToString.class; - WriterSerializer s = new UrlEncodingSerializer().addTransforms(f); - ReaderParser p = UrlEncodingParser.DEFAULT.clone().addTransforms(f); + WriterSerializer s = new UrlEncodingSerializer().addPojoSwaps(f); + ReaderParser p = UrlEncodingParser.DEFAULT.clone().addPojoSwaps(f); doTest(s, p, true, "_value=Sun+Mar+03+10:11:12+PST+1901"); } @@ -196,8 +196,8 @@ public class CalendarSwapTest { @Test public void testDefaultStringRdfXml() throws Exception { Class<?> f = CalendarSwap.ToString.class; - WriterSerializer s = getRdfSerializer().addTransforms(f); - ReaderParser p = new RdfParser.Xml().addTransforms(f); + WriterSerializer s = getRdfSerializer().addPojoSwaps(f); + ReaderParser p = new RdfParser.Xml().addPojoSwaps(f); doTest(s, p, true, "<rdf:Description><j:value>Sun Mar 03 10:11:12 PST 1901</j:value></rdf:Description>"); } @@ -207,8 +207,8 @@ public class CalendarSwapTest { @Test public void testISO8601DTJson() throws Exception { Class<?> f = CalendarSwap.ISO8601DT.class; - WriterSerializer s = new JsonSerializer.Simple().addTransforms(f); - ReaderParser p = new JsonParser().addTransforms(f); + WriterSerializer s = new JsonSerializer.Simple().addPojoSwaps(f); + ReaderParser p = new JsonParser().addPojoSwaps(f); String x = "'1901-03-03T10:11:12-08:00'"; doTest(s, p, true, x); } @@ -219,8 +219,8 @@ public class CalendarSwapTest { @Test public void testISO8601DTXml() throws Exception { Class<?> f = CalendarSwap.ISO8601DT.class; - WriterSerializer s = new XmlSerializer.SimpleSq().addTransforms(f); - ReaderParser p = new XmlParser().addTransforms(f); + WriterSerializer s = new XmlSerializer.SimpleSq().addPojoSwaps(f); + ReaderParser p = new XmlParser().addPojoSwaps(f); doTest(s, p, true, "<string>1901-03-03T10:11:12-08:00</string>"); } @@ -230,8 +230,8 @@ public class CalendarSwapTest { @Test public void testISO8601DTHtml() throws Exception { Class<?> f = CalendarSwap.ISO8601DT.class; - WriterSerializer s = new HtmlSerializer().addTransforms(f); - ReaderParser p = new HtmlParser().addTransforms(f); + WriterSerializer s = new HtmlSerializer().addPojoSwaps(f); + ReaderParser p = new HtmlParser().addPojoSwaps(f); doTest(s, p, true, "<string>1901-03-03T10:11:12-08:00</string>"); } @@ -241,8 +241,8 @@ public class CalendarSwapTest { @Test public void testISO8601DTUon() throws Exception { Class<?> f = CalendarSwap.ISO8601DT.class; - WriterSerializer s = new UonSerializer().addTransforms(f); - ReaderParser p = new UonParser().addTransforms(f); + WriterSerializer s = new UonSerializer().addPojoSwaps(f); + ReaderParser p = new UonParser().addPojoSwaps(f); doTest(s, p, true, "1901-03-03T10:11:12-08:00"); } @@ -252,8 +252,8 @@ public class CalendarSwapTest { @Test public void testISO8601DTUrlEncoding() throws Exception { Class<?> f = CalendarSwap.ISO8601DT.class; - WriterSerializer s = new UrlEncodingSerializer().addTransforms(f); - ReaderParser p = new UrlEncodingParser().addTransforms(f); + WriterSerializer s = new UrlEncodingSerializer().addPojoSwaps(f); + ReaderParser p = new UrlEncodingParser().addPojoSwaps(f); doTest(s, p, true, "_value=1901-03-03T10:11:12-08:00"); } @@ -263,8 +263,8 @@ public class CalendarSwapTest { @Test public void testISO8601DTRdfXml() throws Exception { Class<?> f = CalendarSwap.ISO8601DT.class; - WriterSerializer s = getRdfSerializer().addTransforms(f); - ReaderParser p = new RdfParser.Xml().addTransforms(f); + WriterSerializer s = getRdfSerializer().addPojoSwaps(f); + ReaderParser p = new RdfParser.Xml().addPojoSwaps(f); doTest(s, p, true, "<rdf:Description><j:value>1901-03-03T10:11:12-08:00</j:value></rdf:Description>"); } @@ -274,8 +274,8 @@ public class CalendarSwapTest { @Test public void testRFC2822DTJson() throws Exception { Class<?> f = CalendarSwap.RFC2822DTZ.class; - WriterSerializer s = new JsonSerializer.Simple().addTransforms(f); - ReaderParser p = new JsonParser().addTransforms(f); + WriterSerializer s = new JsonSerializer.Simple().addPojoSwaps(f); + ReaderParser p = new JsonParser().addPojoSwaps(f); doTest(s, p, true, "'Sun, 03 Mar 1901 18:11:12 GMT'"); } @@ -285,8 +285,8 @@ public class CalendarSwapTest { @Test public void testRFC2822DTXml() throws Exception { Class<?> f = CalendarSwap.RFC2822DTZ.class; - WriterSerializer s = new XmlSerializer.SimpleSq().addTransforms(f); - ReaderParser p = new XmlParser().addTransforms(f); + WriterSerializer s = new XmlSerializer.SimpleSq().addPojoSwaps(f); + ReaderParser p = new XmlParser().addPojoSwaps(f); doTest(s, p, true, "<string>Sun, 03 Mar 1901 18:11:12 GMT</string>"); } @@ -296,8 +296,8 @@ public class CalendarSwapTest { @Test public void testRFC2822DTHtml() throws Exception { Class<?> f = CalendarSwap.RFC2822DTZ.class; - WriterSerializer s = new HtmlSerializer().addTransforms(f); - ReaderParser p = new HtmlParser().addTransforms(f); + WriterSerializer s = new HtmlSerializer().addPojoSwaps(f); + ReaderParser p = new HtmlParser().addPojoSwaps(f); doTest(s, p, true, "<string>Sun, 03 Mar 1901 18:11:12 GMT</string>"); } @@ -307,8 +307,8 @@ public class CalendarSwapTest { @Test public void testRFC2822DTUon() throws Exception { Class<?> f = CalendarSwap.RFC2822DTZ.class; - WriterSerializer s = new UonSerializer.Encoding().addTransforms(f); - ReaderParser p = UonParser.DEFAULT_DECODING.clone().addTransforms(f); + WriterSerializer s = new UonSerializer.Encoding().addPojoSwaps(f); + ReaderParser p = UonParser.DEFAULT_DECODING.clone().addPojoSwaps(f); doTest(s, p, true, "Sun,+03+Mar+1901+18:11:12+GMT"); } @@ -318,8 +318,8 @@ public class CalendarSwapTest { @Test public void testRFC2822DTUrlEncoding() throws Exception { Class<?> f = CalendarSwap.RFC2822DTZ.class; - WriterSerializer s = new UrlEncodingSerializer().addTransforms(f); - ReaderParser p = UrlEncodingParser.DEFAULT.clone().addTransforms(f); + WriterSerializer s = new UrlEncodingSerializer().addPojoSwaps(f); + ReaderParser p = UrlEncodingParser.DEFAULT.clone().addPojoSwaps(f); doTest(s, p, true, "_value=Sun,+03+Mar+1901+18:11:12+GMT"); } @@ -329,8 +329,8 @@ public class CalendarSwapTest { @Test public void testRFC2822DTRdfXml() throws Exception { Class<?> f = CalendarSwap.RFC2822DTZ.class; - WriterSerializer s = getRdfSerializer().addTransforms(f); - ReaderParser p = new RdfParser.Xml().addTransforms(f); + WriterSerializer s = getRdfSerializer().addPojoSwaps(f); + ReaderParser p = new RdfParser.Xml().addPojoSwaps(f); doTest(s, p, true, "<rdf:Description><j:value>Sun, 03 Mar 1901 18:11:12 GMT</j:value></rdf:Description>"); } @@ -340,8 +340,8 @@ public class CalendarSwapTest { @Test public void testDefaultLongJson() throws Exception { Class<?> f = CalendarLongSwap.class; - WriterSerializer s = new JsonSerializer.Simple().addTransforms(f); - ReaderParser p = new JsonParser().addTransforms(f); + WriterSerializer s = new JsonSerializer.Simple().addPojoSwaps(f); + ReaderParser p = new JsonParser().addPojoSwaps(f); doTest(s, p, true, "-2172116928000"); } @@ -351,8 +351,8 @@ public class CalendarSwapTest { @Test public void testDefaultLongXml() throws Exception { Class<?> f = CalendarLongSwap.class; - WriterSerializer s = new XmlSerializer.SimpleSq().addTransforms(f); - ReaderParser p = new XmlParser().addTransforms(f); + WriterSerializer s = new XmlSerializer.SimpleSq().addPojoSwaps(f); + ReaderParser p = new XmlParser().addPojoSwaps(f); doTest(s, p, true, "<number>-2172116928000</number>"); } @@ -362,8 +362,8 @@ public class CalendarSwapTest { @Test public void testDefaultLongHtml() throws Exception { Class<?> f = CalendarLongSwap.class; - WriterSerializer s = new HtmlSerializer().addTransforms(f); - ReaderParser p = new HtmlParser().addTransforms(f); + WriterSerializer s = new HtmlSerializer().addPojoSwaps(f); + ReaderParser p = new HtmlParser().addPojoSwaps(f); doTest(s, p, true, "<number>-2172116928000</number>"); } @@ -373,8 +373,8 @@ public class CalendarSwapTest { @Test public void testDefaultLongUon() throws Exception { Class<?> f = CalendarLongSwap.class; - WriterSerializer s = UonSerializer.DEFAULT_SIMPLE.clone().addTransforms(f); - ReaderParser p = new UonParser().addTransforms(f); + WriterSerializer s = UonSerializer.DEFAULT_SIMPLE.clone().addPojoSwaps(f); + ReaderParser p = new UonParser().addPojoSwaps(f); doTest(s, p, true, "-2172116928000"); } @@ -384,8 +384,8 @@ public class CalendarSwapTest { @Test public void testDefaultLongUrlEncoding() throws Exception { Class<?> f = CalendarLongSwap.class; - WriterSerializer s = UrlEncodingSerializer.DEFAULT_SIMPLE.clone().addTransforms(f); - ReaderParser p = new UrlEncodingParser().addTransforms(f); + WriterSerializer s = UrlEncodingSerializer.DEFAULT_SIMPLE.clone().addPojoSwaps(f); + ReaderParser p = new UrlEncodingParser().addPojoSwaps(f); doTest(s, p, true, "_value=-2172116928000"); } @@ -395,8 +395,8 @@ public class CalendarSwapTest { @Test public void testDefaultLongRdfXml() throws Exception { Class<?> f = CalendarLongSwap.class; - WriterSerializer s = getRdfSerializer().addTransforms(f); - ReaderParser p = new RdfParser.Xml().addTransforms(f); + WriterSerializer s = getRdfSerializer().addPojoSwaps(f); + ReaderParser p = new RdfParser.Xml().addPojoSwaps(f); doTest(s, p, true, "<rdf:Description><j:value>-2172116928000</j:value></rdf:Description>"); } @@ -406,8 +406,8 @@ public class CalendarSwapTest { @Test public void testDefaultMapJson() throws Exception { Class<?> f = CalendarMapSwap.class; - WriterSerializer s = new JsonSerializer.Simple().addTransforms(f); - ReaderParser p = new JsonParser().addTransforms(f); + WriterSerializer s = new JsonSerializer.Simple().addPojoSwaps(f); + ReaderParser p = new JsonParser().addPojoSwaps(f); doTest(s, p, true, "{time:-2172116928000,timeZone:'PST'}"); } @@ -417,8 +417,8 @@ public class CalendarSwapTest { @Test public void testDefaultMapXml() throws Exception { Class<?> f = CalendarMapSwap.class; - WriterSerializer s = new XmlSerializer.SimpleXmlJsonSq().addTransforms(f); - ReaderParser p = new XmlParser().addTransforms(f); + WriterSerializer s = new XmlSerializer.SimpleXmlJsonSq().addPojoSwaps(f); + ReaderParser p = new XmlParser().addPojoSwaps(f); doTest(s, p, true, "<object><time type='number'>-2172116928000</time><timeZone>PST</timeZone></object>"); } @@ -428,8 +428,8 @@ public class CalendarSwapTest { @Test public void testDefaultMapHtml() throws Exception { Class<?> f = CalendarMapSwap.class; - WriterSerializer s = new HtmlSerializer.Sq().addTransforms(f); - ReaderParser p = new HtmlParser().addTransforms(f); + WriterSerializer s = new HtmlSerializer.Sq().addPojoSwaps(f); + ReaderParser p = new HtmlParser().addPojoSwaps(f); doTest(s, p, true, "<table type='object'><tr><th><string>key</string></th><th><string>value</string></th></tr><tr><td><string>time</string></td><td><number>-2172116928000</number></td></tr><tr><td><string>timeZone</string></td><td><string>PST</string></td></tr></table>"); } @@ -439,8 +439,8 @@ public class CalendarSwapTest { @Test public void testDefaultMapUon() throws Exception { Class<?> f = CalendarMapSwap.class; - WriterSerializer s = UonSerializer.DEFAULT_SIMPLE.clone().addTransforms(f); - ReaderParser p = new UonParser().addTransforms(f); + WriterSerializer s = UonSerializer.DEFAULT_SIMPLE.clone().addPojoSwaps(f); + ReaderParser p = new UonParser().addPojoSwaps(f); doTest(s, p, true, "(time=-2172116928000,timeZone=PST)"); } @@ -450,8 +450,8 @@ public class CalendarSwapTest { @Test public void testDefaultMapUrlEncoding() throws Exception { Class<?> f = CalendarMapSwap.class; - WriterSerializer s = UrlEncodingSerializer.DEFAULT_SIMPLE.clone().addTransforms(f); - ReaderParser p = new UrlEncodingParser().addTransforms(f); + WriterSerializer s = UrlEncodingSerializer.DEFAULT_SIMPLE.clone().addPojoSwaps(f); + ReaderParser p = new UrlEncodingParser().addPojoSwaps(f); doTest(s, p, true, "time=-2172116928000&timeZone=PST"); } @@ -461,8 +461,8 @@ public class CalendarSwapTest { @Test public void testDefaultMapRdfXml() throws Exception { Class<?> f = CalendarMapSwap.class; - WriterSerializer s = getRdfSerializer().addTransforms(f); - ReaderParser p = new RdfParser.Xml().addTransforms(f); + WriterSerializer s = getRdfSerializer().addPojoSwaps(f); + ReaderParser p = new RdfParser.Xml().addPojoSwaps(f); doTest(s, p, true, "<rdf:Description><jp:time>-2172116928000</jp:time><jp:timeZone>PST</jp:timeZone></rdf:Description>"); } @@ -472,8 +472,8 @@ public class CalendarSwapTest { @Test public void testDefaultMediumJson() throws Exception { Class<?> f = CalendarSwap.Medium.class; - WriterSerializer s = new JsonSerializer.Simple().addTransforms(f); - ReaderParser p = new JsonParser().addTransforms(f); + WriterSerializer s = new JsonSerializer.Simple().addPojoSwaps(f); + ReaderParser p = new JsonParser().addPojoSwaps(f); doTest(s, p, false, "'Mar 3, 1901'"); } @@ -483,8 +483,8 @@ public class CalendarSwapTest { @Test public void testDefaultMediumXml() throws Exception { Class<?> f = CalendarSwap.Medium.class; - WriterSerializer s = new XmlSerializer.SimpleSq().addTransforms(f); - ReaderParser p = new XmlParser().addTransforms(f); + WriterSerializer s = new XmlSerializer.SimpleSq().addPojoSwaps(f); + ReaderParser p = new XmlParser().addPojoSwaps(f); doTest(s, p, false, "<string>Mar 3, 1901</string>"); } @@ -494,8 +494,8 @@ public class CalendarSwapTest { @Test public void testDefaultMediumHtml() throws Exception { Class<?> f = CalendarSwap.Medium.class; - WriterSerializer s = new HtmlSerializer().addTransforms(f); - ReaderParser p = new HtmlParser().addTransforms(f); + WriterSerializer s = new HtmlSerializer().addPojoSwaps(f); + ReaderParser p = new HtmlParser().addPojoSwaps(f); doTest(s, p, false, "<string>Mar 3, 1901</string>"); } @@ -505,8 +505,8 @@ public class CalendarSwapTest { @Test public void testDefaultMediumUon() throws Exception { Class<?> f = CalendarSwap.Medium.class; - WriterSerializer s = new UonSerializer.Encoding().addTransforms(f); - ReaderParser p = UonParser.DEFAULT_DECODING.clone().addTransforms(f); + WriterSerializer s = new UonSerializer.Encoding().addPojoSwaps(f); + ReaderParser p = UonParser.DEFAULT_DECODING.clone().addPojoSwaps(f); doTest(s, p, false, "Mar+3,+1901"); } @@ -516,8 +516,8 @@ public class CalendarSwapTest { @Test public void testDefaultMediumUrlEncoding() throws Exception { Class<?> f = CalendarSwap.Medium.class; - WriterSerializer s = new UrlEncodingSerializer().addTransforms(f); - ReaderParser p = UrlEncodingParser.DEFAULT.clone().addTransforms(f); + WriterSerializer s = new UrlEncodingSerializer().addPojoSwaps(f); + ReaderParser p = UrlEncodingParser.DEFAULT.clone().addPojoSwaps(f); doTest(s, p, false, "_value=Mar+3,+1901"); } @@ -527,8 +527,8 @@ public class CalendarSwapTest { @Test public void testDefaultMediumRdfXml() throws Exception { Class<?> f = CalendarSwap.Medium.class; - WriterSerializer s = getRdfSerializer().addTransforms(f); - ReaderParser p = new RdfParser.Xml().addTransforms(f); + WriterSerializer s = getRdfSerializer().addPojoSwaps(f); + ReaderParser p = new RdfParser.Xml().addPojoSwaps(f); doTest(s, p, false, "<rdf:Description><j:value>Mar 3, 1901</j:value></rdf:Description>"); } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-core/src/test/java/org/apache/juneau/transforms/DateFilterTest.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/test/java/org/apache/juneau/transforms/DateFilterTest.java b/juneau-core/src/test/java/org/apache/juneau/transforms/DateFilterTest.java index 603837c..2d93b12 100755 --- a/juneau-core/src/test/java/org/apache/juneau/transforms/DateFilterTest.java +++ b/juneau-core/src/test/java/org/apache/juneau/transforms/DateFilterTest.java @@ -48,8 +48,8 @@ public class DateFilterTest { @Test public void testString() throws Exception { Class<?> f = DateSwap.ToString.class; - WriterSerializer s = new JsonSerializer.Simple().addTransforms(f); - ReaderParser p = new JsonParser().addTransforms(f); + WriterSerializer s = new JsonSerializer.Simple().addPojoSwaps(f); + ReaderParser p = new JsonParser().addPojoSwaps(f); doTest(s, p, "'Sun Mar 03 04:05:06 "+tz1+" 1901'"); } @@ -59,8 +59,8 @@ public class DateFilterTest { @Test public void testISO8601DTZ() throws Exception { Class<?> f = DateSwap.ISO8601DTZ.class; - WriterSerializer s = new JsonSerializer.Simple().addTransforms(f); - ReaderParser p = new JsonParser().addTransforms(f); + WriterSerializer s = new JsonSerializer.Simple().addPojoSwaps(f); + ReaderParser p = new JsonParser().addPojoSwaps(f); doTest(s, p, "'1901-03-03T09:05:06Z'"); } @@ -70,8 +70,8 @@ public class DateFilterTest { @Test public void testRFC2822DT() throws Exception { Class<?> f = DateSwap.RFC2822DT.class; - WriterSerializer s = new JsonSerializer.Simple().addTransforms(f); - ReaderParser p = new JsonParser().addTransforms(f); + WriterSerializer s = new JsonSerializer.Simple().addPojoSwaps(f); + ReaderParser p = new JsonParser().addPojoSwaps(f); doTest(s, p, "'Sun, 03 Mar 1901 04:05:06 "+tz1+"'"); } @@ -81,8 +81,8 @@ public class DateFilterTest { @Test public void testLong() throws Exception { Class<?> f = DateLongSwap.class; - WriterSerializer s = new JsonSerializer.Simple().addTransforms(f); - ReaderParser p = new JsonParser().addTransforms(f); + WriterSerializer s = new JsonSerializer.Simple().addPojoSwaps(f); + ReaderParser p = new JsonParser().addPojoSwaps(f); doTest(s, p, "-2172149694000"); } @@ -92,8 +92,8 @@ public class DateFilterTest { @Test public void testMap() throws Exception { Class<?> f = DateMapSwap.class; - WriterSerializer s = new JsonSerializer.Simple().addTransforms(f); - ReaderParser p = new JsonParser().addTransforms(f); + WriterSerializer s = new JsonSerializer.Simple().addPojoSwaps(f); + ReaderParser p = new JsonParser().addPojoSwaps(f); doTest(s, p, "{time:-2172149694000}"); } @@ -146,9 +146,9 @@ public class DateFilterTest { public void testBeanWithDate() throws Exception { A testBeanA = new A().init(); - final String jsonData = new JsonSerializer().addTransforms( + final String jsonData = new JsonSerializer().addPojoSwaps( DateSwap.ISO8601DT.class).serialize(testBeanA); - final ObjectMap data = new JsonParser().addTransforms( + final ObjectMap data = new JsonParser().addPojoSwaps( DateSwap.ISO8601DT.class).parse(jsonData, ObjectMap.class); final DateSwap.ISO8601DT dateSwap = new DateSwap.ISO8601DT(); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-core/src/test/java/org/apache/juneau/transforms/EnumerationSwapTest.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/test/java/org/apache/juneau/transforms/EnumerationSwapTest.java b/juneau-core/src/test/java/org/apache/juneau/transforms/EnumerationSwapTest.java index f9d36d4..d4b8442 100755 --- a/juneau-core/src/test/java/org/apache/juneau/transforms/EnumerationSwapTest.java +++ b/juneau-core/src/test/java/org/apache/juneau/transforms/EnumerationSwapTest.java @@ -28,7 +28,7 @@ public class EnumerationSwapTest { //==================================================================================================== @Test public void test() throws Exception { - WriterSerializer s = new JsonSerializer.Simple().addTransforms(EnumerationSwap.class); + WriterSerializer s = new JsonSerializer.Simple().addPojoSwaps(EnumerationSwap.class); Vector<String> v = new Vector<String>(Arrays.asList(new String[]{"foo","bar","baz"})); Enumeration<String> e = v.elements(); assertEquals("['foo','bar','baz']", s.serialize(e)); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-core/src/test/java/org/apache/juneau/transforms/IteratorSwapTest.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/test/java/org/apache/juneau/transforms/IteratorSwapTest.java b/juneau-core/src/test/java/org/apache/juneau/transforms/IteratorSwapTest.java index cba40ce..83417ec 100755 --- a/juneau-core/src/test/java/org/apache/juneau/transforms/IteratorSwapTest.java +++ b/juneau-core/src/test/java/org/apache/juneau/transforms/IteratorSwapTest.java @@ -28,7 +28,7 @@ public class IteratorSwapTest { //==================================================================================================== @Test public void test() throws Exception { - WriterSerializer s = new JsonSerializer.Simple().addTransforms(IteratorSwap.class); + WriterSerializer s = new JsonSerializer.Simple().addPojoSwaps(IteratorSwap.class); // Iterators List<String> l = new ArrayList<String>(Arrays.asList(new String[]{"foo","bar","baz"})); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-core/src/test/java/org/apache/juneau/transforms/ReaderFilterTest.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/test/java/org/apache/juneau/transforms/ReaderFilterTest.java b/juneau-core/src/test/java/org/apache/juneau/transforms/ReaderFilterTest.java index e6cc356..00a2eba 100755 --- a/juneau-core/src/test/java/org/apache/juneau/transforms/ReaderFilterTest.java +++ b/juneau-core/src/test/java/org/apache/juneau/transforms/ReaderFilterTest.java @@ -29,7 +29,7 @@ public class ReaderFilterTest { //==================================================================================================== @Test public void test() throws Exception { - WriterSerializer s = new JsonSerializer.Simple().addTransforms(ReaderSwap.Json.class); + WriterSerializer s = new JsonSerializer.Simple().addPojoSwaps(ReaderSwap.Json.class); Reader r; Map<String,Object> m; @@ -39,7 +39,7 @@ public class ReaderFilterTest { m.put("X", r); assertEquals("{X:{foo:'bar',baz:'quz'}}", s.serialize(m)); - s.addTransforms(ReaderSwap.Xml.class); + s.addPojoSwaps(ReaderSwap.Xml.class); r = new StringReader("<object><foo type='string'>bar</foo><baz type='string'>quz</baz></object>"); m = new HashMap<String,Object>(); m.put("X", r); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-core/src/test/java/org/apache/juneau/utils/PojoQueryTest.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/test/java/org/apache/juneau/utils/PojoQueryTest.java b/juneau-core/src/test/java/org/apache/juneau/utils/PojoQueryTest.java index ae86925..3f0f0b3 100755 --- a/juneau-core/src/test/java/org/apache/juneau/utils/PojoQueryTest.java +++ b/juneau-core/src/test/java/org/apache/juneau/utils/PojoQueryTest.java @@ -87,7 +87,7 @@ public class PojoQueryTest { int limit = 0; boolean ignoreCase = false; BeanContext bc = BeanContext.DEFAULT; - WriterSerializer s = new JsonSerializer.Simple().addTransforms(CalendarSwap.Simple.class); + WriterSerializer s = new JsonSerializer.Simple().addPojoSwaps(CalendarSwap.Simple.class); B[] in; PojoQuery filter; @@ -603,7 +603,7 @@ public class PojoQueryTest { int limit = 0; boolean ignoreCase = false; BeanContext bc = BeanContext.DEFAULT; - WriterSerializer s = new JsonSerializer.Simple().addTransforms(CalendarSwap.Simple.class); + WriterSerializer s = new JsonSerializer.Simple().addPojoSwaps(CalendarSwap.Simple.class); List results; I[] in = new I[] { http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-core/src/test/java/org/apache/juneau/utils/StringUtilsTest.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/test/java/org/apache/juneau/utils/StringUtilsTest.java b/juneau-core/src/test/java/org/apache/juneau/utils/StringUtilsTest.java index 3ce3663..e66a047 100755 --- a/juneau-core/src/test/java/org/apache/juneau/utils/StringUtilsTest.java +++ b/juneau-core/src/test/java/org/apache/juneau/utils/StringUtilsTest.java @@ -617,7 +617,7 @@ public class StringUtilsTest { //==================================================================================================== @Test public void testParseISO8601Date() throws Exception { - WriterSerializer s = new JsonSerializer.Simple().addTransforms(DateSwap.ISO8601DTPNZ.class); + WriterSerializer s = new JsonSerializer.Simple().addPojoSwaps(DateSwap.ISO8601DTPNZ.class); assertNull(parseISO8601Date(null)); assertNull(parseISO8601Date("")); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java ---------------------------------------------------------------------- diff --git a/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java b/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java index dd64a0d..3dd63b4 100755 --- a/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java +++ b/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java @@ -44,7 +44,7 @@ import org.apache.juneau.transforms.*; @Property(name=HTML_uriAnchorText, value=PROPERTY_NAME), @Property(name=REST_allowMethodParam, value="true") }, - transforms={ + pojoSwaps={ IteratorSwap.class, // Allows Iterators and Iterables to be serialized. DateSwap.ISO8601DT.class // Serialize Date objects as ISO8601 strings. } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-samples/src/main/java/org/apache/juneau/server/samples/RequestEchoResource.java ---------------------------------------------------------------------- diff --git a/juneau-samples/src/main/java/org/apache/juneau/server/samples/RequestEchoResource.java b/juneau-samples/src/main/java/org/apache/juneau/server/samples/RequestEchoResource.java index ef216e0..5f0554a 100755 --- a/juneau-samples/src/main/java/org/apache/juneau/server/samples/RequestEchoResource.java +++ b/juneau-samples/src/main/java/org/apache/juneau/server/samples/RequestEchoResource.java @@ -35,9 +35,11 @@ import org.apache.juneau.transforms.*; @Property(name=SERIALIZER_detectRecursions, value="true"), @Property(name=HTMLDOC_links, value="{up:'$R{requestParentURI}',options:'?method=OPTIONS',source:'$R{servletParentURI}/source?classes=(org.apache.juneau.server.samples.RequestEchoResource)'}") }, - transforms={ + beanFilters={ // Interpret these as their parent classes, not subclasses HttpServletRequest.class, HttpSession.class, ServletContext.class, + }, + pojoSwaps={ // Add a special filter for Enumerations EnumerationSwap.class } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-samples/src/test/java/org/apache/juneau/server/samples/AddressBookResourceTest.java ---------------------------------------------------------------------- diff --git a/juneau-samples/src/test/java/org/apache/juneau/server/samples/AddressBookResourceTest.java b/juneau-samples/src/test/java/org/apache/juneau/server/samples/AddressBookResourceTest.java index 83dfe8a..e51355d 100755 --- a/juneau-samples/src/test/java/org/apache/juneau/server/samples/AddressBookResourceTest.java +++ b/juneau-samples/src/test/java/org/apache/juneau/server/samples/AddressBookResourceTest.java @@ -43,8 +43,8 @@ public class AddressBookResourceTest { new SamplesRestClient(XmlSerializer.class, HtmlParser.class).setAccept("text/html+stripped") }; for (RestClient c : clients) { - c.getSerializer().addTransforms(CalendarSwap.Medium.class); - c.getParser().addTransforms(CalendarSwap.Medium.class); + c.getSerializer().addPojoSwaps(CalendarSwap.Medium.class); + c.getParser().addPojoSwaps(CalendarSwap.Medium.class); c.getSerializer().setProperty(XmlSerializerContext.XML_autoDetectNamespaces, true); } } @@ -62,7 +62,7 @@ public class AddressBookResourceTest { @Test public void testBasic() throws Exception { String in = IOUtils.read(getClass().getResourceAsStream("/org/apache/juneau/server/test/AddressBookResource_test0Test.json")); - JsonParser p = new JsonParser().addTransforms(CalendarSwap.Medium.class); + JsonParser p = new JsonParser().addPojoSwaps(CalendarSwap.Medium.class); Person person = p.parse(in, Person.class); if (debug) System.err.println(person); } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-samples/src/test/java/org/apache/juneau/server/samples/SampleRemoteableServicesResourceTest.java ---------------------------------------------------------------------- diff --git a/juneau-samples/src/test/java/org/apache/juneau/server/samples/SampleRemoteableServicesResourceTest.java b/juneau-samples/src/test/java/org/apache/juneau/server/samples/SampleRemoteableServicesResourceTest.java index d3f4329..f058b89 100755 --- a/juneau-samples/src/test/java/org/apache/juneau/server/samples/SampleRemoteableServicesResourceTest.java +++ b/juneau-samples/src/test/java/org/apache/juneau/server/samples/SampleRemoteableServicesResourceTest.java @@ -35,7 +35,7 @@ public class SampleRemoteableServicesResourceTest { new SamplesRestClient(UonSerializer.class, UonParser.class), }; for (RestClient c : clients) { - c.addTransforms(CalendarSwap.Medium.class); + c.addPojoSwaps(CalendarSwap.Medium.class); c.setRemoteableServletUri("/remoteable"); c.setProperty(XmlSerializerContext.XML_autoDetectNamespaces, true); } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-samples/src/test/java/org/apache/juneau/server/samples/TestUtils.java ---------------------------------------------------------------------- diff --git a/juneau-samples/src/test/java/org/apache/juneau/server/samples/TestUtils.java b/juneau-samples/src/test/java/org/apache/juneau/server/samples/TestUtils.java index dd964d0..3e9892c 100755 --- a/juneau-samples/src/test/java/org/apache/juneau/server/samples/TestUtils.java +++ b/juneau-samples/src/test/java/org/apache/juneau/server/samples/TestUtils.java @@ -52,10 +52,10 @@ public class TestUtils { private static JsonSerializer js2 = new JsonSerializer.Simple() - .addTransforms(IteratorSwap.class, EnumerationSwap.class); + .addPojoSwaps(IteratorSwap.class, EnumerationSwap.class); private static JsonSerializer js3 = new JsonSerializer.Simple() - .addTransforms(IteratorSwap.class, EnumerationSwap.class) + .addPojoSwaps(IteratorSwap.class, EnumerationSwap.class) .setProperty(BEAN_sortProperties, true); /** http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server-test/src/main/java/org/apache/juneau/server/BeanContextPropertiesResource.java ---------------------------------------------------------------------- diff --git a/juneau-server-test/src/main/java/org/apache/juneau/server/BeanContextPropertiesResource.java b/juneau-server-test/src/main/java/org/apache/juneau/server/BeanContextPropertiesResource.java index 519715a..9541149 100755 --- a/juneau-server-test/src/main/java/org/apache/juneau/server/BeanContextPropertiesResource.java +++ b/juneau-server-test/src/main/java/org/apache/juneau/server/BeanContextPropertiesResource.java @@ -23,7 +23,7 @@ import org.apache.juneau.transforms.*; */ @RestResource( path="/testBeanContext", - transforms=DateSwap.ISO8601DTZ.class + pojoSwaps=DateSwap.ISO8601DTZ.class ) public class BeanContextPropertiesResource extends RestServletDefault { private static final long serialVersionUID = 1L; http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server-test/src/main/java/org/apache/juneau/server/GroupsResource.java ---------------------------------------------------------------------- diff --git a/juneau-server-test/src/main/java/org/apache/juneau/server/GroupsResource.java b/juneau-server-test/src/main/java/org/apache/juneau/server/GroupsResource.java index be2df77..759fa5c 100755 --- a/juneau-server-test/src/main/java/org/apache/juneau/server/GroupsResource.java +++ b/juneau-server-test/src/main/java/org/apache/juneau/server/GroupsResource.java @@ -47,13 +47,13 @@ public class GroupsResource extends RestServlet { @Override /* RestServlet */ - public SerializerGroup createSerializers(ObjectMap properties, Class<?>[] filters) throws Exception { - return new SerializerGroup().append(SSerializer.class).setProperties(properties).addTransforms(filters); + public SerializerGroup createSerializers(ObjectMap properties, Class<?>[] beanFilters, Class<?>[] pojoSwaps) throws Exception { + return new SerializerGroup().append(SSerializer.class).setProperties(properties).addBeanFilters(beanFilters).addPojoSwaps(pojoSwaps); } @Override /* RestServlet */ - public ParserGroup createParsers(ObjectMap properties, Class<?>[] filters) throws Exception { - return new ParserGroup().append(PParser.class).setProperties(properties).addTransforms(filters); + public ParserGroup createParsers(ObjectMap properties, Class<?>[] beanFilters, Class<?>[] pojoSwaps) throws Exception { + return new ParserGroup().append(PParser.class).setProperties(properties).addBeanFilters(beanFilters).addPojoSwaps(pojoSwaps); } //==================================================================================================== http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server-test/src/main/java/org/apache/juneau/server/InheritanceResource.java ---------------------------------------------------------------------- diff --git a/juneau-server-test/src/main/java/org/apache/juneau/server/InheritanceResource.java b/juneau-server-test/src/main/java/org/apache/juneau/server/InheritanceResource.java index 4c25acc..192f2b3 100755 --- a/juneau-server-test/src/main/java/org/apache/juneau/server/InheritanceResource.java +++ b/juneau-server-test/src/main/java/org/apache/juneau/server/InheritanceResource.java @@ -35,7 +35,7 @@ import org.apache.juneau.transform.*; serializers={InheritanceResource.S1.class,InheritanceResource.S2.class}, parsers={InheritanceResource.P1.class,InheritanceResource.P2.class}, encoders={InheritanceResource.E1.class,InheritanceResource.E2.class}, - transforms={InheritanceResource.F1.class}, + pojoSwaps={InheritanceResource.F1Swap.class}, properties={@Property(name="p1",value="v1"), @Property(name="p2",value="v2")} ) public class InheritanceResource extends RestServlet { @@ -45,7 +45,7 @@ public class InheritanceResource extends RestServlet { serializers={S3.class,S4.class}, parsers={P3.class,P4.class}, encoders={E3.class,E4.class}, - transforms={F2.class}, + pojoSwaps={F2Swap.class}, properties={@Property(name="p2",value="v2a"), @Property(name="p3",value="v3"), @Property(name="p4",value="v4")} ) public static class Sub extends InheritanceResource { @@ -149,35 +149,35 @@ public class InheritanceResource extends RestServlet { public static class TestTransforms extends Sub { private static final long serialVersionUID = 1L; - // Should show ['F1','F2','Foo3'] + // Should show ['F1Swap','F2Swap','Foo3'] @RestMethod(name="GET", path="/test1") public Object[] test1() { return new Object[]{new Foo1(), new Foo2(), new Foo3()}; } - // Should show ['F1','F2','F3'] + // Should show ['F1Swap','F2Swap','F3Swap'] // Inherited serializer already has parent filters applied. - @RestMethod(name="GET", path="/test2", transforms=F3.class) + @RestMethod(name="GET", path="/test2", pojoSwaps=F3Swap.class) public Object[] test2() { return new Object[]{new Foo1(), new Foo2(), new Foo3()}; } - // Should show ['F1','F2','F3'] - @RestMethod(name="GET", path="/test3", transforms=F3.class, serializersInherit=TRANSFORMS) + // Should show ['F1Swap','F2Swap','F3Swap'] + @RestMethod(name="GET", path="/test3", pojoSwaps=F3Swap.class, serializersInherit=TRANSFORMS) public Object[] test3() { return new Object[]{new Foo1(), new Foo2(), new Foo3()}; } - // Should show ['Foo1','Foo2','F3'] + // Should show ['Foo1','Foo2','F3Swap'] // Overriding serializer does not have parent filters applied. - @RestMethod(name="GET", path="/test4", serializers=JsonSerializer.Simple.class, transforms=F3.class) + @RestMethod(name="GET", path="/test4", serializers=JsonSerializer.Simple.class, pojoSwaps=F3Swap.class) public Object[] test4() { return new Object[]{new Foo1(), new Foo2(), new Foo3()}; } - // Should show ['F1','F2','F3'] + // Should show ['F1Swap','F2Swap','F3Swap'] // Overriding serializer does have parent filters applied. - @RestMethod(name="GET", path="/test5", serializers=JsonSerializer.Simple.class, transforms=F3.class, serializersInherit=TRANSFORMS) + @RestMethod(name="GET", path="/test5", serializers=JsonSerializer.Simple.class, pojoSwaps=F3Swap.class, serializersInherit=TRANSFORMS) public Object[] test5() { return new Object[]{new Foo1(), new Foo2(), new Foo3()}; } @@ -293,21 +293,21 @@ public class InheritanceResource extends RestServlet { public static class Foo2 {@Override public String toString(){return "Foo2";}} public static class Foo3 {@Override public String toString(){return "Foo3";}} - public static class F1 extends PojoSwap<Foo1,String> { + public static class F1Swap extends PojoSwap<Foo1,String> { @Override /* PojoSwap */ public String swap(Foo1 o) throws SerializeException { return "F1"; } } - public static class F2 extends PojoSwap<Foo2,String> { + public static class F2Swap extends PojoSwap<Foo2,String> { @Override /* PojoSwap */ public String swap(Foo2 o) throws SerializeException { return "F2"; } } - public static class F3 extends PojoSwap<Foo3,String> { + public static class F3Swap extends PojoSwap<Foo3,String> { @Override /* PojoSwap */ public String swap(Foo3 o) throws SerializeException { return "F3"; http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server-test/src/main/java/org/apache/juneau/server/MessagesResource.java ---------------------------------------------------------------------- diff --git a/juneau-server-test/src/main/java/org/apache/juneau/server/MessagesResource.java b/juneau-server-test/src/main/java/org/apache/juneau/server/MessagesResource.java index 28a85bf..87b5bdd 100755 --- a/juneau-server-test/src/main/java/org/apache/juneau/server/MessagesResource.java +++ b/juneau-server-test/src/main/java/org/apache/juneau/server/MessagesResource.java @@ -26,7 +26,7 @@ import org.apache.juneau.transform.*; @RestResource( path="/testMessages", messages="MessagesResource", - transforms={ + pojoSwaps={ MessagesResource.ResourceBundleSwap.class } ) http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server-test/src/main/java/org/apache/juneau/server/ParamsResource.java ---------------------------------------------------------------------- diff --git a/juneau-server-test/src/main/java/org/apache/juneau/server/ParamsResource.java b/juneau-server-test/src/main/java/org/apache/juneau/server/ParamsResource.java index d195704..b78640a 100755 --- a/juneau-server-test/src/main/java/org/apache/juneau/server/ParamsResource.java +++ b/juneau-server-test/src/main/java/org/apache/juneau/server/ParamsResource.java @@ -107,7 +107,7 @@ public class ParamsResource extends RestServletDefault { } @Override /* RestServlet */ - public Class<?>[] createTransforms() { + public Class<?>[] createPojoSwaps() { return new Class[]{CalendarSwap.Medium.class}; } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server-test/src/main/java/org/apache/juneau/server/TransformsParentResource.java ---------------------------------------------------------------------- diff --git a/juneau-server-test/src/main/java/org/apache/juneau/server/TransformsParentResource.java b/juneau-server-test/src/main/java/org/apache/juneau/server/TransformsParentResource.java index f7db4d3..64fbcc6 100755 --- a/juneau-server-test/src/main/java/org/apache/juneau/server/TransformsParentResource.java +++ b/juneau-server-test/src/main/java/org/apache/juneau/server/TransformsParentResource.java @@ -18,7 +18,7 @@ import org.apache.juneau.server.annotation.*; * JUnit automated testcase resource. */ @RestResource( - transforms={TransformsResource.SwapA1.class} + pojoSwaps={TransformsResource.SwapA1.class} ) public class TransformsParentResource extends RestServletDefault { private static final long serialVersionUID = 1L; http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server-test/src/main/java/org/apache/juneau/server/TransformsResource.java ---------------------------------------------------------------------- diff --git a/juneau-server-test/src/main/java/org/apache/juneau/server/TransformsResource.java b/juneau-server-test/src/main/java/org/apache/juneau/server/TransformsResource.java index 4301411..d44d544 100755 --- a/juneau-server-test/src/main/java/org/apache/juneau/server/TransformsResource.java +++ b/juneau-server-test/src/main/java/org/apache/juneau/server/TransformsResource.java @@ -23,7 +23,7 @@ import org.apache.juneau.transform.*; */ @RestResource( path="/testTransforms", - transforms={TransformsResource.SwapA2.class} + pojoSwaps={TransformsResource.SwapA2.class} ) public class TransformsResource extends TransformsParentResource { private static final long serialVersionUID = 1L; @@ -49,15 +49,15 @@ public class TransformsResource extends TransformsParentResource { // Test method transform overrides class transform // Should return "A3-1". //==================================================================================================== - @RestMethod(name="GET", path="/testMethodTransformOverridesClassTransform", transforms={SwapA3.class}) + @RestMethod(name="GET", path="/testMethodTransformOverridesClassTransform", pojoSwaps={SwapA3.class}) public A test2a() { return new A(); } - @RestMethod(name="PUT", path="/testMethodTransformOverridesClassTransform", transforms={SwapA3.class}) + @RestMethod(name="PUT", path="/testMethodTransformOverridesClassTransform", pojoSwaps={SwapA3.class}) public A test2b(@Content A a) { return a; } - @RestMethod(name="PUT", path="/testMethodTransformOverridesClassTransform/{a}", transforms={SwapA3.class}) + @RestMethod(name="PUT", path="/testMethodTransformOverridesClassTransform/{a}", pojoSwaps={SwapA3.class}) public A test2c(@Attr A a) { return a; } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server-test/src/test/java/org/apache/juneau/server/TestUtils.java ---------------------------------------------------------------------- diff --git a/juneau-server-test/src/test/java/org/apache/juneau/server/TestUtils.java b/juneau-server-test/src/test/java/org/apache/juneau/server/TestUtils.java index 909000e..2bf3e7a 100755 --- a/juneau-server-test/src/test/java/org/apache/juneau/server/TestUtils.java +++ b/juneau-server-test/src/test/java/org/apache/juneau/server/TestUtils.java @@ -25,7 +25,7 @@ import junit.framework.*; public class TestUtils { private static JsonSerializer js2 = new JsonSerializer.Simple() - .addTransforms(IteratorSwap.class, EnumerationSwap.class); + .addPojoSwaps(IteratorSwap.class, EnumerationSwap.class); /** * Assert that the object equals the specified string after running it through JsonSerializer.DEFAULT_LAX.toString(). http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server/src/main/java/org/apache/juneau/server/RestServlet.java ---------------------------------------------------------------------- diff --git a/juneau-server/src/main/java/org/apache/juneau/server/RestServlet.java b/juneau-server/src/main/java/org/apache/juneau/server/RestServlet.java index 358a0d5..1eb84df 100755 --- a/juneau-server/src/main/java/org/apache/juneau/server/RestServlet.java +++ b/juneau-server/src/main/java/org/apache/juneau/server/RestServlet.java @@ -99,7 +99,7 @@ public abstract class RestServlet extends HttpServlet { private UrlEncodingParser urlEncodingParser; private ObjectMap properties; private RestGuard[] guards; - private Class<?>[] transforms; + private Class<?>[] beanFilters, pojoSwaps; private RestConverter[] converters; private TreeMap<String,String> defaultRequestHeaders; private Map<String,Object> defaultResponseHeaders; @@ -189,13 +189,14 @@ public abstract class RestServlet extends HttpServlet { staticFilesPrefixes = staticFilesMap.keySet().toArray(new String[0]); properties = createProperties(); - transforms = createTransforms(); + beanFilters = createBeanFilters(); + pojoSwaps = createPojoSwaps(); context = ContextFactory.create().setProperties(properties).getContext(RestServletContext.class); - beanContext = createBeanContext(properties, transforms); - urlEncodingSerializer = createUrlEncodingSerializer(properties, transforms).lock(); - urlEncodingParser = createUrlEncodingParser(properties, transforms).lock(); - serializers = createSerializers(properties, transforms).lock(); - parsers = createParsers(properties, transforms).lock(); + beanContext = createBeanContext(properties, beanFilters, pojoSwaps); + urlEncodingSerializer = createUrlEncodingSerializer(properties, beanFilters, pojoSwaps).lock(); + urlEncodingParser = createUrlEncodingParser(properties, beanFilters, pojoSwaps).lock(); + serializers = createSerializers(properties, beanFilters, pojoSwaps).lock(); + parsers = createParsers(properties, beanFilters, pojoSwaps).lock(); converters = createConverters(properties); encoders = createEncoders(properties); guards = createGuards(properties); @@ -400,22 +401,44 @@ public abstract class RestServlet extends HttpServlet { } /** + * Creates the class-level bean filters associated with this servlet. + * <p> + * Subclasses can override this method to provide their own class-level bean filters for this servlet. + * <p> + * By default, returns the bean filters specified through the {@link RestResource#beanFilters() @RestResource.beanFilters()} annotation in child-to-parent order. + * (i.e. bean filters will be applied in child-to-parent order with child annotations overriding parent annotations when + * the same filters are applied). + * + * @return The new set of transforms associated with this servet. + */ + protected Class<?>[] createBeanFilters() { + List<Class<?>> l = new LinkedList<Class<?>>(); + + // Bean filters are loaded in parent-to-child order to allow overrides. + for (RestResource r : restResourceAnnotationsChildFirst.values()) + for (Class c : r.beanFilters()) + l.add(c); + + return l.toArray(new Class<?>[l.size()]); + } + + /** * Creates the class-level POJO swaps associated with this servlet. * <p> * Subclasses can override this method to provide their own class-level POJO swaps for this servlet. * <p> - * By default, returns the transforms specified through the {@link RestResource#transforms() @RestResource.transforms()} annotation in child-to-parent order. - * (i.e. transforms will be applied in child-to-parent order with child annotations overriding parent annotations when - * the same transforms are applied). + * By default, returns the transforms specified through the {@link RestResource#pojoSwaps() @RestResource.pojoSwaps()} annotation in child-to-parent order. + * (i.e. POJO swaps will be applied in child-to-parent order with child annotations overriding parent annotations when + * the same swaps are applied). * * @return The new set of transforms associated with this servet. */ - protected Class<?>[] createTransforms() { + protected Class<?>[] createPojoSwaps() { List<Class<?>> l = new LinkedList<Class<?>>(); // Transforms are loaded in parent-to-child order to allow overrides. for (RestResource r : restResourceAnnotationsChildFirst.values()) - for (Class c : r.transforms()) + for (Class c : r.pojoSwaps()) l.add(c); return l.toArray(new Class<?>[l.size()]); @@ -427,12 +450,13 @@ public abstract class RestServlet extends HttpServlet { * Subclasses can override this method to provide their own specialized bean context. * * @param properties Servlet-level properties returned by {@link #createProperties()}. - * @param transforms Servlet-level transforms returned by {@link #createTransforms()}. + * @param beanFilters Servlet-level bean filters returned by {@link #createBeanFilters()}. + * @param pojoSwaps Servlet-level POJO swaps returned by {@link #createPojoSwaps()}. * @return The new bean context. * @throws Exception If bean context not be constructed for any reason. */ - protected BeanContext createBeanContext(ObjectMap properties, Class<?>[] transforms) throws Exception { - return ContextFactory.create().addTransforms(transforms).setProperties(properties).getBeanContext(); + protected BeanContext createBeanContext(ObjectMap properties, Class<?>[] beanFilters, Class<?>[] pojoSwaps) throws Exception { + return ContextFactory.create().addBeanFilters(beanFilters).addPojoSwaps(pojoSwaps).setProperties(properties).getBeanContext(); } /** @@ -441,12 +465,13 @@ public abstract class RestServlet extends HttpServlet { * Subclasses can override this method to provide their own specialized serializer. * * @param properties Servlet-level properties returned by {@link #createProperties()}. - * @param transforms Servlet-level transforms returned by {@link #createTransforms()}. + * @param beanFilters Servlet-level bean filters returned by {@link #createBeanFilters()}. + * @param pojoSwaps Servlet-level POJO swaps returned by {@link #createPojoSwaps()}. * @return The new URL-Encoding serializer. * @throws Exception If the serializer could not be constructed for any reason. */ - protected UrlEncodingSerializer createUrlEncodingSerializer(ObjectMap properties, Class<?>[] transforms) throws Exception { - return new UrlEncodingSerializer().setProperties(properties).addTransforms(transforms); + protected UrlEncodingSerializer createUrlEncodingSerializer(ObjectMap properties, Class<?>[] beanFilters, Class<?>[] pojoSwaps) throws Exception { + return new UrlEncodingSerializer().setProperties(properties).addBeanFilters(beanFilters).addPojoSwaps(pojoSwaps); } /** @@ -455,12 +480,13 @@ public abstract class RestServlet extends HttpServlet { * Subclasses can override this method to provide their own specialized parser. * * @param properties Servlet-level properties returned by {@link #createProperties()}. - * @param transforms Servlet-level transforms returned by {@link #createTransforms()}. + * @param beanFilters Servlet-level bean filters returned by {@link #createBeanFilters()}. + * @param pojoSwaps Servlet-level POJO swaps returned by {@link #createPojoSwaps()}. * @return The new URL-Encoding parser. * @throws Exception If the parser could not be constructed for any reason. */ - protected UrlEncodingParser createUrlEncodingParser(ObjectMap properties, Class<?>[] transforms) throws Exception { - return new UrlEncodingParser().setProperties(properties).addTransforms(transforms); + protected UrlEncodingParser createUrlEncodingParser(ObjectMap properties, Class<?>[] beanFilters, Class<?>[] pojoSwaps) throws Exception { + return new UrlEncodingParser().setProperties(properties).addBeanFilters(beanFilters).addPojoSwaps(pojoSwaps); } /** @@ -474,11 +500,12 @@ public abstract class RestServlet extends HttpServlet { * and all parent classes. * * @param properties Servlet-level properties returned by {@link #createProperties()}. - * @param transforms Servlet-level transforms returned by {@link #createTransforms()}. + * @param beanFilters Servlet-level bean filters returned by {@link #createBeanFilters()}. + * @param pojoSwaps Servlet-level POJO swaps returned by {@link #createPojoSwaps()}. * @return The group of serializers. * @throws Exception If serializer group could not be constructed for any reason. */ - protected SerializerGroup createSerializers(ObjectMap properties, Class<?>[] transforms) throws Exception { + protected SerializerGroup createSerializers(ObjectMap properties, Class<?>[] beanFilters, Class<?>[] pojoSwaps) throws Exception { SerializerGroup g = new SerializerGroup(); // Serializers are loaded in parent-to-child order to allow overrides. @@ -491,7 +518,7 @@ public abstract class RestServlet extends HttpServlet { } g.setProperties(properties); - g.addTransforms(transforms); + g.addBeanFilters(beanFilters).addPojoSwaps(pojoSwaps); return g; } @@ -506,11 +533,12 @@ public abstract class RestServlet extends HttpServlet { * and all parent classes. * * @param properties Servlet-level properties returned by {@link #createProperties()}. - * @param transforms Servlet-level transforms returned by {@link #createTransforms()}. + * @param beanFilters Servlet-level bean filters returned by {@link #createBeanFilters()}. + * @param pojoSwaps Servlet-level POJO swaps returned by {@link #createPojoSwaps()}. * @return The group of parsers. * @throws Exception If parser group could not be constructed for any reason. */ - protected ParserGroup createParsers(ObjectMap properties, Class<?>[] transforms) throws Exception { + protected ParserGroup createParsers(ObjectMap properties, Class<?>[] beanFilters, Class<?>[] pojoSwaps) throws Exception { ParserGroup g = new ParserGroup(); // Parsers are loaded in parent-to-child order to allow overrides. @@ -523,7 +551,7 @@ public abstract class RestServlet extends HttpServlet { } g.setProperties(properties); - g.addTransforms(transforms); + g.addBeanFilters(beanFilters).addPojoSwaps(pojoSwaps); return g; } @@ -1859,7 +1887,7 @@ public abstract class RestServlet extends HttpServlet { ArrayList<Inherit> si = new ArrayList<Inherit>(Arrays.asList(m.serializersInherit())); ArrayList<Inherit> pi = new ArrayList<Inherit>(Arrays.asList(m.parsersInherit())); - if (m.serializers().length > 0 || m.parsers().length > 0 || m.properties().length > 0 || m.transforms().length > 0) { + if (m.serializers().length > 0 || m.parsers().length > 0 || m.properties().length > 0 || m.beanFilters().length > 0 || m.pojoSwaps().length > 0) { mSerializers = (si.contains(SERIALIZERS) || m.serializers().length == 0 ? mSerializers.clone() : new SerializerGroup()); mParsers = (pi.contains(PARSERS) || m.parsers().length == 0 ? mParsers.clone() : new ParserGroup()); mUrlEncodingParser = mUrlEncodingParser.clone(); @@ -1906,7 +1934,7 @@ public abstract class RestServlet extends HttpServlet { if (m.serializers().length > 0) { mSerializers.append(m.serializers()); if (si.contains(TRANSFORMS)) - mSerializers.addTransforms(getTransforms()); + mSerializers.addBeanFilters(getBeanFilters()).addPojoSwaps(getPojoSwaps()); if (si.contains(PROPERTIES)) mSerializers.setProperties(getProperties()); } @@ -1914,7 +1942,7 @@ public abstract class RestServlet extends HttpServlet { if (m.parsers().length > 0) { mParsers.append(m.parsers()); if (pi.contains(TRANSFORMS)) - mParsers.addTransforms(getTransforms()); + mParsers.addBeanFilters(getBeanFilters()).addPojoSwaps(getPojoSwaps()); if (pi.contains(PROPERTIES)) mParsers.setProperties(getProperties()); } @@ -1930,10 +1958,16 @@ public abstract class RestServlet extends HttpServlet { } } - if (m.transforms().length > 0) { - mSerializers.addTransforms(m.transforms()); - mParsers.addTransforms(m.transforms()); - mUrlEncodingParser.addTransforms(m.transforms()); + if (m.beanFilters().length > 0) { + mSerializers.addBeanFilters(m.beanFilters()); + mParsers.addBeanFilters(m.beanFilters()); + mUrlEncodingParser.addBeanFilters(m.beanFilters()); + } + + if (m.pojoSwaps().length > 0) { + mSerializers.addPojoSwaps(m.pojoSwaps()); + mParsers.addPojoSwaps(m.pojoSwaps()); + mUrlEncodingParser.addPojoSwaps(m.pojoSwaps()); } if (m.encoders().length > 0 || ! m.inheritEncoders()) { @@ -2445,7 +2479,7 @@ public abstract class RestServlet extends HttpServlet { if (o == null) o = req.getHeader(k); } - if (o instanceof String) + if (o instanceof String) o = req.getVarResolverSession().resolve(o.toString()); return o; } @@ -2501,14 +2535,25 @@ public abstract class RestServlet extends HttpServlet { } /** + * Returns the class-level bean filters associated with this servlet. + * <p> + * Created by the {@link #createBeanFilters()} method. + * + * @return The class-level bean filters associated with this servlet. + */ + public Class<?>[] getBeanFilters() { + return beanFilters; + } + + /** * Returns the class-level POJO swaps associated with this servlet. * <p> - * Created by the {@link #createTransforms()} method. + * Created by the {@link #createPojoSwaps()} method. * - * @return The class-level guards associated with this servlet. + * @return The class-level POJO swaps associated with this servlet. */ - public Class<?>[] getTransforms() { - return transforms; + public Class<?>[] getPojoSwaps() { + return pojoSwaps; } /** @@ -2570,7 +2615,7 @@ public abstract class RestServlet extends HttpServlet { /** * Returns the serializer group containing serializers used for serializing output POJOs in HTTP responses. * <p> - * Created by the {@link #createSerializers(ObjectMap, Class[])} method. + * Created by the {@link #createSerializers(ObjectMap, Class[], Class[])} method. * * @return The group of serializers. */ @@ -2581,7 +2626,7 @@ public abstract class RestServlet extends HttpServlet { /** * Returns the parser group containing parsers used for parsing input into POJOs from HTTP requests. * <p> - * Created by the {@link #createParsers(ObjectMap, Class[])} method. + * Created by the {@link #createParsers(ObjectMap, Class[], Class[])} method. * * @return The group of parsers. */ @@ -2592,7 +2637,7 @@ public abstract class RestServlet extends HttpServlet { /** * Returns the URL-encoding parser used for parsing URL query parameters. * <p> - * Created by the {@link #createUrlEncodingParser(ObjectMap, Class[])} method. + * Created by the {@link #createUrlEncodingParser(ObjectMap, Class[], Class[])} method. * * @return The URL-Encoding parser to use for parsing URL query parameters. */ @@ -2603,7 +2648,7 @@ public abstract class RestServlet extends HttpServlet { /** * Returns the URL-encoding serializer used for serializing arguments in {@link Redirect} objects. * <p> - * Created by the {@link #createUrlEncodingSerializer(ObjectMap, Class[])} method. + * Created by the {@link #createUrlEncodingSerializer(ObjectMap, Class[], Class[])} method. * * @return The URL-Encoding serializer. */ @@ -2625,7 +2670,7 @@ public abstract class RestServlet extends HttpServlet { /** * Returns the {@link BeanContext} object used for parsing path variables and header values. * <p> - * Created by the {@link #createBeanContext(ObjectMap, Class[])} method. + * Created by the {@link #createBeanContext(ObjectMap, Class[], Class[])} method. * * @return The bean context used for parsing path variables and header values. */ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server/src/main/java/org/apache/juneau/server/annotation/Inherit.java ---------------------------------------------------------------------- diff --git a/juneau-server/src/main/java/org/apache/juneau/server/annotation/Inherit.java b/juneau-server/src/main/java/org/apache/juneau/server/annotation/Inherit.java index de0f6ac..7173b27 100755 --- a/juneau-server/src/main/java/org/apache/juneau/server/annotation/Inherit.java +++ b/juneau-server/src/main/java/org/apache/juneau/server/annotation/Inherit.java @@ -26,7 +26,7 @@ public enum Inherit { /** Inherit parsers from parent. */ PARSERS, - /** Inherit transforms from parent. */ + /** Inherit bean filters and POJO swaps from parent. */ TRANSFORMS, /** Inherit properties from parent. */ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server/src/main/java/org/apache/juneau/server/annotation/RestMethod.java ---------------------------------------------------------------------- diff --git a/juneau-server/src/main/java/org/apache/juneau/server/annotation/RestMethod.java b/juneau-server/src/main/java/org/apache/juneau/server/annotation/RestMethod.java index 7672f9e..912b70f 100755 --- a/juneau-server/src/main/java/org/apache/juneau/server/annotation/RestMethod.java +++ b/juneau-server/src/main/java/org/apache/juneau/server/annotation/RestMethod.java @@ -236,9 +236,14 @@ public @interface RestMethod { Property[] properties() default {}; /** - * Appends the specified transforms to all serializers and parsers used by this method. + * Appends the specified bean filters to all serializers and parsers used by this method. */ - Class<?>[] transforms() default {}; + Class<?>[] beanFilters() default {}; + + /** + * Appends the specified POJO swaps to all serializers and parsers used by this method. + */ + Class<?>[] pojoSwaps() default {}; /** * Possible HTTP response codes from this method. http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server/src/main/java/org/apache/juneau/server/annotation/RestResource.java ---------------------------------------------------------------------- diff --git a/juneau-server/src/main/java/org/apache/juneau/server/annotation/RestResource.java b/juneau-server/src/main/java/org/apache/juneau/server/annotation/RestResource.java index 7936682..cece441 100755 --- a/juneau-server/src/main/java/org/apache/juneau/server/annotation/RestResource.java +++ b/juneau-server/src/main/java/org/apache/juneau/server/annotation/RestResource.java @@ -89,20 +89,35 @@ public @interface RestResource { Class<? extends RestConverter>[] converters() default {}; /** - * Class-level POJO filters. + * Class-level bean filters. * <p> - * Shortcut to add POJO filters to the bean contexts of the objects returned by the following methods: + * Shortcut to add bean filters to the bean contexts of the objects returned by the following methods: * <ul> * <li>{@link RestServlet#getBeanContext()} * <li>{@link RestServlet#getSerializers()} * <li>{@link RestServlet#getParsers()} * </ul> * <p> - * If the specified class is an instance of {@link Transform}, then that filter is added. - * Any other classes are wrapped in a {@link BeanFilter} to indicate that subclasses should + * If the specified class is an instance of {@link BeanFilter}, then that filter is added. + * Any other classes are wrapped in a {@link InterfaceBeanFilter} to indicate that subclasses should * be treated as the specified class type. */ - Class<?>[] transforms() default {}; + Class<?>[] beanFilters() default {}; + + /** + * Class-level POJO swaps. + * <p> + * Shortcut to add POJO swaps to the bean contexts of the objects returned by the following methods: + * <ul> + * <li>{@link RestServlet#getBeanContext()} + * <li>{@link RestServlet#getSerializers()} + * <li>{@link RestServlet#getParsers()} + * </ul> + * <p> + * If the specified class is an instance of {@link PojoSwap}, then that swap is added. + * Any other classes are wrapped in a {@link SurrogateSwap}. + */ + Class<?>[] pojoSwaps() default {}; /** * Class-level properties. http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server/src/main/java/org/apache/juneau/server/jaxrs/BaseProvider.java ---------------------------------------------------------------------- diff --git a/juneau-server/src/main/java/org/apache/juneau/server/jaxrs/BaseProvider.java b/juneau-server/src/main/java/org/apache/juneau/server/jaxrs/BaseProvider.java index 576ae67..45d170a 100755 --- a/juneau-server/src/main/java/org/apache/juneau/server/jaxrs/BaseProvider.java +++ b/juneau-server/src/main/java/org/apache/juneau/server/jaxrs/BaseProvider.java @@ -50,8 +50,10 @@ public class BaseProvider implements MessageBodyReader<Object>, MessageBodyWrite parsers.append(jp.parsers()); for (Property p : jp.properties()) properties.put(p.name(), p.value()); - serializers.addTransforms(jp.transforms()); - parsers.addTransforms(jp.transforms()); + serializers.addBeanFilters(jp.beanFilters()); + parsers.addBeanFilters(jp.beanFilters()); + serializers.addPojoSwaps(jp.pojoSwaps()); + parsers.addPojoSwaps(jp.pojoSwaps()); } catch (Exception e) { throw new RuntimeException(e); } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server/src/main/java/org/apache/juneau/server/jaxrs/JuneauProvider.java ---------------------------------------------------------------------- diff --git a/juneau-server/src/main/java/org/apache/juneau/server/jaxrs/JuneauProvider.java b/juneau-server/src/main/java/org/apache/juneau/server/jaxrs/JuneauProvider.java index a1ea139..ba160ec 100755 --- a/juneau-server/src/main/java/org/apache/juneau/server/jaxrs/JuneauProvider.java +++ b/juneau-server/src/main/java/org/apache/juneau/server/jaxrs/JuneauProvider.java @@ -43,15 +43,25 @@ import org.apache.juneau.xml.*; public @interface JuneauProvider { /** - * Provider-level POJO filters. + * Provider-level bean filters. * <p> * These filters are applied to all serializers and parsers being used by the provider. * <p> - * If the specified class is an instance of {@link Transform}, then that filter is added. - * Any other classes are wrapped in a {@link BeanFilter} to indicate that subclasses should + * If the specified class is an instance of {@link BeanFilter}, then that filter is added. + * Any other classes are wrapped in a {@link InterfaceBeanFilter} to indicate that subclasses should * be treated as the specified class type. */ - Class<?>[] transforms() default {}; + Class<?>[] beanFilters() default {}; + + /** + * Provider-level POJO swaps. + * <p> + * These POJO swaps are applied to all serializers and parsers being used by the provider. + * <p> + * If the specified class is an instance of {@link PojoSwap}, then that swap is added. + * Any other classes are wrapped in a {@link SurrogateSwap}. + */ + Class<?>[] pojoSwaps() default {}; /** * Provider-level properties. http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server/src/main/java/org/apache/juneau/server/labels/ResourceOptions.java ---------------------------------------------------------------------- diff --git a/juneau-server/src/main/java/org/apache/juneau/server/labels/ResourceOptions.java b/juneau-server/src/main/java/org/apache/juneau/server/labels/ResourceOptions.java index ef46926..badd96e 100755 --- a/juneau-server/src/main/java/org/apache/juneau/server/labels/ResourceOptions.java +++ b/juneau-server/src/main/java/org/apache/juneau/server/labels/ResourceOptions.java @@ -25,7 +25,7 @@ import org.apache.juneau.server.annotation.*; * <p> * @author James Bognar ([email protected]) */ -@Bean(properties={"label","description","className","methods","children","consumes","produces","guards","transforms","converters"}) +@Bean(properties={"label","description","className","methods","children","consumes","produces","guards","converters"}) public class ResourceOptions { private String label, description; private String className; @@ -33,7 +33,6 @@ public class ResourceOptions { private ChildResourceDescriptions children; private Collection<String> consumes, produces; private Collection<String> guards; - private Collection<String> transforms; private Collection<String> converters; /** @@ -51,7 +50,6 @@ public class ResourceOptions { setProduces(servlet.getSupportedContentTypes()); setChildren(new ChildResourceDescriptions(servlet, req)); setGuards(servlet.getGuards()); - setTransforms(servlet.getTransforms()); setConverters(servlet.getConverters()); } catch (RestServletException e) { throw new RestException(SC_INTERNAL_SERVER_ERROR, e); @@ -223,36 +221,6 @@ public class ResourceOptions { } /** - * Returns the list of class-wide transforms associated with this resource (typically through {@link RestResource#transforms()} annotation). - * @return The simple class names of the transforms. - */ - public Collection<String> getTransforms() { - return transforms; - } - - /** - * Sets the simple class names of the transforms associated with this resource. - * @param transforms The simple class names of the transforms. - * @return This object (for method chaining). - */ - public ResourceOptions setTransforms(Collection<String> transforms) { - this.transforms = transforms; - return this; - } - - /** - * Shortcut for calling {@link #setTransforms(Collection)} from {@link Class} instances. - * @param transforms Transform classes associated with this resource. - * @return This object (for method chaining). - */ - public ResourceOptions setTransforms(Class<?>[] transforms) { - Collection<String> l = new ArrayList<String>(transforms.length); - for (Class<?> c : transforms) - l.add(c.getSimpleName()); - return setTransforms(l); - } - - /** * Returns the list of class-wide converters associated with this resource (typically through {@link RestResource#converters()} annotation). * @return The simple class names of the converters. */
