sandygao 2002/08/29 11:40:00 Modified: java/src/org/apache/xerces/dom NamedNodeMapImpl.java Log: 1. Don't always create a new Vector, while it's possible to reuse the old one. 2. Relacing "Vector#insertElementAt()" with "setElementAt()". The latter is supposed to be a bit more efficient. Revision Changes Path 1.32 +15 -8 xml-xerces/java/src/org/apache/xerces/dom/NamedNodeMapImpl.java Index: NamedNodeMapImpl.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/dom/NamedNodeMapImpl.java,v retrieving revision 1.31 retrieving revision 1.32 diff -u -r1.31 -r1.32 --- NamedNodeMapImpl.java 24 Jul 2002 19:08:41 -0000 1.31 +++ NamedNodeMapImpl.java 29 Aug 2002 18:40:00 -0000 1.32 @@ -361,13 +361,20 @@ } protected void cloneContent(NamedNodeMapImpl srcmap) { - if (srcmap.nodes != null) { - nodes = new Vector(srcmap.nodes.size()); - for (int i = 0; i < srcmap.nodes.size(); ++i) { - NodeImpl n = (NodeImpl) srcmap.nodes.elementAt(i); - NodeImpl clone = (NodeImpl) n.cloneNode(true); - clone.isSpecified(n.isSpecified()); - nodes.insertElementAt(clone, i); + Vector srcnodes = srcmap.nodes; + if (srcnodes != null) { + int size = srcnodes.size(); + if (size != 0) { + if (nodes == null) { + nodes = new Vector(size); + } + nodes.setSize(size); + for (int i = 0; i < size; ++i) { + NodeImpl n = (NodeImpl) srcmap.nodes.elementAt(i); + NodeImpl clone = (NodeImpl) n.cloneNode(true); + clone.isSpecified(n.isSpecified()); + nodes.setElementAt(clone, i); + } } } } // cloneMap():NamedNodeMapImpl
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]