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-serv12008/src/org/sblim/cimclient/internal/cimxml/sax/node
Modified Files:
Node.java
Log Message:
2702 Bad PROPERTY.ARRAY 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.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- Node.java 6 Nov 2013 16:41:43 -0000 1.15
+++ Node.java 25 Nov 2013 13:49:28 -0000 1.16
@@ -26,6 +26,7 @@
* 3602604 2013-01-29 blaschke-oss Clean up SAXException messages
* 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
*/
package org.sblim.cimclient.internal.cimxml.sax.node;
@@ -253,7 +254,13 @@
// Yes if ISARRAY is true or ARRAYSIZE>-1.
boolean isArray = hasTrueAttribute(pAttribs, "ISARRAY");
String arraySizeStr = pAttribs.getValue("ARRAYSIZE");
- int arraySize = (arraySizeStr == null ? (isArray ? 0 : -1) : Integer.parseInt(arraySizeStr));
+ int arraySize;
+ try {
+ arraySize = (arraySizeStr == null || arraySizeStr.length() == 0 ? (isArray ? 0 : -1)
+ : Integer.parseInt(arraySizeStr));
+ } catch (NumberFormatException e) {
+ throw new SAXException(arraySizeStr + " is not a valid ARRAYSIZE attribute!");
+ }
if (isArray || arraySize >= 0) {
if (arraySize > 0) return new CIMDataType(type.getType(), arraySize);
return CIMHelper.UnboundedArrayDataType(type.getType());
|