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

commit ab4ca16edd7bfe620453a36339efc44490933b3f
Author: JamesBognar <[email protected]>
AuthorDate: Thu Sep 9 13:49:55 2021 -0400

    Context API refactoring.
---
 .../java/org/apache/juneau/httppart/HttpPart.java  | 37 ----------------------
 .../juneau/httppart/HttpPartParserSession.java     | 35 --------------------
 .../juneau/httppart/SimplePartParserSession.java   | 15 ---------
 .../apache/juneau/oapi/OpenApiParserSession.java   |  2 +-
 .../org/apache/juneau/uon/UonParserSession.java    | 10 ------
 .../juneau/examples/core/oapi/OapiExample.java     |  2 +-
 .../juneau/httppart/OpenApiPartParser_Test.java    |  2 +-
 .../java/org/apache/juneau/oapi/OpenApiTest.java   |  2 +-
 .../apache/juneau/testutils/MockReaderParser.java  | 11 -------
 9 files changed, 4 insertions(+), 112 deletions(-)

diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPart.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPart.java
index d4adf60..e5bd0b0 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPart.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPart.java
@@ -15,7 +15,6 @@ package org.apache.juneau.httppart;
 import static org.apache.juneau.internal.ExceptionUtils.*;
 
 import org.apache.http.*;
-import org.apache.juneau.parser.ParseException;
 
 /**
  * Represents an instance of an HTTP part.
@@ -30,7 +29,6 @@ public class HttpPart implements NameValuePair {
        private final HttpPartType partType;
        private final HttpPartSchema schema;
        private final HttpPartSerializerSession serializer;
-       private final HttpPartParserSession parser;
 
        /**
         * Constructor.
@@ -51,29 +49,6 @@ public class HttpPart implements NameValuePair {
                this.serializer = serializer;
                this.opart = part;
                this.spart = null;
-               this.parser = null;
-       }
-
-       /**
-        * Constructor.
-        *
-        * <p>
-        * Used when the part is in String form and needs to be converted to a 
POJO.
-        *
-        * @param name The HTTP part name (e.g. the header name).
-        * @param partType The HTTP part type.
-        * @param schema Schema information about the part.
-        * @param parser The part parser to use to parse the part.
-        * @param part The part string being parsed.
-        */
-       public HttpPart(String name, HttpPartType partType, HttpPartSchema 
schema, HttpPartParserSession parser, String part) {
-               this.name = name;
-               this.partType = partType;
-               this.schema = schema;
-               this.parser = parser;
-               this.spart = part;
-               this.serializer = null;
-               this.opart = null;
        }
 
        @Override /* NameValuePair */
@@ -91,16 +66,4 @@ public class HttpPart implements NameValuePair {
                        throw runtimeException(e);
                }
        }
-
-       /**
-        * Returns the value of the part converted to a string.
-        *
-        * @param c The type to convert to.
-        * @return The value of the part converted to a string.
-        * @throws SchemaValidationException HTTP part failed schema validation.
-        * @throws ParseException Malformed input encountered.
-        */
-       public <T> T asType(Class<T> c) throws SchemaValidationException, 
ParseException {
-               return parser.parse(partType, schema, spart, c);
-       }
 }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartParserSession.java
index 9e13d73..e12068a 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/HttpPartParserSession.java
@@ -12,8 +12,6 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.httppart;
 
-import java.lang.reflect.*;
-
 import org.apache.juneau.*;
 import org.apache.juneau.parser.*;
 
