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 58ccad1 Context API refactoring.
58ccad1 is described below
commit 58ccad19922cbf9c2d5ad46e6c7a652c2db80970
Author: JamesBognar <[email protected]>
AuthorDate: Fri Sep 10 20:11:32 2021 -0400
Context API refactoring.
---
.../apache/juneau/rest/mock/MockRestClient.java | 3 ++-
.../java/org/apache/juneau/rest/RestContext.java | 25 ++++++++--------------
.../org/apache/juneau/rest/RestContextBuilder.java | 10 +++++++--
.../java/org/apache/juneau/rest/Swagger_Test.java | 4 ++--
.../apache/juneau/rest/testutils/TestUtils.java | 2 +-
5 files changed, 22 insertions(+), 22 deletions(-)
diff --git
a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestClient.java
b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestClient.java
index 5231498..240e6e6 100644
---
a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestClient.java
+++
b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestClient.java
@@ -280,7 +280,8 @@ public class MockRestClient extends RestClient implements
HttpClientConnection {
boolean isClass = restBean instanceof Class;
Object o = isClass ?
((Class<?>)restBean).newInstance() : restBean;
RestContext rc = RestContext
- .create(o)
+ .create(null, null, null, o)
+ .init(o)
.callLoggerDefault(BasicTestRestLogger.class)
.debugDefault(CONDITIONAL)
.build()
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
index 316d9a5..60be7c5 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
@@ -184,30 +184,23 @@ public class RestContext extends Context {
/**
* Constructor.
*
- * @param resource
- * The REST servlet or bean annotated with <ja>@Rest</ja>.
- * @return A new builder object.
- * @throws ServletException Something bad happened.
- */
- public static RestContextBuilder create(Object resource) throws
ServletException {
- return new RestContextBuilder(Optional.empty(),
Optional.empty(), resource.getClass(), Optional.of(resource)).init(resource);
- }
-
- /**
- * Constructor.
- *
- * @param parent
+ * @param parentContext
* The parent context if the REST bean was registered via {@link
Rest#children()}.
- * <br>Will be <jk>null</jk> if the bean is a top-level resource.
+ * <br>Can be <jk>null</jk> if the bean is a top-level resource.
* @param servletConfig
* The servlet config passed into the servlet by the servlet
container.
+ * <br>Can be null if not available.,
* @param resourceClass
* The class annotated with <ja>@Rest</ja>.
+ * <br>Can be <jk>null</jk> if the resource bean is provided.
+ * @param resource
+ * The resource bean.
+ * <br>Can be <jk>null</jk> if not instantiated at the time of
this method call.
* @return A new builder object.
* @throws ServletException Something bad happened.
*/
- static RestContextBuilder create(RestContext parentContext,
ServletConfig servletConfig, Class<?> resourceClass, Object resource) throws
ServletException {
- return new
RestContextBuilder(Optional.ofNullable(parentContext),
Optional.ofNullable(servletConfig), resourceClass,
Optional.ofNullable(resource));
+ public static RestContextBuilder create(RestContext parentContext,
ServletConfig servletConfig, Class<?> resourceClass, Object resource) throws
ServletException {
+ return new
RestContextBuilder(Optional.ofNullable(parentContext),
Optional.ofNullable(servletConfig), resource == null ? resourceClass :
resource.getClass(), Optional.ofNullable(resource));
}
/**
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
index 8cb6bba..0a634d1 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
@@ -369,10 +369,16 @@ public class RestContextBuilder extends ContextBuilder
implements ServletConfig
return x;
}
- /*
+ /**
+ * Performs initialization on this builder.
+ *
* Calls all @RestHook(INIT) methods on the specified resource object.
+ *
+ * @param resource The resource bean. Required.
+ * @return This object.
+ * @throws ServletException If hook method calls failed.
*/
- RestContextBuilder init(Object resource) throws ServletException {
+ public RestContextBuilder init(Object resource) throws ServletException
{
this.resource = resource instanceof Supplier ?
(Supplier<?>)resource : ()->resource;
ClassInfo rci = ClassInfo.ofProxy(resource);
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/rest/Swagger_Test.java
b/juneau-utest/src/test/java/org/apache/juneau/rest/Swagger_Test.java
index 6e28357..b238e37 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/Swagger_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/rest/Swagger_Test.java
@@ -45,7 +45,7 @@ public class Swagger_Test {
public void testMethod() {}
private org.apache.juneau.dto.swagger.Swagger getSwaggerWithFile(Object
resource) throws Exception {
- RestContext rc =
RestContext.create(resource).fileFinder(TestClasspathFileFinder.class).build();
+ RestContext rc =
RestContext.create(null,null,null,resource).init(resource).fileFinder(TestClasspathFileFinder.class).build();
RestOpContext roc =
RestOpContext.create(Swagger_Test.class.getMethod("testMethod"), rc).build();
RestRequest req = rc.createRequest(new RestCall(resource, rc,
new MockServletRequest(), new MockServletResponse()).restOpContext(roc));
SwaggerProvider ip = rc.getSwaggerProvider();
@@ -53,7 +53,7 @@ public class Swagger_Test {
}
private static org.apache.juneau.dto.swagger.Swagger getSwagger(Object
resource) throws Exception {
- RestContext rc = RestContext.create(resource).build();
+ RestContext rc =
RestContext.create(null,null,null,resource).init(resource).build();
RestOpContext roc =
RestOpContext.create(Swagger_Test.class.getMethod("testMethod"), rc).build();
RestRequest req = rc.createRequest(new RestCall(resource, rc,
new MockServletRequest(), new MockServletResponse()).restOpContext(roc));
SwaggerProvider ip = rc.getSwaggerProvider();
diff --git
a/juneau-utest/src/test/java/org/apache/juneau/rest/testutils/TestUtils.java
b/juneau-utest/src/test/java/org/apache/juneau/rest/testutils/TestUtils.java
index f593e83..1cb6b2a 100755
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/testutils/TestUtils.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/rest/testutils/TestUtils.java
@@ -27,7 +27,7 @@ public class TestUtils extends
org.apache.juneau.testutils.TestUtils {
public static Swagger getSwagger(Class<?> c) {
try {
Object r = c.newInstance();
- RestContext rc = RestContext.create(r).build();
+ RestContext rc =
RestContext.create(null,null,null,r).init(r).build();
RestOpContext ctx =
RestOpContext.create(TestUtils.class.getMethod("getSwagger", Class.class),
rc).build();
RestRequest req = rc.createRequest(new RestCall(r, rc,
new MockServletRequest(), new MockServletResponse()).restOpContext(ctx));
SwaggerProvider ip = rc.getSwaggerProvider();