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 <[email protected]>
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)
{