From: Dave B. <bla...@us...> - 2013-11-27 11:24:30
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv3381/src/org/sblim/cimclient/internal/cimxml Modified Files: 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.82 retrieving revision 1.83 diff -u -d -r1.82 -r1.83 --- CIMXMLParserImpl.java 26 Nov 2013 18:15:19 -0000 1.82 +++ CIMXMLParserImpl.java 27 Nov 2013 11:24:28 -0000 1.83 @@ -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; } @@ -1134,6 +1135,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;> @@ -1178,8 +1192,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) { |