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;
}