You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by gb...@apache.org on 2009/06/24 20:44:15 UTC

svn commit: r788118 - in /incubator/pivot/trunk: core/src/org/apache/pivot/serialization/ core/test/org/apache/pivot/serialization/test/ tutorials/src/org/apache/pivot/tutorials/ web/test/org/apache/pivot/web/test/ wtk/src/org/apache/pivot/wtk/

Author: gbrown
Date: Wed Jun 24 18:44:15 2009
New Revision: 788118

URL: http://svn.apache.org/viewvc?rev=788118&view=rev
Log:
Throw SerializationException from JSONSerializer.parse() methods.

Modified:
    incubator/pivot/trunk/core/src/org/apache/pivot/serialization/JSONSerializer.java
    incubator/pivot/trunk/core/test/org/apache/pivot/serialization/test/JSONSerializerTest.java
    incubator/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/KitchenSink.java
    incubator/pivot/trunk/web/test/org/apache/pivot/web/test/WebQueryTestClient.java
    incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Calendar.java
    incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButton.java
    incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Component.java
    incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Form.java
    incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/GraphicsUtilities.java
    incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButton.java
    incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/ListView.java
    incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Slider.java
    incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Spinner.java
    incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/SplitPane.java
    incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/TableView.java

Modified: incubator/pivot/trunk/core/src/org/apache/pivot/serialization/JSONSerializer.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/core/src/org/apache/pivot/serialization/JSONSerializer.java?rev=788118&r1=788117&r2=788118&view=diff
==============================================================================
--- incubator/pivot/trunk/core/src/org/apache/pivot/serialization/JSONSerializer.java (original)
+++ incubator/pivot/trunk/core/src/org/apache/pivot/serialization/JSONSerializer.java Wed Jun 24 18:44:15 2009
@@ -1046,13 +1046,14 @@
      * @return
      * The parsed object.
      */
-    public static Object parse(String json) {
+    public static Object parse(String json)
+        throws SerializationException {
         JSONSerializer jsonSerializer = new JSONSerializer();
 
         Object object;
         try {
             object = jsonSerializer.readObject(new StringReader(json));
-        } catch(Exception exception) {
+        } catch(IOException exception) {
             throw new RuntimeException(exception);
         }
 
@@ -1068,7 +1069,8 @@
      * @return
      * The parsed string.
      */
-    public static String parseString(String json) {
+    public static String parseString(String json)
+        throws SerializationException {
         return (String)parse(json);
     }
 
@@ -1081,7 +1083,8 @@
      * @return
      * The parsed number.
      */
-    public static Number parseNumber(String json) {
+    public static Number parseNumber(String json)
+        throws SerializationException {
         return (Number)parse(json);
     }
 
@@ -1094,7 +1097,8 @@
      * @return
      * The parsed short.
      */
-    public static Short parseShort(String json) {
+    public static Short parseShort(String json)
+        throws SerializationException {
         return (Short)parse(json);
     }
 
@@ -1107,7 +1111,8 @@
      * @return
      * The parsed integer.
      */
-    public static Integer parseInteger(String json) {
+    public static Integer parseInteger(String json)
+        throws SerializationException {
         return (Integer)parse(json);
     }
 
@@ -1120,7 +1125,8 @@
      * @return
      * The parsed number.
      */
-    public static Long parseLong(String json) {
+    public static Long parseLong(String json)
+        throws SerializationException {
         return (Long)parse(json);
     }
 
@@ -1133,7 +1139,8 @@
      * @return
      * The parsed float.
      */
-    public static Float parseFloat(String json) {
+    public static Float parseFloat(String json)
+        throws SerializationException {
         return (Float)parse(json);
     }
 
@@ -1146,7 +1153,8 @@
      * @return
      * The parsed double.
      */
-    public static Double parseDouble(String json) {
+    public static Double parseDouble(String json)
+        throws SerializationException {
         return (Double)parse(json);
     }
 
@@ -1159,7 +1167,8 @@
      * @return
      * The parsed boolean.
      */
-    public static Boolean parseBoolean(String json) {
+    public static Boolean parseBoolean(String json)
+        throws SerializationException {
         return (Boolean)parse(json);
     }
 
@@ -1172,7 +1181,8 @@
      * @return
      * The parsed list.
      */
-    public static List<?> parseList(String json) {
+    public static List<?> parseList(String json)
+        throws SerializationException {
         return (List<?>)parse(json);
     }
 
@@ -1186,7 +1196,8 @@
      * The parsed map.
      */
     @SuppressWarnings("unchecked")
-    public static Map<String, ?> parseMap(String json) {
+    public static Map<String, ?> parseMap(String json)
+        throws SerializationException {
         return (Map<String, ?>)parse(json);
     }
 

Modified: incubator/pivot/trunk/core/test/org/apache/pivot/serialization/test/JSONSerializerTest.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/core/test/org/apache/pivot/serialization/test/JSONSerializerTest.java?rev=788118&r1=788117&r2=788118&view=diff
==============================================================================
--- incubator/pivot/trunk/core/test/org/apache/pivot/serialization/test/JSONSerializerTest.java (original)
+++ incubator/pivot/trunk/core/test/org/apache/pivot/serialization/test/JSONSerializerTest.java Wed Jun 24 18:44:15 2009
@@ -25,6 +25,7 @@
 import org.apache.pivot.collections.List;
 import org.apache.pivot.collections.Map;
 import org.apache.pivot.serialization.JSONSerializer;
+import org.apache.pivot.serialization.SerializationException;
 
 
 public class JSONSerializerTest {
@@ -87,7 +88,7 @@
         System.out.println("Output: " + writer);
     }
 
-    public static void test1() {
+    public static void test1() throws SerializationException {
         JSONSerializer jsonSerializer = new JSONSerializer();
 
         for (int i = 0, n = testStrings.length; i < n; i++) {
@@ -186,7 +187,7 @@
         }
     }
 
-    public static void test4() {
+    public static void test4() throws SerializationException {
         Object root = JSONSerializer.parse("{a:{b:{c:'hello', d:'world'}, e:[1, 2, 3], f:false}, h:null}");
         testGet(root, "a");
         testGet(root, "a.b");

Modified: incubator/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/KitchenSink.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/KitchenSink.java?rev=788118&r1=788117&r2=788118&view=diff
==============================================================================
--- incubator/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/KitchenSink.java (original)
+++ incubator/pivot/trunk/tutorials/src/org/apache/pivot/tutorials/KitchenSink.java Wed Jun 24 18:44:15 2009
@@ -715,8 +715,13 @@
                         Button.Group messageTypeGroup = Button.getGroup("messageType");
                         Button selection = messageTypeGroup.getSelection();
 
-                        Map<String, ?> userData =
-                            JSONSerializer.parseMap((String)selection.getUserData().get("messageInfo"));
+                        Map<String, ?> userData;
+                        try {
+                            userData = JSONSerializer.parseMap((String)selection.getUserData().get("messageInfo"));
+                        } catch (SerializationException exception) {
+                            throw new RuntimeException(exception);
+                        }
+
                         String messageType = (String)userData.get("type");
 
                         if (messageType.equals("custom")) {
@@ -751,8 +756,13 @@
                         Button.Group messageTypeGroup = Button.getGroup("messageType");
                         Button selection = messageTypeGroup.getSelection();
 
-                        Map<String, ?> userData =
-                            JSONSerializer.parseMap((String)selection.getUserData().get("messageInfo"));
+                        Map<String, ?> userData;
+                        try {
+                            userData = JSONSerializer.parseMap((String)selection.getUserData().get("messageInfo"));
+                        } catch (SerializationException exception) {
+                            throw new RuntimeException(exception);
+                        }
+
                         String messageType = (String)userData.get("type");
 
                         if (messageType.equals("custom")) {

Modified: incubator/pivot/trunk/web/test/org/apache/pivot/web/test/WebQueryTestClient.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/web/test/org/apache/pivot/web/test/WebQueryTestClient.java?rev=788118&r1=788117&r2=788118&view=diff
==============================================================================
--- incubator/pivot/trunk/web/test/org/apache/pivot/web/test/WebQueryTestClient.java (original)
+++ incubator/pivot/trunk/web/test/org/apache/pivot/web/test/WebQueryTestClient.java Wed Jun 24 18:44:15 2009
@@ -21,6 +21,7 @@
 import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.serialization.BinarySerializer;
 import org.apache.pivot.serialization.JSONSerializer;
+import org.apache.pivot.serialization.SerializationException;
 import org.apache.pivot.util.concurrent.Task;
 import org.apache.pivot.util.concurrent.TaskGroup;
 import org.apache.pivot.util.concurrent.TaskListener;
@@ -42,7 +43,7 @@
     final static boolean SECURE = false;
 
     @Test
-    public void basicTest() {
+    public void basicTest() throws SerializationException {
         final BasicAuthentication authentication = new BasicAuthentication("foo", "bar");
 
         TaskGroup queryGroup = new TaskGroup();

Modified: incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Calendar.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Calendar.java?rev=788118&r1=788117&r2=788118&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Calendar.java (original)
+++ incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Calendar.java Wed Jun 24 18:44:15 2009
@@ -20,6 +20,7 @@
 
 import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.serialization.JSONSerializer;
+import org.apache.pivot.serialization.SerializationException;
 import org.apache.pivot.util.CalendarDate;
 import org.apache.pivot.util.ListenerList;
 
@@ -280,7 +281,11 @@
             throw new IllegalArgumentException("locale is null.");
         }
 
-        setLocale(JSONSerializer.parseMap(locale));
+        try {
+            setLocale(JSONSerializer.parseMap(locale));
+        } catch (SerializationException exception) {
+            throw new IllegalArgumentException(exception);
+        }
     }
 
     /**

Modified: incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButton.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButton.java?rev=788118&r1=788117&r2=788118&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButton.java (original)
+++ incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/CalendarButton.java Wed Jun 24 18:44:15 2009
@@ -20,6 +20,7 @@
 
 import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.serialization.JSONSerializer;
+import org.apache.pivot.serialization.SerializationException;
 import org.apache.pivot.util.CalendarDate;
 import org.apache.pivot.util.ListenerList;
 import org.apache.pivot.wtk.content.CalendarButtonDataRenderer;
@@ -242,7 +243,11 @@
             throw new IllegalArgumentException("locale is null.");
         }
 
-        setLocale(JSONSerializer.parseMap(locale));
+        try {
+            setLocale(JSONSerializer.parseMap(locale));
+        } catch (SerializationException exception) {
+            throw new IllegalArgumentException(exception);
+        }
     }
 
     /**

Modified: incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Component.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Component.java?rev=788118&r1=788117&r2=788118&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Component.java (original)
+++ incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Component.java Wed Jun 24 18:44:15 2009
@@ -2280,7 +2280,11 @@
             throw new IllegalArgumentException("styles is null.");
         }
 
-        setStyles(JSONSerializer.parseMap(styles));
+        try {
+            setStyles(JSONSerializer.parseMap(styles));
+        } catch (SerializationException exception) {
+            throw new IllegalArgumentException(exception);
+        }
     }
 
     /**

Modified: incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Form.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Form.java?rev=788118&r1=788117&r2=788118&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Form.java (original)
+++ incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Form.java Wed Jun 24 18:44:15 2009
@@ -22,6 +22,7 @@
 import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.serialization.JSONSerializer;
+import org.apache.pivot.serialization.SerializationException;
 import org.apache.pivot.util.ImmutableIterator;
 import org.apache.pivot.util.ListenerList;
 
@@ -293,15 +294,6 @@
             this(messageType, null);
         }
 
-        public Flag(String flag) {
-            this(JSONSerializer.parseMap(flag));
-        }
-
-        public Flag(Dictionary<String, ?> flag) {
-            this(MessageType.decode((String)flag.get(MESSAGE_TYPE_KEY)),
-                (String)flag.get(MESSAGE_KEY));
-        }
-
         /**
          * Creates a new flag with the given type and message.
          *
@@ -341,6 +333,20 @@
         public String getMessage() {
             return message;
         }
+
+        public static Flag decode(String flag) {
+            Dictionary<String, ?> map;
+            try {
+                map = JSONSerializer.parseMap(flag);
+            } catch (SerializationException exception) {
+                throw new IllegalArgumentException(exception);
+            }
+
+            Flag value = new Flag(MessageType.decode((String)map.get(MESSAGE_TYPE_KEY)),
+                (String)map.get(MESSAGE_KEY));
+
+            return value;
+        }
     }
 
     /**
@@ -520,6 +526,6 @@
             throw new IllegalArgumentException("flag is null.");
         }
 
-        setFlag(component, new Flag(flag));
+        setFlag(component, Flag.decode(flag));
     }
 }

Modified: incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/GraphicsUtilities.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/GraphicsUtilities.java?rev=788118&r1=788117&r2=788118&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/GraphicsUtilities.java (original)
+++ incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/GraphicsUtilities.java Wed Jun 24 18:44:15 2009
@@ -28,6 +28,7 @@
 import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.collections.List;
 import org.apache.pivot.serialization.JSONSerializer;
+import org.apache.pivot.serialization.SerializationException;
 import org.apache.pivot.wtk.Orientation;
 
 
@@ -242,7 +243,11 @@
             || value.startsWith("0X")) {
             paint = decodeColor(value);
         } else {
-            paint = decodePaint(JSONSerializer.parseMap(value));
+            try {
+                paint = decodePaint(JSONSerializer.parseMap(value));
+            } catch (SerializationException exception) {
+                throw new IllegalArgumentException(exception);
+            }
         }
 
         return paint;

Modified: incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButton.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButton.java?rev=788118&r1=788117&r2=788118&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButton.java (original)
+++ incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/ListButton.java Wed Jun 24 18:44:15 2009
@@ -20,6 +20,7 @@
 import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.collections.List;
 import org.apache.pivot.serialization.JSONSerializer;
+import org.apache.pivot.serialization.SerializationException;
 import org.apache.pivot.util.ListenerList;
 import org.apache.pivot.wtk.content.ListButtonDataRenderer;
 import org.apache.pivot.wtk.content.ListViewItemRenderer;
@@ -177,7 +178,11 @@
             throw new IllegalArgumentException("listData is null.");
         }
 
-        setListData(JSONSerializer.parseList(listData));
+        try {
+            setListData(JSONSerializer.parseList(listData));
+        } catch (SerializationException exception) {
+            throw new IllegalArgumentException(exception);
+        }
     }
 
     /**

Modified: incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/ListView.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/ListView.java?rev=788118&r1=788117&r2=788118&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/ListView.java (original)
+++ incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/ListView.java Wed Jun 24 18:44:15 2009
@@ -24,6 +24,7 @@
 import org.apache.pivot.collections.ListListener;
 import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.serialization.JSONSerializer;
+import org.apache.pivot.serialization.SerializationException;
 import org.apache.pivot.util.ListenerList;
 import org.apache.pivot.wtk.content.ListViewItemRenderer;
 
@@ -460,7 +461,11 @@
             throw new IllegalArgumentException("listData is null.");
         }
 
-        setListData(JSONSerializer.parseList(listData));
+        try {
+            setListData(JSONSerializer.parseList(listData));
+        } catch (SerializationException exception) {
+            throw new IllegalArgumentException(exception);
+        }
     }
 
     @Override

Modified: incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Slider.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Slider.java?rev=788118&r1=788117&r2=788118&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Slider.java (original)
+++ incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Slider.java Wed Jun 24 18:44:15 2009
@@ -18,6 +18,7 @@
 
 import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.serialization.JSONSerializer;
+import org.apache.pivot.serialization.SerializationException;
 import org.apache.pivot.util.ListenerList;
 
 
@@ -132,7 +133,11 @@
             throw new IllegalArgumentException("bounds is null.");
         }
 
-        setBounds(JSONSerializer.parseMap(bounds));
+        try {
+            setBounds(JSONSerializer.parseMap(bounds));
+        } catch (SerializationException exception) {
+            throw new IllegalArgumentException(exception);
+        }
     }
 
     public int getValue() {

Modified: incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Spinner.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Spinner.java?rev=788118&r1=788117&r2=788118&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Spinner.java (original)
+++ incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/Spinner.java Wed Jun 24 18:44:15 2009
@@ -24,6 +24,7 @@
 import org.apache.pivot.collections.ListListener;
 import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.serialization.JSONSerializer;
+import org.apache.pivot.serialization.SerializationException;
 import org.apache.pivot.util.ListenerList;
 import org.apache.pivot.wtk.content.SpinnerItemRenderer;
 
@@ -275,7 +276,11 @@
             throw new IllegalArgumentException("spinnerData is null.");
         }
 
-        setSpinnerData(JSONSerializer.parseList(spinnerData));
+        try {
+            setSpinnerData(JSONSerializer.parseList(spinnerData));
+        } catch (SerializationException exception) {
+            throw new IllegalArgumentException(exception);
+        }
     }
 
     @Override

Modified: incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/SplitPane.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/SplitPane.java?rev=788118&r1=788117&r2=788118&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/SplitPane.java (original)
+++ incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/SplitPane.java Wed Jun 24 18:44:15 2009
@@ -19,6 +19,7 @@
 import org.apache.pivot.collections.Dictionary;
 import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.serialization.JSONSerializer;
+import org.apache.pivot.serialization.SerializationException;
 import org.apache.pivot.util.ListenerList;
 
 
@@ -316,7 +317,11 @@
             throw new IllegalArgumentException("splitBounds is null.");
         }
 
-        setSplitBounds(JSONSerializer.parseMap(splitBounds));
+        try {
+            setSplitBounds(JSONSerializer.parseMap(splitBounds));
+        } catch (SerializationException exception) {
+            throw new IllegalArgumentException(exception);
+        }
     }
 
     public boolean isLocked() {

Modified: incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/TableView.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/TableView.java?rev=788118&r1=788117&r2=788118&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/TableView.java (original)
+++ incubator/pivot/trunk/wtk/src/org/apache/pivot/wtk/TableView.java Wed Jun 24 18:44:15 2009
@@ -25,6 +25,7 @@
 import org.apache.pivot.collections.ListListener;
 import org.apache.pivot.collections.Sequence;
 import org.apache.pivot.serialization.JSONSerializer;
+import org.apache.pivot.serialization.SerializationException;
 import org.apache.pivot.util.ListenerList;
 import org.apache.pivot.wtk.content.TableViewCellRenderer;
 
@@ -965,7 +966,11 @@
             throw new IllegalArgumentException("tableData is null.");
         }
 
-        setTableData(JSONSerializer.parseList(tableData));
+        try {
+            setTableData(JSONSerializer.parseList(tableData));
+        } catch (SerializationException exception) {
+            throw new IllegalArgumentException(exception);
+        }
     }
 
     /**