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;
        }
 

Reply via email to