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