Eliminate ClassMeta dependencies from Parser. Clean up docs. Project: http://git-wip-us.apache.org/repos/asf/incubator-juneau/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-juneau/commit/30dd3b93 Tree: http://git-wip-us.apache.org/repos/asf/incubator-juneau/tree/30dd3b93 Diff: http://git-wip-us.apache.org/repos/asf/incubator-juneau/diff/30dd3b93
Branch: refs/heads/master Commit: 30dd3b93677907ccbbac7594985f0f8a6f2cba64 Parents: 642f5dd Author: JamesBognar <[email protected]> Authored: Tue Feb 7 20:15:48 2017 -0500 Committer: JamesBognar <[email protected]> Committed: Tue Feb 7 20:15:48 2017 -0500 ---------------------------------------------------------------------- .../apache/juneau/jena/RdfCommonContext.java | 34 +- .../java/org/apache/juneau/jena/RdfParser.java | 10 +- .../apache/juneau/jena/RdfParserContext.java | 6 +- .../org/apache/juneau/jena/RdfSerializer.java | 8 +- .../juneau/jena/RdfSerializerContext.java | 6 +- .../juneau/jena/annotation/RdfSchema.java | 2 +- .../juneau/a/rttests/RoundTripBeanMapsTest.java | 67 +- .../juneau/a/rttests/RoundTripMapsTest.java | 22 +- .../a/rttests/RoundTripPrimitivesBeansTest.java | 4 +- .../a/rttests/RoundTripSimpleObjectsTest.java | 2 +- .../apache/juneau/a/rttests/RoundTripTest.java | 28 +- .../a/rttests/RoundTripToObjectMapsTest.java | 6 +- .../juneau/dto/html5/BasicHtmlSchemaTest.java | 4 +- .../juneau/dto/html5/HtmlTemplatesTest.java | 4 +- .../java/org/apache/juneau/jena/CommonTest.java | 3 +- .../java/org/apache/juneau/jena/RdfTest.java | 3 +- .../java/org/apache/juneau/json/JsonTest.java | 6 +- .../transforms/ByteArrayBase64SwapTest.java | 9 +- .../CommonParser_UrlEncodingTest.java | 3 +- .../juneau/urlencoding/UonParserTest.java | 62 +- .../urlencoding/UrlEncodingParserTest.java | 42 +- .../java/org/apache/juneau/BeanContext.java | 215 ++-- .../main/java/org/apache/juneau/BeanMap.java | 8 +- .../java/org/apache/juneau/BeanMapEntry.java | 2 +- .../main/java/org/apache/juneau/BeanMeta.java | 2 +- .../org/apache/juneau/BeanPropertyMeta.java | 6 +- .../java/org/apache/juneau/BeanRegistry.java | 20 +- .../java/org/apache/juneau/BeanSession.java | 120 +- .../main/java/org/apache/juneau/ClassMeta.java | 2 +- .../main/java/org/apache/juneau/CoreApi.java | 2 +- .../org/apache/juneau/FormattedException.java | 4 +- .../juneau/FormattedRuntimeException.java | 4 +- .../main/java/org/apache/juneau/MediaRange.java | 2 +- .../main/java/org/apache/juneau/MediaType.java | 16 +- .../main/java/org/apache/juneau/ObjectList.java | 4 +- .../main/java/org/apache/juneau/ObjectMap.java | 2 +- .../apache/juneau/PropertyNamerDashedLC.java | 2 +- .../org/apache/juneau/PropertyNamerDefault.java | 2 +- .../main/java/org/apache/juneau/Session.java | 2 +- .../main/java/org/apache/juneau/Visibility.java | 2 +- .../java/org/apache/juneau/annotation/Bean.java | 8 +- .../apache/juneau/annotation/BeanProperty.java | 8 +- .../org/apache/juneau/annotation/Consumes.java | 4 +- .../java/org/apache/juneau/annotation/Pojo.java | 2 +- .../org/apache/juneau/annotation/Produces.java | 4 +- .../java/org/apache/juneau/annotation/URI.java | 2 +- .../org/apache/juneau/dto/cognos/DataSet.java | 2 +- .../apache/juneau/dto/jsonschema/JsonType.java | 2 +- .../org/apache/juneau/dto/swagger/Contact.java | 2 +- .../dto/swagger/ExternalDocumentation.java | 2 +- .../apache/juneau/dto/swagger/HeaderInfo.java | 2 +- .../org/apache/juneau/dto/swagger/Info.java | 2 +- .../org/apache/juneau/dto/swagger/Items.java | 2 +- .../org/apache/juneau/dto/swagger/License.java | 2 +- .../apache/juneau/dto/swagger/Operation.java | 2 +- .../apache/juneau/dto/swagger/ResponseInfo.java | 2 +- .../juneau/dto/swagger/SecurityScheme.java | 2 +- .../java/org/apache/juneau/dto/swagger/Tag.java | 2 +- .../org/apache/juneau/encoders/Encoder.java | 2 +- .../apache/juneau/encoders/EncoderGroup.java | 4 +- .../apache/juneau/html/HtmlDocSerializer.java | 6 +- .../juneau/html/HtmlDocSerializerContext.java | 16 +- .../java/org/apache/juneau/html/HtmlParser.java | 11 +- .../apache/juneau/html/HtmlParserContext.java | 6 +- .../juneau/html/HtmlSchemaDocSerializer.java | 4 +- .../org/apache/juneau/html/HtmlSerializer.java | 8 +- .../juneau/html/HtmlSerializerContext.java | 6 +- .../juneau/html/HtmlStrippedDocSerializer.java | 4 +- .../apache/juneau/html/SimpleHtmlWriter.java | 2 +- .../java/org/apache/juneau/ini/ConfigFile.java | 2 +- .../java/org/apache/juneau/ini/ConfigMgr.java | 2 +- .../org/apache/juneau/internal/ClassUtils.java | 2 +- .../apache/juneau/internal/IdentityList.java | 6 +- .../apache/juneau/internal/JuneauLogger.java | 100 +- .../org/apache/juneau/internal/StringUtils.java | 6 +- .../apache/juneau/internal/ThrowableUtils.java | 6 +- .../juneau/jso/JavaSerializedObjectParser.java | 2 +- .../jso/JavaSerializedObjectSerializer.java | 2 +- .../java/org/apache/juneau/json/JsonParser.java | 13 +- .../apache/juneau/json/JsonParserContext.java | 10 +- .../juneau/json/JsonSchemaSerializer.java | 4 +- .../org/apache/juneau/json/JsonSerializer.java | 8 +- .../juneau/json/JsonSerializerContext.java | 6 +- .../java/org/apache/juneau/json/JsonWriter.java | 5 +- .../org/apache/juneau/json/annotation/Json.java | 2 +- .../juneau/msgpack/MsgPackInputStream.java | 5 +- .../juneau/msgpack/MsgPackOutputStream.java | 5 +- .../apache/juneau/msgpack/MsgPackParser.java | 5 +- .../juneau/msgpack/MsgPackParserContext.java | 6 +- .../juneau/msgpack/MsgPackSerializer.java | 4 +- .../msgpack/MsgPackSerializerContext.java | 6 +- .../apache/juneau/parser/InputStreamParser.java | 2 +- .../apache/juneau/parser/ParseException.java | 4 +- .../java/org/apache/juneau/parser/Parser.java | 174 ++- .../org/apache/juneau/parser/ParserGroup.java | 4 +- .../org/apache/juneau/parser/ReaderParser.java | 2 +- .../juneau/plaintext/PlainTextParser.java | 8 +- .../juneau/plaintext/PlainTextSerializer.java | 6 +- .../serializer/OutputStreamSerializer.java | 2 +- .../juneau/serializer/SerializeException.java | 4 +- .../apache/juneau/serializer/Serializer.java | 4 +- .../juneau/serializer/SerializerContext.java | 9 +- .../juneau/serializer/SerializerGroup.java | 4 +- .../juneau/serializer/SerializerWriter.java | 2 +- .../apache/juneau/serializer/StringObject.java | 2 +- .../juneau/serializer/WriterSerializer.java | 2 +- .../apache/juneau/soap/SoapXmlSerializer.java | 6 +- .../juneau/soap/SoapXmlSerializerContext.java | 6 +- .../java/org/apache/juneau/svl/VarResolver.java | 4 +- .../org/apache/juneau/svl/vars/ArgsVar.java | 2 +- .../apache/juneau/svl/vars/ConfigFileVar.java | 2 +- .../apache/juneau/svl/vars/EnvVariablesVar.java | 2 +- .../apache/juneau/svl/vars/ManifestFileVar.java | 2 +- .../juneau/svl/vars/SystemPropertiesVar.java | 2 +- .../juneau/transform/BeanFilterBuilder.java | 4 +- .../org/apache/juneau/transform/PojoSwap.java | 4 +- .../juneau/transforms/BeanStringSwap.java | 2 +- .../apache/juneau/transforms/CalendarSwap.java | 46 +- .../org/apache/juneau/transforms/DateSwap.java | 46 +- .../apache/juneau/transforms/ReaderSwap.java | 4 +- .../apache/juneau/urlencoding/UonParser.java | 11 +- .../juneau/urlencoding/UonParserContext.java | 6 +- .../juneau/urlencoding/UonSerializer.java | 8 +- .../urlencoding/UonSerializerContext.java | 6 +- .../apache/juneau/urlencoding/UonWriter.java | 5 +- .../juneau/urlencoding/UrlEncodingContext.java | 11 +- .../juneau/urlencoding/UrlEncodingParser.java | 45 +- .../urlencoding/UrlEncodingParserContext.java | 13 +- .../urlencoding/UrlEncodingSerializer.java | 8 +- .../UrlEncodingSerializerContext.java | 13 +- .../main/java/org/apache/juneau/utils/Args.java | 6 +- .../org/apache/juneau/utils/MessageBundle.java | 6 +- .../apache/juneau/utils/PojoIntrospector.java | 2 +- .../java/org/apache/juneau/utils/PojoQuery.java | 8 +- .../java/org/apache/juneau/utils/PojoRest.java | 27 +- .../apache/juneau/utils/PojoRestException.java | 2 +- .../org/apache/juneau/utils/ProcBuilder.java | 2 +- .../org/apache/juneau/xml/XmlDocSerializer.java | 4 +- .../java/org/apache/juneau/xml/XmlParser.java | 7 +- .../org/apache/juneau/xml/XmlParserContext.java | 11 +- .../juneau/xml/XmlSchemaDocSerializer.java | 4 +- .../apache/juneau/xml/XmlSchemaSerializer.java | 6 +- .../org/apache/juneau/xml/XmlSerializer.java | 6 +- .../apache/juneau/xml/XmlSerializerContext.java | 16 +- .../java/org/apache/juneau/xml/XmlWriter.java | 5 +- .../org/apache/juneau/xml/annotation/Xml.java | 4 +- .../apache/juneau/xml/annotation/XmlSchema.java | 2 +- juneau-core/src/main/javadoc/javadoc.css | 5 + juneau-core/src/main/javadoc/overview.html | 77 +- .../juneau-examples-rest.launch | 30 + .../examples/rest/MethodExampleResource.java | 2 +- .../juneau/microservice/Microservice.java | 6 +- .../juneau/microservice/RestMicroservice.java | 2 +- .../juneau/rest/client/AllowAllRedirects.java | 7 +- .../juneau/rest/client/NameValuePairs.java | 2 +- .../juneau/rest/client/ResponsePattern.java | 2 +- .../org/apache/juneau/rest/client/RestCall.java | 98 +- .../apache/juneau/rest/client/RestClient.java | 4 +- .../rest/client/SerializedNameValuePair.java | 2 +- .../apache/juneau/rest/jaxrs/BaseProvider.java | 6 +- .../juneau/rest/jaxrs/JuneauProvider.java | 2 +- .../java/org/apache/juneau/rest/Redirect.java | 4 +- .../org/apache/juneau/rest/RestConverter.java | 2 +- .../org/apache/juneau/rest/RestException.java | 2 +- .../java/org/apache/juneau/rest/RestGuard.java | 2 +- .../org/apache/juneau/rest/RestMatcher.java | 2 +- .../org/apache/juneau/rest/RestRequest.java | 1038 ++++++++++-------- .../org/apache/juneau/rest/RestResponse.java | 8 +- .../org/apache/juneau/rest/RestServlet.java | 43 +- .../apache/juneau/rest/RestServletContext.java | 2 +- .../juneau/rest/RestServletException.java | 2 +- .../org/apache/juneau/rest/annotation/Body.java | 2 +- .../apache/juneau/rest/annotation/FormData.java | 2 +- .../juneau/rest/annotation/HasFormData.java | 2 +- .../apache/juneau/rest/annotation/HasQuery.java | 2 +- .../apache/juneau/rest/annotation/Header.java | 2 +- .../apache/juneau/rest/annotation/Messages.java | 2 +- .../apache/juneau/rest/annotation/Method.java | 2 +- .../juneau/rest/annotation/Parameter.java | 21 +- .../org/apache/juneau/rest/annotation/Path.java | 2 +- .../juneau/rest/annotation/PathRemainder.java | 2 +- .../juneau/rest/annotation/Properties.java | 2 +- .../apache/juneau/rest/annotation/Query.java | 2 +- .../apache/juneau/rest/annotation/Response.java | 6 +- .../juneau/rest/annotation/RestMethod.java | 12 +- .../juneau/rest/annotation/RestResource.java | 20 +- .../juneau/rest/converters/Queryable.java | 15 +- .../juneau/rest/labels/ResourceDescription.java | 2 +- .../apache/juneau/rest/labels/ResourceLink.java | 4 +- 189 files changed, 1568 insertions(+), 1565 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfCommonContext.java ---------------------------------------------------------------------- diff --git a/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfCommonContext.java b/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfCommonContext.java index 61414c1..548dce5 100644 --- a/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfCommonContext.java +++ b/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfCommonContext.java @@ -309,7 +309,7 @@ public interface RdfCommonContext { * <ul class='spaced-list'> * <li><js>"lax"</js> - The rules for RDF URI references only, which does permit spaces although the use of spaces is not good practice. * <li><js>"strict"</js> - Sets the IRI engine with rules for valid IRIs, XLink and RDF; it does not permit spaces in IRIs. - * <li><js>"iri"</js> - Sets the IRI engine to IRI (<a href='http://www.ietf.org/rfc/rfc3986.txt'>RFC 3986</a>, <a href='http://www.ietf.org/rfc/rfc3987.txt'>RFC 3987</a>). + * <li><js>"iri"</js> - Sets the IRI engine to IRI (<a class="doclink" href="http://www.ietf.org/rfc/rfc3986.txt">RFC 3986</a>, <a class="doclink" href="http://www.ietf.org/rfc/rfc3987.txt">RFC 3987</a>). * </ul> */ public static final String RDF_arp_iriRules = "Rdf.jena.rdfXml.iri-rules"; @@ -338,10 +338,10 @@ public interface RdfCommonContext { * <p> * See also: * <ul class='spaced-list'> - * <li><a href='http://jena.sourceforge.net/javadoc/com/hp/hpl/jena/rdf/arp/ARPOptions.html#setDefaultErrorMode()'>ARPOptions.setDefaultErrorMode()</a> - * <li><a href='http://jena.sourceforge.net/javadoc/com/hp/hpl/jena/rdf/arp/ARPOptions.html#setLaxErrorMode()'>ARPOptions.setLaxErrorMode()</a> - * <li><a href='http://jena.sourceforge.net/javadoc/com/hp/hpl/jena/rdf/arp/ARPOptions.html#setStrictErrorMode()'>ARPOptions.setStrictErrorMode()</a> - * <li><a href='http://jena.sourceforge.net/javadoc/com/hp/hpl/jena/rdf/arp/ARPOptions.html#setStrictErrorMode(int)'>ARPOptions.setStrictErrorMode(int)</a> + * <li><a class="doclink" href="http://jena.sourceforge.net/javadoc/com/hp/hpl/jena/rdf/arp/ARPOptions.html#setDefaultErrorMode()">ARPOptions.setDefaultErrorMode()</a> + * <li><a class="doclink" href="http://jena.sourceforge.net/javadoc/com/hp/hpl/jena/rdf/arp/ARPOptions.html#setLaxErrorMode()">ARPOptions.setLaxErrorMode()</a> + * <li><a class="doclink" href="http://jena.sourceforge.net/javadoc/com/hp/hpl/jena/rdf/arp/ARPOptions.html#setStrictErrorMode()">ARPOptions.setStrictErrorMode()</a> + * <li><a class="doclink" href="http://jena.sourceforge.net/javadoc/com/hp/hpl/jena/rdf/arp/ARPOptions.html#setStrictErrorMode(int)">ARPOptions.setStrictErrorMode(int)</a> * </ul> */ public static final String RDF_arp_errorMode = "Rdf.jena.rdfXml.error-mode"; @@ -359,7 +359,7 @@ public interface RdfCommonContext { * <p> * See also: * <ul class='spaced-list'> - * <li><a href='http://jena.sourceforge.net/javadoc/com/hp/hpl/jena/rdf/arp/ARPOptions.html#setEmbedding(boolean)'>ARPOptions.setEmbedding(boolean)</a> + * <li><a class="doclink" href="http://jena.sourceforge.net/javadoc/com/hp/hpl/jena/rdf/arp/ARPOptions.html#setEmbedding(boolean)">ARPOptions.setEmbedding(boolean)</a> * </ul> */ public static final String RDF_arp_embedding = "Rdf.jena.rdfXml.embedding"; @@ -384,8 +384,8 @@ public interface RdfCommonContext { * <p> * See also: * <ul class='spaced-list'> - * <li><a href='http://jena.sourceforge.net/javadoc/com/hp/hpl/jena/rdf/arp/ARPErrorNumbers.html'>ARPErrorNumbers</a> - * <li><a href='http://jena.sourceforge.net/javadoc/com/hp/hpl/jena/rdf/arp/ARPOptions.html#setErrorMode(int,%20int)'>ARPOptions.setErrorMode(int, int)</a> + * <li><a class="doclink" href="http://jena.sourceforge.net/javadoc/com/hp/hpl/jena/rdf/arp/ARPErrorNumbers.html">ARPErrorNumbers</a> + * <li><a class="doclink" href="http://jena.sourceforge.net/javadoc/com/hp/hpl/jena/rdf/arp/ARPOptions.html#setErrorMode(int,%20int)">ARPOptions.setErrorMode(int, int)</a> * </ul> */ public static final String RDF_arp_err_ = "Rdf.jena.rdfXml.ERR_"; @@ -549,7 +549,7 @@ public interface RdfCommonContext { * <li><b>Default:</b> <js>""</js> * </ul> * <p> - * A list of <code>Resource</code> or a <code>String</code> being a comma separated list of fragment IDs from <a href='http://www.w3.org/TR/rdf-syntax-grammar'>RDF Syntax Grammar</a> indicating grammar rules that will not be used. + * A list of <code>Resource</code> or a <code>String</code> being a comma separated list of fragment IDs from <a class="doclink" href="http://www.w3.org/TR/rdf-syntax-grammar">RDF Syntax Grammar</a> indicating grammar rules that will not be used. */ public static final String RDF_rdfxml_blockRules = "Rdf.jena.rdfXml.blockRules"; @@ -701,9 +701,11 @@ public interface RdfCommonContext { * <li><js>"LIST"</js> - RDF List container. * <li><js>"MULTI_VALUED"</js> - Multi-valued properties. * </ul> - * <p> - * Important Note: If you use <js>"BAG"</js> or <js>"MULTI_VALUED"</js>, the order of the elements - * in the collection will get lost. + * <p> + * <h5 class='section'>Notes:</h5> + * <ul> + * <li>If you use <js>"BAG"</js> or <js>"MULTI_VALUED"</js>, the order of the elements in the collection will get lost. + * </ul> */ public static final String RDF_collectionFormat = "Rdf.collectionFormat"; @@ -726,7 +728,7 @@ public interface RdfCommonContext { * This setting is typically only useful if the beans being parsed into do not have a bean property * annotated with {@link Rdf#beanUri @Rdf(beanUri=true)}. * - * <h6 class='topic'>Example:</h6> + * <h5 class='section'>Example:</h5> * <p class='bcode'> * WriterSerializer s = <jk>new</jk> RdfSerializer.XmlAbbrev().setProperty(<jsf>RDF_looseCollection</jsf>, <jk>true</jk>); * ReaderParser p = <jk>new</jk> RdfParser.Xml().setProperty(<jsf>RDF_looseCollection</jsf>, <jk>true</jk>); @@ -736,15 +738,15 @@ public interface RdfCommonContext { * <jc>// Serialize to RDF/XML as loose resources</jc> * String rdfXml = s.serialize(l); * - * <jc>// Parse back into a Java collection</jc> - * l = p.parseCollection(rdfXml, LinkedList.<jk>class</jk>, MyBean.<jk>class</jk>); + * <jc>// Parse back into a Java collection</jc> + * l = p.parse(rdfXml, LinkedList.<jk>class</jk>, MyBean.<jk>class</jk>); * * MyBean[] b = createArrayOfMyBeans(); * * <jc>// Serialize to RDF/XML as loose resources</jc> * String rdfXml = s.serialize(b); * - * <jc>// Parse back into a bean array</jc> + * <jc>// Parse back into a bean array</jc> * b = p.parse(rdfXml, MyBean[].<jk>class</jk>); * </p> */ http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java ---------------------------------------------------------------------- diff --git a/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java b/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java index eec0ffc..9ac292f 100644 --- a/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java +++ b/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java @@ -30,9 +30,9 @@ import com.hp.hpl.jena.util.iterator.*; /** * Parses RDF into POJOs. * - * <h6 class='topic'>Configurable properties</h6> + * <h5 class='section'>Configurable properties:</h5> * <p> - * Refer to <a class='doclink' href='package-summary.html#ParserConfigurableProperties'>Configurable Properties</a> + * Refer to <a class="doclink" href="package-summary.html#ParserConfigurableProperties">Configurable Properties</a> * for the entire list of configurable properties. * * <h6 class='topic'>Behavior-specific subclasses</h6> @@ -45,9 +45,9 @@ import com.hp.hpl.jena.util.iterator.*; * <li>{@link RdfParser.N3} - N3. * </ul> * - * <h6 class='topic'>Additional Information</h6> + * <h5 class='section'>Additional information:</h5> * <p> - * See <a class='doclink' href='package-summary.html#TOC'>RDF Overview</a> for an overview of RDF support in Juneau. + * See <a class="doclink" href="package-summary.html#TOC">RDF Overview</a> for an overview of RDF support in Juneau. */ @Consumes(value="text/xml+rdf") public class RdfParser extends ReaderParser { @@ -108,8 +108,6 @@ public class RdfParser extends ReaderParser { RdfParserSession s = (RdfParserSession)session; - type = session.normalizeClassMeta(type); - Model model = s.getModel(); RDFReader r = s.getRdfReader(); r.read(model, session.getReader(), null); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfParserContext.java ---------------------------------------------------------------------- diff --git a/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfParserContext.java b/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfParserContext.java index eb0c1f9..224dc13 100644 --- a/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfParserContext.java +++ b/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfParserContext.java @@ -51,11 +51,11 @@ import org.apache.juneau.xml.*; * * <h6 class='topic' id='ConfigProperties'>Configurable properties inherited by the RDF parsers</h6> * <ul class='javahierarchy'> - * <li class='c'><a class='doclink' href='../BeanContext.html#ConfigProperties'>BeanContext</a> - Properties associated with handling beans on serializers and parsers. + * <li class='c'><a class="doclink" href="../BeanContext.html#ConfigProperties">BeanContext</a> - Properties associated with handling beans on serializers and parsers. * <ul> - * <li class='c'><a class='doclink' href='../parser/ParserContext.html#ConfigProperties'>ParserContext</a> - Configurable properties common to all parsers. + * <li class='c'><a class="doclink" href="../parser/ParserContext.html#ConfigProperties">ParserContext</a> - Configurable properties common to all parsers. * <ul> - * <li class='i'><a class='doclink' href='RdfCommonContext.html#ConfigProperties'>RdfCommonContext</a> - Configurable properties common to the RDF serializers and parsers. + * <li class='i'><a class="doclink" href="RdfCommonContext.html#ConfigProperties">RdfCommonContext</a> - Configurable properties common to the RDF serializers and parsers. * </ul> * </ul> * </ul> http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java ---------------------------------------------------------------------- diff --git a/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java b/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java index 461decb..f296666 100644 --- a/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java +++ b/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java @@ -30,9 +30,9 @@ import com.hp.hpl.jena.rdf.model.*; /** * Serializes POJOs to RDF. * - * <h6 class='topic'>Configurable properties</h6> + * <h5 class='section'>Configurable properties:</h5> * <p> - * Refer to <a class='doclink' href='package-summary.html#SerializerConfigurableProperties'>Configurable Properties</a> + * Refer to <a class="doclink" href="package-summary.html#SerializerConfigurableProperties">Configurable Properties</a> * for the entire list of configurable properties. * * <h6 class='topic'>Behavior-specific subclasses</h6> @@ -46,9 +46,9 @@ import com.hp.hpl.jena.rdf.model.*; * <li>{@link RdfSerializer.N3} - N3. * </ul> * - * <h6 class='topic'>Additional Information</h6> + * <h5 class='section'>Additional information:</h5> * <p> - * See <a class='doclink' href='package-summary.html#TOC'>RDF Overview</a> for an overview of RDF support in Juneau. + * See <a class="doclink" href="package-summary.html#TOC">RDF Overview</a> for an overview of RDF support in Juneau. */ @SuppressWarnings({ "rawtypes", "unchecked" }) @Produces(value="text/xml+rdf+abbrev", contentType="text/xml+rdf") http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerContext.java ---------------------------------------------------------------------- diff --git a/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerContext.java b/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerContext.java index fec2789..2e3e5f0 100644 --- a/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerContext.java +++ b/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerContext.java @@ -72,11 +72,11 @@ import org.apache.juneau.xml.*; * * <h6 class='topic' id='ConfigProperties'>Configurable properties inherited by the RDF serializers</h6> * <ul class='javahierarchy'> - * <li class='c'><a class='doclink' href='../BeanContext.html#ConfigProperties'>BeanContext</a> - Properties associated with handling beans on serializers and parsers. + * <li class='c'><a class="doclink" href="../BeanContext.html#ConfigProperties">BeanContext</a> - Properties associated with handling beans on serializers and parsers. * <ul> - * <li class='c'><a class='doclink' href='../serializer/SerializerContext.html#ConfigProperties'>SerializerContext</a> - Configurable properties common to all serializers. + * <li class='c'><a class="doclink" href="../serializer/SerializerContext.html#ConfigProperties">SerializerContext</a> - Configurable properties common to all serializers. * <ul> - * <li class='c'><a class='doclink' href='RdfCommonContext.html#ConfigProperties'>RdfCommonContext</a> - Configurable properties common to the RDF serializers and parsers. + * <li class='c'><a class="doclink" href="RdfCommonContext.html#ConfigProperties">RdfCommonContext</a> - Configurable properties common to the RDF serializers and parsers. * </ul> * </ul> * </ul> http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfSchema.java ---------------------------------------------------------------------- diff --git a/juneau-core-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfSchema.java b/juneau-core-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfSchema.java index 5471bcf..3520f0e 100644 --- a/juneau-core-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfSchema.java +++ b/juneau-core-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfSchema.java @@ -52,7 +52,7 @@ public @interface RdfSchema { * <p> * Inherited by child packages. * - * <h6 class='topic'>Example:</h6> + * <h5 class='section'>Example:</h5> * <p> * Contents of <code>package-info.java</code>... * </p> http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java index c610ee5..7d30f9a 100755 --- a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java +++ b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java @@ -19,7 +19,6 @@ import java.util.*; import javax.xml.datatype.*; -import org.apache.juneau.*; import org.apache.juneau.annotation.*; import org.apache.juneau.json.*; import org.apache.juneau.json.annotation.*; @@ -97,21 +96,21 @@ public class RoundTripBeanMapsTest extends RoundTripTest { }}; l.get(0).setF1("bar"); - l = roundTripCollection(l, List.class, IBean.class); + l = roundTrip(l, List.class, IBean.class); assertEquals("bar", l.get(0).getF1()); - l = roundTripCollection(l, LinkedList.class, IBean.class); + l = roundTrip(l, LinkedList.class, IBean.class); assertEquals("bar", l.get(0).getF1()); l.get(0).setF1("baz"); - l = roundTripCollection(l, List.class, ABean.class); + l = roundTrip(l, List.class, ABean.class); assertEquals("baz", l.get(0).getF1()); - l = roundTripCollection(l, LinkedList.class, ABean.class); + l = roundTrip(l, LinkedList.class, ABean.class); assertEquals("baz", l.get(0).getF1()); l.get(0).setF1("bing"); - l = roundTripCollection(l, List.class, CBean.class); + l = roundTrip(l, List.class, CBean.class); assertEquals("bing", l.get(0).getF1()); - l = roundTripCollection(l, LinkedList.class, CBean.class); + l = roundTrip(l, LinkedList.class, CBean.class); assertEquals("bing", l.get(0).getF1()); } @@ -125,21 +124,21 @@ public class RoundTripBeanMapsTest extends RoundTripTest { }}; l.get("foo").setF1("bar"); - l = roundTripMap(l, Map.class, String.class, IBean.class); + l = roundTrip(l, Map.class, String.class, IBean.class); assertEquals("bar", l.get("foo").getF1()); - l = roundTripMap(l, LinkedHashMap.class, String.class, IBean.class); + l = roundTrip(l, LinkedHashMap.class, String.class, IBean.class); assertEquals("bar", l.get("foo").getF1()); l.get("foo").setF1("baz"); - l = roundTripMap(l, Map.class, String.class, ABean.class); + l = roundTrip(l, Map.class, String.class, ABean.class); assertEquals("baz", l.get("foo").getF1()); - l = roundTripMap(l, LinkedHashMap.class, String.class, ABean.class); + l = roundTrip(l, LinkedHashMap.class, String.class, ABean.class); assertEquals("baz", l.get("foo").getF1()); l.get("foo").setF1("bing"); - l = roundTripMap(l, Map.class, String.class, CBean.class); + l = roundTrip(l, Map.class, String.class, CBean.class); assertEquals("bing", l.get("foo").getF1()); - l = roundTripMap(l, LinkedHashMap.class, String.class, CBean.class); + l = roundTrip(l, LinkedHashMap.class, String.class, CBean.class); assertEquals("bing", l.get("foo").getF1()); } @@ -925,7 +924,7 @@ public class RoundTripBeanMapsTest extends RoundTripTest { Map<String,L> m = new LinkedHashMap<String,L>(); m.put("bar", L.create()); - roundTripMap(m, LinkedHashMap.class, String.class, L.class); + roundTrip(m, LinkedHashMap.class, String.class, L.class); } @Json(wrapperAttr="foo") @@ -949,7 +948,7 @@ public class RoundTripBeanMapsTest extends RoundTripTest { Map<String,M> m = new LinkedHashMap<String,M>(); m.put("bar", M.create()); - roundTripMap(m, LinkedHashMap.class, String.class, M.class); + roundTrip(m, LinkedHashMap.class, String.class, M.class); } @Json(wrapperAttr="foo") @@ -973,42 +972,4 @@ public class RoundTripBeanMapsTest extends RoundTripTest { return m; } } - - //==================================================================================================== - // Test parsing into top-level non-static inner classes with outer context. - //==================================================================================================== - @Test - public void testParsingIntoTopLevelNonStaticInnerClasses() throws Exception { - N n = new N(1); - - if (returnOriginalObject) - return; - - Serializer s = getSerializer(); - Parser p = getParser(); - - Object r = s.serialize(n.n2); - n = new N(2); - ParserSession session = p.createSession(r, null, null, n, null, null, null); - - N.N2 n2 = p.parse(session, BeanContext.DEFAULT.getClassMeta(N.N2.class)); - - // The inner N2.f1 field should be the value of the outer object passed in through the context. - assertEquals(2, n2.f1); - } - - public static class N { - public int f1; - public N2 n2; - - public N(int f1) { - this.f1 = f1; - n2 = new N2(); - } - public class N2 { - private int f1 = N.this.f1; - public int dummy = 1; - } - } - } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripMapsTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripMapsTest.java b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripMapsTest.java index abd4c72..41a3475 100755 --- a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripMapsTest.java +++ b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripMapsTest.java @@ -31,7 +31,7 @@ import org.junit.*; * Tests designed to serialize and parse objects to make sure we end up * with the same objects for all serializers and parsers. */ -@SuppressWarnings({"unchecked","deprecation","javadoc"}) +@SuppressWarnings({"deprecation","javadoc"}) public class RoundTripMapsTest extends RoundTripTest { public RoundTripMapsTest(String label, Serializer s, Parser p, int flags) throws Exception { @@ -55,7 +55,7 @@ public class RoundTripMapsTest extends RoundTripTest { Map<Integer,String> t = new TreeMap<Integer,String>(); t.put(1, "a"); t.put(2, null); - t = roundTripMap(t, TreeMap.class, Integer.class, String.class); + t = roundTrip(t, TreeMap.class, Integer.class, String.class); assertEquals("a", t.get(1)); assertNull(null, t.get(2)); @@ -63,7 +63,7 @@ public class RoundTripMapsTest extends RoundTripTest { t.put(1, "a"); t.put(2, null); t.put(null, "b"); - t = roundTripMap(t, HashMap.class, Integer.class, String.class); + t = roundTrip(t, HashMap.class, Integer.class, String.class); assertEquals("a", t.get(1)); assertNull(t.get(2)); assertEquals("b", t.get(null)); @@ -77,7 +77,7 @@ public class RoundTripMapsTest extends RoundTripTest { Map<Boolean,String> t = new TreeMap<Boolean,String>(); t.put(true, "a"); t.put(false, null); - t = roundTripMap(t, TreeMap.class, Boolean.class, String.class); + t = roundTrip(t, TreeMap.class, Boolean.class, String.class); assertEquals("a", t.get(true)); assertNull(null, t.get(false)); @@ -85,7 +85,7 @@ public class RoundTripMapsTest extends RoundTripTest { t.put(true, "a"); t.put(false, null); t.put(null, "b"); - t = roundTripMap(t, HashMap.class, Boolean.class, String.class); + t = roundTrip(t, HashMap.class, Boolean.class, String.class); assertEquals("a", t.get(true)); assertNull(t.get(false)); assertEquals("b", t.get(null)); @@ -144,7 +144,7 @@ public class RoundTripMapsTest extends RoundTripTest { Map<Date,String> t = new TreeMap<Date,String>(); t.put(td1, "a"); t.put(td2, null); - t = roundTripMap(t, TreeMap.class, Date.class, String.class); + t = roundTrip(t, TreeMap.class, Date.class, String.class); assertEquals("a", t.get(td1)); assertNull(null, t.get(td2)); @@ -152,7 +152,7 @@ public class RoundTripMapsTest extends RoundTripTest { t.put(td1, "a"); t.put(td2, null); t.put(null, "b"); - t = roundTripMap(t, HashMap.class, Date.class, String.class); + t = roundTrip(t, HashMap.class, Date.class, String.class); assertEquals("a", t.get(td1)); assertNull(t.get(td2)); assertEquals("b", t.get(null)); @@ -171,7 +171,7 @@ public class RoundTripMapsTest extends RoundTripTest { Map<Calendar,String> t = new TreeMap<Calendar,String>(); t.put(td1, "a"); t.put(td2, null); - t = roundTripMap(t, TreeMap.class, GregorianCalendar.class, String.class); + t = roundTrip(t, TreeMap.class, GregorianCalendar.class, String.class); assertEquals("a", t.get(td1)); assertNull(null, t.get(td2)); @@ -179,7 +179,7 @@ public class RoundTripMapsTest extends RoundTripTest { t.put(td1, "a"); t.put(td2, null); t.put(null, "b"); - t = roundTripMap(t, HashMap.class, GregorianCalendar.class, String.class); + t = roundTrip(t, HashMap.class, GregorianCalendar.class, String.class); assertEquals("a", t.get(td1)); assertNull(t.get(td2)); assertEquals("b", t.get(null)); @@ -194,7 +194,7 @@ public class RoundTripMapsTest extends RoundTripTest { Map<TestEnum,String> t = new TreeMap<TestEnum,String>(); t.put(TestEnum.FOO, "a"); t.put(TestEnum.BAR, null); - t = roundTripMap(t, TreeMap.class, TestEnum.class, String.class); + t = roundTrip(t, TreeMap.class, TestEnum.class, String.class); assertEquals("a", t.get(TestEnum.FOO)); assertNull(null, t.get(TestEnum.BAR)); @@ -202,7 +202,7 @@ public class RoundTripMapsTest extends RoundTripTest { t.put(TestEnum.FOO, "a"); t.put(TestEnum.BAR, null); t.put(null, "b"); - t = roundTripMap(t, HashMap.class, TestEnum.class, String.class); + t = roundTrip(t, HashMap.class, TestEnum.class, String.class); assertEquals("a", t.get(TestEnum.FOO)); assertNull(t.get(TestEnum.BAR)); assertEquals("b", t.get(null)); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripPrimitivesBeansTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripPrimitivesBeansTest.java b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripPrimitivesBeansTest.java index 8dd1407..49b18f8 100755 --- a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripPrimitivesBeansTest.java +++ b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripPrimitivesBeansTest.java @@ -24,7 +24,7 @@ import org.junit.*; * Tests designed to serialize and parse objects to make sure we end up * with the same objects for all serializers and parsers. */ -@SuppressWarnings({"unchecked","serial","javadoc"}) +@SuppressWarnings({"serial","javadoc"}) public class RoundTripPrimitivesBeansTest extends RoundTripTest { public RoundTripPrimitivesBeansTest(String label, Serializer s, Parser p, int flags) throws Exception { @@ -274,7 +274,7 @@ public class RoundTripPrimitivesBeansTest extends RoundTripTest { }}; if (p == null) return; - t = roundTrip(t, p.getBeanContext().createSession().getCollectionClassMeta(List.class, PrimitivesBean.class)); + t = roundTrip(t, List.class, PrimitivesBean.class); PrimitivesBean t2 = t.get(2); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripSimpleObjectsTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripSimpleObjectsTest.java b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripSimpleObjectsTest.java index 217209a..33cbe28 100755 --- a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripSimpleObjectsTest.java +++ b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripSimpleObjectsTest.java @@ -734,7 +734,7 @@ public class RoundTripSimpleObjectsTest extends RoundTripTest { t.add(1); t.add(2); t.add(3); - t = roundTripCollection(t, Vector.class, Integer.class); + t = roundTrip(t, Vector.class, Integer.class); } //==================================================================================================== http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java index 675084a..c0e8070 100755 --- a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java +++ b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java @@ -19,6 +19,7 @@ import static org.apache.juneau.urlencoding.UrlEncodingContext.*; import static org.apache.juneau.xml.XmlSerializerContext.*; import static org.apache.juneau.html.HtmlSerializerContext.*; +import java.lang.reflect.Type; import java.util.*; import java.util.Map.*; @@ -230,34 +231,11 @@ public abstract class RoundTripTest { return null; } - public <T> T roundTrip(T object, ClassMeta<? extends T> t) throws Exception { + public <T> T roundTrip(T object, Type c, Type...args) throws Exception { Object out = serialize(object, this.s); if (p == null) return object; - T o = this.p.parse(out, t); - return (returnOriginalObject ? object : o); - } - public <T> T roundTrip(T object, Class<? extends T> c) throws Exception { - Object out = serialize(object, this.s); - if (p == null) - return object; - T o = this.p.parse(out, p.getBeanContext().getClassMeta(c)); - return (returnOriginalObject ? object : o); - } - public <K,V,T extends Map<K,V>> T roundTripMap(T object, Class<? extends T> c, Class<K> k, Class<V> v) throws Exception { - Object out = serialize(object, this.s); - if (p == null) - return object; - ClassMeta<? extends T> cm = p.getBeanContext().getClassMeta(c, k, v); - T o = this.p.parse(out, cm); - return (returnOriginalObject ? object : o); - } - public <E,T extends Collection<E>> T roundTripCollection(T object, Class<? extends T> c, Class<E> e) throws Exception { - Object out = serialize(object, this.s); - if (p == null) - return object; - ClassMeta<? extends T> cm = p.getBeanContext().getClassMeta(c, e); - T o = this.p.parse(out, cm); + T o = (T)this.p.parse(out, c, args); return (returnOriginalObject ? object : o); } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripToObjectMapsTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripToObjectMapsTest.java b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripToObjectMapsTest.java index 3c7b33a..a3aa3b6 100755 --- a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripToObjectMapsTest.java +++ b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripToObjectMapsTest.java @@ -35,7 +35,7 @@ public class RoundTripToObjectMapsTest extends RoundTripTest { //==================================================================================================== // Class with X(ObjectMap) constructor and toObjectMap() method. //==================================================================================================== - @SuppressWarnings({ "serial", "unchecked" }) + @SuppressWarnings({"serial"}) @Test public void test() throws Exception { A a = new A(new ObjectMap("{f1:'a',f2:2}")); @@ -50,13 +50,13 @@ public class RoundTripToObjectMapsTest extends RoundTripTest { assertEquals(2, aa[0].f2); List<A> a2 = new ArrayList<A>(){{add(new A(new ObjectMap("{f1:'a',f2:2}")));}}; - a2 = roundTrip(a2, BeanContext.DEFAULT.createSession().getCollectionClassMeta(List.class, A.class)); + a2 = roundTrip(a2, List.class, A.class); assertEquals(1, a2.size()); assertEquals("a", a2.get(0).f1); assertEquals(2, a2.get(0).f2); Map<String,A> a3 = new LinkedHashMap<String,A>(){{put("a", new A(new ObjectMap("{f1:'a',f2:2}")));}}; - a3 = roundTrip(a3, BeanContext.DEFAULT.createSession().getMapClassMeta(Map.class, String.class, A.class)); + a3 = roundTrip(a3, Map.class, String.class, A.class); assertEquals(1, a3.size()); assertEquals("a", a3.get("a").f1); assertEquals(2, a3.get("a").f2); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core-test/src/test/java/org/apache/juneau/dto/html5/BasicHtmlSchemaTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/dto/html5/BasicHtmlSchemaTest.java b/juneau-core-test/src/test/java/org/apache/juneau/dto/html5/BasicHtmlSchemaTest.java index 9291052..ae3a028 100755 --- a/juneau-core-test/src/test/java/org/apache/juneau/dto/html5/BasicHtmlSchemaTest.java +++ b/juneau-core-test/src/test/java/org/apache/juneau/dto/html5/BasicHtmlSchemaTest.java @@ -807,7 +807,7 @@ public class BasicHtmlSchemaTest { } catch (AssertionError e) { throw e; } catch (Exception e) { - throw new AssertionError(label + " test failed", e); + throw new AssertionError(label + " test failed. exception=" + e.getLocalizedMessage()); } } @@ -820,7 +820,7 @@ public class BasicHtmlSchemaTest { } catch (AssertionError e) { throw e; } catch (Exception e) { - throw new AssertionError(label + " test failed", e); + throw new AssertionError(label + " test failed. exception=" + e.getLocalizedMessage()); } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core-test/src/test/java/org/apache/juneau/dto/html5/HtmlTemplatesTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/dto/html5/HtmlTemplatesTest.java b/juneau-core-test/src/test/java/org/apache/juneau/dto/html5/HtmlTemplatesTest.java index 6606228..e4c442c 100644 --- a/juneau-core-test/src/test/java/org/apache/juneau/dto/html5/HtmlTemplatesTest.java +++ b/juneau-core-test/src/test/java/org/apache/juneau/dto/html5/HtmlTemplatesTest.java @@ -105,7 +105,7 @@ public class HtmlTemplatesTest { } catch (AssertionError e) { throw e; } catch (Exception e) { - throw new AssertionError(label + " test failed", e); + throw new AssertionError(label + " test failed. exception=" + e.getLocalizedMessage()); } } @@ -118,7 +118,7 @@ public class HtmlTemplatesTest { } catch (AssertionError e) { throw e; } catch (Exception e) { - throw new AssertionError(label + " test failed", e); + throw new AssertionError(label + " test failed. exception=" + e.getLocalizedMessage()); } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core-test/src/test/java/org/apache/juneau/jena/CommonTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/jena/CommonTest.java b/juneau-core-test/src/test/java/org/apache/juneau/jena/CommonTest.java index 45994ec..1e8daff 100755 --- a/juneau-core-test/src/test/java/org/apache/juneau/jena/CommonTest.java +++ b/juneau-core-test/src/test/java/org/apache/juneau/jena/CommonTest.java @@ -236,8 +236,7 @@ public class CommonTest { String r = s.serialize(l1); assertEquals("<rdf:Seq><rdf:li rdf:parseType='Resource'><jp:x1><rdf:Seq><rdf:li rdf:parseType='Resource'><jp:x2>2</jp:x2></rdf:li></rdf:Seq></jp:x1><jp:x2>2</jp:x2></rdf:li></rdf:Seq>", strip(r)); - ClassMeta<LinkedList<F>> cm = p.getBeanContext().getClassMeta(LinkedList.class, F.class); - l2 = p.parse(r, cm); + l2 = p.parse(r, LinkedList.class, F.class); assertEqualObjects(l1, l2); } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core-test/src/test/java/org/apache/juneau/jena/RdfTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/jena/RdfTest.java b/juneau-core-test/src/test/java/org/apache/juneau/jena/RdfTest.java index 6becb22..d84ca86 100755 --- a/juneau-core-test/src/test/java/org/apache/juneau/jena/RdfTest.java +++ b/juneau-core-test/src/test/java/org/apache/juneau/jena/RdfTest.java @@ -524,7 +524,6 @@ public class RdfTest { } @Test - @SuppressWarnings("unchecked") public void testLooseCollectionsOfBeans() throws Exception { WriterSerializer s = new RdfSerializer.XmlAbbrev().setProperty(RDF_looseCollections, true); ReaderParser p = new RdfParser.Xml().setProperty(RDF_looseCollections, true); @@ -548,7 +547,7 @@ public class RdfTest { + "\n</rdf:RDF>"; assertXmlEquals(expected, rdfXml); - l = p.parseCollection(rdfXml, LinkedList.class, D.class); + l = p.parse(rdfXml, LinkedList.class, D.class); D[] da = l.toArray(new D[l.size()]); rdfXml = s.serialize(da); expected = http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core-test/src/test/java/org/apache/juneau/json/JsonTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/json/JsonTest.java b/juneau-core-test/src/test/java/org/apache/juneau/json/JsonTest.java index 0963c4f..cfe4096 100755 --- a/juneau-core-test/src/test/java/org/apache/juneau/json/JsonTest.java +++ b/juneau-core-test/src/test/java/org/apache/juneau/json/JsonTest.java @@ -194,7 +194,6 @@ public class JsonTest { // testWrapperAttrAnnotationOnBean //==================================================================================================== @Test - @SuppressWarnings("unchecked") public void testWrapperAttrAnnotationOnBean() throws Exception { JsonSerializer s = JsonSerializer.DEFAULT_LAX; JsonParser p = JsonParser.DEFAULT; @@ -211,7 +210,7 @@ public class JsonTest { r = s.serialize(m); assertEquals("{bar:{foo:{f1:1}}}", r); - m = p.parseMap(r, LinkedHashMap.class, String.class, A.class); + m = p.parse(r, LinkedHashMap.class, String.class, A.class); assertEquals(1, m.get("bar").f1); } @@ -230,7 +229,6 @@ public class JsonTest { // testWrapperAttrAnnotationOnNonBean //==================================================================================================== @Test - @SuppressWarnings("unchecked") public void testWrapperAttrAnnotationOnNonBean() throws Exception { JsonSerializer s = JsonSerializer.DEFAULT_LAX; JsonParser p = JsonParser.DEFAULT; @@ -247,7 +245,7 @@ public class JsonTest { r = s.serialize(m); assertEquals("{bar:{foo:'1'}}", r); - m = p.parseMap(r, LinkedHashMap.class, String.class, B.class); + m = p.parse(r, LinkedHashMap.class, String.class, B.class); assertEquals(1, m.get("bar").f1); } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core-test/src/test/java/org/apache/juneau/transforms/ByteArrayBase64SwapTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/transforms/ByteArrayBase64SwapTest.java b/juneau-core-test/src/test/java/org/apache/juneau/transforms/ByteArrayBase64SwapTest.java index ab8565f..a7d593e 100755 --- a/juneau-core-test/src/test/java/org/apache/juneau/transforms/ByteArrayBase64SwapTest.java +++ b/juneau-core-test/src/test/java/org/apache/juneau/transforms/ByteArrayBase64SwapTest.java @@ -17,14 +17,13 @@ import static org.junit.Assert.*; import java.util.*; -import org.apache.juneau.*; import org.apache.juneau.a.rttests.*; import org.apache.juneau.json.*; import org.apache.juneau.parser.*; import org.apache.juneau.serializer.*; import org.junit.*; -@SuppressWarnings({"unchecked","serial","javadoc"}) +@SuppressWarnings({"serial","javadoc"}) public class ByteArrayBase64SwapTest extends RoundTripTest { public ByteArrayBase64SwapTest(String label, Serializer s, Parser p, int flags) throws Exception { @@ -64,15 +63,13 @@ public class ByteArrayBase64SwapTest extends RoundTripTest { if (p == null) return; - BeanSession session = p.getBeanContext().createSession(); - List<byte[]> fl = new ArrayList<byte[]>() {{ add(new byte[]{1,2,3}); add(new byte[]{4,5,6}); add(null); }}; assertEquals("['AQID','BAUG',null]", s.serialize(fl)); - fl = roundTrip(fl, session.getCollectionClassMeta(List.class, byte[].class)); + fl = roundTrip(fl, List.class, byte[].class); assertEquals(1, fl.get(0)[0]); assertEquals(5, fl.get(1)[1]); assertNull(fl.get(2)); @@ -83,7 +80,7 @@ public class ByteArrayBase64SwapTest extends RoundTripTest { put(null, new byte[]{4,5,6}); put("null", new byte[]{7,8,9}); }}; - fm = roundTrip(fm, session.getMapClassMeta(Map.class, String.class, byte[].class)); + fm = roundTrip(fm, Map.class, String.class, byte[].class); assertEquals(1, fm.get("foo")[0]); assertNull(fm.get(1)); assertEquals(5, fm.get(null)[1]); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/CommonParser_UrlEncodingTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/CommonParser_UrlEncodingTest.java b/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/CommonParser_UrlEncodingTest.java index 6e3823a..5739068 100755 --- a/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/CommonParser_UrlEncodingTest.java +++ b/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/CommonParser_UrlEncodingTest.java @@ -179,8 +179,7 @@ public class CommonParser_UrlEncodingTest { assertEquals("0=foo&1=bar", s.serialize(l)); String in = "0=foo&1=bar"; - ClassMeta<LinkedList<String>> cm = p.getBeanContext().createSession().getClassMeta(LinkedList.class, String.class); - l = p.parse(in, cm); + l = p.parse(in, LinkedList.class, String.class); assertObjectEquals("['foo','bar']",l); } } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/UonParserTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/UonParserTest.java b/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/UonParserTest.java index b18f791..375de89 100755 --- a/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/UonParserTest.java +++ b/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/UonParserTest.java @@ -19,7 +19,7 @@ import java.util.*; import org.apache.juneau.parser.*; import org.junit.*; -@SuppressWarnings({"rawtypes","unchecked","javadoc"}) +@SuppressWarnings({"rawtypes","javadoc"}) public class UonParserTest { static UonParser p = UonParser.DEFAULT; @@ -48,12 +48,12 @@ public class UonParserTest { // 2nd level t = "$o(a=a)"; - assertEquals("a", p.parse(t, Map.class).get("a")); - assertEquals("a", pe.parse(t, Map.class).get("a")); + assertEquals("a", ((Map)p.parse(t, Map.class)).get("a")); + assertEquals("a", ((Map)pe.parse(t, Map.class)).get("a")); t = "(a=a)"; - assertEquals("a", p.parse(t, Map.class).get("a")); - assertEquals("a", pe.parse(t, Map.class).get("a")); + assertEquals("a", ((Map)p.parse(t, Map.class)).get("a")); + assertEquals("a", ((Map)pe.parse(t, Map.class)).get("a")); // Simple map // Top level @@ -70,7 +70,7 @@ public class UonParserTest { assertNull(m.get("f")); t = "(a=true)"; - m = p.parseMap(t, HashMap.class, String.class, Boolean.class); + m = p.parse(t, HashMap.class, String.class, Boolean.class); assertTrue(m.get("a") instanceof Boolean); assertEquals("true", m.get("a").toString()); @@ -122,14 +122,14 @@ public class UonParserTest { // 2nd level in map t = "$o(x=$a())"; - m = p.parseMap(t, HashMap.class, String.class, List.class); + m = p.parse(t, HashMap.class, String.class, List.class); assertTrue(m.containsKey("x")); assertTrue(((List)m.get("x")).isEmpty()); m = (Map)p.parse(t, Object.class); assertTrue(m.containsKey("x")); assertTrue(((List)m.get("x")).isEmpty()); t = "(x=())"; - m = p.parseMap(t, HashMap.class, String.class, List.class); + m = p.parse(t, HashMap.class, String.class, List.class); assertTrue(m.containsKey("x")); assertTrue(((List)m.get("x")).isEmpty()); @@ -140,7 +140,7 @@ public class UonParserTest { l = (List)l.get(0); assertTrue(l.isEmpty()); t = "(())"; - l = p.parseCollection(t, LinkedList.class, List.class); + l = p.parse(t, LinkedList.class, List.class); assertTrue(l.size() == 1); l = (List)l.get(0); assertTrue(l.isEmpty()); @@ -152,7 +152,7 @@ public class UonParserTest { assertTrue(l.size() == 1); assertEquals("", l.get(0)); t = "(())"; - l = p.parseCollection(t, List.class, String.class); + l = p.parse(t, List.class, String.class); assertTrue(l.size() == 1); assertEquals("", l.get(0)); @@ -161,7 +161,7 @@ public class UonParserTest { m = (Map)p.parse(t, Object.class); assertEquals("", ((List)m.get("")).get(0)); t = "(=(()))"; - m = p.parseMap(t, HashMap.class, String.class, List.class); + m = p.parse(t, HashMap.class, String.class, List.class); assertEquals("", ((List)m.get("")).get(0)); // Array containing 3 empty strings @@ -172,7 +172,7 @@ public class UonParserTest { assertEquals("", l.get(1)); assertEquals("", l.get(2)); t = "(,,)"; - l = p.parseCollection(t, List.class, Object.class); + l = p.parse(t, List.class, Object.class); assertTrue(l.size() == 3); assertEquals("", l.get(0)); assertEquals("", l.get(1)); @@ -192,10 +192,10 @@ public class UonParserTest { assertTrue(m.size() == 1); assertEquals("\u0000", m.get("\u0000")); t = "((\u0000)=(\u0000))"; - m = p.parseMap(t, HashMap.class, String.class, String.class); + m = p.parse(t, HashMap.class, String.class, String.class); assertTrue(m.size() == 1); assertEquals("\u0000", m.get("\u0000")); - m = p.parseMap(t, HashMap.class, String.class, Object.class); + m = p.parse(t, HashMap.class, String.class, Object.class); assertTrue(m.size() == 1); assertEquals("\u0000", m.get("\u0000")); @@ -215,10 +215,10 @@ public class UonParserTest { m = (Map)p.parse(t, Object.class); assertEquals(Boolean.FALSE, m.get("x")); t = "(x=$b(false))"; - m = p.parseMap(t, HashMap.class, String.class, Object.class); + m = p.parse(t, HashMap.class, String.class, Object.class); assertEquals(Boolean.FALSE, m.get("x")); t = "(x=false)"; - m = p.parseMap(t, HashMap.class, String.class, Boolean.class); + m = p.parse(t, HashMap.class, String.class, Boolean.class); assertEquals(Boolean.FALSE, m.get("x")); // Number @@ -241,9 +241,9 @@ public class UonParserTest { m = (Map)p.parse(t, Object.class); assertEquals(123, ((Integer)m.get("x")).intValue()); t = "(x=123)"; - m = p.parseMap(t, HashMap.class, String.class, Number.class); + m = p.parse(t, HashMap.class, String.class, Number.class); assertEquals(123, ((Integer)m.get("x")).intValue()); - m = p.parseMap(t, HashMap.class, String.class, Double.class); + m = p.parse(t, HashMap.class, String.class, Double.class); assertEquals(123, ((Double)m.get("x")).intValue()); // Unencoded chars @@ -256,9 +256,9 @@ public class UonParserTest { t = "$o(x;/?:@-_.!*'=x;/?:@-_.!*')"; m = (Map)p.parse(t, Object.class); assertEquals("x;/?:@-_.!*'", m.get("x;/?:@-_.!*'")); - m = p.parseMap(t, HashMap.class, String.class, Object.class); + m = p.parse(t, HashMap.class, String.class, Object.class); assertEquals("x;/?:@-_.!*'", m.get("x;/?:@-_.!*'")); - m = p.parseMap(t, HashMap.class, String.class, String.class); + m = p.parse(t, HashMap.class, String.class, String.class); assertEquals("x;/?:@-_.!*'", m.get("x;/?:@-_.!*'")); // Encoded chars @@ -330,13 +330,13 @@ public class UonParserTest { m = (Map)p.parse(t, Object.class); assertEquals("x=", m.get("x=")); t = "(x~==x~=)"; - m = p.parseMap(t, HashMap.class, String.class, Object.class); + m = p.parse(t, HashMap.class, String.class, Object.class); assertEquals("x=", m.get("x=")); t = "((x~=)=(x~=))"; - m = p.parseMap(t, HashMap.class, String.class, Object.class); + m = p.parse(t, HashMap.class, String.class, Object.class); assertEquals("x=", m.get("x=")); t = "($s(x~=)=$s(x~=))"; - m = p.parseMap(t, HashMap.class, String.class, Object.class); + m = p.parse(t, HashMap.class, String.class, Object.class); assertEquals("x=", m.get("x=")); t = "$o(x~%3D=x~%3D)"; m = (Map)pe.parse(t, Object.class); @@ -348,13 +348,13 @@ public class UonParserTest { m = (Map)pe.parse(t, Object.class); assertEquals("x=", m.get("x=")); t = "(x~%3D=x~%3D)"; - m = pe.parseMap(t, HashMap.class, String.class, Object.class); + m = pe.parse(t, HashMap.class, String.class, Object.class); assertEquals("x=", m.get("x=")); t = "((x~%3D)=(x~%3D))"; - m = pe.parseMap(t, HashMap.class, String.class, Object.class); + m = pe.parse(t, HashMap.class, String.class, Object.class); assertEquals("x=", m.get("x=")); t = "($s(x~%3D)=$s(x~%3D))"; - m = pe.parseMap(t, HashMap.class, String.class, Object.class); + m = pe.parse(t, HashMap.class, String.class, Object.class); assertEquals("x=", m.get("x=")); // String starting with parenthesis @@ -375,10 +375,10 @@ public class UonParserTest { m = (Map)p.parse(t, Object.class); assertEquals("()", m.get("()")); t = "((~(~))=(~(~)))"; - m = p.parseMap(t, HashMap.class, String.class, Object.class); + m = p.parse(t, HashMap.class, String.class, Object.class); assertEquals("()", m.get("()")); t = "($s(~(~))=$s(~(~)))"; - m = p.parseMap(t, HashMap.class, String.class, Object.class); + m = p.parse(t, HashMap.class, String.class, Object.class); assertEquals("()", m.get("()")); // String starting with $ @@ -393,7 +393,7 @@ public class UonParserTest { m = (Map)p.parse(t, Object.class); assertEquals("$a", m.get("$a")); t = "(($a)=($a))"; - m = p.parseMap(t, HashMap.class, String.class, Object.class); + m = p.parse(t, HashMap.class, String.class, Object.class); assertEquals("$a", m.get("$a")); // Blank string @@ -407,7 +407,7 @@ public class UonParserTest { m = (Map)p.parse(t, Object.class); assertEquals("", m.get("")); t = "(=)"; - m = p.parseMap(t, HashMap.class, String.class, Object.class); + m = p.parse(t, HashMap.class, String.class, Object.class); assertEquals("", m.get("")); // 3rd level @@ -415,7 +415,7 @@ public class UonParserTest { m = (Map)p.parse(t, Object.class); assertEquals("", ((Map)m.get("")).get("")); t = "(=(=))"; - m = p.parseMap(t, HashMap.class, String.class, HashMap.class); + m = p.parse(t, HashMap.class, String.class, HashMap.class); assertEquals("", ((Map)m.get("")).get("")); // Newline character http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/UrlEncodingParserTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/UrlEncodingParserTest.java b/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/UrlEncodingParserTest.java index 18f12c9..911bf22 100755 --- a/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/UrlEncodingParserTest.java +++ b/juneau-core-test/src/test/java/org/apache/juneau/urlencoding/UrlEncodingParserTest.java @@ -21,7 +21,7 @@ import org.apache.juneau.*; import org.apache.juneau.parser.*; import org.junit.*; -@SuppressWarnings({"rawtypes","unchecked","javadoc"}) +@SuppressWarnings({"rawtypes","javadoc"}) public class UrlEncodingParserTest { static UrlEncodingParser p = UrlEncodingParser.DEFAULT; @@ -58,7 +58,7 @@ public class UrlEncodingParserTest { // 2nd level t = "?a=a"; - assertEquals("a", p.parse(t, Map.class).get("a")); + assertEquals("a", ((Map)p.parse(t, Map.class)).get("a")); // Simple map // Top level @@ -90,7 +90,7 @@ public class UrlEncodingParserTest { assertNull(m.get("f")); t = "?a=true"; - m = p.parseMap(t, HashMap.class, String.class, Boolean.class); + m = p.parse(t, HashMap.class, String.class, Boolean.class); assertTrue(m.get("a") instanceof Boolean); assertEquals("true", m.get("a").toString()); @@ -137,14 +137,14 @@ public class UrlEncodingParserTest { // 2nd level in map t = "?x=$a()"; - m = p.parseMap(t, HashMap.class, String.class, List.class); + m = p.parse(t, HashMap.class, String.class, List.class); assertTrue(m.containsKey("x")); assertTrue(((List)m.get("x")).isEmpty()); m = (Map)p.parse(t, Object.class); assertTrue(m.containsKey("x")); assertTrue(((List)m.get("x")).isEmpty()); t = "?x=()"; - m = p.parseMap(t, HashMap.class, String.class, List.class); + m = p.parse(t, HashMap.class, String.class, List.class); assertTrue(m.containsKey("x")); assertTrue(((List)m.get("x")).isEmpty()); @@ -155,7 +155,7 @@ public class UrlEncodingParserTest { l = (List)l.get(0); assertTrue(l.isEmpty()); t = "0=()"; - l = p.parseCollection(t, LinkedList.class, List.class); + l = p.parse(t, LinkedList.class, List.class); assertTrue(l.size() == 1); l = (List)l.get(0); assertTrue(l.isEmpty()); @@ -165,7 +165,7 @@ public class UrlEncodingParserTest { l = (List)l.get(0); assertTrue(l.isEmpty()); t = "(())"; - l = (List)p.parseParameter(t, p.getBeanContext().getClassMeta(LinkedList.class, List.class)); + l = (List)p.parseParameter(t, LinkedList.class, List.class); assertTrue(l.size() == 1); l = (List)l.get(0); assertTrue(l.isEmpty()); @@ -177,7 +177,7 @@ public class UrlEncodingParserTest { assertTrue(l.size() == 1); assertEquals("", l.get(0)); t = "0=()"; - l = p.parseCollection(t, List.class, String.class); + l = p.parse(t, List.class, String.class); assertTrue(l.size() == 1); assertEquals("", l.get(0)); t = "$a(())"; @@ -185,7 +185,7 @@ public class UrlEncodingParserTest { assertTrue(l.size() == 1); assertEquals("", l.get(0)); t = "(())"; - l = (List)p.parseParameter(t, p.getBeanContext().getClassMeta(List.class, String.class)); + l = (List)p.parseParameter(t, List.class, String.class); assertTrue(l.size() == 1); assertEquals("", l.get(0)); @@ -194,7 +194,7 @@ public class UrlEncodingParserTest { m = (Map)p.parse(t, Object.class); assertEquals("", ((List)m.get("")).get(0)); t = "?()=(())"; - m = p.parseMap(t, HashMap.class, String.class, List.class); + m = p.parse(t, HashMap.class, String.class, List.class); assertEquals("", ((List)m.get("")).get(0)); // Array containing 3 empty strings @@ -205,7 +205,7 @@ public class UrlEncodingParserTest { assertEquals("", l.get(1)); assertEquals("", l.get(2)); t = "0=&1=&2="; - l = p.parseCollection(t, List.class, Object.class); + l = p.parse(t, List.class, Object.class); assertTrue(l.size() == 3); assertEquals("", l.get(0)); assertEquals("", l.get(1)); @@ -217,7 +217,7 @@ public class UrlEncodingParserTest { assertEquals("", l.get(1)); assertEquals("", l.get(2)); t = "(,,)"; - l = (List)p.parseParameter(t, p.getBeanContext().getClassMeta(List.class, Object.class)); + l = (List)p.parseParameter(t, List.class, Object.class); assertTrue(l.size() == 3); assertEquals("", l.get(0)); assertEquals("", l.get(1)); @@ -241,7 +241,7 @@ public class UrlEncodingParserTest { m = (Map)p.parse(t, Object.class); assertTrue(m.size() == 1); assertEquals("\u0000", m.get("\u0000")); - m = p.parseMap(t, HashMap.class, String.class, Object.class); + m = p.parse(t, HashMap.class, String.class, Object.class); assertTrue(m.size() == 1); assertEquals("\u0000", m.get("\u0000")); @@ -269,7 +269,7 @@ public class UrlEncodingParserTest { m = (Map)p.parse(t, Object.class); assertEquals(Boolean.FALSE, m.get("x")); t = "?x=false"; - m = p.parseMap(t, HashMap.class, String.class, Boolean.class); + m = p.parse(t, HashMap.class, String.class, Boolean.class); assertEquals(Boolean.FALSE, m.get("x")); // Number @@ -303,7 +303,7 @@ public class UrlEncodingParserTest { t = "?x=$n(123)"; m = (Map)p.parse(t, Object.class); assertEquals(123, ((Integer)m.get("x")).intValue()); - m = p.parseMap(t, HashMap.class, String.class, Double.class); + m = p.parse(t, HashMap.class, String.class, Double.class); assertEquals(123, ((Double)m.get("x")).intValue()); // Unencoded chars @@ -317,9 +317,9 @@ public class UrlEncodingParserTest { t = "?x;/?:@-_.!*'=x;/?:@-_.!*'"; m = (Map)p.parse(t, Object.class); assertEquals("x;/?:@-_.!*'", m.get("x;/?:@-_.!*'")); - m = p.parseMap(t, HashMap.class, String.class, Object.class); + m = p.parse(t, HashMap.class, String.class, Object.class); assertEquals("x;/?:@-_.!*'", m.get("x;/?:@-_.!*'")); - m = p.parseMap(t, HashMap.class, String.class, String.class); + m = p.parse(t, HashMap.class, String.class, String.class); assertEquals("x;/?:@-_.!*'", m.get("x;/?:@-_.!*'")); // Encoded chars @@ -419,7 +419,7 @@ public class UrlEncodingParserTest { m = (Map)p.parse(t, Object.class); assertEquals("()", m.get("()")); t = "?(~(~))=(~(~))"; - m = p.parseMap(t, HashMap.class, String.class, Object.class); + m = p.parse(t, HashMap.class, String.class, Object.class); assertEquals("()", m.get("()")); // String starting with $ @@ -437,7 +437,7 @@ public class UrlEncodingParserTest { t = "?(~$a)=(~$a)"; m = (Map)p.parse(t, Object.class); assertEquals("$a", m.get("$a")); - m = p.parseMap(t, HashMap.class, String.class, Object.class); + m = p.parse(t, HashMap.class, String.class, Object.class); assertEquals("$a", m.get("$a")); // Blank string @@ -451,7 +451,7 @@ public class UrlEncodingParserTest { t = "?="; m = (Map)p.parse(t, Object.class); assertEquals("", m.get("")); - m = p.parseMap(t, HashMap.class, String.class, Object.class); + m = p.parse(t, HashMap.class, String.class, Object.class); assertEquals("", m.get("")); // 3rd level @@ -459,7 +459,7 @@ public class UrlEncodingParserTest { m = (Map)p.parse(t, Object.class); assertEquals("", ((Map)m.get("")).get("")); t = "?=(=)"; - m = p.parseMap(t, HashMap.class, String.class, HashMap.class); + m = p.parse(t, HashMap.class, String.class, HashMap.class); assertEquals("", ((Map)m.get("")).get("")); // Newline character http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/BeanContext.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanContext.java b/juneau-core/src/main/java/org/apache/juneau/BeanContext.java index d0a229d..dd88562 100644 --- a/juneau-core/src/main/java/org/apache/juneau/BeanContext.java +++ b/juneau-core/src/main/java/org/apache/juneau/BeanContext.java @@ -76,7 +76,7 @@ import org.apache.juneau.transform.*; * <p> * Settings are specified using the {@link ContextFactory#setProperty(String, Object)} method and related convenience methods. * - * <h6 class='topic'>Example:</h6> + * <h5 class='section'>Example:</h5> * <p class='bcode'> * <jc>// Construct a context from scratch.</jc> * BeanContext beanContext = ContextFactory.<jsm>create</jsm>() @@ -316,6 +316,15 @@ import org.apache.juneau.transform.*; * </tr> * <tr> * <td> + * {@link #BEAN_mediaType} + * </td> + * <td>Default media type value for serializer and parser sessions</td> + * <td>{@link MediaType}</td> + * <td><jk>null</jk></td> + * <td><jk>true</jk></td> + * </tr> + * <tr> + * <td> * {@link #BEAN_debug} * </td> * <td>Debug mode.</td> @@ -337,7 +346,7 @@ import org.apache.juneau.transform.*; * <li> {@link BeanSession#newBeanMap(Class) BeanSession.newBeanMap()} - Create a new bean instance wrapped in a {@code Map} wrapper. * </ol> * - * <h6 class='topic'>Example:</h6> + * <h5 class='section'>Example:</h5> * <p class='bcode'> * <jc>// A sample bean class</jc> * <jk>public class</jk> Person { @@ -366,7 +375,7 @@ import org.apache.juneau.transform.*; * <p> * This package contains annotations that can be applied to * class definitions to override what properties are detected on a bean. - * <h6 class='topic'>Example:</h6> + * <h5 class='section'>Example:</h5> * <p class='bcode'> * <jc>// Bean class definition where only property 'name' is detected.</jc> * <ja>@Bean</ja>(properties=<js>"name"</js>) @@ -1262,163 +1271,99 @@ public class BeanContext extends Context { } /** - * Returns the class type bound to this bean context if the specified class type - * is from another bean context. - * <p> - * For example, this method allows you to pass in an object from <code>BeanContext.<jsf>DEFAULT</jsf>.getMapClassMeta(...)</code> - * to any of the <code>ReaderParser.parse(Reader, ClassMeta, ParserContext)</code> methods, and the parsers - * will use this method to replace the class type with the one registered with the parser. - * This ensures that registered transforms are applied correctly. - * - * @param <T> The class type. - * @param cm The class type. - * @return The class type bound by this bean context. - */ - protected final <T> ClassMeta<T> normalizeClassMeta(ClassMeta<T> cm) { - if (cm == null) - return (ClassMeta<T>)object(); - if (cm.getBeanContext().equals(this)) - return cm; - if (cm.isMap()) { - ClassMeta<Map> cm2 = (ClassMeta<Map>)cm; - cm2 = getClassMeta(cm2.getInnerClass(), cm2.getKeyType().getInnerClass(), cm2.getValueType().getInnerClass()); - return (ClassMeta<T>)cm2; - } - if (cm.isCollection()) { - ClassMeta<Collection> cm2 = (ClassMeta<Collection>)cm; - cm2 = getClassMeta(cm2.getInnerClass(), cm2.getElementType().getInnerClass()); - return (ClassMeta<T>)cm2; - } - return getClassMeta(cm.getInnerClass()); - } - - /** - * Resolves the following types of objects: - * <ul> - * <li>{@link Class} - * <li><code>Object[2]</code> containing <code>{Class<? extends Collection>, Object}</code> - * where the 2nd entry is the entry type which can be anything on this list. - * <li><code>Object[3]</code> containing <code>{Class<? extends Map>, Object, Object}</code> - * where the 2nd entry is the key type and 3rd entry is the value type which can be anything on this list. - * </ul> - * - * @param o - * @return The resolved class meta. - */ - public final <T> ClassMeta<T> getClassMeta(Object o) { - if (o == null) - return null; - if (o instanceof Class) - return getClassMeta((Class)o); - if (o instanceof Type) - return getClassMeta((Type)o); - if (List.class.isAssignableFrom(o.getClass())) { - List l = (List)o; - o = l.toArray(new Object[l.size()]); - return getClassMeta((Object[])o); - } - if (o.getClass().isArray()) - return getClassMeta((Object[])o); - throw new BeanRuntimeException("Invalid object type passed to getClassMeta(): ''{0}''. Only Class or arrays containing Class is supported.", o.getClass().getName()); - } - - /** - * Resolves the following types of objects: - * <ul> - * <li><code>Object[2]</code> containing <code>{Class<? extends Collection>, Object}</code> - * where the 2nd entry is the entry type which can be anything on this list. - * <li><code>Object[3]</code> containing <code>{Class<? extends Map>, Object, Object}</code> - * where the 2nd entry is the key type and 3rd entry is the value type which can be anything on this list. - * </ul> - * - * @param o - * @return The resolved class meta. - */ - public final <T> ClassMeta<T> getClassMeta(Object...o) { - if (o == null) - return null; - int len = o.length; - if (len == 2) { - Object oc = Array.get(o, 0); - if (oc instanceof Class) { - Class c = (Class)oc; - if (Collection.class.isAssignableFrom(c)) { - ClassMeta<?> rawType = getClassMeta(c); - ClassMeta<?> ce = getClassMeta(Array.get(o, 1)); - if (ce.isObject()) - return (ClassMeta<T>)rawType; - return new ClassMeta(rawType, null, null, ce); - } - } - } else if (len == 3) { - Object oc = Array.get(o, 0); - if (oc instanceof Class) { - Class c = (Class)oc; - if (Map.class.isAssignableFrom(c)) { - ClassMeta<?> rawType = getClassMeta(c); - ClassMeta<?> ck = getClassMeta(Array.get(o, 1)); - ClassMeta<?> cv = getClassMeta(Array.get(o, 2)); - if (ck.isObject() && cv.isObject()) - return (ClassMeta<T>)rawType; - return new ClassMeta(rawType, ck, cv, null); - } - } - } - throw new BeanRuntimeException("Invalid object type passed to getClassMeta(): ''{0}''. Only Class or arrays containing Class is supported.", o.getClass().getName()); - } - - /** * Construct a {@code ClassMeta} wrapper around a {@link Class} object. * * @param <T> The class type being wrapped. - * @param c The class being wrapped. - * of type {@link Class} or {@link ClassMeta}. + * @param type The class to resolve. * @return If the class is not an array, returns a cached {@link ClassMeta} object. * Otherwise, returns a new {@link ClassMeta} object every time.<br> */ - public final <T> ClassMeta<T> getClassMeta(Class<T> c) { + public final <T> ClassMeta<T> getClassMeta(Class<T> type) { // If this is an array, then we want it wrapped in an uncached ClassMeta object. // Note that if it has a pojo swap, we still want to cache it so that // we can cache something like byte[] with ByteArrayBase64Swap. - if (c.isArray() && findPojoSwap(c) == null) - return new ClassMeta(c, this, findImplClass(c), findBeanFilter(c), findPojoSwap(c), findChildPojoSwaps(c)); + if (type.isArray() && findPojoSwap(type) == null) + return new ClassMeta(type, this, findImplClass(type), findBeanFilter(type), findPojoSwap(type), findChildPojoSwaps(type)); // This can happen if we have transforms defined against String or Object. if (cmCache == null) return null; - ClassMeta<T> cm = cmCache.get(c); + ClassMeta<T> cm = cmCache.get(type); if (cm == null) { synchronized (this) { // Make sure someone didn't already set it while this thread was blocked. - cm = cmCache.get(c); + cm = cmCache.get(type); if (cm == null) - cm = new ClassMeta<T>(c, this, findImplClass(c), findBeanFilter(c), findPojoSwap(c), findChildPojoSwaps(c)); + cm = new ClassMeta<T>(type, this, findImplClass(type), findBeanFilter(type), findPojoSwap(type), findChildPojoSwaps(type)); } } return cm; } /** - * Constructs a ClassMeta object given the specified object and parameters. + * Used to resolve <code>ClassMetas</code> of type <code>Collection</code> and <code>Map</code> that have + * <code>ClassMeta</code> values that themselves could be collections or maps. + * <p> + * <code>Collection</code> meta objects are assumed to be followed by zero or one meta objects indicating the element type. + * <p> + * <code>Map</code> meta objects are assumed to be followed by zero or two meta objects indicating the key and value types. + * <p> + * The array can be arbitrarily long to indicate arbitrarily complex data structures. * - * @param o The parent class type. - * Can be any of the following types: - * <ul class='spaced-list'> - * <li>{@link ClassMeta} object, which just returns the same object. - * <li>{@link Class} object (e.g. <code>String.<jk>class</jk></code>). - * <li>{@link Type} object (e.g. {@link ParameterizedType} or {@link GenericArrayType}. - * <li>Anything else is interpreted as {@code getClassMeta(o.getClass(), parameters);} - * </ul> - * @return A ClassMeta object, or <jk>null</jk> if the object is null. + * <h5 class='section'>Examples:</h5> + * <ul> + * <li><code>getClassMeta(String.<jk>class</jk>);</code> - A normal type. + * <li><code>getClassMeta(List.<jk>class</jk>);</code> - A list containing objects. + * <li><code>getClassMeta(List.<jk>class</jk>, String.<jk>class</jk>);</code> - A list containing strings. + * <li><code>getClassMeta(LinkedList.<jk>class</jk>, String.<jk>class</jk>);</code> - A linked-list containing strings. + * <li><code>getClassMeta(LinkedList.<jk>class</jk>, LinkedList.<jk>class</jk>, String.<jk>class</jk>);</code> - A linked-list containing linked-lists of strings. + * <li><code>getClassMeta(Map.<jk>class</jk>);</code> - A map containing object keys/values. + * <li><code>getClassMeta(Map.<jk>class</jk>, String.<jk>class</jk>, String.<jk>class</jk>);</code> - A map containing string keys/values. + * <li><code>getClassMeta(Map.<jk>class</jk>, String.<jk>class</jk>, List.<jk>class</jk>, MyBean.<jk>class</jk>);</code> - A map containing string keys and values of lists containing beans. + * </ul> + * + * @param type The class to resolve. + * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, {@link GenericArrayType} + * @param args The type arguments of the class if it's a collection or map. + * <br>Can be any of the following: {@link ClassMeta}, {@link Class}, {@link ParameterizedType}, {@link GenericArrayType} + * <br>Ignored if the main type is not a map or collection. + * @return The resolved class meta. */ - public final ClassMeta getClassMeta(Type o) { - return getClassMeta(o, null); + public final <T> ClassMeta<T> getClassMeta(Type type, Type...args) { + if (type == null) + return null; + ClassMeta<T> cm = type instanceof Class ? getClassMeta((Class)type) : resolveClassMeta(type, null); + if (args.length == 0) + return cm; + ClassMeta<?>[] cma = new ClassMeta[args.length+1]; + cma[0] = cm; + for (int i = 0; i < Array.getLength(args); i++) { + Type arg = (Type)Array.get(args, i); + cma[i+1] = arg instanceof Class ? getClassMeta((Class)arg) : resolveClassMeta(arg, null); + } + return (ClassMeta<T>) getTypedClassMeta(cma, 0); + } + + /* + * Resolves the 'genericized' class meta at the specified position in the ClassMeta array. + */ + private ClassMeta<?> getTypedClassMeta(ClassMeta<?>[] c, int pos) { + ClassMeta<?> cm = c[pos++]; + if (cm.isCollection()) { + ClassMeta<?> ce = c.length == pos ? object() : getTypedClassMeta(c, pos); + return (ce.isObject() ? cm : new ClassMeta(cm, null, null, ce)); + } else if (cm.isMap()) { + ClassMeta<?> ck = c.length == pos ? object() : c[pos++]; + ClassMeta<?> cv = c.length == pos ? object() : getTypedClassMeta(c, pos); + return (ck.isObject() && cv.isObject() ? cm : new ClassMeta(cm, ck, cv, null)); + } + return cm; } - final ClassMeta getClassMeta(Type o, Map<Class<?>,Class<?>[]> typeVarImpls) { + final ClassMeta resolveClassMeta(Type o, Map<Class<?>,Class<?>[]> typeVarImpls) { if (o == null) return null; @@ -1530,7 +1475,7 @@ public class BeanContext extends Context { for (Type pt2 : pt.getActualTypeArguments()) { if (pt2 instanceof WildcardType || pt2 instanceof TypeVariable) return null; - l.add(getClassMeta(pt2, null)); + l.add(resolveClassMeta(pt2, null)); } if (l.isEmpty()) return null; @@ -1567,13 +1512,13 @@ public class BeanContext extends Context { * Can be <jk>null</jk> if the information is not known. * @return The new {@code ClassMeta} object wrapped around the {@code Type} object. */ - protected final <T> ClassMeta<T> getClassMeta(BeanProperty p, Type t, Map<Class<?>,Class<?>[]> typeVarImpls) { - ClassMeta<T> cm = getClassMeta(t, typeVarImpls); + protected final <T> ClassMeta<T> resolveClassMeta(BeanProperty p, Type t, Map<Class<?>,Class<?>[]> typeVarImpls) { + ClassMeta<T> cm = resolveClassMeta(t, typeVarImpls); ClassMeta<T> cm2 = cm; if (p != null) { if (p.type() != Object.class) - cm2 = getClassMeta(p.type(), typeVarImpls); + cm2 = resolveClassMeta(p.type(), typeVarImpls); if (cm2.isMap()) { Class<?>[] pParams = (p.params().length == 0 ? new Class[]{Object.class, Object.class} : p.params()); @@ -1619,7 +1564,7 @@ public class BeanContext extends Context { // /** // * Converts class name strings to ClassMeta objects. // * -// * <h6 class='topic'>Example:</h6> +// * <h5 class='section'>Example:</h5> // * <ul> // * <li><js>"java.lang.String"</js> // * <li><js>"com.foo.sample.MyBean[]"</js> http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/BeanMap.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanMap.java b/juneau-core/src/main/java/org/apache/juneau/BeanMap.java index 8b7d563..4e1bad6 100644 --- a/juneau-core/src/main/java/org/apache/juneau/BeanMap.java +++ b/juneau-core/src/main/java/org/apache/juneau/BeanMap.java @@ -24,7 +24,7 @@ import org.apache.juneau.xml.annotation.*; /** * Java bean wrapper class. * - * <h6 class='topic'>Description</h6> + * <h5 class='section'>Description:</h5> * <p> * A wrapper that wraps Java bean instances inside of a {@link Map} interface that allows * properties on the wrapped object can be accessed using the {@link Map#get(Object) get()} and {@link Map#put(Object,Object) put()} methods. @@ -170,7 +170,7 @@ public class BeanMap<T> extends AbstractMap<String,Object> implements Delegate<T * {@link BeanProperty#swap() @BeanProperty.swap()} annotation, the value being passed in must be * a String containing an ISO8601 date-time string value. * - * <h6 class='topic'>Example:</h6> + * <h5 class='section'>Example:</h5> * <p class='bcode'> * <jc>// Construct a bean with a 'birthDate' Date field</jc> * Person p = <jk>new</jk> Person(); @@ -253,7 +253,7 @@ public class BeanMap<T> extends AbstractMap<String,Object> implements Delegate<T * {@link BeanProperty#swap() @BeanProperty.swap()} annotation, this method will return a String * containing an ISO8601 date-time string value. * - * <h6 class='topic'>Example:</h6> + * <h5 class='section'>Example:</h5> * <p class='bcode'> * <jc>// Construct a bean with a 'birthDate' Date field</jc> * Person p = <jk>new</jk> Person(); @@ -294,7 +294,7 @@ public class BeanMap<T> extends AbstractMap<String,Object> implements Delegate<T * depends on the default parser specified by the {@link BeanContext#BEAN_defaultParser} property * value on the config that created the context that created this map. * - * <h6 class='topic'>Example:</h6> + * <h5 class='section'>Example:</h5> * <p class='bcode'> * aPersonBean.load(<js>"{name:'John Smith',age:21}"</js>) * </p> http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/BeanMapEntry.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanMapEntry.java b/juneau-core/src/main/java/org/apache/juneau/BeanMapEntry.java index 47da2b8..b7a2758 100644 --- a/juneau-core/src/main/java/org/apache/juneau/BeanMapEntry.java +++ b/juneau-core/src/main/java/org/apache/juneau/BeanMapEntry.java @@ -22,7 +22,7 @@ import org.apache.juneau.transform.*; * <p> * This class can be used to get and set property values on a bean, or to get metadata on a property. * - * <h6 class='topic'>Example:</h6> + * <h5 class='section'>Example:</h5> * <p class='bcode'> * <jc>// Construct a new bean</jc> * Person p = <jk>new</jk> Person(); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/30dd3b93/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java b/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java index 4716371..42425ee 100644 --- a/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java +++ b/juneau-core/src/main/java/org/apache/juneau/BeanMeta.java @@ -29,7 +29,7 @@ import org.apache.juneau.utils.*; /** * Encapsulates all access to the properties of a bean class (like a souped-up {@link java.beans.BeanInfo}). * - * <h6 class='topic'>Description</h6> + * <h5 class='section'>Description:</h5> * <p> * Uses introspection to find all the properties associated with this class. If the {@link Bean @Bean} annotation * is present on the class, or the class has a {@link BeanFilter} registered with it in the bean context,
