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.");
- }
};
}