sandygao    2002/08/29 11:34:58

  Modified:    java/src/org/apache/xerces/dom AttributeMap.java
  Log:
  Relacing "Vector#insertElementAt()" with "setElementAt()". The latter is
  supposed to be a bit more efficient.
  
  Revision  Changes    Path
  1.23      +43 -41    xml-xerces/java/src/org/apache/xerces/dom/AttributeMap.java
  
  Index: AttributeMap.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/dom/AttributeMap.java,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- AttributeMap.java 9 Aug 2002 15:18:13 -0000       1.22
  +++ AttributeMap.java 29 Aug 2002 18:34:58 -0000      1.23
  @@ -107,11 +107,11 @@
       public Node setNamedItem(Node arg)
           throws DOMException {
   
  -     if (isReadOnly()) {
  +        if (isReadOnly()) {
               String msg = 
DOMMessageFormatter.formatMessage(DOMMessageFormatter.DOM_DOMAIN, 
"NO_MODIFICATION_ALLOWED_ERR", null);
               throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, msg);
           }
  -     if(arg.getOwnerDocument() != ownerNode.ownerDocument()) {
  +        if(arg.getOwnerDocument() != ownerNode.ownerDocument()) {
               String msg = 
DOMMessageFormatter.formatMessage(DOMMessageFormatter.DOM_DOMAIN, 
"WRONG_DOCUMENT_ERR", null);
               throw new DOMException(DOMException.WRONG_DOCUMENT_ERR, msg);
           }
  @@ -122,7 +122,7 @@
   
           AttrImpl argn = (AttrImpl)arg;
   
  -     if (argn.isOwned()){
  +        if (argn.isOwned()){
               if (argn.getOwnerElement() != ownerNode) {
                      String msg = 
DOMMessageFormatter.formatMessage(DOMMessageFormatter.DOM_DOMAIN, 
"INUSE_ATTRIBUTE_ERR", null);
                      throw new DOMException(DOMException.INUSE_ATTRIBUTE_ERR, msg);
  @@ -135,16 +135,16 @@
           argn.ownerNode = ownerNode;
           argn.isOwned(true);
   
  -     int i = findNamePoint(arg.getNodeName(),0);
  -     AttrImpl previous = null;
  -     if (i >= 0) {
  +    int i = findNamePoint(arg.getNodeName(),0);
  +        AttrImpl previous = null;
  +        if (i >= 0) {
               previous = (AttrImpl) nodes.elementAt(i);
               nodes.setElementAt(arg,i);
               previous.ownerNode = ownerNode.ownerDocument();
               previous.isOwned(false);
               // make sure it won't be mistaken with defaults in case it's reused
               previous.isSpecified(true);
  -     } else {
  +        } else {
               i = -1 - i; // Insert point (may be end of list)
               if (null == nodes) {
                   nodes = new Vector(5, 10);
  @@ -174,12 +174,12 @@
       public Node setNamedItemNS(Node arg)
           throws DOMException {
   
  -     if (isReadOnly()) {
  +        if (isReadOnly()) {
               String msg = 
DOMMessageFormatter.formatMessage(DOMMessageFormatter.DOM_DOMAIN, 
"NO_MODIFICATION_ALLOWED_ERR", null);
               throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, msg);  
          
           }
       
  -     if(arg.getOwnerDocument() != ownerNode.ownerDocument()) {
  +        if(arg.getOwnerDocument() != ownerNode.ownerDocument()) {
               String msg = 
DOMMessageFormatter.formatMessage(DOMMessageFormatter.DOM_DOMAIN, 
"WRONG_DOCUMENT_ERR", null);
               throw new DOMException(DOMException.WRONG_DOCUMENT_ERR, msg);
           }
  @@ -190,7 +190,7 @@
           }
           AttrImpl argn = (AttrImpl)arg;
   
  -     if (argn.isOwned()){
  +        if (argn.isOwned()){
               if (argn.getOwnerElement() != ownerNode) {
                   String msg = 
DOMMessageFormatter.formatMessage(DOMMessageFormatter.DOM_DOMAIN, 
"INUSE_ATTRIBUTE_ERR", null);
                   throw new DOMException(DOMException.INUSE_ATTRIBUTE_ERR, msg);
  @@ -203,19 +203,19 @@
           argn.ownerNode = ownerNode;
           argn.isOwned(true);
   
  -     int i = findNamePoint(argn.getNamespaceURI(), argn.getLocalName());
  -     AttrImpl previous = null;
  -     if (i >= 0) {
  +        int i = findNamePoint(argn.getNamespaceURI(), argn.getLocalName());
  +        AttrImpl previous = null;
  +        if (i >= 0) {
               previous = (AttrImpl) nodes.elementAt(i);
               nodes.setElementAt(arg,i);
               previous.ownerNode = ownerNode.ownerDocument();
               previous.isOwned(false);
               // make sure it won't be mistaken with defaults in case it's reused
               previous.isSpecified(true);
  -     } else {
  -         // If we can't find by namespaceURI, localName, then we find by
  -         // nodeName so we know where to insert.
  -         i = findNamePoint(arg.getNodeName(),0);
  +        } else {
  +            // If we can't find by namespaceURI, localName, then we find by
  +            // nodeName so we know where to insert.
  +            i = findNamePoint(arg.getNodeName(),0);
               if (i >=0) {
                   previous = (AttrImpl) nodes.elementAt(i);
                   nodes.insertElementAt(arg,i);
  @@ -305,12 +305,12 @@
        * must be thrown if the specified name is not found.
        */
       final protected Node internalRemoveNamedItem(String name, boolean raiseEx){
  -     if (isReadOnly()) {            
  +        if (isReadOnly()) {            
                   String msg = 
DOMMessageFormatter.formatMessage(DOMMessageFormatter.DOM_DOMAIN, 
"NO_MODIFICATION_ALLOWED_ERR", null);
                   throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, 
msg);            
           }
  -     int i = findNamePoint(name,0);
  -     if (i < 0) {
  +        int i = findNamePoint(name,0);
  +        if (i < 0) {
               if (raiseEx) {
                   String msg = 
DOMMessageFormatter.formatMessage(DOMMessageFormatter.DOM_DOMAIN, "NOT_FOUND_ERR", 
null);
                   throw new DOMException(DOMException.NOT_FOUND_ERR, msg);
  @@ -412,12 +412,12 @@
       final protected Node internalRemoveNamedItemNS(String namespaceURI,
                                                      String name,
                                                      boolean raiseEx) {
  -     if (isReadOnly()) {
  +        if (isReadOnly()) {
               String msg = 
DOMMessageFormatter.formatMessage(DOMMessageFormatter.DOM_DOMAIN, 
"NO_MODIFICATION_ALLOWED_ERR", null);
               throw new DOMException(DOMException.NO_MODIFICATION_ALLOWED_ERR, msg);  
          
           }
  -     int i = findNamePoint(namespaceURI, name);
  -     if (i < 0) {
  +        int i = findNamePoint(namespaceURI, name);
  +        if (i < 0) {
               if (raiseEx) {
                   String msg = 
DOMMessageFormatter.formatMessage(DOMMessageFormatter.DOM_DOMAIN, "NOT_FOUND_ERR", 
null);
                   throw new DOMException(DOMException.NOT_FOUND_ERR, msg);
  @@ -498,31 +498,33 @@
        */
        
       public NamedNodeMapImpl cloneMap(NodeImpl ownerNode) {
  -     AttributeMap newmap =
  +        AttributeMap newmap =
               new AttributeMap((ElementImpl) ownerNode, null);
           newmap.hasDefaults(hasDefaults());
           newmap.cloneContent(this);
  -     return newmap;
  +        return newmap;
       } // cloneMap():AttributeMap
   
       /**
        * Override parent's method to set the ownerNode correctly
        */
       protected void cloneContent(NamedNodeMapImpl srcmap) {
  -     if (srcmap.nodes != null) {
  -            if (nodes == null) {
  -                nodes = new Vector(srcmap.nodes.size());
  -            }
  -            else {
  -                nodes.ensureCapacity(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);
  -                clone.ownerNode = ownerNode;
  -                clone.isOwned(true);
  +        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) srcnodes.elementAt(i);
  +                    NodeImpl clone = (NodeImpl) n.cloneNode(true);
  +                    clone.isSpecified(n.isSpecified());
  +                    nodes.setElementAt(clone, i);
  +                    clone.ownerNode = ownerNode;
  +                    clone.isOwned(true);
  +                }
               }
           }
       } // cloneContent():AttributeMap
  @@ -563,7 +565,7 @@
               }
           }
           // add the new defaults
  -     if (defaults == null) {
  +        if (defaults == null) {
               return;
           }
           if (nodes == null || nodes.size() == 0) {
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to