Repository: incubator-juneau Updated Branches: refs/heads/master 21fcc1197 -> 1e968f3ac
Get rid of remaining toObjectMap() method support. Project: http://git-wip-us.apache.org/repos/asf/incubator-juneau/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-juneau/commit/1e968f3a Tree: http://git-wip-us.apache.org/repos/asf/incubator-juneau/tree/1e968f3a Diff: http://git-wip-us.apache.org/repos/asf/incubator-juneau/diff/1e968f3a Branch: refs/heads/master Commit: 1e968f3ac31523a89d2b514b08cbfd2ad0f8d1c0 Parents: 21fcc11 Author: JamesBognar <[email protected]> Authored: Sun Feb 5 12:59:30 2017 -0500 Committer: JamesBognar <[email protected]> Committed: Sun Feb 5 12:59:30 2017 -0500 ---------------------------------------------------------------------- .../java/org/apache/juneau/jena/RdfParser.java | 7 --- .../java/org/apache/juneau/BeanSession.java | 3 -- .../main/java/org/apache/juneau/ClassMeta.java | 48 -------------------- .../java/org/apache/juneau/html/HtmlParser.java | 4 -- .../java/org/apache/juneau/json/JsonParser.java | 4 -- .../apache/juneau/msgpack/MsgPackParser.java | 5 -- .../apache/juneau/urlencoding/UonParser.java | 4 -- .../juneau/urlencoding/UrlEncodingParser.java | 4 -- .../java/org/apache/juneau/xml/XmlParser.java | 4 -- juneau-core/src/main/javadoc/overview.html | 10 ++-- 10 files changed, 7 insertions(+), 86 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/1e968f3a/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 b18ab15..eec0ffc 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 @@ -323,13 +323,6 @@ public class RdfParser extends ReaderParser { } if (sType.isArray()) o = session.toArray(sType, (Collection)o); - } else if (sType.canCreateNewInstanceFromObjectMap(outer)) { - Resource r = n.asResource(); - if (session.wasAlreadyProcessed(r)) - return null; - Map m = new ObjectMap(session); - parseIntoMap(session, r, m, eType.getKeyType(), eType.getValueType()); - o = sType.newInstanceFromObjectMap(session, outer, (ObjectMap)m); } else if (sType.canCreateNewBean(outer)) { Resource r = n.asResource(); if (session.wasAlreadyProcessed(r)) http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/1e968f3a/juneau-core/src/main/java/org/apache/juneau/BeanSession.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/BeanSession.java b/juneau-core/src/main/java/org/apache/juneau/BeanSession.java index e7a405d..dc54ac4 100644 --- a/juneau-core/src/main/java/org/apache/juneau/BeanSession.java +++ b/juneau-core/src/main/java/org/apache/juneau/BeanSession.java @@ -554,9 +554,6 @@ public class BeanSession extends Session { if (type.isBean() && value instanceof Map) return newBeanMap(tc).load((Map<?,?>) value).getBean(); - if (type.canCreateNewInstanceFromObjectMap(outer) && value instanceof ObjectMap) - return type.newInstanceFromObjectMap(this, outer, (ObjectMap)value); - if (type.canCreateNewInstanceFromNumber(outer) && value instanceof Number) return type.newInstanceFromNumber(this, outer, (Number)value); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/1e968f3a/juneau-core/src/main/java/org/apache/juneau/ClassMeta.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/ClassMeta.java b/juneau-core/src/main/java/org/apache/juneau/ClassMeta.java index 74027e6..69c8b33 100644 --- a/juneau-core/src/main/java/org/apache/juneau/ClassMeta.java +++ b/juneau-core/src/main/java/org/apache/juneau/ClassMeta.java @@ -1208,22 +1208,6 @@ public final class ClassMeta<T> implements Type { } /** - * Returns <jk>true</jk> if this class can call the {@link #newInstanceFromString(Object, String)} method. - * - * @param outer The outer class object for non-static member classes. Can be <jk>null</jk> for non-member or static classes. - * @return <jk>true</jk> if this class has a no-arg constructor or invocation handler. - */ - public boolean canCreateNewInstanceFromObjectMap(Object outer) { - // TODO - Get rid of? - if (swapMethodType == ObjectMap.class && (swapConstructor != null || unswapMethod != null)) { - if (isMemberClass) - return outer != null && swapConstructor.getParameterTypes()[0] == outer.getClass(); - return true; - } - return false; - } - - /** * Returns the method annotated with {@link NameProperty @NameProperty}. * * @return The method annotated with {@link NameProperty @NameProperty} or <jk>null</jk> if method does not exist. @@ -1341,38 +1325,6 @@ public final class ClassMeta<T> implements Type { } /** - * Create a new instance of the main class of this declared type from an <code>ObjectMap</code> input. - * <p> - * In order to use this method, the class must have one of the following methods: - * <ul> - * <li><code><jk>public</jk> T(ObjectMap in);</code> - * </ul> - * - * @param session The current bean session. - * @param outer The outer class object for non-static member classes. Can be <jk>null</jk> for non-member or static classes. - * @param arg The input argument value. - * @return A new instance of the object. - * @throws IllegalAccessException If the <code>Constructor</code> object enforces Java language access control and the underlying constructor is inaccessible. - * @throws IllegalArgumentException If the parameter type on the method was invalid. - * @throws InstantiationException If the class that declares the underlying constructor represents an abstract class, or - * does not have one of the methods described above. - * @throws InvocationTargetException If the underlying constructor throws an exception. - */ - @SuppressWarnings("unchecked") - public T newInstanceFromObjectMap(BeanSession session, Object outer, ObjectMap arg) throws IllegalArgumentException, IllegalAccessException, InvocationTargetException, InstantiationException { - // TODO - Get rid of? - if (swapConstructor != null) { - if (isMemberClass) - return swapConstructor.newInstance(outer, arg); - return swapConstructor.newInstance(arg); - } - if (unswapMethod != null) { - return (T)unswapMethod.invoke(null, session, arg); - } - throw new InstantiationError("No map constructor method found for class '"+getInnerClass().getName()+"'"); - } - - /** * Create a new instance of the main class of this declared type. * * @return A new instance of the object, or <jk>null</jk> if there is no no-arg constructor on the object. http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/1e968f3a/juneau-core/src/main/java/org/apache/juneau/html/HtmlParser.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/html/HtmlParser.java b/juneau-core/src/main/java/org/apache/juneau/html/HtmlParser.java index 7757386..27ff24f 100644 --- a/juneau-core/src/main/java/org/apache/juneau/html/HtmlParser.java +++ b/juneau-core/src/main/java/org/apache/juneau/html/HtmlParser.java @@ -174,10 +174,6 @@ public final class HtmlParser extends XmlParser { o = parseIntoMap(session, r, (Map)new ObjectMap(session), sType.getKeyType(), sType.getValueType(), pMeta); } else if (sType.isMap()) { o = parseIntoMap(session, r, (Map)(sType.canCreateNewInstance(outer) ? sType.newInstance(outer) : new ObjectMap(session)), sType.getKeyType(), sType.getValueType(), pMeta); - } else if (sType.canCreateNewInstanceFromObjectMap(outer)) { - ObjectMap m = new ObjectMap(session); - parseIntoMap(session, r, m, string(), object(), pMeta); - o = sType.newInstanceFromObjectMap(session, outer, m); } else if (sType.canCreateNewBean(outer)) { BeanMap m = session.newBeanMap(outer, sType.getInnerClass()); o = parseIntoBean(session, r, m).getBean(); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/1e968f3a/juneau-core/src/main/java/org/apache/juneau/json/JsonParser.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/json/JsonParser.java b/juneau-core/src/main/java/org/apache/juneau/json/JsonParser.java index 3289abe..da204bc 100644 --- a/juneau-core/src/main/java/org/apache/juneau/json/JsonParser.java +++ b/juneau-core/src/main/java/org/apache/juneau/json/JsonParser.java @@ -163,10 +163,6 @@ public final class JsonParser extends ReaderParser { Collection l = (sType.canCreateNewInstance(outer) ? (Collection)sType.newInstance() : new ObjectList(session)); o = parseIntoCollection2(session, r, l, sType.getElementType(), pMeta); } - } else if (sType.canCreateNewInstanceFromObjectMap(outer)) { - ObjectMap m = new ObjectMap(session); - parseIntoMap2(session, r, m, string(), object(), pMeta); - o = sType.newInstanceFromObjectMap(session, outer, m); } else if (sType.canCreateNewBean(outer)) { BeanMap m = session.newBeanMap(outer, sType.getInnerClass()); o = parseIntoBeanMap2(session, r, m).getBean(); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/1e968f3a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java index acb5a3c..8ea0f4a 100644 --- a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java +++ b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java @@ -105,11 +105,6 @@ public final class MsgPackParser extends InputStreamParser { } else { throw new ParseException(session, "Invalid data type {0} encountered for parse type {1}", dt, sType); } - } else if (sType.canCreateNewInstanceFromObjectMap(outer)) { - ObjectMap m = new ObjectMap(session); - for (int i = 0; i < length; i++) - m.put(parseAnything(session, string(), is, outer, pMeta), parseAnything(session, object(), is, m, pMeta)); - o = sType.newInstanceFromObjectMap(session, outer, m); } else if (sType.canCreateNewBean(outer)) { if (dt == MAP) { BeanMap m = session.newBeanMap(outer, sType.getInnerClass()); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/1e968f3a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParser.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParser.java b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParser.java index c6a3b97..0b78561 100644 --- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParser.java +++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParser.java @@ -154,10 +154,6 @@ public class UonParser extends ReaderParser { Collection l = (sType.canCreateNewInstance(outer) ? (Collection)sType.newInstance(outer) : new ObjectList(session)); o = parseIntoCollection(session, r, l, sType.getElementType(), isUrlParamValue, pMeta); } - } else if (sType.canCreateNewInstanceFromObjectMap(outer)) { - ObjectMap m = new ObjectMap(session); - parseIntoMap(session, r, m, string(), object(), pMeta); - o = sType.newInstanceFromObjectMap(session, outer, m); } else if (sType.canCreateNewBean(outer)) { BeanMap m = session.newBeanMap(outer, sType.getInnerClass()); m = parseIntoBeanMap(session, r, m); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/1e968f3a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java index acb6827..89d428e 100644 --- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java +++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java @@ -88,10 +88,6 @@ public class UrlEncodingParser extends UonParser { } else if (sType.isMap()) { Map m = (sType.canCreateNewInstance() ? (Map)sType.newInstance() : new ObjectMap(session)); o = parseIntoMap(session, r, m, sType.getKeyType(), sType.getValueType()); - } else if (sType.canCreateNewInstanceFromObjectMap(outer)) { - ObjectMap m = new ObjectMap(session); - parseIntoMap(session, r, m, string(), object()); - o = sType.newInstanceFromObjectMap(session, outer, m); } else if (sType.canCreateNewBean(outer)) { BeanMap m = session.newBeanMap(outer, sType.getInnerClass()); m = parseIntoBeanMap(session, r, m); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/1e968f3a/juneau-core/src/main/java/org/apache/juneau/xml/XmlParser.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/xml/XmlParser.java b/juneau-core/src/main/java/org/apache/juneau/xml/XmlParser.java index 0e39e89..29dea9f 100644 --- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlParser.java +++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlParser.java @@ -141,10 +141,6 @@ public class XmlParser extends ReaderParser { o = parseIntoCollection(session, r, l, sType.getElementType(), pMeta); } else if (sType.isNumber()) { o = parseNumber(session.getElementText(r), (Class<? extends Number>)sType.getInnerClass()); - } else if (sType.canCreateNewInstanceFromObjectMap(outer)) { - ObjectMap m = new ObjectMap(session); - parseIntoMap(session, r, m, string(), object(), pMeta); - o = sType.newInstanceFromObjectMap(session, outer, m); } else if (sType.canCreateNewBean(outer)) { if (sType.getExtendedMeta(XmlClassMeta.class).getFormat() == COLLAPSED) { String fieldName = r.getLocalName(); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/1e968f3a/juneau-core/src/main/javadoc/overview.html ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/javadoc/overview.html b/juneau-core/src/main/javadoc/overview.html index b91970d..1f11fbe 100644 --- a/juneau-core/src/main/javadoc/overview.html +++ b/juneau-core/src/main/javadoc/overview.html @@ -5468,9 +5468,13 @@ <li>{@link org.apache.juneau.transform.PojoSwap#swap(BeanSession,Object)} <li>{@link org.apache.juneau.transform.PojoSwap#unswap(BeanSession,Object,ClassMeta)} </ul> - <li>Replaced support for <code>toObjectMap()</code> and <code>fromObjectMap()/T(ObjectMap)</code> methods with - generalized <code>swap(BeanSession)</code>/<code>unswap(BeanSession,X)</code>/<code>T(BeanSession,X)</code> methods.<br> - See new section <a class='doclink' href='#Core.SwapMethods'>Swap methods</a> for information. + <li>General code improvements made to {@link org.apache.juneau.ClassMeta} class. + <ul> + <li>All fields are now final which should improve overall performance. + <li>Replaced support for <code>toObjectMap()</code> and <code>fromObjectMap()/T(ObjectMap)</code> methods with + generalized <code>swap(BeanSession)</code>/<code>unswap(BeanSession,X)</code>/<code>T(BeanSession,X)</code> methods.<br> + See new section <a class='doclink' href='#Core.SwapMethods'>Swap methods</a> for information. + </ul> <li>Session-level media type now available through {@link org.apache.juneau.BeanSession#getMediaType()} method. Allows for swaps and serializer/parser behavior to be tailored to individual media types. <li>Several new {@link java.util.Calendar} and {@link java.util.Date} swaps:
