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 83dda18  Context API refactoring.
83dda18 is described below

commit 83dda186d25035565613a9748040863cae935ade
Author: JamesBognar <[email protected]>
AuthorDate: Sun Aug 29 18:35:07 2021 -0400

    Context API refactoring.
---
 .../java/org/apache/juneau/rest/RestContext.java   | 37 +---------------------
 .../org/apache/juneau/rest/RestContextBuilder.java |  9 ++++--
 .../org/apache/juneau/rest/annotation/Rest.java    |  2 +-
 .../juneau/rest/annotation/RestAnnotation.java     |  2 +-
 .../juneau/rest/logging/BasicRestLogger.java       |  4 +--
 .../org/apache/juneau/rest/logging/RestLogger.java |  2 +-
 6 files changed, 12 insertions(+), 44 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 cf37bb5..6d4b785 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
@@ -149,40 +149,6 @@ public class RestContext extends BeanContext {
        public static final String REST_beanStore = PREFIX + ".beanStore.o";
 
        /**
-        * Configuration property:  Debug mode on specified classes/methods.
-        *
-        * <h5 class='section'>Property:</h5>
-        * <ul class='spaced-list'>
-        *      <li><b>ID:</b>  {@link 
org.apache.juneau.rest.RestContext#REST_debugOn REST_debugOn}
-        *      <li><b>Name:</b>  <js>"RestContext.debugOn.s"</js>
-        *      <li><b>Data type:</b>  <c>String</c> (comma-delimited)
-        *      <li><b>System property:</b>  <c>RestContext.debugOn</c>
-        *      <li><b>Environment variable:</b>  <c>RESTCONTEXT_DEBUGON</c>
-        *      <li><b>Default:</b>  Empty string
-        *      <li><b>Session property:</b>  <jk>false</jk>
-        *      <li><b>Annotations:</b>
-        *              <ul>
-        *                      <li class='ja'>{@link 
org.apache.juneau.rest.annotation.Rest#debugOn()}
-        *              </ul>
-        *      <li><b>Methods:</b>
-        *              <ul>
-        *                      <li class='jm'>{@link 
org.apache.juneau.rest.RestContextBuilder#debugOn(String)}
-        *              </ul>
-        * </ul>
-        *
-        * <h5 class='section'>Description:</h5>
-        * <p>
-        * Enables the following:
-        * <ul class='spaced-list'>
-        *      <li>
-        *              HTTP request/response bodies are cached in memory for 
logging purposes.
-        *      <li>
-        *              Request/response messages are automatically logged 
always or per request.
-        * </ul>
-        */
-       public static final String REST_debugOn = PREFIX + ".debugOn.s";
-
-       /**
         * Configuration property:  Default request attributes.
         *
         * <h5 class='section'>Property:</h5>
@@ -3111,7 +3077,6 @@ public class RestContext extends BeanContext {
         */
        protected DebugEnablementBuilder createDebugEnablementBuilder(Object 
resource, RestContextBuilder builder, BeanStore beanStore) throws Exception {
 
-               ContextProperties properties = builder.getContextProperties();
                Class<? extends DebugEnablement> c = 
builder.debugEnablementClass;
 
                DebugEnablementBuilder x = DebugEnablement
@@ -3137,7 +3102,7 @@ public class RestContext extends BeanContext {
 
                x.defaultEnable(defaultDebug);
 
-               for (Map.Entry<String,String> e : 
splitMap(properties.getString(REST_debugOn).orElse(""), true).entrySet()) {
+               for (Map.Entry<String,String> e : 
splitMap(ofNullable(builder.debugOn).orElse(""), true).entrySet()) {
                        String k = e.getKey(), v = e.getValue();
                        if (v.isEmpty())
                                v = "ALWAYS";
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 58cb09f..570f35e 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
@@ -143,6 +143,8 @@ public class RestContextBuilder extends BeanContextBuilder 
implements ServletCon
        DebugEnablement debugEnablement;
        Class<? extends DebugEnablement> debugEnablementClass;
 
+       String debugOn = env("RestContext.debugOn", null);
+
        @SuppressWarnings("unchecked")
        ResponseProcessorList.Builder responseProcessors = 
ResponseProcessorList.create().append(
                ReaderProcessor.class,
@@ -1111,7 +1113,7 @@ public class RestContextBuilder extends 
BeanContextBuilder implements ServletCon
        }
 
        /**
-        * <i><l>RestContext</l> configuration property:&emsp;</i>  Debug mode 
on specified classes/methods.
+        * Debug mode on specified classes/methods.
         *
         * Enables the following:
         * <ul class='spaced-list'>
@@ -1122,7 +1124,7 @@ public class RestContextBuilder extends 
BeanContextBuilder implements ServletCon
         * </ul>
         *
         * <ul class='seealso'>
-        *      <li class='jf'>{@link RestContext#REST_debugOn}
+        *      <li class='ja'>{@link Rest#debugOn}
         * </ul>
         *
         * @param value The new value for this setting.
@@ -1130,7 +1132,8 @@ public class RestContextBuilder extends 
BeanContextBuilder implements ServletCon
         */
        @FluentSetter
        public RestContextBuilder debugOn(String value) {
-               return set(REST_debugOn, value);
+               debugOn = value;
+               return this;
        }
 
        /**
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
index 3fce6a7..ccb508c 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/Rest.java
@@ -455,7 +455,7 @@ public @interface Rest {
         * </ul>
         *
         * <ul class='seealso'>
-        *      <li class='jf'>{@link RestContext#REST_debugOn}
+        *      <li class='jm'>{@link RestContextBuilder#debugOn(String)}
         * </ul>
         */
        String debugOn() default "";
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
index a8f3574..3e230a4 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
@@ -1076,7 +1076,7 @@ public class RestAnnotation {
                        value(a.allowedMethodParams()).ifPresent(x -> 
b.allowedMethodParams(x));
                        b.setIfNotEmpty(REST_renderResponseStackTraces, 
bool(a.renderResponseStackTraces()));
                        
value(a.debug()).map(Enablement::fromString).ifPresent(x -> b.debug(x));
-                       b.setIfNotEmpty(REST_debugOn, string(a.debugOn()));
+                       value(a.debugOn()).ifPresent(x -> b.debugOn(x));
                }
        }
 
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logging/BasicRestLogger.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logging/BasicRestLogger.java
index 997b73d..d601e53 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logging/BasicRestLogger.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logging/BasicRestLogger.java
@@ -87,7 +87,7 @@ import org.apache.juneau.rest.util.*;
  *     <li class='jm'>{@link RestContextBuilder#callLoggerDefault(Class)}
  *     <li class='jm'>{@link RestContextBuilder#callLoggerDefault(RestLogger)}
  *     <li class='jm'>{@link RestContextBuilder#debug(Enablement)}
- *     <li class='jf'>{@link RestContext#REST_debugOn}
+ *     <li class='jm'>{@link RestContextBuilder#debugOn(String)}
  *     <li class='ja'>{@link Rest#debug}
  *     <li class='ja'>{@link RestOp#debug}
  *     <li class='link'>{@doc RestLoggingAndDebugging}
@@ -274,7 +274,7 @@ public class BasicRestLogger implements RestLogger {
         * @param req The HTTP request being logged.
         * @return <jk>true</jk> if debug is enabled on this request.
         * @see RestContextBuilder#debug(Enablement)
-        * @see RestContext#REST_debugOn
+        * @see RestContextBuilder#debugOn(String)
         * @see Rest#debug()
         * @see RestOp#debug()
         */
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logging/RestLogger.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logging/RestLogger.java
index b280fcd..ac376e4 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logging/RestLogger.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logging/RestLogger.java
@@ -42,7 +42,7 @@ import org.apache.juneau.rest.annotation.*;
  *     <li class='jm'>{@link RestContextBuilder#callLoggerDefault(Class)}
  *     <li class='jm'>{@link RestContextBuilder#callLoggerDefault(RestLogger)}
  *     <li class='jm'>{@link RestContextBuilder#debug(Enablement)}
- *     <li class='jf'>{@link RestContext#REST_debugOn}
+ *     <li class='jm'>{@link RestContextBuilder#debugOn(String)}
  *     <li class='ja'>{@link Rest#debug}
  *     <li class='ja'>{@link RestOp#debug}
  *     <li class='link'>{@doc RestLoggingAndDebugging}

Reply via email to