@@ -41,37 +39,4 @@ public interface HttpPartParserSession {
         * @throws SchemaValidationException If the input or resulting HTTP 
part object fails schema validation.
         */
        public <T> T parse(HttpPartType partType, HttpPartSchema schema, String 
in, ClassMeta<T> toType) throws ParseException, SchemaValidationException;
-
-       /**
-        * Converts the specified input to the specified class type.
-        *
-        * @param partType The part type being parsed.
-        * @param schema
-        *      Schema information about the part.
-        *      <br>May be <jk>null</jk>.
-        *      <br>Not all part parsers use the schema information.
-        * @param in The input being parsed.
-        * @param toType The POJO type to transform the input into.
-        * @return The parsed value.
-        * @throws ParseException Malformed input encountered.
-        * @throws SchemaValidationException If the input or resulting HTTP 
part object fails schema validation.
-        */
-       public <T> T parse(HttpPartType partType, HttpPartSchema schema, String 
in, Class<T> toType) throws ParseException, SchemaValidationException;
-
-       /**
-        * Converts the specified input to the specified class type.
-        *
-        * @param partType The part type being parsed.
-        * @param schema
-        *      Schema information about the part.
-        *      <br>May be <jk>null</jk>.
-        *      <br>Not all part parsers use the schema information.
-        * @param in The input being parsed.
-        * @param toType The POJO type to transform the input into.
-        * @param toTypeArgs The POJO type arguments for Collection and Map 
types.
-        * @return The parsed value.
-        * @throws ParseException Malformed input encountered.
-        * @throws SchemaValidationException If the input or resulting HTTP 
part object fails schema validation.
-        */
-       public <T> T parse(HttpPartType partType, HttpPartSchema schema, String 
in, Type toType, Type...toTypeArgs) throws ParseException, 
SchemaValidationException;
 }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/SimplePartParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/SimplePartParserSession.java
index 2ccd0b8..223298b 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/SimplePartParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/httppart/SimplePartParserSession.java
@@ -12,8 +12,6 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.httppart;
 
-import java.lang.reflect.*;
-
 import org.apache.juneau.*;
 import org.apache.juneau.internal.*;
 import org.apache.juneau.parser.*;
@@ -31,17 +29,4 @@ public class SimplePartParserSession extends 
BaseHttpPartParserSession {
        public <T> T parse(HttpPartType partType, HttpPartSchema schema, String 
in, ClassMeta<T> toType) throws ParseException, SchemaValidationException {
                return ClassUtils.fromString(toType.getInnerClass(), in);
        }
-
-       @Override /* HttpPartParserSession */
-       public <T> T parse(HttpPartType partType, HttpPartSchema schema, String 
in, Class<T> toType) throws ParseException, SchemaValidationException {
-               return ClassUtils.fromString(toType, in);
-       }
-
-       @SuppressWarnings("unchecked")
-       @Override /* HttpPartParserSession */
-       public <T> T parse(HttpPartType partType, HttpPartSchema schema, String 
in, Type toType, Type...toTypeArgs) throws ParseException, 
SchemaValidationException {
-               if (toType instanceof Class)
-                       return (T)ClassUtils.fromString((Class<?>)toType, in);
-               return null;
-       }
 }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserSession.java
index 08d214c..48fc4e5 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserSession.java
@@ -306,7 +306,7 @@ public class OpenApiParserSession extends UonParserSession {
                                                BeanPropertyMeta bpm = 
m.getPropertyMeta(key);
                                                if (bpm == null && ! 
isIgnoreUnknownBeanProperties())
                                                        throw new 
ParseException("Invalid input {0} for part type OBJECT.  Cannot find property 
{1}", in, key);
-                                               m.put(key, parse(partType, 
schema.getProperty(key), value, bpm == null ? object() : bpm.getClassMeta()));
+                                               m.put(key, parse(partType, 
schema.getProperty(key), value, ((ClassMeta<T>)(bpm == null ? object() : 
bpm.getClassMeta()))));
                                        }
                                        return m.getBean();
                                }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserSession.java
index 5112ddb..4a0f429 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserSession.java
@@ -133,16 +133,6 @@ public class UonParserSession extends ReaderParserSession 
implements HttpPartPar
                }
        }
 
