You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2017/02/05 17:59:34 UTC

incubator-juneau git commit: Get rid of remaining toObjectMap() method support.

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 <ja...@apache.org>
Authored: Sun Feb 5 12:59:30 2017 -0500
Committer: JamesBognar <ja...@apache.org>
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: