Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml
In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv23904/src/org/sblim/cimclient/internal/cimxml
Modified Files:
Tag: Experimental
CIMXMLParserImpl.java
Log Message:
2710 parseVALUEOBJECTWITH(LOCAL)PATH ignores (LOCAL)CLASSPATH child
Index: CIMXMLParserImpl.java
===================================================================
RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/CIMXMLParserImpl.java,v
retrieving revision 1.14.2.73
retrieving revision 1.14.2.74
diff -u -d -r1.14.2.73 -r1.14.2.74
--- CIMXMLParserImpl.java 12 Nov 2013 16:32:20 -0000 1.14.2.73
+++ CIMXMLParserImpl.java 13 Nov 2013 14:16:05 -0000 1.14.2.74
@@ -89,6 +89,7 @@
* 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
+ * 2710 2013-11-13 blaschke-oss parseVALUEOBJECTWITH(LOCAL)PATH ignores (LOCAL)CLASSPATH child
*/
package org.sblim.cimclient.internal.cimxml;
@@ -474,14 +475,14 @@
// CLASSPATH
Element classpathE = (Element) searchFirstNode(pValueObjectWithPathE, "CLASSPATH");
if (classpathE != null) {
- // CIMObjectPath op = parseCLASSPATH(classpathE);
+ CIMObjectPath op = parseCLASSPATH(classpathE);
// CLASS
Element classE = (Element) searchFirstNode(pValueObjectWithPathE, "CLASS");
if (classE == null) { throw new CIMXMLParseException(
"VALUE.OBJECTWITHPATH element missing CLASS child element!"); }
- // TODO parse CLASS with ObjectPath
- CIMClass obj = parseCLASS(classE);
+
+ CIMClass obj = parseCLASS(classE, op);
return obj;
}
@@ -518,14 +519,14 @@
Element localclasspathE = (Element) searchFirstNode(pValueObjectWithLocalPathE,
"LOCALCLASSPATH");
if (localclasspathE != null) {
- // CIMObjectPath op = parseLOCALCLASSPATH(localclasspathE);
+ CIMObjectPath op = parseLOCALCLASSPATH(localclasspathE);
// CLASS
Element classE = (Element) searchFirstNode(pValueObjectWithLocalPathE, "CLASS");
if (classE == null) { throw new CIMXMLParseException(
"VALUE.OBJECTWITHLOCALPATH element missing CLASS child element!"); }
- // TODO parse class with path
- CIMClass obj = parseCLASS(classE);
+
+ CIMClass obj = parseCLASS(classE, op);
return obj;
}
@@ -1135,6 +1136,19 @@
* @throws CIMXMLParseException
*/
public static CIMClass parseCLASS(Element pClassE) throws CIMXMLParseException {
+ return parseCLASS(pClassE, null);
+ }
+
+ /**
+ * parseCLASS
+ *
+ * @param pClassE
+ * @param pObjectPath
+ * @return CIMClass
+ * @throws CIMXMLParseException
+ */
+ public static CIMClass parseCLASS(Element pClassE, CIMObjectPath pObjectPath)
+ throws CIMXMLParseException {
// <!ELEMENT CLASS (QUALIFIER*,
// (PROPERTY|PROPERTY.ARRAY|PROPERTY.REFERENCE)*,METHOD*)>
// <!ATTLIST CLASS %NAME;%SUPERCLASS;>
@@ -1179,8 +1193,9 @@
* CIMClassProperty[] props, CIMMethod[] pMethods, boolean
* pIsAssociation, boolean pIsKeyed )
*/
- return new CIMClass(cLocalPathBuilder.build(name, null), superClass, qualis, props,
- methods, hasAssocQuali(qualis), hasKeyProp(props));
+ return new CIMClass(
+ pObjectPath == null ? cLocalPathBuilder.build(name, null) : pObjectPath,
+ superClass, qualis, props, methods, hasAssocQuali(qualis), hasKeyProp(props));
}
private static boolean hasAssocQuali(CIMQualifier<?>[] pQualis) {
|