You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2020/07/07 13:23:00 UTC
[juneau] branch master updated: Docs and Assertions fixes.
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 d660550 Docs and Assertions fixes.
d660550 is described below
commit d660550674ffb749bb8dd663ba9f372d2e1920fb
Author: JamesBognar <ja...@salesforce.com>
AuthorDate: Tue Jul 7 09:22:48 2020 -0400
Docs and Assertions fixes.
---
.../org/apache/juneau/http/HeaderSupplierTest.java | 99 ++++++++++++++++++----
.../org/apache/juneau/assertions/Assertion.java | 22 ++++-
.../apache/juneau/assertions/FluentAssertion.java | 11 +++
.../assertions/FluentByteArrayAssertion.java | 20 ++++-
.../juneau/assertions/FluentDateAssertion.java | 12 +++
.../juneau/assertions/FluentIntegerAssertion.java | 12 +++
.../juneau/assertions/FluentLongAssertion.java | 12 +++
.../juneau/assertions/FluentObjectAssertion.java | 14 ++-
.../juneau/assertions/FluentStringAssertion.java | 12 +++
.../assertions/FluentThrowableAssertion.java | 23 +++--
.../apache/juneau/assertions/StringAssertion.java | 12 +++
.../org/apache/juneau/http/HeaderSupplier.java | 2 +-
.../06.juneau-rest-server/24.SvlVariables.html | 4 +-
.../11.RestProxies/01.Remote.html | 4 +-
juneau-doc/src/main/javadoc/overview.html | 26 +++---
.../client2/RestResponseStatusLineAssertion.java | 10 +--
16 files changed, 240 insertions(+), 55 deletions(-)
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/http/HeaderSupplierTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/http/HeaderSupplierTest.java
index 639cd0b..1bf6e58 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/http/HeaderSupplierTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/http/HeaderSupplierTest.java
@@ -16,7 +16,10 @@ import static org.apache.juneau.assertions.Assertions.*;
import static org.junit.runners.MethodSorters.*;
import org.apache.http.*;
+import org.apache.juneau.collections.*;
import org.apache.juneau.http.header.*;
+import org.apache.juneau.httppart.*;
+import org.apache.juneau.oapi.*;
import org.junit.*;
@FixMethodOrder(NAME_ASCENDING)
@@ -24,27 +27,87 @@ public class HeaderSupplierTest {
@Test
public void a01_basic() {
- HeaderSupplier h = HeaderSupplier.of();
- assertObject(h.iterator()).json().is("[]");
- h.add(header("Foo","bar"));
- assertObject(h.iterator()).json().is("['Foo: bar']");
- h.add(header("Foo","baz"));
- assertObject(h.iterator()).json().is("['Foo: bar','Foo: baz']");
- h.add(HeaderSupplier.of());
- assertObject(h.iterator()).json().is("['Foo: bar','Foo: baz']");
- h.add(HeaderSupplier.of(header("Foo","qux")));
- assertObject(h.iterator()).json().is("['Foo: bar','Foo: baz','Foo: qux']");
- h.add(HeaderSupplier.of(header("Foo","q2x"), header("Foo","q3x")));
- assertObject(h.iterator()).json().is("['Foo: bar','Foo: baz','Foo: qux','Foo: q2x','Foo: q3x']");
- h.add(HeaderSupplier.of(HeaderSupplier.of(header("Foo","q4x"),header("Foo","q5x"))));
- assertObject(h.iterator()).json().is("['Foo: bar','Foo: baz','Foo: qux','Foo: q2x','Foo: q3x','Foo: q4x','Foo: q5x']");
- h.add((Header)null);
- assertObject(h.iterator()).json().is("['Foo: bar','Foo: baz','Foo: qux','Foo: q2x','Foo: q3x','Foo: q4x','Foo: q5x']");
- h.add((HeaderSupplier)null);
- assertObject(h.iterator()).json().is("['Foo: bar','Foo: baz','Foo: qux','Foo: q2x','Foo: q3x','Foo: q4x','Foo: q5x']");
+ HeaderSupplier x = HeaderSupplier.of();
+
+ assertObject(x.iterator()).json().is("[]");
+ x.add(header("Foo","bar"));
+ assertObject(x.iterator()).json().is("['Foo: bar']");
+ x.add(header("Foo","baz"));
+ assertObject(x.iterator()).json().is("['Foo: bar','Foo: baz']");
+ x.add(HeaderSupplier.of());
+ assertObject(x.iterator()).json().is("['Foo: bar','Foo: baz']");
+ x.add(HeaderSupplier.of(header("Foo","qux")));
+ assertObject(x.iterator()).json().is("['Foo: bar','Foo: baz','Foo: qux']");
+ x.add(HeaderSupplier.of(header("Foo","q2x"), header("Foo","q3x")));
+ assertObject(x.iterator()).json().is("['Foo: bar','Foo: baz','Foo: qux','Foo: q2x','Foo: q3x']");
+ x.add(HeaderSupplier.of(HeaderSupplier.of(header("Foo","q4x"),header("Foo","q5x"))));
+ assertObject(x.iterator()).json().is("['Foo: bar','Foo: baz','Foo: qux','Foo: q2x','Foo: q3x','Foo: q4x','Foo: q5x']");
+ x.add((Header)null);
+ assertObject(x.iterator()).json().is("['Foo: bar','Foo: baz','Foo: qux','Foo: q2x','Foo: q3x','Foo: q4x','Foo: q5x']");
+ x.add((HeaderSupplier)null);
+ assertObject(x.iterator()).json().is("['Foo: bar','Foo: baz','Foo: qux','Foo: q2x','Foo: q3x','Foo: q4x','Foo: q5x']");
+ }
+
+ @Test
+ public void a02_creators() {
+ HeaderSupplier x;
+
+ x = HeaderSupplier.of(header("Foo","bar"), header("Foo","baz"), null);
+ assertObject(x.iterator()).json().is("['Foo: bar','Foo: baz']");
+
+ x = HeaderSupplier.of(AList.of(header("Foo","bar"), header("Foo","baz"), null));
+ assertObject(x.iterator()).json().is("['Foo: bar','Foo: baz']");
+
+ x = HeaderSupplier.ofPairs("Foo","bar","Foo","baz");
+ assertObject(x.iterator()).json().is("['Foo: bar','Foo: baz']");
+
+ assertThrown(()->HeaderSupplier.ofPairs("Foo")).is("Odd number of parameters passed into HeaderSupplier.ofPairs()");
+
+ assertThrown(()->HeaderSupplier.of("Foo")).is("Invalid type passed to HeaderSupplier.of(): java.lang.String");
+ }
+
+ @Test
+ public void a03_addMethods() {
+ String pname = "HeaderSupplierTest.x";
+
+ HeaderSupplier x = HeaderSupplier.create().resolving();
+ System.setProperty(pname, "y");
+
+ x.add("X1","bar");
+ x.add("X2","$S{"+pname+"}");
+ x.add("X3","bar");
+ x.add("X4",()->"$S{"+pname+"}");
+ x.add("X5","bar",openApiSession(),null,false);
+ x.add("X6","$S{"+pname+"}",openApiSession(),null,false);
+
+ assertString(x.toString()).is("X1=bar&X2=y&X3=bar&X4=y&X5=bar&X6=y");
+
+ System.setProperty(pname, "z");
+
+ assertString(x.toString()).is("X1=bar&X2=z&X3=bar&X4=z&X5=bar&X6=z");
+
+ System.clearProperty(pname);
}
+ @Test
+ public void a04_toArrayMethods() {
+ Header[] x = HeaderSupplier
+ .create()
+ .add("X1","1")
+ .add(HeaderSupplier.ofPairs("X2","2"))
+ .toArray();
+ assertObject(x).json().is("['X1: 1','X2: 2']");
+ }
+
+ //-----------------------------------------------------------------------------------------------------------------
+ // Utility methods
+ //-----------------------------------------------------------------------------------------------------------------
+
private static Header header(String name, Object val) {
return BasicHeader.of(name, val);
}
+
+ private static HttpPartSerializerSession openApiSession() {
+ return OpenApiSerializer.DEFAULT.createPartSession(null);
+ }
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/Assertion.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/Assertion.java
index ba425e6..5b9a71a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/Assertion.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/Assertion.java
@@ -22,9 +22,25 @@ import org.apache.juneau.internal.*;
*/
public class Assertion {
- private String msg;
- private Object[] msgArgs;
- private boolean stdout, stderr;
+ String msg;
+ Object[] msgArgs;
+ boolean stdout, stderr;
+
+ /**
+ * No-arg constructor.
+ */
+ protected Assertion() {}
+
+ /**
+ * Constructor used when this assertion is being created from within another assertion.
+ * @param creator The creator of this assertion.
+ */
+ protected Assertion(Assertion creator) {
+ this.msg = creator.msg;
+ this.msgArgs = creator.msgArgs;
+ this.stdout = creator.stdout;
+ this.stderr = creator.stderr;
+ }
/**
* Allows to to specify the assertion failure message.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentAssertion.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentAssertion.java
index 9c74bd0..ef95776 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentAssertion.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentAssertion.java
@@ -34,6 +34,17 @@ public abstract class FluentAssertion<R> extends Assertion {
}
/**
+ * Constructor.
+ *
+ * @param creator The assertion that created this assertion.
+ * @param returns The object to return after the test.
+ */
+ protected FluentAssertion(Assertion creator, R returns) {
+ super(creator);
+ this.returns = returns;
+ }
+
+ /**
* Returns the object that the fluent methods on this class should return.
*
* @return The response object.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentByteArrayAssertion.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentByteArrayAssertion.java
index 12fdba0..5481b9b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentByteArrayAssertion.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentByteArrayAssertion.java
@@ -40,6 +40,18 @@ public class FluentByteArrayAssertion<R> extends FluentAssertion<R> {
}
/**
+ * Constructor.
+ *
+ * @param creator The assertion that created this assertion.
+ * @param contents The byte array being tested.
+ * @param returns The object to return after the test.
+ */
+ public FluentByteArrayAssertion(Assertion creator, byte[] contents, R returns) {
+ super(creator, returns);
+ this.contents = contents;
+ }
+
+ /**
* Converts this byte array to a UTF-8 encoded string and returns it as a new assertion.
*
* <h5 class='section'>Example:</h5>
@@ -67,7 +79,7 @@ public class FluentByteArrayAssertion<R> extends FluentAssertion<R> {
* @return A new fluent string assertion.
*/
public FluentStringAssertion<R> string(Charset cs) {
- return new FluentStringAssertion<>(contents == null ? null : new String(contents, cs), returns());
+ return new FluentStringAssertion<>(this, contents == null ? null : new String(contents, cs), returns());
}
/**
@@ -82,7 +94,7 @@ public class FluentByteArrayAssertion<R> extends FluentAssertion<R> {
* @return A new fluent string assertion.
*/
public FluentStringAssertion<R> base64() {
- return new FluentStringAssertion<>(contents == null ? null : base64Encode(contents), returns());
+ return new FluentStringAssertion<>(this, contents == null ? null : base64Encode(contents), returns());
}
/**
@@ -97,7 +109,7 @@ public class FluentByteArrayAssertion<R> extends FluentAssertion<R> {
* @return A new string consisting of hexadecimal characters.
*/
public FluentStringAssertion<R> hex() {
- return new FluentStringAssertion<>(contents == null ? null : toHex(contents), returns());
+ return new FluentStringAssertion<>(this, contents == null ? null : toHex(contents), returns());
}
/**
@@ -112,7 +124,7 @@ public class FluentByteArrayAssertion<R> extends FluentAssertion<R> {
* @return A new string consisting of hexadecimal characters.
*/
public FluentStringAssertion<R> spacedHex() {
- return new FluentStringAssertion<>(contents == null ? null : toSpacedHex(contents), returns());
+ return new FluentStringAssertion<>(this, contents == null ? null : toSpacedHex(contents), returns());
}
// <FluentSetters>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentDateAssertion.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentDateAssertion.java
index b9c26ce..40170de 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentDateAssertion.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentDateAssertion.java
@@ -51,6 +51,18 @@ public class FluentDateAssertion<R> extends FluentAssertion<R> {
}
/**
+ * Constructor.
+ *
+ * @param creator The assertion that created this assertion.
+ * @param value The value being tested.
+ * @param returns The object to return after the test.
+ */
+ public FluentDateAssertion(Assertion creator, Date value, R returns) {
+ super(creator, returns);
+ this.value = value;
+ }
+
+ /**
* Asserts that the value equals the specified value.
*
* @param value The value to check against.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentIntegerAssertion.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentIntegerAssertion.java
index 2985951..113b7a7 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentIntegerAssertion.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentIntegerAssertion.java
@@ -49,6 +49,18 @@ public class FluentIntegerAssertion<R> extends FluentAssertion<R> {
}
/**
+ * Constructor.
+ *
+ * @param creator The assertion that created this assertion.
+ * @param value The value being tested.
+ * @param returns The object to return after the test.
+ */
+ public FluentIntegerAssertion(Assertion creator, Integer value, R returns) {
+ super(creator, returns);
+ this.value = value;
+ }
+
+ /**
* Asserts that the value equals the specified value.
*
* @param value The value to check against.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentLongAssertion.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentLongAssertion.java
index 2aadd42..5903552 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentLongAssertion.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentLongAssertion.java
@@ -49,6 +49,18 @@ public class FluentLongAssertion<R> extends FluentAssertion<R> {
}
/**
+ * Constructor.
+ *
+ * @param creator The assertion that created this assertion.
+ * @param value The value being tested.
+ * @param returns The object to return after the test.
+ */
+ public FluentLongAssertion(Assertion creator, Long value, R returns) {
+ super(creator, returns);
+ this.value = value;
+ }
+
+ /**
* Asserts that the value equals the specified value.
*
* @param value The value to check against.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentObjectAssertion.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentObjectAssertion.java
index 708601f..f14b58a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentObjectAssertion.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentObjectAssertion.java
@@ -66,6 +66,18 @@ public class FluentObjectAssertion<R> extends FluentAssertion<R> {
}
/**
+ * Constructor.
+ *
+ * @param creator The assertion that created this assertion.
+ * @param o The object being tested.
+ * @param returns The object to return after the test.
+ */
+ public FluentObjectAssertion(Assertion creator, Object o, R returns) {
+ super(creator, returns);
+ this.value = o;
+ }
+
+ /**
* Asserts that the object is an instance of the specified class.
*
* <h5 class='section'>Example:</h5>
@@ -101,7 +113,7 @@ public class FluentObjectAssertion<R> extends FluentAssertion<R> {
public FluentStringAssertion<R> serialized(WriterSerializer ws) {
try {
String s = ws.serialize(this.value);
- return new FluentStringAssertion<>(s, returns());
+ return new FluentStringAssertion<>(this, s, returns());
} catch (SerializeException e) {
throw new RuntimeException(e);
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentStringAssertion.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentStringAssertion.java
index 20d5f90..7db0be3 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentStringAssertion.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentStringAssertion.java
@@ -53,6 +53,18 @@ public class FluentStringAssertion<R> extends FluentAssertion<R> {
}
/**
+ * Constructor.
+ *
+ * @param creator The assertion that created this assertion.
+ * @param text The text being tested.
+ * @param returns The object to return after the test.
+ */
+ public FluentStringAssertion(Assertion creator, String text, R returns) {
+ super(creator, returns);
+ this.text = text;
+ }
+
+ /**
* When enabled, text in the message is converted to valid Java strings.
*
* <p class='bcode w800'>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentThrowableAssertion.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentThrowableAssertion.java
index d0c48d2..857c606 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentThrowableAssertion.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/FluentThrowableAssertion.java
@@ -37,6 +37,17 @@ public class FluentThrowableAssertion<R> extends FluentAssertion<R> {
this.value = value;
}
+ /**
+ * Constructor.
+ *
+ * @param creator The assertion that created this assertion.
+ * @param value The throwable being tested.
+ * @param returns The object to return after the test.
+ */
+ public FluentThrowableAssertion(Assertion creator, Throwable value, R returns) {
+ super(creator, returns);
+ this.value = value;
+ }
/**
* Asserts that this throwable is of the specified type.
@@ -160,7 +171,7 @@ public class FluentThrowableAssertion<R> extends FluentAssertion<R> {
* @return An assertion against the throwable message. Never <jk>null</jk>.
*/
public FluentStringAssertion<R> message() {
- return new FluentStringAssertion<>(value == null ? null : value.getMessage(), returns());
+ return new FluentStringAssertion<>(this, value == null ? null : value.getMessage(), returns());
}
/**
@@ -175,7 +186,7 @@ public class FluentThrowableAssertion<R> extends FluentAssertion<R> {
* @return An assertion against the throwable localized message. Never <jk>null</jk>.
*/
public FluentStringAssertion<R> localizedMessage() {
- return new FluentStringAssertion<>(value == null ? null : value.getLocalizedMessage(), returns());
+ return new FluentStringAssertion<>(this, value == null ? null : value.getLocalizedMessage(), returns());
}
/**
@@ -190,7 +201,7 @@ public class FluentThrowableAssertion<R> extends FluentAssertion<R> {
* @return An assertion against the throwable stacktrace. Never <jk>null</jk>.
*/
public FluentStringAssertion<R> stackTrace() {
- return new FluentStringAssertion<>(value == null ? null : StringUtils.getStackTrace(value), returns());
+ return new FluentStringAssertion<>(this, value == null ? null : StringUtils.getStackTrace(value), returns());
}
/**
@@ -205,7 +216,7 @@ public class FluentThrowableAssertion<R> extends FluentAssertion<R> {
* @return An assertion against the caused-by. Never <jk>null</jk>.
*/
public FluentThrowableAssertion<R> causedBy() {
- return new FluentThrowableAssertion<>(value == null ? null : value.getCause(), returns());
+ return new FluentThrowableAssertion<>(this, value == null ? null : value.getCause(), returns());
}
/**
@@ -224,10 +235,10 @@ public class FluentThrowableAssertion<R> extends FluentAssertion<R> {
Throwable t = value;
while (t != null) {
if (throwableClass.isInstance(t))
- return new FluentThrowableAssertion<>(t, returns());
+ return new FluentThrowableAssertion<>(this, t, returns());
t = t.getCause();
}
- return new FluentThrowableAssertion<>(null, returns());
+ return new FluentThrowableAssertion<>(this, null, returns());
}
// <FluentSetters>
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/StringAssertion.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/StringAssertion.java
index c30a221..877bbf6 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/StringAssertion.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/assertions/StringAssertion.java
@@ -78,5 +78,17 @@ public class StringAssertion extends FluentStringAssertion<StringAssertion> {
return this;
}
+ @Override /* GENERATED - FluentStringAssertion */
+ public StringAssertion replace(String target, String replacement) {
+ super.replace(target, replacement);
+ return this;
+ }
+
+ @Override /* GENERATED - FluentStringAssertion */
+ public StringAssertion replaceAll(String regex, String replacement) {
+ super.replaceAll(regex, replacement);
+ return this;
+ }
+
// </FluentSetters>
}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/HeaderSupplier.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/HeaderSupplier.java
index 94826c3..bbc0720 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/HeaderSupplier.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/http/HeaderSupplier.java
@@ -184,7 +184,7 @@ public class HeaderSupplier implements Iterable<Header> {
* @return This object(for method chaining).
*/
private HeaderSupplier addAll(Collection<Header> headers) {
- this.headers.addAll(headers.stream().map(x->Collections.singleton(x)).collect(Collectors.toList()));
+ this.headers.addAll(headers.stream().filter(x->x != null).map(x->Collections.singleton(x)).collect(Collectors.toList()));
return this;
}
diff --git a/juneau-doc/docs/Topics/06.juneau-rest-server/24.SvlVariables.html b/juneau-doc/docs/Topics/06.juneau-rest-server/24.SvlVariables.html
index 8b3cf65..90f4535 100644
--- a/juneau-doc/docs/Topics/06.juneau-rest-server/24.SvlVariables.html
+++ b/juneau-doc/docs/Topics/06.juneau-rest-server/24.SvlVariables.html
@@ -138,7 +138,7 @@ SVL Variables
<td class='code'>$SW{arg,p1:then1[,p2:then2...]}</td>
<td style='text-align:center;font-weight:bold'>yes</td>
<td style='text-align:center;font-weight:bold'>yes</td>
- <td class='code'>$SW{$P{os.name},*win*:Windows,*:Something else}</td>
+ <td class='code'>$SW{$S{os.name},*win*:Windows,*:Something else}</td>
</tr>
<tr class='dark'>
<td>{@link oaj.svl.vars.CoalesceVar}</td>
@@ -152,7 +152,7 @@ SVL Variables
<td class='code'>$PM{arg,pattern}</td>
<td style='text-align:center;font-weight:bold'>yes</td>
<td style='text-align:center;font-weight:bold'>yes</td>
- <td class='code'>$PM{$P{os.name},*win*}</td>
+ <td class='code'>$PM{$S{os.name},*win*}</td>
</tr>
<tr class='dark'>
<td>{@link oaj.svl.vars.NotEmptyVar}</td>
diff --git a/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/01.Remote.html b/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/01.Remote.html
index f50fdf0..28c7521 100644
--- a/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/01.Remote.html
+++ b/juneau-doc/docs/Topics/09.juneau-rest-client/11.RestProxies/01.Remote.html
@@ -62,7 +62,7 @@ specific language governing permissions and limitations under the License.
<h5 class='figure'>Example:</h5>
<p class='bpcode w800'>
<jc>// URL is specified via a system property.</jc>
- <ja>@Remote</ja>(path=<js>"$P{PetStoreUrl}"</js>)
+ <ja>@Remote</ja>(path=<js>"$S{PetStoreUrl}"</js>)
<jk>public interface</jk> PetStore {...}
</p>
@@ -117,7 +117,7 @@ specific language governing permissions and limitations under the License.
path=<js>"/petstore"</js>,
headers={
<js>"Foo: bar"</js>,
- <js>"Baz: $P{bazProperty}"</js>
+ <js>"Baz: $S{bazProperty}"</js>
},
headerSupplier=MyDynamicHeaderSupplier.<jk>class</jk>
)
diff --git a/juneau-doc/src/main/javadoc/overview.html b/juneau-doc/src/main/javadoc/overview.html
index 635639c..8a7807a 100644
--- a/juneau-doc/src/main/javadoc/overview.html
+++ b/juneau-doc/src/main/javadoc/overview.html
@@ -24070,7 +24070,7 @@
{@link java.io.InputStream} - Raw contents of {@code InputStream} will be serialized to remote resource.
<br><c>Content-Type</c> is set to <js>"application/octet-stream"</js>.
<li>
- <c>NameValuePairs</c> - Converted to a URL-encoded FORM post.
+ {@link org.apache.juneau.http.NameValuePairSupplier} - Converted to a URL-encoded FORM post.
<br><c>Content-Type</c> is set to <js>"aplication/x-www-form-urlencoded"</js>.
<li>
<c>HttpEntity</c> - Bypass Juneau serialization and pass HttpEntity directly to HttpClient.
@@ -24173,10 +24173,10 @@
<ja>@FormData</ja>(<js>"bar"</js>)</ja> MyPojo <jv>pojo</jv>
);
- <jc>// Multiple values pulled from a NameValuePairs object.</jc>
+ <jc>// Multiple values pulled from a NameValuePairSupplier object.</jc>
<jc>// Name "*" is inferred.</jc>
<ja>@RemoteMethod</ja>
- String postNameValuePairs(<ja>@FormData</ja> NameValuePairs <jv>nameValuePairs</jv>);
+ String postNameValuePairs(<ja>@FormData</ja> NameValuePairSupplier <jv>nameValuePairSupplier</jv>);
<jc>// Multiple values pulled from a Map.</jc>
<ja>@RemoteMethod</ja>
@@ -24213,7 +24213,7 @@
<li>
{@link java.io.InputStream} - Raw contents of {@code InputStream} will be serialized to remote resource.
<li>
- <c>NameValuePairs</c> - Converted to a URL-encoded FORM post.
+ {@link org.apache.juneau.http.NameValuePairSupplier} - Converted to a URL-encoded FORM post.
<li>
<c>Map</c> - Converted to key-value pairs.
<br>Values serialized using the registered {@link org.apache.juneau.httppart.HttpPartSerializer} ({@link org.apache.juneau.oapi.OpenApiSerializer} by default).
@@ -24279,10 +24279,10 @@
<ja>@Query</ja>(<js>"foo"</js>)</ja> String <jv>foo</jv>,
<ja>@Query</ja>(<js>"bar"</js>)</ja> MyPojo <jv>pojo</jv>);
- <jc>// Multiple values pulled from a NameValuePairs object.</jc>
+ <jc>// Multiple values pulled from a NameValuePairSupplier object.</jc>
<jc>// Same as @Query("*").</jc>
<ja>@RemoteMethod</ja>
- String nameValuePairs(<ja>@Query</ja> NameValuePairs <jv>nameValuePairs</jv>);
+ String nameValuePairs(<ja>@Query</ja> NameValuePairSupplier <jv>nameValuePairSupplier</jv>);
<jc>// Multiple values pulled from a Map.</jc>
<jc>// Same as @Query("*").</jc>
@@ -24322,7 +24322,7 @@
<li>
{@link java.io.Reader} - Raw contents of {@code Reader} will be serialized directly a query string.
<li>
- <c>NameValuePairs</c> - Serialized as individual query parameters.
+ {@link org.apache.juneau.http.NameValuePairSupplier} - Serialized as individual query parameters.
<li>
<c>Map</c> - Converted to key-value pairs.
<br>Values serialized using the registered {@link org.apache.juneau.httppart.HttpPartSerializer} ({@link org.apache.juneau.oapi.OpenApiSerializer} by default).
@@ -24389,10 +24389,10 @@
String myProxyMethod1(<ja>@Header</ja>(<js>"Foo"</js>)</ja> String <jv>foo</jv>,
<ja>@Header</ja>(<js>"Bar"</js>)</ja> MyPojo <jv>pojo</jv>);
- <jc>// Multiple values pulled from a NameValuePairs object.</jc>
+ <jc>// Multiple values pulled from a HeaderSupplier object.</jc>
<jc>// Same as @Header("*").</jc>
<ja>@RemoteMethod</ja>(path=<js>"/mymethod2"</js>)
- String myProxyMethod2(<ja>@Header</ja> NameValuePairs <jv>nameValuePairs</jv>);
+ String myProxyMethod2(<ja>@Header</ja> HeaderSupplier <jv>headerSupplier</jv>);
<jc>// Multiple values pulled from a Map.</jc>
<jc>// Same as @Header("*").</jc>
@@ -24420,7 +24420,7 @@
</p>
<ul class='spaced-list'>
<li>
- <c>NameValuePairs</c> - Serialized as individual headers.
+ {@link org.apache.juneau.http.HeaderSupplier} - Serialized as individual headers.
<li>
<c>Map</c> - Converted to key-value pairs.
<br>Values serialized using the registered {@link org.apache.juneau.httppart.HttpPartSerializer} ({@link org.apache.juneau.oapi.OpenApiSerializer} by default).
@@ -24478,10 +24478,10 @@
<ja>@RemoteMethod</ja>(path=<js>"/mymethod1/{foo}/{bar}"</js>)
String myProxyMethod1(<ja>@Path</ja>(<js>"foo"</js>)</ja> String <jv>foo</jv>, <ja>@Path</ja>(<js>"bar"</js>)</ja> MyPojo <jv>pojo</jv>);
- <jc>// Multiple values pulled from a NameValuePairs object.</jc>
+ <jc>// Multiple values pulled from a NameValuePairSupplier object.</jc>
<jc>// Same as @Path("*").</jc>
<ja>@RemoteMethod</ja>(path=<js>"/mymethod2/{foo}/{bar}/{baz}"</js>)
- String myProxyMethod2(<ja>@Path</ja> NameValuePairs <jv>nameValuePairs</jv>);
+ String myProxyMethod2(<ja>@Path</ja> NameValuePairSupplier <jv>nameValuePairSupplier</jv>);
<jc>// Multiple values pulled from a Map.</jc>
<jc>// Same as @Path("*").</jc>
@@ -24509,7 +24509,7 @@
</p>
<ul class='spaced-list'>
<li>
- <c>NameValuePairs</c> - Serialized as individual query parameters.
+ {@link org.apache.juneau.http.NameValuePairSupplier} - Serialized as individual path parameters.
<li>
<c>Map</c> - Converted to key-value pairs.
<br>Values serialized using the registered {@link org.apache.juneau.httppart.HttpPartSerializer} ({@link org.apache.juneau.oapi.OpenApiSerializer} by default).
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponseStatusLineAssertion.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponseStatusLineAssertion.java
index 551e65f..e7089ff 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponseStatusLineAssertion.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestResponseStatusLineAssertion.java
@@ -48,7 +48,7 @@ public class RestResponseStatusLineAssertion extends FluentAssertion<RestRespons
* @return An assertion against the status code on the response status object.
*/
public FluentIntegerAssertion<RestResponse> code() {
- return new FluentIntegerAssertion<>(statusLine.getStatusCode(), returns());
+ return new FluentIntegerAssertion<>(this, statusLine.getStatusCode(), returns());
}
/**
@@ -57,7 +57,7 @@ public class RestResponseStatusLineAssertion extends FluentAssertion<RestRespons
* @return An assertion against the reason phrase on the response status object.
*/
public FluentStringAssertion<RestResponse> reason() {
- return new FluentStringAssertion<>(statusLine.getReasonPhrase(), returns());
+ return new FluentStringAssertion<>(this, statusLine.getReasonPhrase(), returns());
}
/**
@@ -66,7 +66,7 @@ public class RestResponseStatusLineAssertion extends FluentAssertion<RestRespons
* @return An assertion against the protocol on the response status object.
*/
public FluentStringAssertion<RestResponse> protocol() {
- return new FluentStringAssertion<>(statusLine.getProtocolVersion().getProtocol(), returns());
+ return new FluentStringAssertion<>(this, statusLine.getProtocolVersion().getProtocol(), returns());
}
/**
@@ -75,7 +75,7 @@ public class RestResponseStatusLineAssertion extends FluentAssertion<RestRespons
* @return An assertion against the protocol major version on the response status object.
*/
public FluentIntegerAssertion<RestResponse> major() {
- return new FluentIntegerAssertion<>(statusLine.getProtocolVersion().getMajor(), returns());
+ return new FluentIntegerAssertion<>(this, statusLine.getProtocolVersion().getMajor(), returns());
}
/**
@@ -84,6 +84,6 @@ public class RestResponseStatusLineAssertion extends FluentAssertion<RestRespons
* @return An assertion against the protocol minor version on the response status object.
*/
public FluentIntegerAssertion<RestResponse> minor() {
- return new FluentIntegerAssertion<>(statusLine.getProtocolVersion().getMinor(), returns());
+ return new FluentIntegerAssertion<>(this, statusLine.getProtocolVersion().getMinor(), returns());
}
}