neeraj 2003/01/17 02:12:33 Modified: java/src/org/apache/xerces/impl/xs/models CMNodeFactory.java CMBuilder.java Log: Function to create instances of different node types should return CMNode type. Resetting the node counter once we are finished building content model. Revision Changes Path 1.2 +9 -4 xml-xerces/java/src/org/apache/xerces/impl/xs/models/CMNodeFactory.java Index: CMNodeFactory.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/models/CMNodeFactory.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- CMNodeFactory.java 16 Jan 2003 18:33:01 -0000 1.1 +++ CMNodeFactory.java 17 Jan 2003 10:12:33 -0000 1.2 @@ -111,7 +111,7 @@ } public void reset(XMLComponentManager componentManager){ - fErrorReporter = (XMLErrorReporter)componentManager.getProperty(ERROR_REPORTER); + fErrorReporter = (XMLErrorReporter)componentManager.getProperty(ERROR_REPORTER); try { fSecurityManager = (SecurityManager)componentManager.getProperty(SECURITY_MANAGER); //we are setting the limit of number of nodes to 3times the maxOccur value.. @@ -122,19 +122,20 @@ catch (XMLConfigurationException e) { fSecurityManager = null; } + }//reset() - public XSCMLeaf getCMLeafNode(int type, Object leaf, int id, int position) { + public CMNode getCMLeafNode(int type, Object leaf, int id, int position) { nodeCountCheck() ; return new XSCMLeaf(type, leaf, id, position) ; } - public XSCMUniOp getCMUniOpNode(int type, CMNode childNode) { + public CMNode getCMUniOpNode(int type, CMNode childNode) { nodeCountCheck(); return new XSCMUniOp(type, childNode) ; } - public XSCMBinOp getCMBinOpNode(int type, CMNode leftNode, CMNode rightNode) { + public CMNode getCMBinOpNode(int type, CMNode leftNode, CMNode rightNode) { nodeCountCheck() ; return new XSCMBinOp(type, leftNode, rightNode) ; } @@ -150,6 +151,10 @@ }//nodeCountCheck() + //reset the node count + public void resetNodeCount(){ + nodeCount = 0 ; + } /** * Sets the value of a property. This method is called by the component * manager any time after reset when a property changes value. 1.16 +5 -1 xml-xerces/java/src/org/apache/xerces/impl/xs/models/CMBuilder.java Index: CMBuilder.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/models/CMBuilder.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- CMBuilder.java 16 Jan 2003 18:40:29 -0000 1.15 +++ CMBuilder.java 17 Jan 2003 10:12:33 -0000 1.16 @@ -142,6 +142,10 @@ cmValidator = createDFACM(particle); } + //now we are throught building content model and have passed sucessfully of the nodecount check + //if set by the application + fNodeFactory.resetNodeCount() ; + // if the validator returned is null, it means there is nothing in // the content model, so we return the empty content model. if (cmValidator == null)
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]