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 39580c1 RestClient tests.
39580c1 is described below
commit 39580c1c615e5ecda43207b6e023bff9e38acd9e
Author: JamesBognar <[email protected]>
AuthorDate: Thu Jun 4 13:06:33 2020 -0400
RestClient tests.
---
.../juneau/SerializerPropertiesComboTest.java | 2 +-
.../juneau/httppart/OpenApiPartParserTest.java | 48 +++---
.../juneau/httppart/OpenApiPartSerializerTest.java | 48 +++---
.../java/org/apache/juneau/oapi/OpenApiTest.java | 94 +++++------
.../juneau/serializer/UriResolutionTest.java | 2 +-
.../utils/UriContextResolutionComboTest.java | 24 +--
.../juneau/utils/UriContextUriComboTest.java | 2 +-
.../main/java/org/apache/juneau/UriContext.java | 17 ++
.../main/java/org/apache/juneau/UriResolver.java | 12 ++
.../apache/juneau/http/BasicCsvArrayHeader.java | 11 ++
.../org/apache/juneau/http/BasicDateHeader.java | 11 ++
.../http/BasicEntityValidatorArrayHeader.java | 11 ++
.../java/org/apache/juneau/http/BasicHeader.java | 12 ++
.../org/apache/juneau/http/BasicIntegerHeader.java | 11 ++
.../org/apache/juneau/http/BasicLongHeader.java | 11 ++
.../org/apache/juneau/http/BasicNameValuePair.java | 11 ++
.../org/apache/juneau/http/BasicObjectHeader.java | 11 ++
.../apache/juneau/http/BasicRangeArrayHeader.java | 11 ++
.../org/apache/juneau/http/BasicStringHeader.java | 11 ++
.../org/apache/juneau/http/BasicUriHeader.java | 11 ++
.../org/apache/juneau/httppart/HttpPartSchema.java | 88 ++++++++++
.../juneau/serializer/SerializerSession.java | 2 +-
.../apache/juneau/rest/client2/RestClientTest.java | 161 ++++++++++++++++--
.../apache/juneau/rest/client2/RestRequest.java | 185 +++++++++++++++++++++
.../juneau/rest/client2/RestResponseHeader.java | 16 +-
.../java/org/apache/juneau/rest/RestRequest.java | 6 +-
26 files changed, 696 insertions(+), 133 deletions(-)
diff --git
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/SerializerPropertiesComboTest.java
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/SerializerPropertiesComboTest.java
index 941bb40..6477760 100644
---
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/SerializerPropertiesComboTest.java
+++
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/SerializerPropertiesComboTest.java
@@ -320,7 +320,7 @@ public class SerializerPropertiesComboTest extends
ComboRoundTripTest {
.rdfXml("<rdf:RDF>\n<rdf:Description>\n<jp:f
rdf:resource='https://localhost:80/context/resource/foo'/>\n</rdf:Description>\n</rdf:RDF>\n")
.rdfXmlT("<rdf:RDF>\n<rdf:Description>\n<jp:f
rdf:resource='https://localhost:80/context/resource/foo'/>\n</rdf:Description>\n</rdf:RDF>\n")
.rdfXmlR("<rdf:RDF>\n <rdf:Description>\n
<jp:f rdf:resource='https://localhost:80/context/resource/foo'/>\n
</rdf:Description>\n</rdf:RDF>\n")
- .properties(OMap.of(SERIALIZER_uriContext, new
UriContext("https://localhost:80", "/context", "/resource", "/path"),
SERIALIZER_uriRelativity, UriRelativity.PATH_INFO, SERIALIZER_uriResolution,
UriResolution.ABSOLUTE))
+ .properties(OMap.of(SERIALIZER_uriContext,
UriContext.of("https://localhost:80", "/context", "/resource", "/path"),
SERIALIZER_uriRelativity, UriRelativity.PATH_INFO, SERIALIZER_uriResolution,
UriResolution.ABSOLUTE))
.convert(x -> new T9())
.skipTest(x -> x.contains("parseRdf") ||
x.contains("verifyRdf"))
},
diff --git
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/OpenApiPartParserTest.java
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/OpenApiPartParserTest.java
index fb19559..497601e 100644
---
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/OpenApiPartParserTest.java
+++
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/OpenApiPartParserTest.java
@@ -48,7 +48,7 @@ public class OpenApiPartParserTest {
@Test
public void a01_inputValidations_nullInput() throws Exception {
- HttpPartSchema s = tNone().build();
+ HttpPartSchema s = T_NONE;
assertNull(parse(s, null, String.class));
s = tNone().required(false).build();
@@ -285,7 +285,7 @@ public class OpenApiPartParserTest {
@Test
public void c01_stringType_simple() throws Exception {
- HttpPartSchema s = tString().build();
+ HttpPartSchema s = T_STRING;
assertEquals("foo", parse(s, "foo", String.class));
}
@@ -298,7 +298,7 @@ public class OpenApiPartParserTest {
@Test
public void c03_stringType_byteFormat() throws Exception {
- HttpPartSchema s = tByte().build();
+ HttpPartSchema s = T_BYTE;
String in = base64Encode("foo".getBytes());
assertEquals("foo", parse(s, in, String.class));
assertEquals("foo", IOUtils.read(parse(s, in,
InputStream.class)));
@@ -308,7 +308,7 @@ public class OpenApiPartParserTest {
@Test
public void c04_stringType_binaryFormat() throws Exception {
- HttpPartSchema s = tBinary().build();
+ HttpPartSchema s = T_BINARY;
String in = toHex("foo".getBytes());
assertEquals("foo", parse(s, in, String.class));
assertEquals("foo", IOUtils.read(parse(s, in,
InputStream.class)));
@@ -318,7 +318,7 @@ public class OpenApiPartParserTest {
@Test
public void c05_stringType_binarySpacedFormat() throws Exception {
- HttpPartSchema s = tBinarySpaced().build();
+ HttpPartSchema s = T_BINARY_SPACED;
String in = toSpacedHex("foo".getBytes());
assertEquals("foo", parse(s, in, String.class));
assertEquals("foo", IOUtils.read(parse(s, in,
InputStream.class)));
@@ -328,7 +328,7 @@ public class OpenApiPartParserTest {
@Test
public void c06_stringType_dateFormat() throws Exception {
- HttpPartSchema s = tDate().build();
+ HttpPartSchema s = T_DATE;
String in = "2012-12-21";
assertTrue(parse(s, in, String.class).contains("2012"));
assertTrue(parse(s, in,
Date.class).toString().contains("2012"));
@@ -338,7 +338,7 @@ public class OpenApiPartParserTest {
@Test
public void c07_stringType_dateTimeFormat() throws Exception {
- HttpPartSchema s = tDateTime().build();
+ HttpPartSchema s = T_DATETIME;
String in = "2012-12-21T12:34:56.789";
assertTrue(parse(s, in, String.class).contains("2012"));
assertTrue(parse(s, in,
Date.class).toString().contains("2012"));
@@ -348,7 +348,7 @@ public class OpenApiPartParserTest {
@Test
public void c08_stringType_uonFormat() throws Exception {
- HttpPartSchema s = tUon().build();
+ HttpPartSchema s = T_UON;
assertEquals("foo", parse(s, "foo", String.class));
assertEquals("foo", parse(s, "'foo'", String.class));
assertEquals("C2-foo", parse(s, "'foo'", C2.class).toString());
@@ -358,7 +358,7 @@ public class OpenApiPartParserTest {
@Test
public void c09_stringType_noneFormat() throws Exception {
// If no format is specified, then we should transform directly
from a string.
- HttpPartSchema s = tString().build();
+ HttpPartSchema s = T_STRING;
assertEquals("foo", parse(s, "foo", String.class));
assertEquals("'foo'", parse(s, "'foo'", String.class));
assertEquals("C2-foo", parse(s, "foo", C2.class).toString());
@@ -400,7 +400,7 @@ public class OpenApiPartParserTest {
@Test
public void c12a_stringType_nullKeyword_plain() throws Exception {
- HttpPartSchema s = tString().build();
+ HttpPartSchema s = T_STRING;
assertEquals(null, parse(s, "null", String.class));
}
@@ -413,7 +413,7 @@ public class OpenApiPartParserTest {
@Test
public void c12c_stringType_nullKeyword_uon() throws Exception {
- HttpPartSchema s = tUon().build();
+ HttpPartSchema s = T_UON;
assertEquals(null, parse(s, "null", String.class));
assertEquals("null", parse(s, "'null'", String.class));
}
@@ -445,7 +445,7 @@ public class OpenApiPartParserTest {
@Test
public void d01_arrayType_collectionFormatCsv() throws Exception {
- HttpPartSchema s = tArrayCsv().build();
+ HttpPartSchema s = T_ARRAY_CSV;
assertObjectEquals("['foo','bar']", parse(s, "foo,bar",
String[].class));
assertObjectEquals("['foo','bar']", parse(s, "foo,bar",
Object[].class));
assertObjectEquals("['D-foo','D-bar']", parse(s, "foo,bar",
D[].class));
@@ -458,7 +458,7 @@ public class OpenApiPartParserTest {
@Test
public void d02_arrayType_collectionFormatPipes() throws Exception {
- HttpPartSchema s = tArrayPipes().build();
+ HttpPartSchema s = T_ARRAY_PIPES;
assertObjectEquals("['foo','bar']", parse(s, "foo|bar",
String[].class));
assertObjectEquals("['foo','bar']", parse(s, "foo|bar",
Object[].class));
assertObjectEquals("['D-foo','D-bar']", parse(s, "foo|bar",
D[].class));
@@ -471,7 +471,7 @@ public class OpenApiPartParserTest {
@Test
public void d03_arrayType_collectionFormatSsv() throws Exception {
- HttpPartSchema s = tArraySsv().build();
+ HttpPartSchema s = T_ARRAY_SSV;
assertObjectEquals("['foo','bar']", parse(s, "foo bar",
String[].class));
assertObjectEquals("['foo','bar']", parse(s, "foo bar",
Object[].class));
assertObjectEquals("['D-foo','D-bar']", parse(s, "foo bar",
D[].class));
@@ -484,7 +484,7 @@ public class OpenApiPartParserTest {
@Test
public void d04_arrayType_collectionFormatTsv() throws Exception {
- HttpPartSchema s = tArrayTsv().build();
+ HttpPartSchema s = T_ARRAY_TSV;
assertObjectEquals("['foo','bar']", parse(s, "foo\tbar",
String[].class));
assertObjectEquals("['foo','bar']", parse(s, "foo\tbar",
Object[].class));
assertObjectEquals("['D-foo','D-bar']", parse(s, "foo\tbar",
D[].class));
@@ -497,7 +497,7 @@ public class OpenApiPartParserTest {
@Test
public void d05_arrayType_collectionFormatUon() throws Exception {
- HttpPartSchema s = tArrayUon().build();
+ HttpPartSchema s = T_ARRAY_UON;
assertObjectEquals("['foo','bar']", parse(s, "@(foo,bar)",
String[].class));
assertObjectEquals("['foo','bar']", parse(s, "@(foo,bar)",
Object[].class));
assertObjectEquals("['D-foo','D-bar']", parse(s, "@(foo,bar)",
D[].class));
@@ -510,7 +510,7 @@ public class OpenApiPartParserTest {
@Test
public void d06a_arrayType_collectionFormatNone() throws Exception {
- HttpPartSchema s = tArray().build();
+ HttpPartSchema s = T_ARRAY;
assertObjectEquals("['foo','bar']", parse(s, "foo,bar",
String[].class));
assertObjectEquals("['foo','bar']", parse(s, "foo,bar",
Object[].class));
assertObjectEquals("['D-foo','D-bar']", parse(s, "foo,bar",
D[].class));
@@ -522,7 +522,7 @@ public class OpenApiPartParserTest {
@Test
public void d06b_arrayType_collectionFormatNone_autoDetectUon() throws
Exception {
- HttpPartSchema s = tArray().build();
+ HttpPartSchema s = T_ARRAY;
assertObjectEquals("['foo','bar']", parse(s, "@(foo,bar)",
String[].class));
assertObjectEquals("['foo','bar']", parse(s, "@(foo,bar)",
Object[].class));
assertObjectEquals("['D-foo','D-bar']", parse(s, "@(foo,bar)",
D[].class));
@@ -535,7 +535,7 @@ public class OpenApiPartParserTest {
@Test
public void d07_arrayType_collectionFormatMulti() throws Exception {
// collectionFormat=multi should not do any sort of splitting.
- HttpPartSchema s = tArrayMulti().build();
+ HttpPartSchema s = T_ARRAY_MULTI;
assertObjectEquals("['foo,bar']", parse(s, "foo,bar",
String[].class));
assertObjectEquals("['foo,bar']", parse(s, "foo,bar",
Object[].class));
assertObjectEquals("['D-foo,bar']", parse(s, "foo,bar",
D[].class));
@@ -618,7 +618,7 @@ public class OpenApiPartParserTest {
@Test
public void e01_booleanType() throws Exception {
- HttpPartSchema s = tBoolean().build();
+ HttpPartSchema s = T_BOOLEAN;
assertEquals(true, parse(s, "true", boolean.class));
assertEquals(true, parse(s, "true", Boolean.class));
assertNull(parse(s, "null", Boolean.class));
@@ -723,7 +723,7 @@ public class OpenApiPartParserTest {
@Test
public void f01_integerType_int32() throws Exception {
- HttpPartSchema s = tInt32().build();
+ HttpPartSchema s = T_INT32;
assertObjectEquals("1", parse(s, "1", int.class));
assertObjectEquals("1", parse(s, "1", Integer.class));
assertObjectEquals("1", parse(s, "1", short.class));
@@ -791,7 +791,7 @@ public class OpenApiPartParserTest {
@Test
public void f04_integerType_int64() throws Exception {
- HttpPartSchema s = tInt64().build();
+ HttpPartSchema s = T_INT64;
assertObjectEquals("1", parse(s, "1", int.class));
assertObjectEquals("1", parse(s, "1", Integer.class));
assertObjectEquals("1", parse(s, "1", short.class));
@@ -906,7 +906,7 @@ public class OpenApiPartParserTest {
@Test
public void g01_numberType_float() throws Exception {
- HttpPartSchema s = tFloat().build();
+ HttpPartSchema s = T_FLOAT;
assertObjectEquals("1.0", parse(s, "1", float.class));
assertObjectEquals("1.0", parse(s, "1", Float.class));
assertObjectEquals("1.0", parse(s, "1", double.class));
@@ -964,7 +964,7 @@ public class OpenApiPartParserTest {
@Test
public void g04_numberType_double() throws Exception {
- HttpPartSchema s = tDouble().build();
+ HttpPartSchema s = T_DOUBLE;
assertObjectEquals("1.0", parse(s, "1", float.class));
assertObjectEquals("1.0", parse(s, "1", Float.class));
assertObjectEquals("1.0", parse(s, "1", double.class));
diff --git
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/OpenApiPartSerializerTest.java
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/OpenApiPartSerializerTest.java
index 1844b10..3534267 100644
---
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/OpenApiPartSerializerTest.java
+++
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/httppart/OpenApiPartSerializerTest.java
@@ -41,7 +41,7 @@ public class OpenApiPartSerializerTest {
@Test
public void a01_outputValidations_nullOutput() throws Exception {
- HttpPartSchema ps = tNone().build();
+ HttpPartSchema ps = T_NONE;
assertEquals("null", serialize(ps, null));
ps = tNone().required(false).build();
@@ -210,7 +210,7 @@ public class OpenApiPartSerializerTest {
@Test
public void c01_stringType_simple() throws Exception {
- HttpPartSchema ps = tString().build();
+ HttpPartSchema ps = T_STRING;
assertEquals("foo", serialize(ps, "foo"));
}
@@ -223,7 +223,7 @@ public class OpenApiPartSerializerTest {
@Test
public void c03_stringType_byteFormat() throws Exception {
- HttpPartSchema ps = tByte().build();
+ HttpPartSchema ps = T_BYTE;
byte[] foob = "foo".getBytes();
String expected = base64Encode(foob);
assertEquals(expected, serialize(ps, foob));
@@ -234,7 +234,7 @@ public class OpenApiPartSerializerTest {
@Test
public void c04_stringType_binaryFormat() throws Exception {
- HttpPartSchema ps = tBinary().build();
+ HttpPartSchema ps = T_BINARY;
byte[] foob = "foo".getBytes();
String expected = toHex(foob);
assertEquals(expected, serialize(ps, foob));
@@ -245,7 +245,7 @@ public class OpenApiPartSerializerTest {
@Test
public void c05_stringType_binarySpacedFormat() throws Exception {
- HttpPartSchema ps = tBinarySpaced().build();
+ HttpPartSchema ps = T_BINARY_SPACED;
byte[] foob = "foo".getBytes();
String expected = toSpacedHex(foob);
assertEquals(expected, serialize(ps, foob));
@@ -256,7 +256,7 @@ public class OpenApiPartSerializerTest {
@Test
public void c06_stringType_dateFormat() throws Exception {
- HttpPartSchema ps = tDate().build();
+ HttpPartSchema ps = T_DATE;
Calendar in = StringUtils.parseIsoCalendar("2012-12-21");
assertTrue(serialize(ps, in).contains("2012"));
assertEquals("null", serialize(ps, null));
@@ -264,7 +264,7 @@ public class OpenApiPartSerializerTest {
@Test
public void c07_stringType_dateTimeFormat() throws Exception {
- HttpPartSchema ps = tDateTime().build();
+ HttpPartSchema ps = T_DATETIME;
Calendar in =
StringUtils.parseIsoCalendar("2012-12-21T12:34:56.789");
assertTrue(serialize(ps, in).contains("2012"));
assertEquals("null", serialize(ps, null));
@@ -272,7 +272,7 @@ public class OpenApiPartSerializerTest {
@Test
public void c08_stringType_uonFormat() throws Exception {
- HttpPartSchema ps = tUon().build();
+ HttpPartSchema ps = T_UON;
assertEquals("foo", serialize(ps, "foo"));
assertEquals("'foo'", serialize(ps, "'foo'"));
assertEquals("foo", serialize(ps, new C2("foo")));
@@ -285,7 +285,7 @@ public class OpenApiPartSerializerTest {
@Test
public void c09_stringType_noneFormat() throws Exception {
// If no format is specified, then we should transform directly
from a string.
- HttpPartSchema ps = tString().build();
+ HttpPartSchema ps = T_STRING;
assertEquals("foo", serialize(ps, "foo"));
assertEquals("'foo'", serialize(ps, "'foo'"));
assertEquals("foo", serialize(ps, new C2("foo")));
@@ -324,7 +324,7 @@ public class OpenApiPartSerializerTest {
@Test
public void c12_stringType_uonKeywords_plain() throws Exception {
- HttpPartSchema ps = tString().build();
+ HttpPartSchema ps = T_STRING;
// When serialized normally, the following should not be quoted.
assertEquals("true", serialize(ps, "true"));
assertEquals("false", serialize(ps, "false"));
@@ -336,7 +336,7 @@ public class OpenApiPartSerializerTest {
@Test
public void c13_stringType_uonKeywords_uon() throws Exception {
- HttpPartSchema ps = tUon().build();
+ HttpPartSchema ps = T_UON;
// When serialized as UON, the following should be quoted so
that they're not confused with booleans or numbers.
assertEquals("'true'", serialize(ps, "true"));
assertEquals("'false'", serialize(ps, "false"));
@@ -363,7 +363,7 @@ public class OpenApiPartSerializerTest {
@Test
public void d01_arrayType_collectionFormatCsv() throws Exception {
- HttpPartSchema ps = tArrayCsv().build();
+ HttpPartSchema ps = T_ARRAY_CSV;
assertEquals("foo,bar,null", serialize(ps, new
String[]{"foo","bar",null}));
assertEquals("foo,bar,null", serialize(ps, new
Object[]{"foo","bar",null}));
assertEquals("foo,bar,null,null", serialize(ps, new D[]{new
D("foo"),new D("bar"),new D(null),null}));
@@ -377,7 +377,7 @@ public class OpenApiPartSerializerTest {
@Test
public void d02_arrayType_collectionFormatPipes() throws Exception {
- HttpPartSchema ps = tArrayPipes().build();
+ HttpPartSchema ps = T_ARRAY_PIPES;
assertEquals("foo|bar|null", serialize(ps, new
String[]{"foo","bar",null}));
assertEquals("foo|bar|null", serialize(ps, new
Object[]{"foo","bar",null}));
assertEquals("foo|bar|null|null", serialize(ps, new D[]{new
D("foo"),new D("bar"),new D(null),null}));
@@ -389,7 +389,7 @@ public class OpenApiPartSerializerTest {
@Test
public void d03_arrayType_collectionFormatSsv() throws Exception {
- HttpPartSchema ps = tArraySsv().build();
+ HttpPartSchema ps = T_ARRAY_SSV;
assertEquals("foo bar null", serialize(ps, new
String[]{"foo","bar",null}));
assertEquals("foo bar null", serialize(ps, new
Object[]{"foo","bar",null}));
assertEquals("foo bar null null", serialize(ps, new D[]{new
D("foo"),new D("bar"),new D(null),null}));
@@ -401,7 +401,7 @@ public class OpenApiPartSerializerTest {
@Test
public void d04_arrayType_collectionFormatTsv() throws Exception {
- HttpPartSchema ps = tArrayTsv().build();
+ HttpPartSchema ps = T_ARRAY_TSV;
assertEquals("foo\tbar\tnull", serialize(ps, new
String[]{"foo","bar",null}));
assertEquals("foo\tbar\tnull", serialize(ps, new
Object[]{"foo","bar",null}));
assertEquals("foo\tbar\tnull\tnull", serialize(ps, new D[]{new
D("foo"),new D("bar"),new D(null),null}));
@@ -413,7 +413,7 @@ public class OpenApiPartSerializerTest {
@Test
public void d05_arrayType_collectionFormatUon() throws Exception {
- HttpPartSchema ps = tArrayUon().build();
+ HttpPartSchema ps = T_ARRAY_UON;
assertEquals("@(foo,bar,'null',null)", serialize(ps, new
String[]{"foo","bar","null",null}));
assertEquals("@(foo,bar,'null',null)", serialize(ps, new
Object[]{"foo","bar","null",null}));
assertEquals("@(foo,bar,'null',null)", serialize(ps, new
D[]{new D("foo"),new D("bar"),new D("null"),null}));
@@ -425,7 +425,7 @@ public class OpenApiPartSerializerTest {
@Test
public void d06a_arrayType_collectionFormatNone() throws Exception {
- HttpPartSchema ps = tArray().build();
+ HttpPartSchema ps = T_ARRAY;
assertEquals("foo,bar,null", serialize(ps, new
String[]{"foo","bar",null}));
assertEquals("foo,bar,null", serialize(ps, new
Object[]{"foo","bar",null}));
assertEquals("foo,bar,null,null", serialize(ps, new D[]{new
D("foo"),new D("bar"),new D(null),null}));
@@ -438,7 +438,7 @@ public class OpenApiPartSerializerTest {
@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 = tArrayMulti().build();
+ HttpPartSchema ps = T_ARRAY_MULTI;
assertEquals("foo,bar,null", serialize(ps, new
String[]{"foo","bar",null}));
assertEquals("foo,bar,null", serialize(ps, new
Object[]{"foo","bar",null}));
assertEquals("foo,bar,null,null", serialize(ps, new D[]{new
D("foo"),new D("bar"),new D(null),null}));
@@ -503,7 +503,7 @@ public class OpenApiPartSerializerTest {
@Test
public void e01_booleanType() throws Exception {
- HttpPartSchema ps = tBoolean().build();
+ HttpPartSchema ps = T_BOOLEAN;
assertEquals("true", serialize(ps, true));
assertEquals("true", serialize(ps, "true"));
assertEquals("true", serialize(ps, new E1(true)));
@@ -596,7 +596,7 @@ public class OpenApiPartSerializerTest {
@Test
public void f01_integerType_int32() throws Exception {
- HttpPartSchema ps = tInt32().build();
+ HttpPartSchema ps = T_INT32;
assertEquals("1", serialize(ps, 1));
assertEquals("1", serialize(ps, new Integer(1)));
assertEquals("1", serialize(ps, (short)1));
@@ -663,7 +663,7 @@ public class OpenApiPartSerializerTest {
@Test
public void f04_integerType_int64() throws Exception {
- HttpPartSchema ps = tInt64().build();
+ HttpPartSchema ps = T_INT64;
assertEquals("1", serialize(ps, 1));
assertEquals("1", serialize(ps, new Integer(1)));
assertEquals("1", serialize(ps, (short)1));
@@ -775,7 +775,7 @@ public class OpenApiPartSerializerTest {
@Test
public void g01_numberType_float() throws Exception {
- HttpPartSchema ps = tFloat().build();
+ HttpPartSchema ps = T_FLOAT;
assertEquals("1.0", serialize(ps, 1f));
assertEquals("1.0", serialize(ps, new Float(1f)));
assertEquals("1.0", serialize(ps, 1d));
@@ -833,7 +833,7 @@ public class OpenApiPartSerializerTest {
@Test
public void g04_numberType_double() throws Exception {
- HttpPartSchema ps = tDouble().build();
+ HttpPartSchema ps = T_DOUBLE;
assertEquals("1.0", serialize(ps, 1f));
assertEquals("1.0", serialize(ps, new Float(1f)));
assertEquals("1.0", serialize(ps, 1d));
@@ -917,7 +917,7 @@ public class OpenApiPartSerializerTest {
@Test
public void h02_objectType_uon() throws Exception {
- HttpPartSchema ps = tObjectUon().build();
+ HttpPartSchema ps = T_OBJECT_UON;
assertEquals("(f1='1',f2=2,f3=true)", serialize(ps, new
H1("1",2,true)));
assertEquals("()", serialize(ps, new H1(null,null,null)));
assertEquals("(f1='1',f2=2,f3=true)", serialize(ps,
OMap.ofJson("{f1:'1',f2:2,f3:true}")));
diff --git
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/oapi/OpenApiTest.java
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/oapi/OpenApiTest.java
index 1a2b906..1faab15 100644
---
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/oapi/OpenApiTest.java
+++
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/oapi/OpenApiTest.java
@@ -64,7 +64,7 @@ public class OpenApiTest {
@Test
public void a01a_noType_formatDefault() throws Exception {
String in = "foo";
- HttpPartSchema ps = tNone().build();
+ HttpPartSchema ps = T_NONE;
String s = serialize(ps, in);
assertEquals("foo", s);
String r = parse(ps, s, String.class);
@@ -74,7 +74,7 @@ public class OpenApiTest {
@Test
public void a01b_noType_formatDefault_null() throws Exception {
String in = null;
- HttpPartSchema ps = tNone().build();
+ HttpPartSchema ps = T_NONE;
String s = serialize(ps, in);
assertEquals("null", s);
}
@@ -280,7 +280,7 @@ public class OpenApiTest {
@Test
public void b01_typeString_formatDefault() throws Exception {
String in = "foo";
- HttpPartSchema ps = tString().build();
+ HttpPartSchema ps = T_STRING;
String s = serialize(ps, in);
assertEquals("foo", s);
String r = parse(ps, s, String.class);
@@ -290,7 +290,7 @@ public class OpenApiTest {
@Test
public void b02_typeString_formatByte() throws Exception {
String in = "foo";
- HttpPartSchema ps = tByte().build();
+ HttpPartSchema ps = T_BYTE;
String s = serialize(ps, in);
assertEquals("Zm9v", s);
String r = parse(ps, s, String.class);
@@ -300,7 +300,7 @@ public class OpenApiTest {
@Test
public void b03_typeString_formatBinary() throws Exception {
String in = "foo";
- HttpPartSchema ps = tBinary().build();
+ HttpPartSchema ps = T_BINARY;
String s = serialize(ps, in);
assertEquals("666F6F", s);
String r = parse(ps, s, String.class);
@@ -310,7 +310,7 @@ public class OpenApiTest {
@Test
public void b04_typeString_formatBinarySpaced() throws Exception {
String in = "foo";
- HttpPartSchema ps = tBinarySpaced().build();
+ HttpPartSchema ps = T_BINARY_SPACED;
String s = serialize(ps, in);
assertEquals("66 6F 6F", s);
String r = parse(ps, s, String.class);
@@ -320,7 +320,7 @@ public class OpenApiTest {
@Test
public void b05_typeString_formatDate_String() throws Exception {
String in = "2012-12-21";
- HttpPartSchema ps = tDate().build();
+ HttpPartSchema ps = T_DATE;
String s = serialize(ps, in);
assertEquals("2012-12-21", s);
String r = parse(ps, s, String.class);
@@ -330,7 +330,7 @@ public class OpenApiTest {
@Test
public void b06_typeString_formatDate_Calendar() throws Exception {
Calendar in = CalendarUtils.parseCalendar("2012-12-21",
CalendarUtils.Format.ISO8601_D, null, null);
- HttpPartSchema ps = tDate().build();
+ HttpPartSchema ps = T_DATE;
String s = serialize(ps, in);
assertEquals("2012-12-21Z", s);
Calendar r = parse(ps, s, Calendar.class);
@@ -341,7 +341,7 @@ public class OpenApiTest {
@Test
public void b07_typeString_formatDate_Date() throws Exception {
Date in = CalendarUtils.parseCalendar("2012-12-21",
CalendarUtils.Format.ISO8601_D, null, null).getTime();
- HttpPartSchema ps = tDate().build();
+ HttpPartSchema ps = T_DATE;
String s = serialize(ps, in);
assertEquals("2012-12-21Z", s);
Calendar r = parse(ps, s, Calendar.class);
@@ -352,7 +352,7 @@ public class OpenApiTest {
@Test
public void b08_typeString_formatDate_Temporal() throws Exception {
Instant in = CalendarUtils.parseCalendar("2012-12-21",
CalendarUtils.Format.ISO8601_D, null, null).toInstant();
- HttpPartSchema ps = tDate().build();
+ HttpPartSchema ps = T_DATE;
String s = serialize(ps, in);
assertEquals("2012-12-21Z", s);
Calendar r = parse(ps, s, Calendar.class);
@@ -363,7 +363,7 @@ public class OpenApiTest {
@Test
public void b09_typeString_formatDate_Other() throws Exception {
StringBuilder in = new StringBuilder("2012-12-21");
- HttpPartSchema ps = tDate().build();
+ HttpPartSchema ps = T_DATE;
String s = serialize(ps, in);
assertEquals("2012-12-21", s);
String r = parse(ps, s, String.class);
@@ -373,7 +373,7 @@ public class OpenApiTest {
@Test
public void b10_typeString_formatDate_null() throws Exception {
String in = null;
- HttpPartSchema ps = tDate().build();
+ HttpPartSchema ps = T_DATE;
String s = serialize(ps, in);
assertEquals("null", s);
String r = parse(ps, s, String.class);
@@ -383,7 +383,7 @@ public class OpenApiTest {
@Test
public void b11_typeString_formatDateTime_String() throws Exception {
String in = "2012-12-21T00:00:00";
- HttpPartSchema ps = tDateTime().build();
+ HttpPartSchema ps = T_DATETIME;
String s = serialize(ps, in);
assertEquals("2012-12-21T00:00:00", s);
String r = parse(ps, s, String.class);
@@ -393,7 +393,7 @@ public class OpenApiTest {
@Test
public void b12_typeString_formatDateTime_Calendar() throws Exception {
Calendar in = CalendarUtils.parseCalendar("2012-12-21",
CalendarUtils.Format.ISO8601_D, null, null);
- HttpPartSchema ps = tDateTime().build();
+ HttpPartSchema ps = T_DATETIME;
String s = serialize(ps, in);
assertEquals("2012-12-21T00:00:00Z", s);
Calendar r = parse(ps, s, Calendar.class);
@@ -404,7 +404,7 @@ public class OpenApiTest {
@Test
public void b13_typeString_formatDateTime_Date() throws Exception {
Date in = CalendarUtils.parseCalendar("2012-12-21",
CalendarUtils.Format.ISO8601_D, null, null).getTime();
- HttpPartSchema ps = tDateTime().build();
+ HttpPartSchema ps = T_DATETIME;
String s = serialize(ps, in);
assertEquals("2012-12-21T00:00:00Z", s);
Calendar r = parse(ps, s, Calendar.class);
@@ -415,7 +415,7 @@ public class OpenApiTest {
@Test
public void b14_typeString_formatDateTime_Temporal() throws Exception {
Instant in = CalendarUtils.parseCalendar("2012-12-21",
CalendarUtils.Format.ISO8601_D, null, null).toInstant();
- HttpPartSchema ps = tDateTime().build();
+ HttpPartSchema ps = T_DATETIME;
String s = serialize(ps, in);
assertEquals("2012-12-21T00:00:00Z", s);
Calendar r = parse(ps, s, Calendar.class);
@@ -426,7 +426,7 @@ public class OpenApiTest {
@Test
public void b15_typeString_formatDate_Other() throws Exception {
StringBuilder in = new StringBuilder("2012-12-21T00:00:00");
- HttpPartSchema ps = tDateTime().build();
+ HttpPartSchema ps = T_DATETIME;
String s = serialize(ps, in);
assertEquals("2012-12-21T00:00:00", s);
String r = parse(ps, s, String.class);
@@ -436,7 +436,7 @@ public class OpenApiTest {
@Test
public void b16_typeString_formatDate_null() throws Exception {
String in = null;
- HttpPartSchema ps = tDateTime().build();
+ HttpPartSchema ps = T_DATETIME;
String s = serialize(ps, in);
assertEquals("null", s);
String r = parse(ps, s, String.class);
@@ -450,7 +450,7 @@ public class OpenApiTest {
@Test
public void c01_typeBoolean_formatDefault_String() throws Exception {
String in = "true";
- HttpPartSchema ps = tBoolean().build();
+ HttpPartSchema ps = T_BOOLEAN;
String s = serialize(ps, in);
assertEquals("true", s);
String r = parse(ps, s, String.class);
@@ -460,7 +460,7 @@ public class OpenApiTest {
@Test
public void c02_typeBoolean_formatDefault_Boolean() throws Exception {
Boolean in = true;
- HttpPartSchema ps = tBoolean().build();
+ HttpPartSchema ps = T_BOOLEAN;
String s = serialize(ps, in);
assertEquals("true", s);
Boolean r = parse(ps, s, Boolean.class);
@@ -474,7 +474,7 @@ public class OpenApiTest {
@Test
public void d01_typeInteger_formatDefault_String() throws Exception {
String in = "123";
- HttpPartSchema ps = tInteger().build();
+ HttpPartSchema ps = T_INTEGER;
String s = serialize(ps, in);
assertEquals("123", s);
String r = parse(ps, s, String.class);
@@ -484,7 +484,7 @@ public class OpenApiTest {
@Test
public void d02_typeInteger_formatDefault_Integer() throws Exception {
Integer in = 123;
- HttpPartSchema ps = tInteger().build();
+ HttpPartSchema ps = T_INTEGER;
String s = serialize(ps, in);
assertEquals("123", s);
Integer r = parse(ps, s, Integer.class);
@@ -494,7 +494,7 @@ public class OpenApiTest {
@Test
public void d03_typeInteger_formatInt32_String() throws Exception {
String in = "123";
- HttpPartSchema ps = tInt32().build();
+ HttpPartSchema ps = T_INT32;
String s = serialize(ps, in);
assertEquals("123", s);
String r = parse(ps, s, String.class);
@@ -504,7 +504,7 @@ public class OpenApiTest {
@Test
public void d04_typeInteger_formatInt32_Integer() throws Exception {
Integer in = 123;
- HttpPartSchema ps = tInt32().build();
+ HttpPartSchema ps = T_INT32;
String s = serialize(ps, in);
assertEquals("123", s);
Integer r = parse(ps, s, Integer.class);
@@ -514,7 +514,7 @@ public class OpenApiTest {
@Test
public void d05_typeInteger_formatInt64_String() throws Exception {
String in = "123";
- HttpPartSchema ps = tInt64().build();
+ HttpPartSchema ps = T_INT64;
String s = serialize(ps, in);
assertEquals("123", s);
String r = parse(ps, s, String.class);
@@ -524,7 +524,7 @@ public class OpenApiTest {
@Test
public void d06_typeInteger_formatInt64_Long() throws Exception {
Long in = 123l;
- HttpPartSchema ps = tInt64().build();
+ HttpPartSchema ps = T_INT64;
String s = serialize(ps, in);
assertEquals("123", s);
Long r = parse(ps, s, Long.class);
@@ -538,7 +538,7 @@ public class OpenApiTest {
@Test
public void e01_tNumberDefault_String() throws Exception {
String in = "123";
- HttpPartSchema ps = tNumber().build();
+ HttpPartSchema ps = T_NUMBER;
String s = serialize(ps, in);
assertEquals("123.0", s);
String r = parse(ps, s, String.class);
@@ -548,7 +548,7 @@ public class OpenApiTest {
@Test
public void e02_tNumberDefault_Float() throws Exception {
Float in = 123f;
- HttpPartSchema ps = tNumber().build();
+ HttpPartSchema ps = T_NUMBER;
String s = serialize(ps, in);
assertEquals("123.0", s);
Float r = parse(ps, s, Float.class);
@@ -558,7 +558,7 @@ public class OpenApiTest {
@Test
public void e03_tNumberFloat_String() throws Exception {
String in = "123";
- HttpPartSchema ps = tFloat().build();
+ HttpPartSchema ps = T_FLOAT;
String s = serialize(ps, in);
assertEquals("123.0", s);
String r = parse(ps, s, String.class);
@@ -568,7 +568,7 @@ public class OpenApiTest {
@Test
public void e04_tNumberFloat_Integer() throws Exception {
Float in = 123f;
- HttpPartSchema ps = tFloat().build();
+ HttpPartSchema ps = T_FLOAT;
String s = serialize(ps, in);
assertEquals("123.0", s);
Float r = parse(ps, s, Float.class);
@@ -578,7 +578,7 @@ public class OpenApiTest {
@Test
public void e05_tNumberDouble_String() throws Exception {
String in = "123";
- HttpPartSchema ps = tDouble().build();
+ HttpPartSchema ps = T_DOUBLE;
String s = serialize(ps, in);
assertEquals("123.0", s);
String r = parse(ps, s, String.class);
@@ -588,7 +588,7 @@ public class OpenApiTest {
@Test
public void e06_tNumberDouble_Double() throws Exception {
Double in = 123d;
- HttpPartSchema ps = tDouble().build();
+ HttpPartSchema ps = T_DOUBLE;
String s = serialize(ps, in);
assertEquals("123.0", s);
Double r = parse(ps, s, Double.class);
@@ -602,7 +602,7 @@ public class OpenApiTest {
@Test
public void f01_tArray_String() throws Exception {
String in = "123";
- HttpPartSchema ps = tArray().build();
+ HttpPartSchema ps = T_ARRAY;
try {
serialize(ps, in);
fail("Exception expected");
@@ -615,7 +615,7 @@ public class OpenApiTest {
@SuppressWarnings("unchecked")
public void f02a_tArray_StringList() throws Exception {
List<String> in = AList.of("123");
- HttpPartSchema ps = tArray().build();
+ HttpPartSchema ps = T_ARRAY;
String s = serialize(ps, in);
assertEquals("123", s);
List<String> r = parse(ps, s, List.class, String.class);
@@ -652,7 +652,7 @@ public class OpenApiTest {
@Test
public void f03a_tArray_IntArray() throws Exception {
int[] in = new int[]{123};
- HttpPartSchema ps = tArray().build();
+ HttpPartSchema ps = T_ARRAY;
String s = serialize(ps, in);
assertEquals("123", s);
int[] r = parse(ps, s, int[].class);
@@ -702,7 +702,7 @@ public class OpenApiTest {
@Test
public void f04_tArray_StringArrayMutator() throws Exception {
F04 in = new F04("a");
- HttpPartSchema ps = tArray().build();
+ HttpPartSchema ps = T_ARRAY;
String s = serialize(ps, in);
SimpleJson.DEFAULT.println(in);
assertEquals("a", s);
@@ -719,7 +719,7 @@ public class OpenApiTest {
@Test
public void f05a_tArrayUon_IntArray() throws Exception {
int[] in = new int[]{123};
- HttpPartSchema ps = tArrayUon().build();
+ HttpPartSchema ps = T_ARRAY_UON;
String s = serialize(ps, in);
assertEquals("@(123)", s);
int[] r = parse(ps, s, int[].class);
@@ -735,7 +735,7 @@ public class OpenApiTest {
@Test
public void f05b_tArrayUon_3dIntArray() throws Exception {
int[][][] in = {{{123}}};
- HttpPartSchema ps = tArrayUon().build();
+ HttpPartSchema ps = T_ARRAY_UON;
String s = serialize(ps, in);
assertEquals("@(@(@(123)))", s);
int[][][] r = parse(ps, s, int[][][].class);
@@ -752,7 +752,7 @@ public class OpenApiTest {
@Test
public void f06a_tArrayPipes_IntArray() throws Exception {
int[] in = new int[]{123};
- HttpPartSchema ps = tArrayPipes().build();
+ HttpPartSchema ps = T_ARRAY_PIPES;
String s = serialize(ps, in);
assertEquals("123", s);
int[] r = parse(ps, s, int[].class);
@@ -768,7 +768,7 @@ public class OpenApiTest {
@Test
public void f06b_tArrayPipes_3dIntArray() throws Exception {
int[][][] in = {{{123}}};
- HttpPartSchema ps = tArrayPipes().build();
+ HttpPartSchema ps = T_ARRAY_PIPES;
String s = serialize(ps, in);
assertEquals("123", s);
int[][][] r = parse(ps, s, int[][][].class);
@@ -785,7 +785,7 @@ public class OpenApiTest {
@Test
public void f07a_tArraySsv_IntArray() throws Exception {
int[] in = new int[]{123};
- HttpPartSchema ps = tArraySsv().build();
+ HttpPartSchema ps = T_ARRAY_SSV;
String s = serialize(ps, in);
assertEquals("123", s);
int[] r = parse(ps, s, int[].class);
@@ -801,7 +801,7 @@ public class OpenApiTest {
@Test
public void f07b_tArraySsv_3dIntArray() throws Exception {
int[][][] in = {{{123}}};
- HttpPartSchema ps = tArraySsv().build();
+ HttpPartSchema ps = T_ARRAY_SSV;
String s = serialize(ps, in);
assertEquals("123", s);
int[][][] r = parse(ps, s, int[][][].class);
@@ -818,7 +818,7 @@ public class OpenApiTest {
@Test
public void f08a_tArrayTsv_IntArray() throws Exception {
int[] in = new int[]{123};
- HttpPartSchema ps = tArrayTsv().build();
+ HttpPartSchema ps = T_ARRAY_TSV;
String s = serialize(ps, in);
assertEquals("123", s);
int[] r = parse(ps, s, int[].class);
@@ -834,7 +834,7 @@ public class OpenApiTest {
@Test
public void f08b_tArrayTsv_3dIntArray() throws Exception {
int[][][] in = {{{123}}};
- HttpPartSchema ps = tArrayTsv().build();
+ HttpPartSchema ps = T_ARRAY_TSV;
String s = serialize(ps, in);
assertEquals("123", s);
int[][][] r = parse(ps, s, int[][][].class);
@@ -851,7 +851,7 @@ public class OpenApiTest {
@Test
public void f09a_tArrayCsv_IntArray() throws Exception {
int[] in = new int[]{123};
- HttpPartSchema ps = tArrayCsv().build();
+ HttpPartSchema ps = T_ARRAY_CSV;
String s = serialize(ps, in);
assertEquals("123", s);
int[] r = parse(ps, s, int[].class);
@@ -867,7 +867,7 @@ public class OpenApiTest {
@Test
public void f09b_tArrayCsv_3dIntArray() throws Exception {
int[][][] in = {{{123}}};
- HttpPartSchema ps = tArrayCsv().build();
+ HttpPartSchema ps = T_ARRAY_CSV;
String s = serialize(ps, in);
assertEquals("123", s);
int[][][] r = parse(ps, s, int[][][].class);
@@ -903,7 +903,7 @@ public class OpenApiTest {
@Test
public void g01a_objectType_formatDefault_Map() throws Exception {
OMap in = OMap.of("a","b");
- HttpPartSchema ps = tObject().build();
+ HttpPartSchema ps = T_OBJECT;
String s = serialize(ps, in);
assertEquals("a=b", s);
OMap r = parse(ps, s, OMap.class);
diff --git
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/serializer/UriResolutionTest.java
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/serializer/UriResolutionTest.java
index 61ca559..c79118c 100644
---
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/serializer/UriResolutionTest.java
+++
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/serializer/UriResolutionTest.java
@@ -52,7 +52,7 @@ public class UriResolutionTest {
public Input(UriResolution resolution, UriRelativity
relativity, String authority, String context, String resource, String path) {
this.resolution = resolution;
this.relativity = relativity;
- this.context = new UriContext(authority, context,
resource, path);
+ this.context = UriContext.of(authority, context,
resource, path);
}
}
diff --git
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/utils/UriContextResolutionComboTest.java
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/utils/UriContextResolutionComboTest.java
index d941c38..d38403b 100644
---
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/utils/UriContextResolutionComboTest.java
+++
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/utils/UriContextResolutionComboTest.java
@@ -995,61 +995,61 @@ public class UriContextResolutionComboTest {
@Test
public void a01_testAbsoluteResource() {
- assertEquals(r.aResource, new UriResolver(ABSOLUTE, RESOURCE,
new UriContext(in.authority, in.context, in.resource,
in.path)).resolve(in.uri), "{0}: testAbsolute() failed", label);
+ assertEquals(r.aResource, UriResolver.of(ABSOLUTE, RESOURCE,
UriContext.of(in.authority, in.context, in.resource, in.path)).resolve(in.uri),
"{0}: testAbsolute() failed", label);
}
@Test
public void a02_testAppendAbsoluteResource() {
- assertEquals(r.aResource, new UriResolver(ABSOLUTE, RESOURCE,
new UriContext(in.authority, in.context, in.resource, in.path)).append(new
StringBuilder(), in.uri).toString(), "{0}: testAbsolute() failed", label);
+ assertEquals(r.aResource, UriResolver.of(ABSOLUTE, RESOURCE,
UriContext.of(in.authority, in.context, in.resource, in.path)).append(new
StringBuilder(), in.uri).toString(), "{0}: testAbsolute() failed", label);
}
@Test
public void a03_testAbsolutePathInfo() {
- assertEquals(r.aPathInfo, new UriResolver(ABSOLUTE, PATH_INFO,
new UriContext(in.authority, in.context, in.resource,
in.path)).resolve(in.uri), "{0}: testAbsolute() failed", label);
+ assertEquals(r.aPathInfo, UriResolver.of(ABSOLUTE, PATH_INFO,
UriContext.of(in.authority, in.context, in.resource, in.path)).resolve(in.uri),
"{0}: testAbsolute() failed", label);
}
@Test
public void a04_testAppendAbsolutePathInfo() {
- assertEquals(r.aPathInfo, new UriResolver(ABSOLUTE, PATH_INFO,
new UriContext(in.authority, in.context, in.resource, in.path)).append(new
StringBuilder(), in.uri).toString(), "{0}: testAbsolute() failed", label);
+ assertEquals(r.aPathInfo, UriResolver.of(ABSOLUTE, PATH_INFO,
UriContext.of(in.authority, in.context, in.resource, in.path)).append(new
StringBuilder(), in.uri).toString(), "{0}: testAbsolute() failed", label);
}
@Test
public void a05_testRootRelativeResource() {
- assertEquals(r.rrResource, new UriResolver(ROOT_RELATIVE,
RESOURCE, new UriContext(in.authority, in.context, in.resource,
in.path)).resolve(in.uri), "{0}: testAbsolute() failed", label);
+ assertEquals(r.rrResource, UriResolver.of(ROOT_RELATIVE,
RESOURCE, UriContext.of(in.authority, in.context, in.resource,
in.path)).resolve(in.uri), "{0}: testAbsolute() failed", label);
}
@Test
public void a06_testAppendRootRelativeResource() {
- assertEquals(r.rrResource, new UriResolver(ROOT_RELATIVE,
RESOURCE, new UriContext(in.authority, in.context, in.resource,
in.path)).append(new StringBuilder(), in.uri).toString(), "{0}: testAbsolute()
failed", label);
+ assertEquals(r.rrResource, UriResolver.of(ROOT_RELATIVE,
RESOURCE, UriContext.of(in.authority, in.context, in.resource,
in.path)).append(new StringBuilder(), in.uri).toString(), "{0}: testAbsolute()
failed", label);
}
@Test
public void a07_testRootRelativePathInfo() {
- assertEquals(r.rrPathInfo, new UriResolver(ROOT_RELATIVE,
PATH_INFO, new UriContext(in.authority, in.context, in.resource,
in.path)).resolve(in.uri), "{0}: testAbsolute() failed", label);
+ assertEquals(r.rrPathInfo, UriResolver.of(ROOT_RELATIVE,
PATH_INFO, UriContext.of(in.authority, in.context, in.resource,
in.path)).resolve(in.uri), "{0}: testAbsolute() failed", label);
}
@Test
public void a08_testAppendRootRelativePathInfo() {
- assertEquals(r.rrPathInfo, new UriResolver(ROOT_RELATIVE,
PATH_INFO, new UriContext(in.authority, in.context, in.resource,
in.path)).append(new StringBuilder(), in.uri).toString(), "{0}: testAbsolute()
failed", label);
+ assertEquals(r.rrPathInfo, UriResolver.of(ROOT_RELATIVE,
PATH_INFO, UriContext.of(in.authority, in.context, in.resource,
in.path)).append(new StringBuilder(), in.uri).toString(), "{0}: testAbsolute()
failed", label);
}
@Test
public void a09_testNoneResource() {
- assertEquals(r.nResource, new UriResolver(NONE, RESOURCE, new
UriContext(in.authority, in.context, in.resource, in.path)).resolve(in.uri),
"{0}: testAbsolute() failed", label);
+ assertEquals(r.nResource, UriResolver.of(NONE, RESOURCE,
UriContext.of(in.authority, in.context, in.resource, in.path)).resolve(in.uri),
"{0}: testAbsolute() failed", label);
}
@Test
public void a10_testAppendNoneResource() {
- assertEquals(r.nResource, new UriResolver(NONE, RESOURCE, new
UriContext(in.authority, in.context, in.resource, in.path)).append(new
StringBuilder(), in.uri).toString(), "{0}: testAbsolute() failed", label);
+ assertEquals(r.nResource, UriResolver.of(NONE, RESOURCE,
UriContext.of(in.authority, in.context, in.resource, in.path)).append(new
StringBuilder(), in.uri).toString(), "{0}: testAbsolute() failed", label);
}
@Test
public void a11_testNonePathInfo() {
- assertEquals(r.nPathInfo, new UriResolver(NONE, PATH_INFO, new
UriContext(in.authority, in.context, in.resource, in.path)).resolve(in.uri),
"{0}: testAbsolute() failed", label);
+ assertEquals(r.nPathInfo, UriResolver.of(NONE, PATH_INFO,
UriContext.of(in.authority, in.context, in.resource, in.path)).resolve(in.uri),
"{0}: testAbsolute() failed", label);
}
@Test
public void a12_testAppendNonePathInfo() {
- assertEquals(r.nPathInfo, new UriResolver(NONE, PATH_INFO, new
UriContext(in.authority, in.context, in.resource, in.path)).append(new
StringBuilder(), in.uri).toString(), "{0}: testAbsolute() failed", label);
+ assertEquals(r.nPathInfo, UriResolver.of(NONE, PATH_INFO,
UriContext.of(in.authority, in.context, in.resource, in.path)).append(new
StringBuilder(), in.uri).toString(), "{0}: testAbsolute() failed", label);
}
}
diff --git
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/utils/UriContextUriComboTest.java
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/utils/UriContextUriComboTest.java
index b2c6f62..67b6f6d 100644
---
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/utils/UriContextUriComboTest.java
+++
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/utils/UriContextUriComboTest.java
@@ -200,7 +200,7 @@ public class UriContextUriComboTest {
private final UriContext uriContext;
public Input(String authority, String context, String resource,
String path) {
- this.uriContext = new UriContext(authority, context,
resource, path);
+ this.uriContext = UriContext.of(authority, context,
resource, path);
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/UriContext.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/UriContext.java
index cd2f134..2a90a0f 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/UriContext.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/UriContext.java
@@ -52,6 +52,23 @@ public class UriContext {
private String aContextRoot, rContextRoot, aServletPath, rResource,
aPathInfo, rPath;
/**
+ * Convenience creator.
+ *
+ * @param authority
+ * The authority portion of URL (e.g.
<js>"http://hostname:port"</js>)
+ * @param contextRoot
+ * The context root of the application (e.g.
<js>"/context-root"</js>, or <js>"context-root"</js>)
+ * @param servletPath
+ * The servlet path (e.g. <js>"/servlet-path"</js>, or
<js>"servlet-path"</js>)
+ * @param pathInfo
+ * The path info (e.g. <js>"/path-info"</js>, or
<js>"path-info"</js>)
+ * @return A new {@link UriContext} object.
+ */
+ public static UriContext of(String authority, String contextRoot,
String servletPath, String pathInfo) {
+ return new UriContext(authority, contextRoot, servletPath,
pathInfo);
+ }
+
+ /**
* Constructor.
*
* <p>
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/UriResolver.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/UriResolver.java
index 3a5a4c2..2c8c480 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/UriResolver.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/UriResolver.java
@@ -55,6 +55,18 @@ public class UriResolver {
private final String authority, contextRoot, servletPath, pathInfo,
parentPath;
/**
+ * Convenience creator.
+ *
+ * @param resolution Rule on how URIs should be resolved.
+ * @param relativity Rule on what relative URIs are relative to.
+ * @param uriContext Current URI context (i.e. the current URI
'location').
+ * @return A new {@link UriResolver} object.
+ */
+ public static UriResolver of(UriResolution resolution, UriRelativity
relativity, UriContext uriContext) {
+ return new UriResolver(resolution, relativity, uriContext);
+ }
+
+ /**
* Constructor.
*
* @param resolution Rule on how URIs should be resolved.
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicCsvArrayHeader.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicCsvArrayHeader.java
index 26094d7..63e2936 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicCsvArrayHeader.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicCsvArrayHeader.java
@@ -38,6 +38,17 @@ public class BasicCsvArrayHeader extends BasicHeader {
private final String[] value;
/**
+ * Convenience creator.
+ *
+ * @param name The parameter name.
+ * @param value The parameter value.
+ * @return A new {@link BasicCsvArrayHeader} object.
+ */
+ public static BasicCsvArrayHeader of(String name, String value) {
+ return new BasicCsvArrayHeader(name, split(value));
+ }
+
+ /**
* Constructor.
*
* @param name The HTTP header name.
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicDateHeader.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicDateHeader.java
index 942bcff..429c6d6 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicDateHeader.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicDateHeader.java
@@ -41,6 +41,17 @@ public class BasicDateHeader extends BasicHeader {
private final ZonedDateTime zdt;
/**
+ * Convenience creator.
+ *
+ * @param name The parameter name.
+ * @param value The parameter value.
+ * @return A new {@link BasicDateHeader} object.
+ */
+ public static BasicDateHeader of(String name, String value) {
+ return new BasicDateHeader(name, value);
+ }
+
+ /**
* Constructor.
*
* @param name The HTTP header name.
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicEntityValidatorArrayHeader.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicEntityValidatorArrayHeader.java
index cde2401..4dcd1a3 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicEntityValidatorArrayHeader.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicEntityValidatorArrayHeader.java
@@ -36,6 +36,17 @@ public class BasicEntityValidatorArrayHeader extends
BasicHeader {
private final EntityValidator[] value;
/**
+ * Convenience creator.
+ *
+ * @param name The parameter name.
+ * @param value The parameter value.
+ * @return A new {@link BasicEntityValidatorArrayHeader} object.
+ */
+ public static BasicEntityValidatorArrayHeader of(String name, String
value) {
+ return new BasicEntityValidatorArrayHeader(name, value);
+ }
+
+ /**
* Constructor.
*
* @param name The HTTP header name.
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicHeader.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicHeader.java
index 569d935..9458dab 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicHeader.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicHeader.java
@@ -13,6 +13,7 @@
package org.apache.juneau.http;
import org.apache.juneau.annotation.*;
+import org.apache.juneau.internal.*;
/**
* Superclass of all headers defined in this package.
@@ -22,6 +23,17 @@ public class BasicHeader extends
org.apache.http.message.BasicHeader {
private static final long serialVersionUID = 1L;
/**
+ * Convenience creator.
+ *
+ * @param name The parameter name.
+ * @param value The parameter value.
+ * @return A new {@link BasicHeader} object.
+ */
+ public static BasicHeader of(String name, Object value) {
+ return new BasicHeader(name, StringUtils.asString(value));
+ }
+
+ /**
* Constructor.
*
* @param name Header name.
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicIntegerHeader.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicIntegerHeader.java
index 224e559..3ad5d17 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicIntegerHeader.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicIntegerHeader.java
@@ -37,6 +37,17 @@ public class BasicIntegerHeader extends BasicHeader {
private final Integer value;
/**
+ * Convenience creator.
+ *
+ * @param name The parameter name.
+ * @param value The parameter value.
+ * @return A new {@link BasicIntegerHeader} object.
+ */
+ public static BasicIntegerHeader of(String name, Object value) {
+ return new BasicIntegerHeader(name, value);
+ }
+
+ /**
* Constructor.
*
* @param name HTTP header name.
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicLongHeader.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicLongHeader.java
index c723201..87ad8e9 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicLongHeader.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicLongHeader.java
@@ -37,6 +37,17 @@ public class BasicLongHeader extends BasicHeader {
private final Long value;
/**
+ * Convenience creator.
+ *
+ * @param name The parameter name.
+ * @param value The parameter value.
+ * @return A new {@link BasicLongHeader} object.
+ */
+ public static BasicLongHeader of(String name, Object value) {
+ return new BasicLongHeader(name, value);
+ }
+
+ /**
* Constructor.
*
* @param name The HTTP header name.
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicNameValuePair.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicNameValuePair.java
index c344723..df9191d 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicNameValuePair.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicNameValuePair.java
@@ -27,6 +27,17 @@ public class BasicNameValuePair implements NameValuePair {
private Object value;
/**
+ * Convenience creator.
+ *
+ * @param name The parameter name.
+ * @param value The parameter value.
+ * @return A new {@link BasicNameValuePair} object.
+ */
+ public static BasicNameValuePair of(String name, Object value) {
+ return new BasicNameValuePair(name, value);
+ }
+
+ /**
* Constructor.
*
* @param name The parameter name.
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicObjectHeader.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicObjectHeader.java
index 3bbb85f..25edaf3 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicObjectHeader.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicObjectHeader.java
@@ -25,6 +25,17 @@ public class BasicObjectHeader extends BasicHeader {
private final Object value;
/**
+ * Convenience creator.
+ *
+ * @param name The parameter name.
+ * @param value The parameter value.
+ * @return A new {@link BasicObjectHeader} object.
+ */
+ public static BasicObjectHeader of(String name, Object value) {
+ return new BasicObjectHeader(name, value);
+ }
+
+ /**
* Constructor.
*
* @param name The HTTP header name.
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicRangeArrayHeader.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicRangeArrayHeader.java
index ec94bd8..239e9dd 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicRangeArrayHeader.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicRangeArrayHeader.java
@@ -37,6 +37,17 @@ public class BasicRangeArrayHeader extends BasicHeader {
private final List<StringRange> typeRangesList;
/**
+ * Convenience creator.
+ *
+ * @param name The parameter name.
+ * @param value The parameter value.
+ * @return A new {@link BasicRangeArrayHeader} object.
+ */
+ public static BasicRangeArrayHeader of(String name, String value) {
+ return new BasicRangeArrayHeader(name, value);
+ }
+
+ /**
* Constructor.
*
* @param name The HTTP header name.
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicStringHeader.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicStringHeader.java
index 1539def..c9eacbd 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicStringHeader.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicStringHeader.java
@@ -32,6 +32,17 @@ public class BasicStringHeader extends BasicHeader {
private static final long serialVersionUID = 1L;
/**
+ * Convenience creator.
+ *
+ * @param name The parameter name.
+ * @param value The parameter value.
+ * @return A new {@link BasicStringHeader} object.
+ */
+ public static BasicStringHeader of(String name, String value) {
+ return new BasicStringHeader(name, value);
+ }
+
+ /**
* Constructor
*
* @param name Header name.
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicUriHeader.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicUriHeader.java
index f5eef7e..66ef59c 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicUriHeader.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/BasicUriHeader.java
@@ -36,6 +36,17 @@ public class BasicUriHeader extends BasicHeader {
final String value;
/**
+ * Convenience creator.
+ *
+ * @param name The parameter name.
+ * @param value The parameter value.
+ * @return A new {@link BasicUriHeader} object.
+ */
+ public static BasicUriHeader of(String name, String value) {
+ return new BasicUriHeader(name, value);
+ }
+
+ /**
* Constructor.
*
* @param name The HTTP header name.
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchema.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchema.java
index 616e3a7..ae54100 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchema.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartSchema.java
@@ -57,6 +57,94 @@ public class HttpPartSchema {
/** Reusable instance of this object, all default settings. */
public static final HttpPartSchema DEFAULT =
HttpPartSchema.create().allowEmptyValue(true).build();
+ /** Boolean type */
+ public static final HttpPartSchema T_BOOLEAN =
HttpPartSchema.tBoolean().build();
+
+ /** File type */
+ public static final HttpPartSchema T_FILE =
HttpPartSchema.tFile().build();
+
+ /** Integer type */
+ public static final HttpPartSchema T_INTEGER =
HttpPartSchema.tInteger().build();
+
+ /** Int32 type */
+ public static final HttpPartSchema T_INT32 =
HttpPartSchema.tInt32().build();
+
+ /** Int64 type */
+ public static final HttpPartSchema T_INT64 =
HttpPartSchema.tInt64().build();
+
+ /** No type */
+ public static final HttpPartSchema T_NONE =
HttpPartSchema.tNone().build();
+
+ /** Number type */
+ public static final HttpPartSchema T_NUMBER =
HttpPartSchema.tNumber().build();
+
+ /** Float type */
+ public static final HttpPartSchema T_FLOAT =
HttpPartSchema.tFloat().build();
+
+ /** Double type */
+ public static final HttpPartSchema T_DOUBLE =
HttpPartSchema.tDouble().build();
+
+ /** String type */
+ public static final HttpPartSchema T_STRING =
HttpPartSchema.tString().build();
+
+ /** Byte type */
+ public static final HttpPartSchema T_BYTE =
HttpPartSchema.tByte().build();
+
+ /** Binary type */
+ public static final HttpPartSchema T_BINARY =
HttpPartSchema.tBinary().build();
+
+ /** Spaced binary type */
+ public static final HttpPartSchema T_BINARY_SPACED =
HttpPartSchema.tBinarySpaced().build();
+
+ /** Date type */
+ public static final HttpPartSchema T_DATE =
HttpPartSchema.tDate().build();
+
+ /** Date-time type */
+ public static final HttpPartSchema T_DATETIME =
HttpPartSchema.tDateTime().build();
+
+ /** UON-formated simple type */
+ public static final HttpPartSchema T_UON =
HttpPartSchema.tUon().build();
+
+ /** Array type */
+ public static final HttpPartSchema T_ARRAY =
HttpPartSchema.tArray().build();
+
+ /** Comma-delimited array type */
+ public static final HttpPartSchema T_ARRAY_CSV =
HttpPartSchema.tArrayCsv().build();
+
+ /** Pipe-delimited array type */
+ public static final HttpPartSchema T_ARRAY_PIPES =
HttpPartSchema.tArrayPipes().build();
+
+ /** Space-delimited array type */
+ public static final HttpPartSchema T_ARRAY_SSV =
HttpPartSchema.tArraySsv().build();
+
+ /** Tab-delimited array type */
+ public static final HttpPartSchema T_ARRAY_TSV =
HttpPartSchema.tArrayTsv().build();
+
+ /** UON-formatted array type */
+ public static final HttpPartSchema T_ARRAY_UON =
HttpPartSchema.tArrayUon().build();
+
+ /** Multi-part array type */
+ public static final HttpPartSchema T_ARRAY_MULTI =
HttpPartSchema.tArrayMulti().build();
+
+ /** Object type */
+ public static final HttpPartSchema T_OBJECT =
HttpPartSchema.tObject().build();
+
+ /** Comma-delimited object type */
+ public static final HttpPartSchema T_OBJECT_CSV =
HttpPartSchema.tObjectCsv().build();
+
+ /** Pipe-delimited object type */
+ public static final HttpPartSchema T_OBJECT_PIPES =
HttpPartSchema.tObjectPipes().build();
+
+ /** Space-delimited object type */
+ public static final HttpPartSchema T_OBJECT_SSV =
HttpPartSchema.tObjectSsv().build();
+
+ /** Tab-delimited object type */
+ public static final HttpPartSchema T_OBJECT_TSV =
HttpPartSchema.tObjectTsv().build();
+
+ /** UON-formated object type */
+ public static final HttpPartSchema T_OBJECT_UON =
HttpPartSchema.tObjectUon().build();
+
+
final String name;
final Set<Integer> codes;
final String _default;
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSession.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSession.java
index e24f347..463e5dd 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSession.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerSession.java
@@ -78,7 +78,7 @@ public abstract class SerializerSession extends
BeanTraverseSession {
this.ctx = ctx;
args = args == null ? SerializerSessionArgs.DEFAULT : args;
this.javaMethod = args.javaMethod;
- this.uriResolver = new UriResolver(ctx.getUriResolution(),
ctx.getUriRelativity(), getProperty(SERIALIZER_uriContext, UriContext.class,
ctx.getUriContext()));
+ this.uriResolver = UriResolver.of(ctx.getUriResolution(),
ctx.getUriRelativity(), getProperty(SERIALIZER_uriContext, UriContext.class,
ctx.getUriContext()));
this.listener = castOrCreate(SerializerListener.class,
ctx.getListener());
this.vrs = args.resolver;
}
diff --git
a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClientTest.java
b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClientTest.java
index 30a443a..d94c0e3 100644
---
a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClientTest.java
+++
b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClientTest.java
@@ -470,11 +470,11 @@ public class RestClientTest {
MockRestClient
.create(A.class)
.simpleJson()
- .header(new BasicObjectHeader("Foo", "bar"))
+ .header(BasicObjectHeader.of("Foo", "bar"))
.header("Check", "Foo")
.build()
.get("/checkHeader")
- .header(new BasicObjectHeader("Foo", "baz"))
+ .header(BasicObjectHeader.of("Foo", "baz"))
.run()
.assertBody().is("['bar','baz']");
}
@@ -568,11 +568,11 @@ public class RestClientTest {
MockRestClient
.create(A.class)
.simpleJson()
- .headers(new BasicObjectHeader("Foo", "bar"))
+ .headers(BasicObjectHeader.of("Foo", "bar"))
.header("Check", "Foo")
.build()
.get("/checkHeader")
- .headers(new BasicObjectHeader("Foo", "baz"))
+ .headers(BasicObjectHeader.of("Foo", "baz"))
.run()
.assertBody().is("['bar','baz']");
}
@@ -709,6 +709,19 @@ public class RestClientTest {
}
@Test
+ public void f23a_headers_contentEncoding() throws Exception {
+ MockRestClient
+ .create(A.class)
+ .simpleJson()
+ .contentEncoding("identity")
+ .header("Check", "Content-Encoding")
+ .build()
+ .get("/checkHeader")
+ .run()
+ .assertBody().is("['identity']");
+ }
+
+ @Test
public void f24_headers_date() throws Exception {
MockRestClient
.create(A.class)
@@ -947,7 +960,7 @@ public class RestClientTest {
MockRestClient
.create(A.class)
.simpleJson()
- .userAgent("foo")
+ .userAgent(new StringBuilder("foo"))
.header("Check", "User-Agent")
.build()
.get("/checkHeader")
@@ -1571,6 +1584,58 @@ public class RestClientTest {
.assertBody().is("['x{f:1}','x{f:1}']");
}
+ @Test
+ public void h08_headers_withSchema() throws Exception {
+ MockRestClient
+ .create(A.class)
+ .simpleJson()
+ .header("Foo", AList.of("bar","baz"),
HttpPartSchema.T_ARRAY_CSV)
+ .header("Check", "Foo")
+ .build()
+ .get("/checkHeader")
+ .run()
+ .assertBody().is("['bar,baz']");
+ }
+
+ @Test
+ public void h09_headers_nullHeader() throws Exception {
+ MockRestClient
+ .create(A.class)
+ .simpleJson()
+ .headers(BasicStringHeader.of("Foo", "bar"), null)
+ .header("Check", "Foo")
+ .build()
+ .get("/checkHeader")
+ .run()
+ .assertBody().is("['bar']");
+ }
+
+ @Test
+ public void h10_headers_invalidHeader() throws Exception {
+ try {
+ MockRestClient
+ .create(A.class)
+ .simpleJson()
+ .headers("Foo");
+ fail("Exception expected");
+ } catch (RuntimeException e) {
+ assertEquals("Invalid type passed to
headers(Object...): java.lang.String", e.getLocalizedMessage());
+ }
+ }
+
+ @Test
+ public void h10_headers_invalidHeaderPairs() throws Exception {
+ try {
+ MockRestClient
+ .create(A.class)
+ .simpleJson()
+ .headerPairs("Foo");
+ fail("Exception expected");
+ } catch (RuntimeException e) {
+ assertEquals("Odd number of parameters passed into
headerPairs(Object...)", e.getLocalizedMessage());
+ }
+ }
+
//-----------------------------------------------------------------------------------------------------------------
// Query
//-----------------------------------------------------------------------------------------------------------------
@@ -1593,17 +1658,54 @@ public class RestClientTest {
MockRestClient
.create(A.class)
.simpleJson()
- .query(new BasicNameValuePair("Foo","f1"))
+ .query(BasicNameValuePair.of("Foo","f1"))
.query(OMap.of("Foo","f2"))
.query(AMap.of("Foo","f3"))
.query(NameValuePairs.of("Foo","f4","Foo","f5"))
- .query(new BasicNameValuePair("Foo","f6"), new
BasicNameValuePair("Foo","f7"))
+ .query(BasicNameValuePair.of("Foo","f6"),
BasicNameValuePair.of("Foo","f7"))
.build()
.get("/checkQuery")
.run()
.assertBody().is("Foo=f1&Foo=f2&Foo=f3&Foo=f4&Foo=f5&Foo=f6&Foo=f7");
}
+ @Test
+ public void i03_query_withSchema() throws Exception {
+ MockRestClient
+ .create(A.class)
+ .simpleJson()
+ .query("Foo",AList.of("bar","baz"),
HttpPartSchema.T_ARRAY_PIPES)
+ .build()
+ .get("/checkQuery")
+ .run()
+ .assertBody().is("Foo=bar%7Cbaz");
+ }
+
+ @Test
+ public void i04_query_withNull() throws Exception {
+ MockRestClient
+ .create(A.class)
+ .simpleJson()
+ .query(BasicNameValuePair.of("Foo","bar"), null)
+ .build()
+ .get("/checkQuery")
+ .run()
+ .assertBody().is("Foo=bar");
+ }
+
+ @Test
+ public void i05_query_invalid() throws Exception {
+ try {
+ MockRestClient
+ .create(A.class)
+ .simpleJson()
+ .query(BasicNameValuePair.of("Foo","bar"),
"Baz");
+ fail();
+ } catch (Exception e) {
+ assertEquals("Invalid type passed to query(Object...):
java.lang.String", e.getMessage());
+ }
+ }
+
//-----------------------------------------------------------------------------------------------------------------
// Form data
//-----------------------------------------------------------------------------------------------------------------
@@ -1625,17 +1727,54 @@ public class RestClientTest {
MockRestClient
.create(A.class)
.simpleJson()
- .formData(new BasicNameValuePair("Foo","f1"))
+ .formData(BasicNameValuePair.of("Foo","f1"))
.formData(OMap.of("Foo","f2"))
.formData(AMap.of("Foo","f3"))
.formData(NameValuePairs.of("Foo","f4","Foo","f5"))
- .formData(new BasicNameValuePair("Foo","f6"), new
BasicNameValuePair("Foo","f7"))
+ .formData(BasicNameValuePair.of("Foo","f6"),
BasicNameValuePair.of("Foo","f7"))
.build()
.post("/checkFormData")
.run()
.assertBody().is("Foo=f1&Foo=f2&Foo=f3&Foo=f4&Foo=f5&Foo=f6&Foo=f7");
}
+ @Test
+ public void j03_formData_withSchema() throws Exception {
+ MockRestClient
+ .create(A.class)
+ .simpleJson()
+ .formData("Foo",AList.of("bar","baz"),
HttpPartSchema.T_ARRAY_PIPES)
+ .build()
+ .post("/checkFormData")
+ .run()
+ .assertBody().is("Foo=bar%7Cbaz");
+ }
+
+ @Test
+ public void j04_formData_withNull() throws Exception {
+ MockRestClient
+ .create(A.class)
+ .simpleJson()
+ .formData(BasicNameValuePair.of("Foo","bar"), null)
+ .build()
+ .post("/checkFormData")
+ .run()
+ .assertBody().is("Foo=bar");
+ }
+
+ @Test
+ public void j05_formData_invalid() throws Exception {
+ try {
+ MockRestClient
+ .create(A.class)
+ .simpleJson()
+ .formData(BasicNameValuePair.of("Foo","bar"),
"Baz");
+ fail();
+ } catch (Exception e) {
+ assertEquals("Invalid type passed to
formData(Object...): java.lang.String", e.getMessage());
+ }
+ }
+
//-----------------------------------------------------------------------------------------------------------------
// RestClient properties
//-----------------------------------------------------------------------------------------------------------------
@@ -2329,7 +2468,7 @@ public class RestClientTest {
.simpleJson()
.uriResolution(UriResolution.ABSOLUTE)
.uriRelativity(UriRelativity.PATH_INFO)
- .uriContext(new UriContext("http://localhost:80",
"/context", "/resource", "/path"))
+ .uriContext(UriContext.of("http://localhost:80",
"/context", "/resource", "/path"))
.build()
.post("/echoBody", x)
.run()
@@ -2340,7 +2479,7 @@ public class RestClientTest {
.simpleJson()
.uriResolution(UriResolution.NONE)
.uriRelativity(UriRelativity.RESOURCE)
- .uriContext(new UriContext("http://localhost:80",
"/context", "/resource", "/path"))
+ .uriContext(UriContext.of("http://localhost:80",
"/context", "/resource", "/path"))
.build()
.post("/echoBody", x)
.run()
diff --git
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestRequest.java
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestRequest.java
index 0222021..d6647ef 100644
---
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestRequest.java
+++
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestRequest.java
@@ -943,6 +943,36 @@ public class RestRequest extends BeanSession implements
HttpUriRequest, Configur
/**
* Replaces a path parameter of the form <js>"{name}"</js> in the URL.
*
+ * <p>
+ * The optional schema allows for specifying how part should be
serialized (as a pipe-delimited list for example).
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Creates path "/bar|baz"</jc>
+ * client
+ * .get(<js>"/{foo}"</js>)
+ * .path(<js>"foo"</js>,
AList.<jsm>of</jsm>(<js>"bar"</js>,<js>"baz"</js>),
HttpPartSchema.<jsf>T_ARRAY_PIPES</jsf>)
+ * .run();
+ * </p>
+ *
+ * @param name The parameter name.
+ * @param value The parameter value.
+ * <ul>
+ * <li>Can be any POJO.
+ * <li>Converted to a string using the specified part
serializer.
+ * <li>Values are converted to strings at runtime to allow
them to be modified externally.
+ * </ul>
+ * @param schema The part schema. Can be <jk>null</jk>.
+ * @return This object (for method chaining).
+ * @throws RestCallException Invalid input.
+ */
+ public RestRequest path(String name, Object value, HttpPartSchema
schema) throws RestCallException {
+ return path(name, value, null, schema);
+ }
+
+ /**
+ * Replaces a path parameter of the form <js>"{name}"</js> in the URL.
+ *
* <h5 class='section'>Example:</h5>
* <p class='bcode w800'>
* client
@@ -1242,6 +1272,59 @@ public class RestRequest extends BeanSession implements
HttpUriRequest, Configur
/**
* Adds a query parameter to the URI.
*
+ * <p>
+ * The optional schema allows for specifying how part should be
serialized (as a pipe-delimited list for example).
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Creates query parameter "foo=bar|baz"</jc>
+ * client
+ * .get(<jsf>URL</jsf>)
+ * .query(<js>"foo"</js>,
AList.<jsm>of</jsm>(<js>"bar"</js>,<js>"baz"</js>),
HttpPartSchema.<jsf>T_ARRAY_PIPES</jsf>)
+ * .run();
+ * </p>
+ *
+ * @param name The parameter name.
+ * <ul>
+ * <li>If the name is <js>"*"</js>, the value is assumed
to be a collection of parameters.
+ * </ul>
+ * @param value The parameter value.
+ * <ul>
+ * <li>For single value parameters:
+ * <ul>
+ * <li>Can be any POJO.
+ * <li>Converted to a string using the specified
part serializer.
+ * <li>Values are converted to strings at runtime
to allow them to be modified externally.
+ * </ul>
+ * <li>For multi-value parameters:
+ * <ul>
+ * <li>{@link Map} / {@link OMap} / bean
+ * <ul>
+ * <li>Values can be any POJO.
+ * <li>Values converted to a string using
the configured part serializer.
+ * <li>Values are converted to strings at
runtime to allow them to be modified externally.
+ * </ul>
+ * <li>{@link NameValuePairs}
+ * <ul>
+ * <li>Values converted directly to
strings.
+ * </ul>
+ * <li>{@link Reader} / {@link InputStream} /
{@link CharSequence}
+ * <ul>
+ * <li>Sets the entire query string to the
contents of the input.
+ * </ul>
+ * </ul>
+ * </ul>
+ * @param schema The HTTP part schema. Can be <jk>null</jk>.
+ * @return This object (for method chaining).
+ * @throws RestCallException Invalid input.
+ */
+ public RestRequest query(String name, Object value, HttpPartSchema
schema) throws RestCallException {
+ return query(DEFAULT_FLAGS, name, value, partSerializer,
schema);
+ }
+
+ /**
+ * Adds a query parameter to the URI.
+ *
* <h5 class='section'>Example:</h5>
* <p class='bcode w800'>
* client
@@ -1619,6 +1702,59 @@ public class RestRequest extends BeanSession implements
HttpUriRequest, Configur
/**
* Adds a form-data parameter to the request body.
*
+ * <p>
+ * The optional schema allows for specifying how part should be
serialized (as a pipe-delimited list for example).
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Creates form-data parameter "foo=bar|baz"</jc>
+ * client
+ * .formPost(<jsf>URL</jsf>)
+ * .formData(<js>"foo"</js>,
AList.<jsm>of</jsm>(<js>"bar"</js>,<js>"baz"</js>),
HttpPartSchema.<jsf>T_ARRAY_PIPES</jsf>)
+ * .run();
+ * </p>
+ *
+ * @param name The parameter name.
+ * <ul>
+ * <li>If the name is <js>"*"</js>, the value is assumed
to be a collection of parameters.
+ * </ul>
+ * @param value The parameter value.
+ * <ul>
+ * <li>For single value parameters:
+ * <ul>
+ * <li>Can be any POJO.
+ * <li>Converted to a string using the specified
part serializer.
+ * <li>Values are converted to strings at runtime
to allow them to be modified externally.
+ * </ul>
+ * <li>For multi-value parameters:
+ * <ul>
+ * <li>{@link Map} / {@link OMap} / bean
+ * <ul>
+ * <li>Values can be any POJO.
+ * <li>Values converted to a string using
the configured part serializer.
+ * <li>Values are converted to strings at
runtime to allow them to be modified externally.
+ * </ul>
+ * <li>{@link NameValuePairs}
+ * <ul>
+ * <li>Values converted directly to
strings.
+ * </ul>
+ * <li>{@link Reader} / {@link InputStream} /
{@link CharSequence}
+ * <ul>
+ * <li>Sets the entire query string to the
contents of the input.
+ * </ul>
+ * </ul>
+ * </ul>
+ * @param schema The HTTP part schema. Can be <jk>null</jk>.
+ * @return This object (for method chaining).
+ * @throws RestCallException Invalid input.
+ */
+ public RestRequest formData(String name, Object value, HttpPartSchema
schema) throws RestCallException {
+ return formData(DEFAULT_FLAGS, name, value, partSerializer,
schema);
+ }
+
+ /**
+ * Adds a form-data parameter to the request body.
+ *
* <h5 class='section'>Example:</h5>
* <p class='bcode w800'>
* client
@@ -2090,6 +2226,55 @@ public class RestRequest extends BeanSession implements
HttpUriRequest, Configur
}
/**
+ * Appends a header on the request.
+ *
+ * <p>
+ * The optional schema allows for specifying how part should be
serialized (as a pipe-delimited list for example).
+ *
+ * <h5 class='section'>Example:</h5>
+ * <p class='bcode w800'>
+ * <jc>// Creates header "Foo=bar|baz"</jc>
+ * client
+ * .get(<jsf>URL</jsf>)
+ * .header(<js>"Foo"</js>,
AList.<jsm>of</jsm>(<js>"bar"</js>,<js>"baz"</js>),
HttpPartSchema.<jsf>T_ARRAY_PIPES</jsf>)
+ * .run();
+ * </p>
+ *
+ * @param name The header name.
+ * <ul>
+ * <li>If the name is <js>"*"</js>, the value is assumed
to be a collection of headers.
+ * </ul>
+ * @param value The header value.
+ * <ul>
+ * <li>For single value headers:
+ * <ul>
+ * <li>Can be any POJO.
+ * <li>Converted to a string using the specified
part serializer.
+ * <li>Values are converted to strings at runtime
to allow them to be modified externally.
+ * </ul>
+ * <li>For multi-value headers:
+ * <ul>
+ * <li>{@link Map} / {@link OMap} / bean
+ * <ul>
+ * <li>Values can be any POJO.
+ * <li>Values converted to a string using
the configured part serializer.
+ * <li>Values are converted to strings at
runtime to allow them to be modified externally.
+ * </ul>
+ * <li>{@link NameValuePairs}
+ * <ul>
+ * <li>Values converted directly to
strings.
+ * </ul>
+ * </ul>
+ * </ul>
+ * @param schema The HTTP part schema. Can be <jk>null</jk>.
+ * @return This object (for method chaining).
+ * @throws RestCallException Invalid input.
+ */
+ public RestRequest header(String name, Object value, HttpPartSchema
schema) throws RestCallException {
+ return header(DEFAULT_FLAGS, name, value, partSerializer,
schema);
+ }
+
+ /**
* Sets a header on the request.
*
* <h5 class='section'>Example:</h5>
diff --git
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponseHeader.java
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponseHeader.java
index d7d455d..c6de2bc 100644
---
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponseHeader.java
+++
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponseHeader.java
@@ -164,7 +164,7 @@ public class RestResponseHeader implements Header {
* @return The value of this header as a CSV array header, never
<jk>null</jk>.
*/
public BasicCsvArrayHeader asCsvArrayHeader() {
- return new BasicCsvArrayHeader(getName(), getValue());
+ return BasicCsvArrayHeader.of(getName(), getValue());
}
/**
@@ -173,7 +173,7 @@ public class RestResponseHeader implements Header {
* @return The value of this header as a date header, never
<jk>null</jk>.
*/
public BasicDateHeader asDateHeader() {
- return new BasicDateHeader(getName(), getValue());
+ return BasicDateHeader.of(getName(), getValue());
}
/**
@@ -182,7 +182,7 @@ public class RestResponseHeader implements Header {
* @return The value of this header as an entity validator array
header, never <jk>null</jk>.
*/
public BasicEntityValidatorArrayHeader asEntityValidatorArrayHeader() {
- return new BasicEntityValidatorArrayHeader(getName(),
getValue());
+ return BasicEntityValidatorArrayHeader.of(getName(),
getValue());
}
/**
@@ -191,7 +191,7 @@ public class RestResponseHeader implements Header {
* @return The value of this header as an integer header, never
<jk>null</jk>.
*/
public BasicIntegerHeader asIntegerHeader() {
- return new BasicIntegerHeader(getName(), getValue());
+ return BasicIntegerHeader.of(getName(), getValue());
}
/**
@@ -200,7 +200,7 @@ public class RestResponseHeader implements Header {
* @return The value of this header as a long header, never
<jk>null</jk>.
*/
public BasicLongHeader asLongHeader() {
- return new BasicLongHeader(getName(), getValue());
+ return BasicLongHeader.of(getName(), getValue());
}
/**
@@ -209,7 +209,7 @@ public class RestResponseHeader implements Header {
* @return The value of this header as a range array header, never
<jk>null</jk>.
*/
public BasicRangeArrayHeader asRangeArrayHeader() {
- return new BasicRangeArrayHeader(getName(), getValue());
+ return BasicRangeArrayHeader.of(getName(), getValue());
}
/**
@@ -218,7 +218,7 @@ public class RestResponseHeader implements Header {
* @return The value of this header as a string header, never
<jk>null</jk>.
*/
public BasicStringHeader asStringHeader() {
- return new BasicStringHeader(getName(), getValue());
+ return BasicStringHeader.of(getName(), getValue());
}
/**
@@ -227,7 +227,7 @@ public class RestResponseHeader implements Header {
* @return The value of this header as a URI header, never
<jk>null</jk>.
*/
public BasicUriHeader asUriHeader() {
- return new BasicUriHeader(getName(), getValue());
+ return BasicUriHeader.of(getName(), getValue());
}
/**
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
index ac1cd3d..aa62d64 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
@@ -882,7 +882,7 @@ public final class RestRequest extends
HttpServletRequestWrapper {
*/
public UriContext getUriContext() {
if (uriContext == null)
- uriContext = new UriContext(getAuthorityPath(),
getContextPath(), getServletPath(),
StringUtils.urlEncodePath(super.getPathInfo()));
+ uriContext = UriContext.of(getAuthorityPath(),
getContextPath(), getServletPath(),
StringUtils.urlEncodePath(super.getPathInfo()));
return uriContext;
}
@@ -894,7 +894,7 @@ public final class RestRequest extends
HttpServletRequestWrapper {
* @return The URI resolver for this request.
*/
public UriResolver getUriResolver(UriResolution resolution,
UriRelativity relativity) {
- return new UriResolver(resolution, relativity, getUriContext());
+ return UriResolver.of(resolution, relativity, getUriContext());
}
/**
@@ -904,7 +904,7 @@ public final class RestRequest extends
HttpServletRequestWrapper {
* @return The URI resolver for this request.
*/
public UriResolver getUriResolver() {
- return new UriResolver(context.getUriResolution(),
context.getUriRelativity(), getUriContext());
+ return UriResolver.of(context.getUriResolution(),
context.getUriRelativity(), getUriContext());
}
/**