You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by ts...@apache.org on 2017/01/15 13:45:02 UTC

wicket git commit: Fixed JSONObject constructor to throw checked exceptions

Repository: wicket
Updated Branches:
  refs/heads/wicket-7.x 573b01b44 -> 294423916


Fixed JSONObject constructor to throw checked exceptions

* see https://github.com/apache/wicket/pull/195#issuecomment-270600508

Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/29442391
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/29442391
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/29442391

Branch: refs/heads/wicket-7.x
Commit: 294423916e0ece7be3819e9a7cae1671af38a0bf
Parents: 573b01b
Author: Tobias Soloschenko <ts...@apache.org>
Authored: Sun Jan 15 14:44:14 2017 +0100
Committer: Tobias Soloschenko <ts...@apache.org>
Committed: Sun Jan 15 14:44:14 2017 +0100

----------------------------------------------------------------------
 .../org/apache/wicket/ajax/json/JSONObject.java | 29 +++++++++++++-------
 1 file changed, 19 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/29442391/wicket-core/src/main/java/org/apache/wicket/ajax/json/JSONObject.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/ajax/json/JSONObject.java b/wicket-core/src/main/java/org/apache/wicket/ajax/json/JSONObject.java
index 3f94a86..0d147ea 100644
--- a/wicket-core/src/main/java/org/apache/wicket/ajax/json/JSONObject.java
+++ b/wicket-core/src/main/java/org/apache/wicket/ajax/json/JSONObject.java
@@ -212,19 +212,28 @@ public class JSONObject {
         }
     }
 
-    public JSONObject(Object bean) throws IntrospectionException, InvocationTargetException, IllegalAccessException {
-        this(propertiesAsMap(bean));
+    /**
+     * Creates a json object from a bean
+     * @param bean the been to create the json object from
+     * @throws JSONException If there is an exception while reading the bean
+     */
+    public JSONObject(Object bean) throws JSONException {
+    		this(propertiesAsMap(bean));
     }
 
     private static Map<String, Object> propertiesAsMap(Object bean)
-            throws IntrospectionException, IllegalAccessException, InvocationTargetException {
-        PropertyDescriptor[] properties = Introspector.getBeanInfo(bean.getClass(), Object.class)
-                .getPropertyDescriptors();
-        Map<String, Object> props = new TreeMap<String, Object>();
-        for (int i = 0; i < properties.length; i++) {
-            PropertyDescriptor propertyDescriptor = properties[i];
-            props.put(propertyDescriptor.getDisplayName(), propertyDescriptor.getReadMethod().invoke(bean));
-        }
+            throws JSONException {
+    	Map<String, Object> props = new TreeMap<String, Object>();
+    	try{  
+	        PropertyDescriptor[] properties = Introspector.getBeanInfo(bean.getClass(), Object.class)
+	                .getPropertyDescriptors();
+	        for (int i = 0; i < properties.length; i++) {
+	            PropertyDescriptor propertyDescriptor = properties[i];
+	            props.put(propertyDescriptor.getDisplayName(), propertyDescriptor.getReadMethod().invoke(bean));
+	        }
+    	}catch(IntrospectionException | InvocationTargetException | IllegalAccessException e){
+    		throw new JSONException(e);
+    	}
         return props;
     }