From: Dave B. <bla...@us...> - 2013-11-29 13:50:16
|
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-serv5395/src/org/sblim/cimclient/internal/cimxml/sax/node Modified Files: Tag: Experimental SimpleExpReqNode.java SimpleReqNode.java Added Files: Tag: Experimental CorrelatorNode.java Log Message: 2538 CR14: Support new CORRELATOR element Index: SimpleExpReqNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/SimpleExpReqNode.java,v retrieving revision 1.1.2.8 retrieving revision 1.1.2.9 diff -u -d -r1.1.2.8 -r1.1.2.9 --- SimpleExpReqNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.8 +++ SimpleExpReqNode.java 29 Nov 2013 13:50:13 -0000 1.1.2.9 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2012 + * (C) Copyright IBM Corp. 2006, 2013 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -19,6 +19,7 @@ * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly + * 2538 2013-11-28 blaschke-oss CR14: Support new CORRELATOR element */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -28,7 +29,7 @@ import org.xml.sax.SAXException; /** - * ELEMENT SIMPLEEXPREQ (EXPMETHODCALL) + * ELEMENT SIMPLEEXPREQ (CORRELATOR*, EXPMETHODCALL) */ public class SimpleExpReqNode extends AbstractMessageNode { @@ -42,7 +43,11 @@ } public void addChild(Node pChild) { - this.iMethodCallNode = (ExpMethodCallNode) pChild; + if (pChild instanceof ExpMethodCallNode) { + this.iMethodCallNode = (ExpMethodCallNode) pChild; + } else if (pChild instanceof CorrelatorNode) { + // TODO: return to WBEMClient API if JSR48 changes + } } /** @@ -65,11 +70,11 @@ @Override public void testChild(String pNodeNameEnum) throws SAXException { - if (this.iMethodCallNode != null) throw new SAXException(getNodeName() - + " node can have only one child node!"); - if (pNodeNameEnum != EXPMETHODCALL) throw new SAXException(getNodeName() - + " node's child node can be " + EXPMETHODCALL + " only! " + pNodeNameEnum - + " is invalid!"); + if (pNodeNameEnum == EXPMETHODCALL) { + if (this.iMethodCallNode != null) throw new SAXException(getNodeName() + + " node can have only one child node!"); + } else if (pNodeNameEnum != CORRELATOR) throw new SAXException(getNodeName() + + " node cannot have " + pNodeNameEnum + " child node!"); } @Override Index: SimpleReqNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/SimpleReqNode.java,v retrieving revision 1.1.2.10 retrieving revision 1.1.2.11 diff -u -d -r1.1.2.10 -r1.1.2.11 --- SimpleReqNode.java 15 Nov 2013 01:21:05 -0000 1.1.2.10 +++ SimpleReqNode.java 29 Nov 2013 13:50:14 -0000 1.1.2.11 @@ -21,6 +21,7 @@ * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly * 2712 2013-11-14 blaschke-oss SimpleReqNode allows any CIM element as child + * 2538 2013-11-28 blaschke-oss CR14: Support new CORRELATOR element */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -30,7 +31,7 @@ import org.xml.sax.SAXException; /** - * ELEMENT SIMPLEREQ (IMETHODCALL | METHODCALL) + * ELEMENT SIMPLEREQ (CORRELATOR*, (METHODCALL | IMETHODCALL)) */ public class SimpleReqNode extends AbstractMessageNode { @@ -44,7 +45,11 @@ } public void addChild(Node pChild) { - this.iMethodCallNode = (AbstractMethodCallNode) pChild; + if (pChild instanceof AbstractMethodCallNode) { + this.iMethodCallNode = (AbstractMethodCallNode) pChild; + } else if (pChild instanceof CorrelatorNode) { + // TODO: return to WBEMClient API if JSR48 changes + } } /** @@ -70,9 +75,10 @@ */ @Override public void testChild(String pNodeNameEnum) throws SAXException { - if (this.iMethodCallNode != null) throw new SAXException( - "SIMPLEREQ node can have only one child node!"); - if (pNodeNameEnum != IMETHODCALL && pNodeNameEnum != METHODCALL) throw new SAXException( + if (pNodeNameEnum == IMETHODCALL || pNodeNameEnum == METHODCALL) { + if (this.iMethodCallNode != null) throw new SAXException( + "SIMPLEREQ node can have only one child node!"); + } else if (pNodeNameEnum != CORRELATOR) throw new SAXException( "SIMPLEREQ node cannot have " + pNodeNameEnum + " child node!"); } --- NEW FILE: CorrelatorNode.java --- /** * (C) Copyright IBM Corp. 2013 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE * CONSTITUTES RECIPIENTS ACCEPTANCE OF THE AGREEMENT. * * You can obtain a current copy of the Eclipse Public License from * http://www.opensource.org/licenses/eclipse-1.0.php * * @author : Dave Blaschke, bla...@us... * * Flag Date Prog Description * ------------------------------------------------------------------------------- * 2538 2013-11-28 blaschke-oss CR14: Support new CORRELATOR element */ package org.sblim.cimclient.internal.cimxml.sax.node; import javax.cim.CIMDataType; import org.sblim.cimclient.internal.cimxml.sax.SAXSession; import org.xml.sax.Attributes; import org.xml.sax.SAXException; /** * <pre> * ELEMENT CORRELATOR (VALUE) * ATTLIST CORRELATOR * %CIMName; * %CIMType; #REQUIRED * </pre> */ public class CorrelatorNode extends Node implements TypedIf, ValueIf { // private String iName; private CIMDataType iType; private Object iValue; private boolean iHasValue; /** * Ctor. */ public CorrelatorNode() { super(CORRELATOR); } /** * @param pSession */ @Override public void init(Attributes pAttribs, SAXSession pSession) throws SAXException { /* this.iName = */getCIMName(pAttribs); this.iType = getCIMType(pAttribs, false); this.iValue = null; this.iHasValue = false; } /** * @param pData */ @Override public void parseData(String pData) { // no data } @Override public void testChild(String pNodeNameEnum) throws SAXException { if (pNodeNameEnum != VALUE) throw new SAXException(pNodeNameEnum + " cannot be the child node of " + getNodeName() + " node!"); if (this.iHasValue) throw new SAXException(getNodeName() + " node can have only one child node!"); } @Override public void childParsed(Node pChild) { if (pChild instanceof ValueNode) this.iHasValue = true; this.iValue = ((ValueNode) pChild).getValue(); } @Override public void testCompletness() throws SAXException { if (!this.iHasValue) throw new SAXException(getNodeName() + " node must have one VALUE child node!"); } public CIMDataType getType() { return this.iType; } public Object getValue() { return this.iValue; } } |