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 2e5e343  REST refactoring.
2e5e343 is described below

commit 2e5e343ec79de3252bf0f50122a3ba7998a8c008
Author: JamesBognar <[email protected]>
AuthorDate: Tue Feb 9 11:58:15 2021 -0500

    REST refactoring.
---
 .../java/org/apache/juneau/rest/RequestBody.java   |  10 +-
 .../org/apache/juneau/rest/RequestFormData.java    |   2 +-
 .../org/apache/juneau/rest/RequestHeaders.java     |   2 +-
 .../java/org/apache/juneau/rest/RequestPath.java   |   2 +-
 .../java/org/apache/juneau/rest/RequestQuery.java  |   2 +-
 .../java/org/apache/juneau/rest/RestRequest.java   | 207 ++++++---------------
 .../java/org/apache/juneau/rest/RestResponse.java  |   2 +-
 .../juneau/rest/logging/BasicRestLogger.java       |   2 +-
 .../apache/juneau/rest/params/FormDataParam.java   |   2 +-
 .../org/apache/juneau/rest/params/HeaderParam.java |   2 +-
 .../org/apache/juneau/rest/params/PathParam.java   |   2 +-
 .../org/apache/juneau/rest/params/QueryParam.java  |   2 +-
 .../juneau/rest/params/ResponseHeaderParam.java    |   2 +-
 .../juneau/rest/reshandlers/DefaultHandler.java    |   4 +-
 .../apache/juneau/rest/vars/RequestSwaggerVar.java |   2 +-
 .../juneau/rest/vars/SerializedRequestAttrVar.java |   2 +-
 .../juneau/rest/widget/ContentTypeMenuItem.java    |   2 +-
 .../juneau/rest/annotation/Restx_Parsers_Test.java |   6 +-
 18 files changed, 84 insertions(+), 171 deletions(-)

diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestBody.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestBody.java
index 90043f6..1693d84 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestBody.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestBody.java
@@ -331,10 +331,12 @@ public class RequestBody {
 
                Encoder enc = getEncoder();
 
+               InputStream is = req.getHttpServletRequest().getInputStream();
+               
                if (enc == null)
-                       return new 
BoundedServletInputStream(req.getRawInputStream(), maxInput);
+                       return new BoundedServletInputStream(is, maxInput);
 
-               return new 
BoundedServletInputStream(enc.getInputStream(req.getRawInputStream()), 
maxInput);
+               return new BoundedServletInputStream(enc.getInputStream(is), 
maxInput);
        }
 
        /**
@@ -469,7 +471,7 @@ public class RequestBody {
 
                throw new UnsupportedMediaType(
                        "Unsupported media-type in request header 
''Content-Type'': ''{0}''\n\tSupported media-types: {1}",
-                       headers.getContentType().getValue(), 
req.getParsers().getSupportedMediaTypes()
+                       headers.getContentType().getValue(), 
req.getOpContext().getParsers().getSupportedMediaTypes()
                );
        }
 
@@ -502,7 +504,7 @@ public class RequestBody {
         * @return The content length of the body in bytes.
         */
        public int getContentLength() {
-               return contentLength == 0 ? req.getRawContentLength() : 
contentLength;
+               return contentLength == 0 ? 
req.getHttpServletRequest().getContentLength() : contentLength;
        }
 
 
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestFormData.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestFormData.java
index cc8e107..8616f4d 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestFormData.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestFormData.java
@@ -855,7 +855,7 @@ public class RequestFormData extends 
LinkedHashMap<String,String[]> {
        /* Workhorse method */
        private <T> T getInner(HttpPartParserSession parser, HttpPartSchema 
schema, String name, T def, ClassMeta<T> cm) throws BadRequest, 
InternalServerError {
                if (parser == null)
-                       parser = req.getPartParser();
+                       parser = req.getPartParserSession();
                try {
                        if (cm.isMapOrBean() && isOneOf(name, "*", "")) {
                                OMap m = new OMap();
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestHeaders.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestHeaders.java
index 0d46806..ae4d721 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestHeaders.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestHeaders.java
@@ -511,7 +511,7 @@ public class RequestHeaders extends 
TreeMap<String,String[]> {
        /* Workhorse method */
        private <T> T getInner(HttpPartParserSession parser, HttpPartSchema 
schema, String name, T def, ClassMeta<T> cm) throws BadRequest, 
InternalServerError {
                if (parser == null)
-                       parser = req.getPartParser();
+                       parser = req.getPartParserSession();
                try {
                        if (cm.isMapOrBean() && isOneOf(name, "*", "")) {
                                OMap m = new OMap();
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestPath.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestPath.java
index e124e84..d7e83ae 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestPath.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestPath.java
@@ -244,7 +244,7 @@ public class RequestPath extends TreeMap<String,String> {
        /* Workhorse method */
        private <T> T getInner(HttpPartParserSession parser, HttpPartSchema 
schema, String name, T def, ClassMeta<T> cm) throws BadRequest, 
InternalServerError {
                if (parser == null)
-                       parser = req.getPartParser();
+                       parser = req.getPartParserSession();
                try {
                        if (cm.isMapOrBean() && isOneOf(name, "*", "")) {
                                OMap m = new OMap();
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestQuery.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestQuery.java
index 18adc18..741f770 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestQuery.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RequestQuery.java
@@ -640,7 +640,7 @@ public final class RequestQuery extends 
LinkedHashMap<String,String[]> {
        /* Workhorse method */
        private <T> T getInner(HttpPartParserSession parser, HttpPartSchema 
schema, String name, T def, ClassMeta<T> cm) throws BadRequest, 
InternalServerError {
                if (parser == null)
-                       parser = req.getPartParser();
+                       parser = req.getPartParserSession();
                try {
                        if (cm.isMapOrBean() && isOneOf(name, "*", "")) {
                                OMap m = new OMap();
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
index e8a5429..d5d35a8 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
@@ -97,46 +97,50 @@ import org.apache.juneau.utils.*;
 @SuppressWarnings({ "unchecked", "unused" })
 public final class RestRequest extends HttpServletRequestWrapper {
 
+       // Constructor initialized.
        private HttpServletRequest inner;
        private final RestContext context;
        private final RestOperationContext opContext;
+       private final RequestBody body;
+       private final BeanSession beanSession;
+       private final RequestQuery queryParams;
+       private final RequestPath pathParams;
+       private final RequestHeaders headers;
+       private final RequestAttributes attrs;
+       private final HttpPartSerializerSession partSerializerSession;
+       private final HttpPartParserSession partParserSession;
+       private final RestCall call;
+
+       // Post-constructor initialized.
+       private RestResponse res;
 
-       private final String method;
-       private RequestBody body;
-       private BeanSession beanSession;
+       // Lazy initialized.
        private VarResolverSession varSession;
-       private final RequestQuery queryParams;
        private RequestFormData formData;
-       private RequestPath pathParams;
        private UriContext uriContext;
        private String charset, authorityPath;
-       private RequestHeaders headers;
-       private RequestAttributes attrs;
-       private Config cf;
+       private Config config;
        private Swagger swagger;
        private SerializerSessionArgs serializerSessionArgs;
        private ParserSessionArgs parserSessionArgs;
-       private RestResponse res;
-       private HttpPartSerializerSession partSerializerSession;
-       private HttpPartParserSession partParserSession;
-       private final RestCall call;
 
        /**
         * Constructor.
         */
-       RestRequest(RestCall call, RestOperationContext roc) throws Exception {
+       RestRequest(RestCall call, RestOperationContext opContext) throws 
Exception {
                super(call.getRequest());
-               HttpServletRequest req = call.getRequest();
-               this.inner = req;
-               call.restRequest(this);
-               this.context = call.getContext();
+
                this.call = call;
+               this.opContext = opContext;
+
+               inner = call.getRequest();
+               call.restRequest(this);
+
+               context = call.getContext();
 
                queryParams = new RequestQuery(this);
                queryParams.putAll(call.getQueryParams());
 
-               method = call.getMethod();
-
                headers = new RequestHeaders(this);
                for (Enumeration<String> e = getHeaderNames(); 
e.hasMoreElements();) {
                        String name = e.nextElement();
@@ -159,28 +163,27 @@ public final class RestRequest extends 
HttpServletRequestWrapper {
 
                this.pathParams = new RequestPath(call);
 
-               this.opContext = roc;
-               this.beanSession = roc.createSession();
-               this.partParserSession = 
roc.getPartParser().createPartSession(getParserSessionArgs());
-               this.partSerializerSession = 
roc.getPartSerializer().createPartSession(getSerializerSessionArgs());
+               this.beanSession = opContext.createSession();
+               this.partParserSession = 
opContext.getPartParser().createPartSession(getParserSessionArgs());
+               this.partSerializerSession = 
opContext.getPartSerializer().createPartSession(getSerializerSessionArgs());
                this.pathParams
                        .parser(partParserSession);
                this.queryParams
-                       .addDefault(roc.getDefaultRequestQuery())
+                       .addDefault(opContext.getDefaultRequestQuery())
                        .parser(partParserSession);
                this.headers
-                       .addDefault(roc.getDefaultRequestHeaders())
+                       .addDefault(opContext.getDefaultRequestHeaders())
                        .addDefault(context.getDefaultRequestHeaders())
                        .parser(partParserSession);
                this.attrs = new RequestAttributes(this);
                this.attrs
-                       .addDefault(roc.getDefaultRequestAttributes())
+                       .addDefault(opContext.getDefaultRequestAttributes())
                        .addDefault(context.getDefaultRequestAttributes());
                this.body
-                       .encoders(roc.getEncoders())
-                       .parsers(roc.getParsers())
+                       .encoders(opContext.getEncoders())
+                       .parsers(opContext.getParsers())
                        .headers(headers)
-                       .maxInput(roc.getMaxInput());
+                       .maxInput(opContext.getMaxInput());
 
                if (isDebug())
                        inner = CachingHttpServletRequest.wrap(inner);
@@ -267,38 +270,6 @@ public final class RestRequest extends 
HttpServletRequestWrapper {
        }
 
        /**
-        * Returns the media types that are valid for <c>Accept</c> headers on 
the request.
-        *
-        * @return The set of media types registered in the serializer group of 
this request.
-        */
-       public List<MediaType> getProduces() {
-               return opContext.getSupportedAcceptTypes();
-       }
-
-       /**
-        * Returns the media types that are valid for <c>Content-Type</c> 
headers on the request.
-        *
-        * @return The set of media types registered in the parser group of 
this request.
-        */
-       public List<MediaType> getConsumes() {
-               return opContext.getSupportedContentTypes();
-       }
-
-       /**
-        * Returns the {@link ContextProperties} for this request.
-        *
-        * <p>
-        * Consists of a read-only roll-up of all configuration properties 
defined on this method and class.
-        *
-        * @return
-        *      The property store for this request.
-        *      <br>Never <jk>null</jk>.
-        */
-       public ContextProperties getContextProperties() {
-               return opContext.getContextProperties();
-       }
-
-       /**
         * Sets the charset to expect on the request body.
         */
        @Override /* ServletRequest */
@@ -420,30 +391,6 @@ public final class RestRequest extends 
HttpServletRequestWrapper {
                return attrs;
        }
 
-       /**
-        * Same as {@link #getAttribute(String)} but returns a default value if 
not found.
-        *
-        * @param name The request attribute name.
-        * @param def The default value if the attribute doesn't exist.
-        * @return The request attribute value.
-        */
-       public Object getAttribute(String name, Object def) {
-               Object o = super.getAttribute(name);
-               return (o == null ? def : o);
-       }
-
-       /**
-        * Shorthand method for calling {@link #setAttribute(String, Object)} 
fluently.
-        *
-        * @param name The request attribute name.
-        * @param value The request attribute value.
-        * @return This object (for method chaining).
-        */
-       public RestRequest attr(String name, Object value) {
-               setAttribute(name, value);
-               return this;
-       }
-
        
//-----------------------------------------------------------------------------------------------------------------
        // Query parameters
        
//-----------------------------------------------------------------------------------------------------------------
@@ -560,7 +507,7 @@ public final class RestRequest extends 
HttpServletRequestWrapper {
        public RequestFormData getFormData() throws InternalServerError {
                try {
                        if (formData == null) {
-                               formData = new RequestFormData(this, 
getPartParser());
+                               formData = new RequestFormData(this, 
partParserSession);
                                if (! body.isLoaded()) {
                                        formData.putAll(getParameterMap());
                                } else {
@@ -727,11 +674,6 @@ public final class RestRequest extends 
HttpServletRequestWrapper {
                return getBody().getInputStream();
        }
 
-       ServletInputStream getRawInputStream() throws IOException {
-               return inner.getInputStream();
-       }
-
-
        
//-----------------------------------------------------------------------------------------------------------------
        // URI-related methods
        
//-----------------------------------------------------------------------------------------------------------------
@@ -872,43 +814,31 @@ public final class RestRequest extends 
HttpServletRequestWrapper {
                return context.getSwagger(getLocale());
        }
 
-       
//-----------------------------------------------------------------------------------------------------------------
-       // Other methods
-       
//-----------------------------------------------------------------------------------------------------------------
-
        /**
-        * Returns the serializers associated with this request.
-        *
-        * <ul class='seealso'>
-        *      <li class='link'>{@doc RestSerializers}
-        * </ul>
+        * Returns the swagger for the Java method invoked.
         *
-        * @return The serializers associated with this request.
+        * @return The swagger for the Java method as an {@link Optional}.  
Never <jk>null</jk>.
         */
-       public SerializerGroup getSerializers() {
-               return opContext.getSerializers();
-       }
+       public Optional<Operation> getOperationSwagger() {
 
-       /**
-        * Returns the parsers associated with this request.
-        *
-        * <ul class='seealso'>
-        *      <li class='link'>{@doc RestParsers}
-        * </ul>
-        *
-        * @return The parsers associated with this request.
-        */
-       public ParserGroup getParsers() {
-               return opContext.getParsers();
+               Optional<Swagger> swagger = getSwagger();
+               if (! swagger.isPresent())
+                       return Optional.empty();
+
+               return swagger.get().operation(opContext.getPathPattern(), 
getMethod().toLowerCase());
        }
 
+       
//-----------------------------------------------------------------------------------------------------------------
+       // Other methods
+       
//-----------------------------------------------------------------------------------------------------------------
+
        /**
         * Returns the part serializer associated with this request.
         *
         * @return The part serializer associated with this request.
         */
-       public HttpPartParserSession getPartParser() {
-               return partParserSession == null ? 
OpenApiParser.DEFAULT.createPartSession(null) : partParserSession;
+       public HttpPartParserSession getPartParserSession() {
+               return partParserSession;
        }
 
        /**
@@ -916,8 +846,8 @@ public final class RestRequest extends 
HttpServletRequestWrapper {
         *
         * @return The part serializer associated with this request.
         */
-       public HttpPartSerializerSession getPartSerializer() {
-               return partSerializerSession == null ? 
OpenApiSerializer.DEFAULT.createPartSession(null) : partSerializerSession;
+       public HttpPartSerializerSession getPartSerializerSession() {
+               return partSerializerSession;
        }
 
        /**
@@ -929,7 +859,7 @@ public final class RestRequest extends 
HttpServletRequestWrapper {
         */
        @Override /* ServletRequest */
        public String getMethod() {
-               return method;
+               return call.getMethod();
        }
 
        @Override /* ServletRequest */
@@ -937,10 +867,6 @@ public final class RestRequest extends 
HttpServletRequestWrapper {
                return getBody().getContentLength();
        }
 
-       int getRawContentLength() {
-               return super.getContentLength();
-       }
-
        /**
         * Returns <jk>true</jk> if <c>&amp;plainText=true</c> was specified as 
a URL parameter.
         *
@@ -1019,8 +945,6 @@ public final class RestRequest extends 
HttpServletRequestWrapper {
         * @return The request bean session.
         */
        public BeanSession getBeanSession() {
-               if (beanSession == null)
-                       beanSession = context.createBeanSession();
                return beanSession;
        }
 
@@ -1216,9 +1140,9 @@ public final class RestRequest extends 
HttpServletRequestWrapper {
         *      associated with it.
         */
        public Config getConfig() {
-               if (cf == null)
-                       cf = 
context.getConfig().resolving(getVarResolverSession());
-               return cf;
+               if (config == null)
+                       config = 
context.getConfig().resolving(getVarResolverSession());
+               return config;
        }
 
        /**
@@ -1284,7 +1208,7 @@ public final class RestRequest extends 
HttpServletRequestWrapper {
                                        public Object invoke(Object proxy, 
Method method, Object[] args) throws Throwable {
                                                RequestBeanPropertyMeta pm = 
rbm.getProperty(method.getName());
                                                if (pm != null) {
-                                                       HttpPartParserSession 
pp = pm.getParser(getPartParser());
+                                                       HttpPartParserSession 
pp = pm.getParser(getPartParserSession());
                                                        HttpPartSchema schema = 
pm.getSchema();
                                                        String name = 
pm.getPartName();
                                                        ClassMeta<?> type = 
getContext().getClassMeta(method.getGenericReturnType());
@@ -1317,7 +1241,8 @@ public final class RestRequest extends 
HttpServletRequestWrapper {
                        String h = e.nextElement();
                        sb.append("\t").append(h).append(": 
").append(getHeader(h)).append("\n");
                }
-               if (method.equals("PUT") || method.equals("POST")) {
+               String m = getMethod();
+               if (m.equals("PUT") || m.equals("POST")) {
                        try {
                                sb.append("---Body UTF-8---\n");
                                sb.append(body.asString()).append("\n");
@@ -1367,9 +1292,9 @@ public final class RestRequest extends 
HttpServletRequestWrapper {
        }
 
        void close() {
-               if (cf != null) {
+               if (config != null) {
                        try {
-                               cf.close();
+                               config.close();
                        } catch (IOException e) {
                                e.printStackTrace();
                        }
@@ -1416,25 +1341,11 @@ public final class RestRequest extends 
HttpServletRequestWrapper {
        }
 
        /**
-        * Returns the swagger for the Java method invoked.
-        *
-        * @return The swagger for the Java method as an {@link Optional}.  
Never <jk>null</jk>.
-        */
-       public Optional<Operation> getMethodSwagger() {
-
-               Optional<Swagger> swagger = context.getSwagger(getLocale());
-               if (! swagger.isPresent())
-                       return Optional.empty();
-
-               return swagger.get().operation(opContext.getPathPattern(), 
getMethod().toLowerCase());
-       }
-
-       /**
         * Returns the wrapped servlet request.
         *
         * @return The wrapped servlet request.
         */
-       public HttpServletRequest getInner() {
+       public HttpServletRequest getHttpServletRequest() {
                return inner;
        }
 
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
index 763ce01..f96fe8b 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
@@ -540,7 +540,7 @@ public final class RestResponse extends 
HttpServletResponseWrapper {
         */
        public RestResponse header(HttpPartSerializerSession serializer, 
HttpPartSchema schema, String name, Object value) throws 
SchemaValidationException, SerializeException {
                if (serializer == null)
-                       serializer = request.getPartSerializer();
+                       serializer = request.getPartSerializerSession();
                setHeader(name, serializer.serialize(HEADER, schema, value));
                return this;
        }
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 8dc1e85..aef1a57 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
@@ -336,7 +336,7 @@ public class BasicRestLogger implements RestLogger {
 
        private byte[] getRequestBody(HttpServletRequest req) {
                if (req instanceof RestRequest)
-                       req = ((RestRequest)req).getInner();
+                       req = ((RestRequest)req).getHttpServletRequest();
                if (req instanceof CachingHttpServletRequest)
                        return ((CachingHttpServletRequest)req).getBody();
                return castOrNull(req.getAttribute("RequestBody"), 
byte[].class);
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/FormDataParam.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/FormDataParam.java
index 8569aba..d053ca9 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/FormDataParam.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/FormDataParam.java
@@ -96,7 +96,7 @@ public class FormDataParam implements RestOperationParam {
        @Override /* RestOperationParam */
        public Object resolve(RestCall call) throws Exception {
                RestRequest req = call.getRestRequest();
-               HttpPartParserSession ps = partParser == null ? 
req.getPartParser() : partParser.createPartSession(req.getParserSessionArgs());
+               HttpPartParserSession ps = partParser == null ? 
req.getPartParserSession() : 
partParser.createPartSession(req.getParserSessionArgs());
                RequestFormData fd = req.getFormData();
                return multi ? fd.getAll(ps, schema, name, type.innerType()) : 
fd.get(ps, schema, name, type.innerType());
        }
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/HeaderParam.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/HeaderParam.java
index 1fa1070..95d6fdb 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/HeaderParam.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/HeaderParam.java
@@ -96,7 +96,7 @@ public class HeaderParam implements RestOperationParam {
        @Override /* RestOperationParam */
        public Object resolve(RestCall call) throws Exception {
                RestRequest req = call.getRestRequest();
-               HttpPartParserSession ps = partParser == null ? 
req.getPartParser() : partParser.createPartSession(req.getParserSessionArgs());
+               HttpPartParserSession ps = partParser == null ? 
req.getPartParserSession() : 
partParser.createPartSession(req.getParserSessionArgs());
                RequestHeaders rh = call.getRestRequest().getHeaders();
                return multi ? rh.getAll(ps, schema, name, type.innerType()) : 
rh.get(ps, schema, name, type.innerType());
        }
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/PathParam.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/PathParam.java
index ccf2a60..8d2e7fd 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/PathParam.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/PathParam.java
@@ -102,7 +102,7 @@ public class PathParam implements RestOperationParam {
        @Override /* RestOperationParam */
        public Object resolve(RestCall call) throws Exception {
                RestRequest req = call.getRestRequest();
-               HttpPartParserSession ps = partParser == null ? 
req.getPartParser() : partParser.createPartSession(req.getParserSessionArgs());
+               HttpPartParserSession ps = partParser == null ? 
req.getPartParserSession() : 
partParser.createPartSession(req.getParserSessionArgs());
                return call.getRestRequest().getPathMatch().get(ps, schema, 
name, type);
        }
 }
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/QueryParam.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/QueryParam.java
index af7d26a..131e5a6 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/QueryParam.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/QueryParam.java
@@ -92,7 +92,7 @@ public class QueryParam implements RestOperationParam {
        @Override /* RestOperationParam */
        public Object resolve(RestCall call) throws Exception {
                RestRequest req = call.getRestRequest();
-               HttpPartParserSession ps = partParser == null ? 
req.getPartParser() : partParser.createPartSession(req.getParserSessionArgs());
+               HttpPartParserSession ps = partParser == null ? 
req.getPartParserSession() : 
partParser.createPartSession(req.getParserSessionArgs());
                RequestQuery rq = req.getQuery();
                return multi ? rq.getAll(ps, schema, name, type.innerType()) : 
rq.get(ps, schema, name, type.innerType());
        }
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/ResponseHeaderParam.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/ResponseHeaderParam.java
index 3f0eb7b..822ee27 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/ResponseHeaderParam.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/params/ResponseHeaderParam.java
@@ -91,7 +91,7 @@ public class ResponseHeaderParam implements 
RestOperationParam {
                                        ResponsePartMeta rpm = 
req.getResponseHeaderMeta(o);
                                        if (rpm == null)
                                                rpm = 
ResponseHeaderParam.this.meta;
-                                       HttpPartSerializerSession pss = 
rpm.getSerializer() == null ? req.getPartSerializer() : 
rpm.getSerializer().createPartSession(req.getSerializerSessionArgs());
+                                       HttpPartSerializerSession pss = 
rpm.getSerializer() == null ? req.getPartSerializerSession() : 
rpm.getSerializer().createPartSession(req.getSerializerSessionArgs());
                                        res.setHeader(new HttpPart(name, 
HttpPartType.HEADER, rpm.getSchema(), pss, o));
                                } catch (SerializeException | 
SchemaValidationException e) {
                                        throw new RuntimeException(e);
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/reshandlers/DefaultHandler.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/reshandlers/DefaultHandler.java
index dbc7b59..a3f34c8 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/reshandlers/DefaultHandler.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/reshandlers/DefaultHandler.java
@@ -98,7 +98,7 @@ public class DefaultHandler implements ResponseHandler {
                                                                String k = 
stringify(e.getKey());
                                                                Object v = 
e.getValue();
                                                                HttpPartSchema 
s = hm.getSchema().getProperty(k);
-                                                               
res.setHeader(new HttpPart(k, RESPONSE_HEADER, s, 
hm.getSerializer(req.getPartSerializer()), v));
+                                                               
res.setHeader(new HttpPart(k, RESPONSE_HEADER, s, 
hm.getSerializer(req.getPartSerializerSession()), v));
                                                        } else if (ho2 
instanceof NameValuePair) {
                                                                NameValuePair p 
= (NameValuePair)ho2;
                                                                
res.setHeader(p.getName(), p.getValue());
@@ -111,7 +111,7 @@ public class DefaultHandler implements ResponseHandler {
                                                        NameValuePair p = 
(NameValuePair)ho;
                                                        
res.setHeader(p.getName(), p.getValue());
                                                } else {
-                                                       res.setHeader(new 
HttpPart(n, RESPONSE_HEADER, hm.getSchema(), 
hm.getSerializer(req.getPartSerializer()), ho));
+                                                       res.setHeader(new 
HttpPart(n, RESPONSE_HEADER, hm.getSchema(), 
hm.getSerializer(req.getPartSerializerSession()), ho));
                                                }
                                        }
                                } catch (Exception e) {
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/RequestSwaggerVar.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/RequestSwaggerVar.java
index b288ada..bcb6a44 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/RequestSwaggerVar.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/RequestSwaggerVar.java
@@ -95,7 +95,7 @@ public class RequestSwaggerVar extends MultipartResolvingVar {
                        RestRequest req = 
session.getBean(RestRequest.class).orElseThrow(InternalServerError::new);
                        Optional<Swagger> swagger = req.getSwagger();
                        WriterSerializer s = SimpleJsonSerializer.DEFAULT;
-                       Optional<Operation> methodSwagger = 
req.getMethodSwagger();
+                       Optional<Operation> methodSwagger = 
req.getOperationSwagger();
                        char c = StringUtils.charAt(key, 0);
                        if (c == 'c') {
                                if ("contact".equals(key))
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/SerializedRequestAttrVar.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/SerializedRequestAttrVar.java
index f4ed05f..2822db4 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/SerializedRequestAttrVar.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/SerializedRequestAttrVar.java
@@ -60,7 +60,7 @@ public class SerializedRequestAttrVar extends StreamedVar {
                Object o = req.getAttribute(key);
                if (o == null)
                        o = key;
-               Serializer s = req.getSerializers().getSerializer(s2[0]);
+               Serializer s = 
req.getOpContext().getSerializers().getSerializer(s2[0]);
                if (s != null)
                        s.serialize(w, o);
        }
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/ContentTypeMenuItem.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/ContentTypeMenuItem.java
index 00794a1..320d53e 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/ContentTypeMenuItem.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/widget/ContentTypeMenuItem.java
@@ -68,7 +68,7 @@ public class ContentTypeMenuItem extends MenuItemWidget {
        public Div getContent(RestRequest req, RestResponse res) {
                Div div = div();
                Set<MediaType> l = new TreeSet<>();
-               for (Serializer s : req.getSerializers().getSerializers())
+               for (Serializer s : 
req.getOpContext().getSerializers().getSerializers())
                        l.add(s.getPrimaryMediaType());
                for (MediaType mt : l) {
                        URI uri = req.getUri(true, 
AMap.of("plainText","true","Accept",mt.toString()));
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Restx_Parsers_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Restx_Parsers_Test.java
index 9c0564a..d5d3164 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Restx_Parsers_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/Restx_Parsers_Test.java
@@ -221,17 +221,17 @@ public class Restx_Parsers_Test {
                @RestOp
                public OList a(RestRequest req) {
                        // Should show ['text/p3','text/p4','text/p1','text/p2']
-                       return OList.of(req.getConsumes());
+                       return 
OList.of(req.getOpContext().getSupportedContentTypes());
                }
                @RestOp(parsers=P5.class)
                public OList b(RestRequest req) {
                        // Should show ['text/p5']
-                       return OList.of(req.getConsumes());
+                       return 
OList.of(req.getOpContext().getSupportedContentTypes());
                }
                @RestOp(parsers={P5.class,Inherit.class})
                public OList c(RestRequest req) {
                        // Should show 
['text/p5','text/p3','text/p4','text/p1','text/p2']
-                       return OList.of(req.getConsumes());
+                       return 
OList.of(req.getOpContext().getSupportedContentTypes());
                }
        }
 

Reply via email to