This is an automated email from the ASF dual-hosted git repository.

jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git


The following commit(s) were added to refs/heads/master by this push:
     new ccf3e9e  Tests.
ccf3e9e is described below

commit ccf3e9e8318acc689ba275651dca838b423adaaf
Author: JamesBognar <jamesbog...@apache.org>
AuthorDate: Fri Jul 6 18:32:04 2018 -0400

    Tests.
---
 .../juneau/httppart/OpenApiPartParserTest.java     |  50 ++---
 .../juneau/httppart/OpenApiPartSerializerTest.java | 225 ++++++++++-----------
 .../main/java/org/apache/juneau/BeanSession.java   |   4 +-
 3 files changed, 138 insertions(+), 141 deletions(-)

diff --git 
a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/OpenApiPartParserTest.java
 
b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/OpenApiPartParserTest.java
index f3fb701..ed63762 100644
--- 
a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/OpenApiPartParserTest.java
+++ 
b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/OpenApiPartParserTest.java
@@ -565,26 +565,30 @@ public class OpenApiPartParserTest {
                HttpPartSchema s = schema("boolean").build();
                assertEquals(true, p.parse(s, "true", boolean.class));
                assertEquals(true, p.parse(s, "true", Boolean.class));
+               assertNull(p.parse(s, "null", Boolean.class));
                assertEquals(true, p.parse(s, "True", boolean.class));
                assertEquals(true, p.parse(s, "TRUE", boolean.class));
                assertEquals("true", p.parse(s, "true", String.class));
+               assertNull(p.parse(s, "null", String.class));
                assertEquals(true, p.parse(s, "true", Object.class));
+               assertNull(p.parse(s, "null", Object.class));
                assertObjectEquals("'E1-true'", p.parse(s, "true", E1.class));
+               assertNull(p.parse(s, "null", E1.class));
        }
 
        @Test
        public void e02_booleanType_2d() throws Exception {
                HttpPartSchema s = 
schema("array").items(schema("boolean")).build();
                assertObjectEquals("[true,true]", p.parse(s, "true,true", 
boolean[].class));
-               assertObjectEquals("[true,true]", p.parse(s, "true,true", 
Boolean[].class));
-               assertObjectEquals("[true,true]", p.parse(s, "true,true", 
List.class, Boolean.class));
-               assertObjectEquals("['true','true']", p.parse(s, "true,true", 
String[].class));
-               assertObjectEquals("['true','true']", p.parse(s, "true,true", 
List.class, String.class));
-               assertObjectEquals("[true,true]", p.parse(s, "true,true", 
Object[].class));
-               assertObjectEquals("[true,true]", p.parse(s, "true,true", 
List.class, Object.class));
-               assertObjectEquals("['E1-true','E1-true']", p.parse(s, 
"true,true", E1[].class));
-               assertObjectEquals("['E1-true','E1-true']", p.parse(s, 
"true,true", List.class, E1.class));
-               assertObjectEquals("'E2-[true,true]'", p.parse(s, "true,true", 
E2.class));
+               assertObjectEquals("[true,true,null]", p.parse(s, 
"true,true,null", Boolean[].class));
+               assertObjectEquals("[true,true,null]", p.parse(s, 
"true,true,null", List.class, Boolean.class));
+               assertObjectEquals("['true','true',null]", p.parse(s, 
"true,true,null", String[].class));
+               assertObjectEquals("['true','true',null]", p.parse(s, 
"true,true,null", List.class, String.class));
+               assertObjectEquals("[true,true,null]", p.parse(s, 
"true,true,null", Object[].class));
+               assertObjectEquals("[true,true,null]", p.parse(s, 
"true,true,null", List.class, Object.class));
+               assertObjectEquals("['E1-true','E1-true',null]", p.parse(s, 
"true,true,null", E1[].class));
+               assertObjectEquals("['E1-true','E1-true',null]", p.parse(s, 
"true,true,null", List.class, E1.class));
+               assertObjectEquals("'E2-[true,true,null]'", p.parse(s, 
"true,true,null", E2.class));
 
                assertObjectEquals("[true,true]", p.parse(s, "True,true", 
boolean[].class));
                assertObjectEquals("[true,true]", p.parse(s, "TRUE,true", 
boolean[].class));
@@ -595,20 +599,20 @@ public class OpenApiPartParserTest {
                HttpPartSchema s = 
schema("array").collectionFormat("pipes").items(schema("array").items(schema("boolean"))).build();
                assertObjectEquals("[[true,true],[false]]", p.parse(s, 
"true,true|false", boolean[][].class));
                assertObjectEquals("[[true,true],[false]]", p.parse(s, 
"true,true|false", List.class, boolean[].class));
-               assertObjectEquals("[[true,true],[false]]", p.parse(s, 
"true,true|false", Boolean[][].class));
-               assertObjectEquals("[[true,true],[false]]", p.parse(s, 
"true,true|false", List.class, Boolean[].class));
-               assertObjectEquals("[[true,true],[false]]", p.parse(s, 
"true,true|false", List.class, List.class, Boolean.class));
-               assertObjectEquals("[['true','true'],['false']]", p.parse(s, 
"true,true|false", String[][].class));
-               assertObjectEquals("[['true','true'],['false']]", p.parse(s, 
"true,true|false", List.class, List.class, String.class));
-               assertObjectEquals("[['true','true'],['false']]", p.parse(s, 
"true,true|false", List.class, String[].class));
-               assertObjectEquals("[[true,true],[false]]", p.parse(s, 
"true,true|false", Object[][].class));
-               assertObjectEquals("[[true,true],[false]]", p.parse(s, 
"true,true|false", List.class, List.class, Object.class));
-               assertObjectEquals("[[true,true],[false]]", p.parse(s, 
"true,true|false", List.class, Object[].class));
-               assertObjectEquals("[['E1-true','E1-true'],['E1-false']]", 
p.parse(s, "true,true|false", E1[][].class));
-               assertObjectEquals("[['E1-true','E1-true'],['E1-false']]", 
p.parse(s, "true,true|false", List.class, List.class, E1.class));
-               assertObjectEquals("[['E1-true','E1-true'],['E1-false']]", 
p.parse(s, "true,true|false", List.class, E1[].class));
-               assertObjectEquals("['E2-[true,true]','E2-[false]']", 
p.parse(s, "true,true|false", E2[].class));
-               assertObjectEquals("['E2-[true,true]','E2-[false]']", 
p.parse(s, "true,true|false", List.class, E2.class));
+               assertObjectEquals("[[true,true],[false,null]]", p.parse(s, 
"true,true|false,null", Boolean[][].class));
+               assertObjectEquals("[[true,true],[false,null]]", p.parse(s, 
"true,true|false,null", List.class, Boolean[].class));
+               assertObjectEquals("[[true,true],[false,null]]", p.parse(s, 
"true,true|false,null", List.class, List.class, Boolean.class));
+               assertObjectEquals("[['true','true'],['false',null]]", 
p.parse(s, "true,true|false,null", String[][].class));
+               assertObjectEquals("[['true','true'],['false',null]]", 
p.parse(s, "true,true|false,null", List.class, List.class, String.class));
+               assertObjectEquals("[['true','true'],['false',null]]", 
p.parse(s, "true,true|false,null", List.class, String[].class));
+               assertObjectEquals("[[true,true],[false,null]]", p.parse(s, 
"true,true|false,null", Object[][].class));
+               assertObjectEquals("[[true,true],[false,null]]", p.parse(s, 
"true,true|false,null", List.class, List.class, Object.class));
+               assertObjectEquals("[[true,true],[false,null]]", p.parse(s, 
"true,true|false,null", List.class, Object[].class));
+               assertObjectEquals("[['E1-true','E1-true'],['E1-false',null]]", 
p.parse(s, "true,true|false,null", E1[][].class));
+               assertObjectEquals("[['E1-true','E1-true'],['E1-false',null]]", 
p.parse(s, "true,true|false,null", List.class, List.class, E1.class));
+               assertObjectEquals("[['E1-true','E1-true'],['E1-false',null]]", 
p.parse(s, "true,true|false,null", List.class, E1[].class));
+               assertObjectEquals("['E2-[true,true]','E2-[false,null]']", 
p.parse(s, "true,true|false,null", E2[].class));
+               assertObjectEquals("['E2-[true,true]','E2-[false,null]']", 
p.parse(s, "true,true|false,null", List.class, E2.class));
 
                assertObjectEquals("[[true,true],[false]]", p.parse(s, 
"True,true|false", boolean[][].class));
                assertObjectEquals("[[true,true],[false]]", p.parse(s, 
"TRUE,true|false", boolean[][].class));
diff --git 
a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/OpenApiPartSerializerTest.java
 
b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/OpenApiPartSerializerTest.java
index ee43059..70aae15 100644
--- 
a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/OpenApiPartSerializerTest.java
+++ 
b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/httppart/OpenApiPartSerializerTest.java
@@ -365,82 +365,82 @@ public class OpenApiPartSerializerTest {
        @Test
        public void d03_arrayType_collectionFormatSsv() throws Exception {
                HttpPartSchema ps = 
schema("array").collectionFormat("ssv").build();
-               assertEquals("foo bar", s.serialize(ps, new 
String[]{"foo","bar"}));
-               assertEquals("foo bar", s.serialize(ps, new 
Object[]{"foo","bar"}));
-               assertEquals("D-foo D-bar", s.serialize(ps, new D[]{new 
D("foo"),new D("bar")}));
-               assertEquals("foo bar", s.serialize(ps, 
AList.create("foo","bar")));
-               assertEquals("foo bar", s.serialize(ps, 
AList.<Object>create("foo","bar")));
-               assertEquals("D-foo D-bar", s.serialize(ps, AList.create(new 
D("foo"),new D("bar"))));
-               assertEquals("foo bar", s.serialize(ps, new 
ObjectList().append("foo","bar")));
+               assertEquals("foo bar null", s.serialize(ps, new 
String[]{"foo","bar",null}));
+               assertEquals("foo bar null", s.serialize(ps, new 
Object[]{"foo","bar",null}));
+               assertEquals("D-foo D-bar null", s.serialize(ps, new D[]{new 
D("foo"),new D("bar"),null}));
+               assertEquals("foo bar null", s.serialize(ps, 
AList.create("foo","bar",null)));
+               assertEquals("foo bar null", s.serialize(ps, 
AList.<Object>create("foo","bar",null)));
+               assertEquals("D-foo D-bar null", s.serialize(ps, 
AList.create(new D("foo"),new D("bar"),null)));
+               assertEquals("foo bar null", s.serialize(ps, new 
ObjectList().append("foo","bar",null)));
        }
 
        @Test
        public void d04_arrayType_collectionFormatTsv() throws Exception {
                HttpPartSchema ps = 
schema("array").collectionFormat("tsv").build();
-               assertEquals("foo\tbar", s.serialize(ps, new 
String[]{"foo","bar"}));
-               assertEquals("foo\tbar", s.serialize(ps, new 
Object[]{"foo","bar"}));
-               assertEquals("D-foo\tD-bar", s.serialize(ps, new D[]{new 
D("foo"),new D("bar")}));
-               assertEquals("foo\tbar", s.serialize(ps, 
AList.create("foo","bar")));
-               assertEquals("foo\tbar", s.serialize(ps, 
AList.<Object>create("foo","bar")));
-               assertEquals("D-foo\tD-bar", s.serialize(ps, AList.create(new 
D("foo"),new D("bar"))));
-               assertEquals("foo\tbar", s.serialize(ps, new 
ObjectList().append("foo","bar")));
+               assertEquals("foo\tbar\tnull", s.serialize(ps, new 
String[]{"foo","bar",null}));
+               assertEquals("foo\tbar\tnull", s.serialize(ps, new 
Object[]{"foo","bar",null}));
+               assertEquals("D-foo\tD-bar\tnull", s.serialize(ps, new D[]{new 
D("foo"),new D("bar"),null}));
+               assertEquals("foo\tbar\tnull", s.serialize(ps, 
AList.create("foo","bar",null)));
+               assertEquals("foo\tbar\tnull", s.serialize(ps, 
AList.<Object>create("foo","bar",null)));
+               assertEquals("D-foo\tD-bar\tnull", s.serialize(ps, 
AList.create(new D("foo"),new D("bar"),null)));
+               assertEquals("foo\tbar\tnull", s.serialize(ps, new 
ObjectList().append("foo","bar",null)));
        }
 
        @Test
        public void d05_arrayType_collectionFormatUon() throws Exception {
                HttpPartSchema ps = 
schema("array").collectionFormat("uon").build();
-               assertEquals("@(foo,bar)", s.serialize(ps, new 
String[]{"foo","bar"}));
-               assertEquals("@(foo,bar)", s.serialize(ps, new 
Object[]{"foo","bar"}));
-               assertEquals("@(D-foo,D-bar)", s.serialize(ps, new D[]{new 
D("foo"),new D("bar")}));
-               assertEquals("@(foo,bar)", s.serialize(ps, 
AList.create("foo","bar")));
-               assertEquals("@(foo,bar)", s.serialize(ps, 
AList.<Object>create("foo","bar")));
-               assertEquals("@(D-foo,D-bar)", s.serialize(ps, AList.create(new 
D("foo"),new D("bar"))));
-               assertEquals("@(foo,bar)", s.serialize(ps, new 
ObjectList().append("foo","bar")));
+               assertEquals("@(foo,bar,'null',null)", s.serialize(ps, new 
String[]{"foo","bar","null",null}));
+               assertEquals("@(foo,bar,'null',null)", s.serialize(ps, new 
Object[]{"foo","bar","null",null}));
+               assertEquals("@(D-foo,D-bar,D-null,null)", s.serialize(ps, new 
D[]{new D("foo"),new D("bar"),new D("null"),null}));
+               assertEquals("@(foo,bar,'null',null)", s.serialize(ps, 
AList.create("foo","bar","null",null)));
+               assertEquals("@(foo,bar,'null',null)", s.serialize(ps, 
AList.<Object>create("foo","bar","null",null)));
+               assertEquals("@(D-foo,D-bar,D-null,null)", s.serialize(ps, 
AList.create(new D("foo"),new D("bar"),new D("null"),null)));
+               assertEquals("@(foo,bar,'null',null)", s.serialize(ps, new 
ObjectList().append("foo","bar","null",null)));
        }
 
        @Test
        public void d06a_arrayType_collectionFormatNone() throws Exception {
                HttpPartSchema ps = schema("array").build();
-               assertEquals("foo,bar", s.serialize(ps, new 
String[]{"foo","bar"}));
-               assertEquals("foo,bar", s.serialize(ps, new 
Object[]{"foo","bar"}));
-               assertEquals("D-foo,D-bar", s.serialize(ps, new D[]{new 
D("foo"),new D("bar")}));
-               assertEquals("foo,bar", s.serialize(ps, 
AList.create("foo","bar")));
-               assertEquals("foo,bar", s.serialize(ps, 
AList.<Object>create("foo","bar")));
-               assertEquals("D-foo,D-bar", s.serialize(ps, AList.create(new 
D("foo"),new D("bar"))));
-               assertEquals("foo,bar", s.serialize(ps, new 
ObjectList().append("foo","bar")));
+               assertEquals("foo,bar,null", s.serialize(ps, new 
String[]{"foo","bar",null}));
+               assertEquals("foo,bar,null", s.serialize(ps, new 
Object[]{"foo","bar",null}));
+               assertEquals("D-foo,D-bar,null", s.serialize(ps, new D[]{new 
D("foo"),new D("bar"),null}));
+               assertEquals("foo,bar,null", s.serialize(ps, 
AList.create("foo","bar",null)));
+               assertEquals("foo,bar,null", s.serialize(ps, 
AList.<Object>create("foo","bar",null)));
+               assertEquals("D-foo,D-bar,null", s.serialize(ps, 
AList.create(new D("foo"),new D("bar"),null)));
+               assertEquals("foo,bar,null", s.serialize(ps, new 
ObjectList().append("foo","bar",null)));
        }
 
        @Test
        public void d07_arrayType_collectionFormatMulti() throws Exception {
                // collectionFormat=multi really shouldn't be applicable to 
collections of values, so just use csv.
                HttpPartSchema ps = 
schema("array").collectionFormat("multi").build();
-               assertEquals("foo,bar", s.serialize(ps, new 
String[]{"foo","bar"}));
-               assertEquals("foo,bar", s.serialize(ps, new 
Object[]{"foo","bar"}));
-               assertEquals("D-foo,D-bar", s.serialize(ps, new D[]{new 
D("foo"),new D("bar")}));
-               assertEquals("foo,bar", s.serialize(ps, 
AList.create("foo","bar")));
-               assertEquals("foo,bar", s.serialize(ps, 
AList.<Object>create("foo","bar")));
-               assertEquals("D-foo,D-bar", s.serialize(ps, AList.create(new 
D("foo"),new D("bar"))));
-               assertEquals("foo,bar", s.serialize(ps, new 
ObjectList().append("foo","bar")));
+               assertEquals("foo,bar,null", s.serialize(ps, new 
String[]{"foo","bar",null}));
+               assertEquals("foo,bar,null", s.serialize(ps, new 
Object[]{"foo","bar",null}));
+               assertEquals("D-foo,D-bar,null", s.serialize(ps, new D[]{new 
D("foo"),new D("bar"),null}));
+               assertEquals("foo,bar,null", s.serialize(ps, 
AList.create("foo","bar",null)));
+               assertEquals("foo,bar,null", s.serialize(ps, 
AList.<Object>create("foo","bar",null)));
+               assertEquals("D-foo,D-bar,null", s.serialize(ps, 
AList.create(new D("foo"),new D("bar"),null)));
+               assertEquals("foo,bar,null", s.serialize(ps, new 
ObjectList().append("foo","bar",null)));
        }
 
        @Test
        public void d08_arrayType_collectionFormatCsvAndPipes() throws 
Exception {
                HttpPartSchema ps = 
schema("array").collectionFormat("pipes").items(schema("array").collectionFormat("csv")).build();
-               assertEquals("foo,bar|baz,qux", s.serialize(ps, new 
String[][]{{"foo","bar"},{"baz","qux"}}));
-               assertEquals("foo,bar|baz,qux", s.serialize(ps, new 
Object[][]{{"foo","bar"},{"baz","qux"}}));
-               assertEquals("D-foo,D-bar|D-baz,D-qux", s.serialize(ps, new 
D[][]{{new D("foo"),new D("bar")},{new D("baz"),new D("qux")}}));
-               assertEquals("foo,bar|baz,qux", s.serialize(ps, 
AList.create(AList.create("foo","bar"),AList.create("baz","qux"))));
-               assertEquals("foo,bar|baz,qux", s.serialize(ps, 
AList.create(AList.<Object>create("foo","bar"),AList.<Object>create("baz","qux"))));
-               assertEquals("D-foo,D-bar|D-baz,D-qux", s.serialize(ps, 
AList.create(AList.create(new D("foo"),new D("bar")),AList.create(new 
D("baz"),new D("qux")))));
+               assertEquals("foo,bar|baz,null", s.serialize(ps, new 
String[][]{{"foo","bar"},{"baz",null}}));
+               assertEquals("foo,bar|baz,null", s.serialize(ps, new 
Object[][]{{"foo","bar"},{"baz",null}}));
+               assertEquals("D-foo,D-bar|D-baz,D-null", s.serialize(ps, new 
D[][]{{new D("foo"),new D("bar")},{new D("baz"),new D(null)}}));
+               assertEquals("foo,bar|baz,null", s.serialize(ps, 
AList.create(AList.create("foo","bar"),AList.create("baz",null))));
+               assertEquals("foo,bar|baz,null", s.serialize(ps, 
AList.create(AList.<Object>create("foo","bar"),AList.<Object>create("baz",null))));
+               assertEquals("D-foo,D-bar|D-baz,D-null", s.serialize(ps, 
AList.create(AList.create(new D("foo"),new D("bar")),AList.create(new 
D("baz"),new D(null)))));
        }
 
        @Test
        public void d09_arrayType_itemsInteger() throws Exception {
                HttpPartSchema ps = 
schema("array").collectionFormat("csv").items(schema("integer")).build();
                assertEquals("1,2", s.serialize(ps, new int[]{1,2}));
-               assertEquals("1,2", s.serialize(ps, new Integer[]{1,2}));
-               assertEquals("1,2", s.serialize(ps, new Object[]{1,2}));
-               assertEquals("1,2", s.serialize(ps, AList.create(1,2)));
+               assertEquals("1,2,null", s.serialize(ps, new 
Integer[]{1,2,null}));
+               assertEquals("1,2,null", s.serialize(ps, new 
Object[]{1,2,null}));
+               assertEquals("1,2,null", s.serialize(ps, 
AList.create(1,2,null)));
        }
 
        
//-----------------------------------------------------------------------------------------------------------------
@@ -478,16 +478,16 @@ public class OpenApiPartSerializerTest {
        @Test
        public void e02_booleanType_2d() throws Exception {
                HttpPartSchema ps = 
schema("array").items(schema("boolean")).build();
-               assertEquals("true,true", s.serialize(ps, new 
boolean[]{true,true}));
+               assertEquals("true", s.serialize(ps, new boolean[]{true}));
                assertEquals("true,null", s.serialize(ps, new 
Boolean[]{true,null}));
-               assertEquals("true,true", s.serialize(ps, 
AList.create(true,true)));
-               assertEquals("true,true", s.serialize(ps, new 
String[]{"true","true"}));
-               assertEquals("true,true", s.serialize(ps, 
AList.create("true","true")));
-               assertEquals("true,true", s.serialize(ps, new 
Object[]{true,true}));
-               assertEquals("true,true", s.serialize(ps, 
AList.<Object>create(true,true)));
-               assertEquals("true,true", s.serialize(ps, new E1[]{new 
E1(true),new E1(true)}));
-               assertEquals("true,true", s.serialize(ps, AList.create(new 
E1(true),new E1(true))));
-               assertEquals("true,true", s.serialize(ps, new E2(true,true)));
+               assertEquals("true,null", s.serialize(ps, 
AList.create(true,null)));
+               assertEquals("true,null", s.serialize(ps, new 
String[]{"true",null}));
+               assertEquals("true,null", s.serialize(ps, 
AList.create("true",null)));
+               assertEquals("true,null", s.serialize(ps, new 
Object[]{true,null}));
+               assertEquals("true,null", s.serialize(ps, 
AList.<Object>create(true,null)));
+               assertEquals("true,null,null", s.serialize(ps, new E1[]{new 
E1(true),new E1(null),null}));
+               assertEquals("true,null,null", s.serialize(ps, AList.create(new 
E1(true),new E1(null),null)));
+               assertEquals("true,null", s.serialize(ps, new E2(true,null)));
        }
 
        @Test
@@ -511,69 +511,62 @@ public class OpenApiPartSerializerTest {
                assertEquals("true,true|false,null", s.serialize(ps, 
AList.create(new E2(true,true),new E2(false,null))));
        }
 
-//     
//-----------------------------------------------------------------------------------------------------------------
-//     // type = integer
-//     
//-----------------------------------------------------------------------------------------------------------------
-//
-//     public static class F1 {
-//             private String f;
-//             public F1(Integer in) {
-//                     this.f = "F1-" + in.toString();
-//             }
-//             @Override
-//             public String toString() {
-//                     return f;
-//             }
-//     }
-//
-//     public static class F2 {
-//             private String f;
-//             public F2(Integer[] in) {
-//                     this.f = "F2-" + 
JsonSerializer.DEFAULT_LAX.toString(in);
-//             }
-//             @Override
-//             public String toString() {
-//                     return f;
-//             }
-//     }
-//
-//     public static class F3 {
-//             private String f;
-//             public F3(Long in) {
-//                     this.f = "F3-" + in.toString();
-//             }
-//             @Override
-//             public String toString() {
-//                     return f;
-//             }
-//     }
-//
-//     public static class F4 {
-//             private String f;
-//             public F4(Long[] in) {
-//                     this.f = "F4-" + 
JsonSerializer.DEFAULT_LAX.toString(in);
-//             }
-//             @Override
-//             public String toString() {
-//                     return f;
-//             }
-//     }
-//
-//     @Test
-//     public void f01_integerType_int32() throws Exception {
-//             HttpPartSchema ps = schema("integer", "int32").build();
-//             assertEquals("1", s.serialize(ps, "1", int.class));
-//             assertEquals("1", s.serialize(ps, "1", Integer.class));
-//             assertEquals("1", s.serialize(ps, "1", short.class));
-//             assertEquals("1", s.serialize(ps, "1", Short.class));
-//             assertEquals("1", s.serialize(ps, "1", long.class));
-//             assertEquals("1", s.serialize(ps, "1", Long.class));
-//             assertEquals("'1'", s.serialize(ps, "1", String.class));
-//             Object o = s.serialize(ps, "1", Object.class);
-//             assertEquals("1", o);
-//             assertClass(Integer.class, o);
-//             assertEquals("'F1-1'", s.serialize(ps,  "1", F1.class));
-//     }
+       
//-----------------------------------------------------------------------------------------------------------------
+       // type = integer
+       
//-----------------------------------------------------------------------------------------------------------------
+
+       public static class F1 {
+               private Integer f;
+               public F1(Integer in) {
+                       this.f = in;
+               }
+               public Integer toInteger() {
+                       return f;
+               }
+       }
+
+       public static class F2 {
+               private Integer[] f;
+               public F2(Integer[] in) {
+                       this.f = in;
+               }
+               public Integer[] toIntegerArray() {
+                       return f;
+               }
+       }
+
+       public static class F3 {
+               private Long f;
+               public F3(Long in) {
+                       this.f = in;
+               }
+               public Long toLong() {
+                       return f;
+               }
+       }
+
+       public static class F4 {
+               private Long[] f;
+               public F4(Long[] in) {
+                       this.f = in;
+               }
+               public Long[] toLongArray() {
+                       return f;
+               }
+       }
+
+       @Test
+       public void f01_integerType_int32() throws Exception {
+               HttpPartSchema ps = schema("integer", "int32").build();
+               assertEquals("1", s.serialize(ps, 1));
+               assertEquals("1", s.serialize(ps, new Integer(1)));
+               assertEquals("1", s.serialize(ps, (short)1));
+               assertEquals("1", s.serialize(ps, new Short((short)1)));
+               assertEquals("1", s.serialize(ps, 1l));
+               assertEquals("1", s.serialize(ps, new Long(1)));
+               assertEquals("1", s.serialize(ps, "1"));
+               assertEquals("1", s.serialize(ps, new F1(1)));
+       }
 //
 //     @Test
 //     public void f02_integerType_int32_2d() throws Exception {
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
index 4186b23..2c012b5 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
@@ -435,7 +435,7 @@ public class BeanSession extends Session {
                                }
                        }
 
-                       if (type.isNumber()) {
+                       if (type.isNumber() && (isEmpty(value) || ! 
hasTransform(vt, type))) {
                                if (value instanceof Number) {
                                        Number n = (Number)value;
                                        if (tc == Integer.class)
@@ -655,7 +655,7 @@ public class BeanSession extends Session {
                                return (T)new StringReader(value.toString());
                        }
 
-                       if (type.isCalendar()) {
+                       if (type.isCalendar() && ! hasTransform(vt, type)) {
                                if (vt.isCalendar()) {
                                        Calendar c = (Calendar)value;
                                        if (value instanceof GregorianCalendar) 
{

Reply via email to