Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node
In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv3828/src/org/sblim/cimclient/internal/cimxml/sax/node
Modified Files:
Tag: Experimental
Node.java
Log Message:
2706 Bad PARAMETER.REFARRAY ARRAYSIZE generates NumberFormatException
Index: Node.java
===================================================================
RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/Node.java,v
retrieving revision 1.1.2.16
retrieving revision 1.1.2.17
diff -u -d -r1.1.2.16 -r1.1.2.17
--- Node.java 7 Nov 2013 22:40:16 -0000 1.1.2.16
+++ Node.java 12 Nov 2013 00:19:40 -0000 1.1.2.17
@@ -27,6 +27,7 @@
* 2605 2013-03-20 buccella SAX parser throws wrong exception
* 2693 2013-10-21 blaschke-oss ReturnValueNode allows invalid PARAMTYPE attribute
* 2702 2013-11-07 blaschke-oss Bad PROPERTY.ARRAY ARRAYSIZE generates NumberFormatException
+ * 2706 2013-11-11 blaschke-oss Bad PARAMETER.REFARRAY ARRAYSIZE generates NumberFormatException
*/
package org.sblim.cimclient.internal.cimxml.sax.node;
@@ -224,7 +225,13 @@
public static int getArraySize(Attributes pAttribs) throws SAXException {
String arraySizeStr = pAttribs.getValue("ARRAYSIZE");
// 0 - unbounded size
- int size = arraySizeStr == null ? 0 : Integer.parseInt(arraySizeStr);
+ int size = 0;
+ try {
+ size = arraySizeStr == null || arraySizeStr.length() == 0 ? 0 : Integer
+ .parseInt(arraySizeStr);
+ } catch (NumberFormatException e) {
+ throw new SAXException(arraySizeStr + " is not a valid ARRAYSIZE attribute!");
+ }
if (size < 0) throw new SAXException("ARRAYSIZE cannot be " + size + "!");
return size;
}
|