-       @Override /* HttpPartParserSession */
-       public <T> T parse(HttpPartType partType, HttpPartSchema schema, String 
in, Class<T> toType) throws ParseException, SchemaValidationException {
-               return parse(null, schema, in, getClassMeta(toType));
-       }
-
-       @Override /* HttpPartParserSession */
-       public <T> T parse(HttpPartType partType, HttpPartSchema schema, String 
in, Type toType, Type...toTypeArgs) throws ParseException, 
SchemaValidationException {
-               return (T)parse(null, schema, in, getClassMeta(toType, 
toTypeArgs));
-       }
-
        /**
         * Workhorse method.
         *
diff --git 
a/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/oapi/OapiExample.java
 
b/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/oapi/OapiExample.java
index 4429f97..5b611d3 100644
--- 
a/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/oapi/OapiExample.java
+++ 
b/juneau-examples/juneau-examples-core/src/main/java/org/apache/juneau/examples/core/oapi/OapiExample.java
@@ -75,7 +75,7 @@ public class OapiExample {
 
                // Convert BASE64-encoded string back into a POJO.
                HttpPartParser p = OpenApiParser.DEFAULT;
-               pojo = p.createPartSession(null).parse(HEADER, schemab, 
httpPart, Pojo.class);
+               pojo = p.createPartSession(null).parse(HEADER, schemab, 
httpPart, oapiParser.getClassMeta(Pojo.class));
 
                // The object above can be parsed thanks to the 
@Beanc(properties = id,name) annotation on Pojo
                // Using this approach, you can keep your POJOs immutable, and 
still serialize and deserialize them.
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/httppart/OpenApiPartParser_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/httppart/OpenApiPartParser_Test.java
index 1ca836c..5611aef 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/httppart/OpenApiPartParser_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/httppart/OpenApiPartParser_Test.java
@@ -35,7 +35,7 @@ public class OpenApiPartParser_Test {
        static OpenApiParserSession p = OpenApiParser.DEFAULT.createSession();
 
        private static <T> T parse(HttpPartSchema schema, String input, 
Class<T> type) throws SchemaValidationException, ParseException {
-               return p.parse(null, schema, input, type);
+               return p.parse(null, schema, input, p.getClassMeta(type));
        }
 
        private static <T> T parse(HttpPartSchema schema, String input, 
Class<T> type, Type...args) throws SchemaValidationException, ParseException {
diff --git a/juneau-utest/src/test/java/org/apache/juneau/oapi/OpenApiTest.java 
b/juneau-utest/src/test/java/org/apache/juneau/oapi/OpenApiTest.java
index cdb88fb..2f36813 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/oapi/OpenApiTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/oapi/OpenApiTest.java
@@ -41,7 +41,7 @@ public class OpenApiTest {
        }
 
        private <T> T parse(HttpPartSchema schema, String in, Class<T> c, 
Class<?>...args) throws Exception {
-               return DP.createSession().parse(null, schema, in, c, args);
+               return DP.createSession().parse(null, schema, in, 
DP.getClassMeta(c, args));
        }
 
        @Before
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/testutils/MockReaderParser.java 
b/juneau-utest/src/test/java/org/apache/juneau/testutils/MockReaderParser.java
index ce89aa6..647ea56 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/testutils/MockReaderParser.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/testutils/MockReaderParser.java
@@ -54,22 +54,11 @@ public class MockReaderParser extends ReaderParser 
implements HttpPartParser {
        @Override
        public HttpPartParserSession createPartSession(ParserSessionArgs args) {
                return new HttpPartParserSession() {
-
                        @Override
                        @SuppressWarnings("unchecked")
                        public <T> T parse(HttpPartType partType, 
HttpPartSchema schema, String in, ClassMeta<T> toType) throws ParseException, 
SchemaValidationException {
                                return (T)partFunction.apply(partType, schema, 
in, toType);
                        }
-
-                       @Override
-                       public <T> T parse(HttpPartType partType, 
HttpPartSchema schema, String in, Class<T> toType) throws ParseException, 
SchemaValidationException {
-                               throw new NoSuchMethodError("Not implemented.");
-                       }
-
-                       @Override
-                       public <T> T parse(HttpPartType partType, 
HttpPartSchema schema, String in, Type toType, Type... toTypeArgs) throws 
ParseException, SchemaValidationException {
-                               throw new NoSuchMethodError("Not implemented.");
-                       }
                };
        }
 

Reply via email to