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 4f1ae55 Context API refactoring.
4f1ae55 is described below
commit 4f1ae558b929f406a5e3273fca4f2e5f0bfa0df2
Author: JamesBognar <[email protected]>
AuthorDate: Fri Sep 10 19:28:01 2021 -0400
Context API refactoring.
---
.../java/org/apache/juneau/rest/RestContext.java | 2 +-
.../org/apache/juneau/rest/RestContextBuilder.java | 11 ++++++++++-
.../java/org/apache/juneau/rest/RestOpContext.java | 20 ++++++++------------
.../org/apache/juneau/rest/RestOpContextBuilder.java | 3 ++-
4 files changed, 21 insertions(+), 15 deletions(-)
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 4934476..9074218 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
@@ -1228,7 +1228,7 @@ public class RestContext extends BeanContext {
protected JsonSchemaGeneratorBuilder
createJsonSchemaGeneratorBuilder(Object resource, RestContextBuilder builder,
BeanStore beanStore) throws Exception {
JsonSchemaGeneratorBuilder x = JsonSchemaGenerator
.create()
- .apply(builder.getContextProperties());
+ .apply(builder.getApplied());
x = BeanStore
.of(beanStore, 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 ce3b109..98eeabb 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
@@ -215,7 +215,16 @@ public class RestContextBuilder extends BeanContextBuilder
implements ServletCon
DefaultArg.class
);
- RestContextBuilder(Optional<RestContext> parentContext,
Optional<ServletConfig> servletConfig, Class<?> resourceClass, Optional<Object>
resource) throws ServletException {
+ /**
+ * Constructor.
+ *
+ * @param parentContext The parent context if this is a child of
another resource.
+ * @param servletConfig The servlet config if available.
+ * @param resourceClass The resource class.
+ * @param resource The resource object if available.
+ * @throws ServletException Initialization failed.
+ */
+ protected RestContextBuilder(Optional<RestContext> parentContext,
Optional<ServletConfig> servletConfig, Class<?> resourceClass, Optional<Object>
resource) throws ServletException {
try {
contextClass(RestContext.class);
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpContext.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpContext.java
index 520f25e..74c55e4 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpContext.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpContext.java
@@ -135,8 +135,6 @@ public class RestOpContext extends BeanContext implements
Comparable<RestOpConte
else
debug =
DebugEnablement.create().enable(builder.debug, "*").build();
- ContextProperties cp = getContextProperties();
-
methodInvoker = new MethodInvoker(method,
context.getMethodExecStats(method));
mi = MethodInfo.of(method).accessible();
Object r = context.getResource();
@@ -144,9 +142,8 @@ public class RestOpContext extends BeanContext implements
Comparable<RestOpConte
BeanStore bs = BeanStore.of(context.getRootBeanStore(),
r)
.addBean(RestOpContext.class, this)
.addBean(Method.class, method)
- .addBean(ContextProperties.class, cp);
+ .addBean(AnnotationWorkList.class,
builder.getApplied());
bs.addBean(BeanStore.class, bs);
- bs.addBean(AnnotationWorkList.class,
builder.getApplied());
serializers = createSerializers(r, builder, bs);
bs.addBean(SerializerGroup.class, serializers);
@@ -169,14 +166,14 @@ public class RestOpContext extends BeanContext implements
Comparable<RestOpConte
optionalMatchers = matchers.getOptionalEntries();
requiredMatchers = matchers.getRequiredEntries();
- pathMatchers = createPathMatchers(r, cp, builder,
bs).asArray();
+ pathMatchers = createPathMatchers(r, builder,
bs).asArray();
bs.addBean(UrlPathMatcher[].class, pathMatchers);
bs.addBean(UrlPathMatcher.class, pathMatchers.length >
0 ? pathMatchers[0] : null);
encoders = createEncoders(r, builder, bs);
bs.addBean(EncoderGroup.class, encoders);
- jsonSchemaGenerator = createJsonSchemaGenerator(r, cp,
bs);
+ jsonSchemaGenerator = createJsonSchemaGenerator(r,
builder, bs);
bs.addBean(JsonSchemaGenerator.class,
jsonSchemaGenerator);
supportedAcceptTypes =
unmodifiableList(ofNullable(builder.produces).orElse(serializers.getSupportedMediaTypes()));
@@ -629,16 +626,15 @@ public class RestOpContext extends BeanContext implements
Comparable<RestOpConte
* Instantiates the path matchers for this method.
*
* @param resource The REST resource object.
- * @param properties xxx
* @param builder The builder for this bean.
* @param beanStore The bean store to use for retrieving and creating
beans.
* @return The HTTP part parser for this REST resource.
* @throws Exception If parser could not be instantiated.
*/
- protected UrlPathMatcherList createPathMatchers(Object resource,
ContextProperties properties, RestOpContextBuilder builder, BeanStore
beanStore) throws Exception {
+ protected UrlPathMatcherList createPathMatchers(Object resource,
RestOpContextBuilder builder, BeanStore beanStore) throws Exception {
UrlPathMatcherList x = UrlPathMatcherList.create();
- boolean dotAll =
properties.getBoolean("RestOpContext.dotAll.b").orElse(false);
+ boolean dotAll = builder.dotAll;
if (builder.path != null) {
for (String p : builder.path) {
@@ -686,12 +682,12 @@ public class RestOpContext extends BeanContext implements
Comparable<RestOpConte
* Instantiates the JSON-schema generator for this method.
*
* @param resource The REST resource object.
- * @param properties The property store of this method.
+ * @param builder The builder for this object.
* @param beanStore The bean store to use for retrieving and creating
beans.
* @return The JSON-schema generator for this method.
* @throws Exception If schema generator could not be instantiated.
*/
- protected JsonSchemaGenerator createJsonSchemaGenerator(Object
resource, ContextProperties properties, BeanStore beanStore) throws Exception {
+ protected JsonSchemaGenerator createJsonSchemaGenerator(Object
resource, RestOpContextBuilder builder, BeanStore beanStore) throws Exception {
JsonSchemaGenerator x = null;
@@ -702,7 +698,7 @@ public class RestOpContext extends BeanContext implements
Comparable<RestOpConte
x =
beanStore.getBean(JsonSchemaGenerator.class).orElse(null);
if (x == null)
- x =
JsonSchemaGenerator.create().apply(properties).build();
+ x =
JsonSchemaGenerator.create().apply(builder.getApplied()).build();
x = BeanStore
.of(beanStore, resource)
diff --git
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpContextBuilder.java
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpContextBuilder.java
index b4811dd..e6142ce 100644
---
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpContextBuilder.java
+++
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpContextBuilder.java
@@ -64,6 +64,7 @@ public class RestOpContextBuilder extends BeanContextBuilder {
ParserGroup.Builder parsers;
HttpPartSerializer.Creator partSerializer;
HttpPartParser.Creator partParser;
+ boolean dotAll;
Charset defaultCharset;
Long maxInput;
@@ -137,7 +138,7 @@ public class RestOpContextBuilder extends
BeanContextBuilder {
* @return This object (for method chaining).
*/
public RestOpContextBuilder dotAll() {
- set("RestOpContext.dotAll.b", true);
+ dotAll = true;
return this;
}