From: Dave B. <bla...@us...> - 2013-11-26 18:15:21
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv632/src/org/sblim/cimclient/internal/cimxml Modified Files: CIMXMLParserImpl.java Log Message: 2707 INSTANCENAME ignores KEYVALUE and VALUE.REFERENCE children Index: CIMXMLParserImpl.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/CIMXMLParserImpl.java,v retrieving revision 1.81 retrieving revision 1.82 diff -u -d -r1.81 -r1.82 --- CIMXMLParserImpl.java 26 Nov 2013 18:06:15 -0000 1.81 +++ CIMXMLParserImpl.java 26 Nov 2013 18:15:19 -0000 1.82 @@ -88,6 +88,7 @@ * 2704 2013-11-11 blaschke-oss PARAMETER does not require TYPE attribute * 2705 2013-11-11 blaschke-oss PARAMETER.ARRAY does not require TYPE attribute * 2706 2013-11-11 blaschke-oss Bad PARAMETER.REFARRAY ARRAYSIZE generates NumberFormatException + * 2707 2013-11-12 blaschke-oss INSTANCENAME ignores KEYVALUE and VALUE.REFERENCE children */ package org.sblim.cimclient.internal.cimxml; @@ -783,7 +784,7 @@ */ public static CIMObjectPath parseINSTANCENAME(Element pInstanceNameE) throws CIMXMLParseException { - // <!ELEMENT INSTANCENAME (KEYBINDING*|KEYVALUE?|VALUE.REFERNCE?)> + // <!ELEMENT INSTANCENAME (KEYBINDING*|KEYVALUE?|VALUE.REFERENCE?)> // <!ATTLIST INSTANCENAME %CLASSNAME;> Attr instance_classnameA = (Attr) searchAttribute(pInstanceNameE, "CLASSNAME"); if (instance_classnameA == null) throw new CIMXMLParseException( @@ -801,6 +802,26 @@ return cLocalPathBuilder.build(opClassName, null, keys); } + // KEYVALUE + Element keyvalueE = (Element) searchFirstNode(pInstanceNameE, "KEYVALUE"); + if (keyvalueE != null) { + CIMProperty<?>[] keys = new CIMProperty[1]; + TypedValue propTypedVal = parseKEYVALUE(keyvalueE); + keys[0] = new CIMProperty<Object>("", propTypedVal.getType(), propTypedVal.getValue(), + true, false, null); + return cLocalPathBuilder.build(opClassName, null, keys); + } + + // VALUE.REFERENCE + Element valuereferenceE = (Element) searchFirstNode(pInstanceNameE, "VALUE.REFERENCE"); + if (valuereferenceE != null) { + CIMProperty<?>[] keys = new CIMProperty[1]; + CIMObjectPath op = parseVALUEREFERENCE(valuereferenceE); + keys[0] = new CIMProperty<CIMObjectPath>("", new CIMDataType(op.getObjectName()), op, + true, false, null); + return cLocalPathBuilder.build(opClassName, null, keys); + } + return new CIMObjectPath(null, null, null, null, opClassName, null); } |