From: Dave B. <bla...@us...> - 2013-11-25 13:49:30
|
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()); |