Author: etnu
Date: Sun Nov 9 00:57:32 2008
New Revision: 712475
URL: http://svn.apache.org/viewvc?rev=712475&view=rev
Log:
Fixed NumberFormatException error when getting numeric ModulePrefs attributes.
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/ModulePrefsTest.java
Modified:
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java?rev=712475&r1=712474&r2=712475&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/ModulePrefs.java
Sun Nov 9 00:57:32 2008
@@ -380,15 +380,18 @@
/**
* @return the attribute by name converted to an interger, or 0 if the
- * attribute doesn't exist
+ * attribute doesn't exist or is not a valid number.
*/
public int getIntAttribute(String name) {
String value = getAttribute(name);
if (value == null) {
return 0;
} else {
- // TODO might want to handle parse exception here
- return Integer.parseInt(value);
+ try {
+ return Integer.parseInt(value);
+ } catch (NumberFormatException e) {
+ return 0;
+ }
}
}
Modified:
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/ModulePrefsTest.java
URL:
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/ModulePrefsTest.java?rev=712475&r1=712474&r2=712475&view=diff
==============================================================================
---
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/ModulePrefsTest.java
(original)
+++
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/spec/ModulePrefsTest.java
Sun Nov 9 00:57:32 2008
@@ -197,6 +197,17 @@
assertEquals(preHref, prefs.getPreloads().get(0).getHref().toString());
}
+ @Test
+ public void malformedIntAttributeTreatedAsZero() throws Exception {
+ String xml = "<ModulePrefs title='' height='100px' width='foobar'
arbitrary='0xff'/>";
+
+ ModulePrefs prefs = new ModulePrefs(XmlUtil.parse(xml), SPEC_URL);
+
+ assertEquals(0, prefs.getHeight());
+ assertEquals(0, prefs.getWidth());
+ assertEquals(0, prefs.getIntAttribute("arbitrary"));
+ }
+
@Test(expected = SpecParserException.class)
public void missingTitleThrows() throws Exception {
String xml = "<ModulePrefs/>";