You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by mr...@apache.org on 2004/07/09 05:01:58 UTC

cvs commit: xml-xerces/java/src/org/apache/xerces/impl/xs/traversers XSDComplexTypeTraverser.java

mrglavas    2004/07/08 20:01:58

  Modified:    java/src/org/apache/xerces/impl XMLEntityManager.java
               java/src/org/apache/xerces/impl/xs/traversers
                        XSDComplexTypeTraverser.java
  Log:
  Performance fix: Replace building of strings 
  using concatenation in while loops with StringBuffers.
  
  Thanks to Dave Brosius for the patch.
  
  Revision  Changes    Path
  1.81      +9 -6      xml-xerces/java/src/org/apache/xerces/impl/XMLEntityManager.java
  
  Index: XMLEntityManager.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/XMLEntityManager.java,v
  retrieving revision 1.80
  retrieving revision 1.81
  diff -u -r1.80 -r1.81
  --- XMLEntityManager.java	9 Jul 2004 02:13:36 -0000	1.80
  +++ XMLEntityManager.java	9 Jul 2004 03:01:58 -0000	1.81
  @@ -745,16 +745,19 @@
                                   ? fCurrentEntity
                                   : (Entity)fEntityStack.elementAt(i);
               if (activeEntity.name == entityName) {
  -                String path = entityName;
  +                StringBuffer path = new StringBuffer(entityName);
                   for (int j = i + 1; j < size; j++) {
                       activeEntity = (Entity)fEntityStack.elementAt(j);
  -                    path = path + " -> " + activeEntity.name;
  +                    path.append(" -> ");
  +                    path.append(activeEntity.name);
                   }
  -                path = path + " -> " + fCurrentEntity.name;
  -                path = path + " -> " + entityName;
  +                path.append(" -> ");
  +                path.append(fCurrentEntity.name);
  +                path.append(" -> ");
  +                path.append(entityName);
                   fErrorReporter.reportError(XMLMessageFormatter.XML_DOMAIN,
                                              "RecursiveReference",
  -                                           new Object[] { entityName, path },
  +                                           new Object[] { entityName, path.toString() },
                                              XMLErrorReporter.SEVERITY_FATAL_ERROR);
                   if (fEntityHandler != null) {
                       fResourceIdentifier.clear();
  
  
  
  1.43      +4 -5      xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDComplexTypeTraverser.java
  
  Index: XSDComplexTypeTraverser.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/xs/traversers/XSDComplexTypeTraverser.java,v
  retrieving revision 1.42
  retrieving revision 1.43
  diff -u -r1.42 -r1.43
  --- XSDComplexTypeTraverser.java	24 Feb 2004 22:59:14 -0000	1.42
  +++ XSDComplexTypeTraverser.java	9 Jul 2004 03:01:58 -0000	1.43
  @@ -1058,14 +1058,13 @@
           // names of parent nodes
           // The name is quite good for debugging/error purposes, but we may want to
           // revisit how this is done for performance reasons (LM).
  -        String typeName;
  +        StringBuffer typeName = new StringBuffer("#AnonType_");
           Element node = DOMUtil.getParent(complexTypeDecl);
  -        typeName="#AnonType_";
           while (node != null && (node != DOMUtil.getRoot(DOMUtil.getDocument(node)))) {
  -            typeName = typeName+node.getAttribute(SchemaSymbols.ATT_NAME);
  +            typeName.append(node.getAttribute(SchemaSymbols.ATT_NAME));
               node = DOMUtil.getParent(node);
           }
  -        return typeName;
  +        return typeName.toString();
       }
   
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org