From: Dave B. <bla...@us...> - 2013-11-13 14:16:08
|
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) { |