Author: yonik
Date: Sat Jan 5 08:22:04 2008
New Revision: 609166
URL: http://svn.apache.org/viewvc?rev=609166&view=rev
Log:
avoid StringBuilder + String creations if no tag escape set
Modified:
lucene/solr/trunk/src/java/org/apache/solr/analysis/HTMLStripReader.java
Modified:
lucene/solr/trunk/src/java/org/apache/solr/analysis/HTMLStripReader.java
URL:
http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/analysis/HTMLStripReader.java?rev=609166&r1=609165&r2=609166&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/analysis/HTMLStripReader.java
(original)
+++ lucene/solr/trunk/src/java/org/apache/solr/analysis/HTMLStripReader.java
Sat Jan 5 08:22:04 2008
@@ -38,7 +38,7 @@
private final int READAHEAD=4096;
private int numWhitespace = 0;
private int numRead = 0;
- private Set<String> escapedTags = Collections.emptySet();
+ private Set<String> escapedTags;
// pushback buffer
private final StringBuilder pushed = new StringBuilder();
@@ -375,7 +375,7 @@
break;
}
}
- if (escapedTags.contains(sb.toString())){
+ if (escapedTags!=null && escapedTags.contains(sb.toString())){
//if this is a reservedTag, then keep it
return MISMATCH;
}
@@ -497,22 +497,22 @@
private int readName(boolean checkEscaped) throws IOException {
- StringBuilder builder = new StringBuilder();
+ StringBuilder builder = (checkEscaped && escapedTags!=null) ? new
StringBuilder() : null;
int ch = read();
- builder.append((char)ch);
+ if (builder!=null) builder.append((char)ch);
if (!isFirstIdChar(ch)) return MISMATCH;
ch = read();
- builder.append((char)ch);
+ if (builder!=null) builder.append((char)ch);
while(isIdChar(ch)) {
ch=read();
- builder.append((char)ch);
+ if (builder!=null) builder.append((char)ch);
}
if (ch!=-1) {
push(ch);
}
//strip off the trailing >
- if (checkEscaped && escapedTags.contains(builder.substring(0,
builder.length() - 1))){
+ if (builder!=null && escapedTags.contains(builder.substring(0,
builder.length() - 1))){
return MISMATCH;
}
return MATCH;