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/06/03 18:13:39 UTC

cvs commit: xml-xerces/java/src/org/apache/xerces/impl XMLDocumentScannerImpl.java XMLDocumentFragmentScannerImpl.java

mrglavas    2004/06/03 09:13:39

  Modified:    java/src/org/apache/xerces/impl XMLDocumentScannerImpl.java
                        XMLDocumentFragmentScannerImpl.java
  Log:
  Some cleanup, minor performance improvements.
  
  1) Reuse XMLDTDDescription object instead of creating a new one every time.
  2) Marking fields of reusable temp objects as final as they are never reassigned.
  
  Revision  Changes    Path
  1.46      +18 -13    xml-xerces/java/src/org/apache/xerces/impl/XMLDocumentScannerImpl.java
  
  Index: XMLDocumentScannerImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/XMLDocumentScannerImpl.java,v
  retrieving revision 1.45
  retrieving revision 1.46
  diff -u -r1.45 -r1.46
  --- XMLDocumentScannerImpl.java	30 Apr 2004 15:36:38 -0000	1.45
  +++ XMLDocumentScannerImpl.java	3 Jun 2004 16:13:38 -0000	1.46
  @@ -204,16 +204,19 @@
       // temporary variables
   
       /** Array of 3 strings. */
  -    private String[] fStrings = new String[3];
  +    private final String[] fStrings = new String[3];
   
       /** String. */
  -    private XMLString fString = new XMLString();
  +    private final XMLString fString = new XMLString();
   
       /** String buffer. */
  -    private XMLStringBuffer fStringBuffer = new XMLStringBuffer();
  +    private final XMLStringBuffer fStringBuffer = new XMLStringBuffer();
       
       /** External subset source. */
       private XMLInputSource fExternalSubsetSource = null;
  +    
  +    /** A DTD Description. */
  +    private final XMLDTDDescription fDTDDescription = new XMLDTDDescription(null, null, null, null, null);
   
       //
       // Constructors
  @@ -561,9 +564,9 @@
           
           // Attempt to locate an external subset with an external subset resolver.
           if (!fHasExternalDTD && fExternalSubsetResolver != null) {
  -            XMLDTDDescription desc = new XMLDTDDescription(null, 
  -                null, fEntityManager.getCurrentResourceIdentifier().getExpandedSystemId(), null, fDoctypeName);
  -            fExternalSubsetSource = fExternalSubsetResolver.getExternalSubset(desc);
  +            fDTDDescription.setValues(null, null, fEntityManager.getCurrentResourceIdentifier().getExpandedSystemId(), null);
  +            fDTDDescription.setRootName(fDoctypeName);
  +            fExternalSubsetSource = fExternalSubsetResolver.getExternalSubset(fDTDDescription);
               fHasExternalDTD = fExternalSubsetSource != null;
           }
   
  @@ -924,7 +927,6 @@
               fEntityManager.setEntityHandler(null);
               try {
                   boolean again;
  -                XMLEntityDescriptionImpl entityDescription = new XMLEntityDescriptionImpl();
                   do {
                       again = false;
                       switch (fScannerState) {
  @@ -974,9 +976,10 @@
                               break;
                           }
                           case SCANNER_STATE_DTD_EXTERNAL: {
  -                            entityDescription.setDescription("[dtd]", fDoctypePublicId, fDoctypeSystemId, null, null);
  +                            fDTDDescription.setValues(fDoctypePublicId, fDoctypeSystemId, null, null);
  +                            fDTDDescription.setRootName(fDoctypeName);
                               XMLInputSource xmlInputSource =
  -                                fEntityManager.resolveEntity(entityDescription);
  +                                fEntityManager.resolveEntity(fDTDDescription);
                               fDTDScanner.setInputSource(xmlInputSource);
                               setScannerState(SCANNER_STATE_DTD_EXTERNAL_DECLS);
                               again = true;
  @@ -1144,9 +1147,11 @@
            */
           protected void resolveExternalSubsetAndRead()
               throws IOException, XNIException {
  -            XMLDTDDescription desc = new XMLDTDDescription(null, 
  -                null, fEntityManager.getCurrentResourceIdentifier().getExpandedSystemId(), null, fElementQName.rawname);
  -            XMLInputSource src = fExternalSubsetResolver.getExternalSubset(desc);
  +            
  +            fDTDDescription.setValues(null, null, fEntityManager.getCurrentResourceIdentifier().getExpandedSystemId(), null);
  +            fDTDDescription.setRootName(fElementQName.rawname);
  +            XMLInputSource src = fExternalSubsetResolver.getExternalSubset(fDTDDescription);
  +            
               if (src != null) {
                   fDoctypeName = fElementQName.rawname;
                   fDoctypePublicId = src.getPublicId();
  
  
  
  1.53      +11 -13    xml-xerces/java/src/org/apache/xerces/impl/XMLDocumentFragmentScannerImpl.java
  
  Index: XMLDocumentFragmentScannerImpl.java
  ===================================================================
  RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/impl/XMLDocumentFragmentScannerImpl.java,v
  retrieving revision 1.52
  retrieving revision 1.53
  diff -u -r1.52 -r1.53
  --- XMLDocumentFragmentScannerImpl.java	8 Apr 2004 22:24:52 -0000	1.52
  +++ XMLDocumentFragmentScannerImpl.java	3 Jun 2004 16:13:39 -0000	1.53
  @@ -228,39 +228,37 @@
       // temporary variables
   
       /** Element QName. */
  -    protected QName fElementQName = new QName();
  +    protected final QName fElementQName = new QName();
   
       /** Attribute QName. */
  -    protected QName fAttributeQName = new QName();
  +    protected final QName fAttributeQName = new QName();
   
       /** Element attributes. */
  -    protected XMLAttributesImpl fAttributes = new XMLAttributesImpl();
  +    protected final XMLAttributesImpl fAttributes = new XMLAttributesImpl();
   
       /** String. */
  -    protected XMLString fTempString = new XMLString();
  +    protected final XMLString fTempString = new XMLString();
   
       /** String. */
  -    protected XMLString fTempString2 = new XMLString();
  +    protected final XMLString fTempString2 = new XMLString();
   
       /** Array of 3 strings. */
  -    private String[] fStrings = new String[3];
  +    private final String[] fStrings = new String[3];
   
       /** String buffer. */
  -    private XMLStringBuffer fStringBuffer = new XMLStringBuffer();
  +    private final XMLStringBuffer fStringBuffer = new XMLStringBuffer();
   
       /** String buffer. */
  -    private XMLStringBuffer fStringBuffer2 = new XMLStringBuffer();
  -
  +    private final XMLStringBuffer fStringBuffer2 = new XMLStringBuffer();
   
       /** Another QName. */
  -    private QName fQName = new QName();
  -
  +    private final QName fQName = new QName();
   
       /** Single character array. */
       private final char[] fSingleChar = new char[1];
   
       /** External entity. */
  -    private XMLEntityManager.ExternalEntity fExternalEntity = new XMLEntityManager.ExternalEntity();
  +    private final XMLEntityManager.ExternalEntity fExternalEntity = new XMLEntityManager.ExternalEntity();
       
       /** 
        * Saw spaces after element name or between attributes.
  
  
  

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