You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by mr...@apache.org on 2007/04/22 13:42:36 UTC
svn commit: r531165 -
/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/DefaultHighlighter.java
Author: mreutegg
Date: Sun Apr 22 04:42:35 2007
New Revision: 531165
URL: http://svn.apache.org/viewvc?view=rev&rev=531165
Log:
JCR-859: rep:excerpt() may return malformed XML
Modified:
jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/DefaultHighlighter.java
Modified: jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/DefaultHighlighter.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/DefaultHighlighter.java?view=diff&rev=531165&r1=531164&r2=531165
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/DefaultHighlighter.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/query/lucene/DefaultHighlighter.java Sun Apr 22 04:42:35 2007
@@ -28,6 +28,7 @@
import org.apache.lucene.index.TermVectorOffsetInfo;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.Query;
+import org.apache.jackrabbit.util.Text;
/**
* This is an adapted version of the <code>FulltextHighlighter</code> posted in
@@ -212,7 +213,8 @@
if (skippedChars > surround) {
skippedChars = surround;
}
- sb.append(cbuf, 0, surround - skippedChars);
+ sb.append(Text.encodeIllegalXMLCharacters(
+ new String(cbuf, 0, surround - skippedChars)));
sb.append(END_FRAGMENT_SEPARATOR);
}
}
@@ -239,7 +241,8 @@
}
}
- sb.append(cbuf, skippedChars, cbuf.length - skippedChars);
+ sb.append(Text.encodeIllegalXMLCharacters(
+ new String(cbuf, skippedChars, cbuf.length - skippedChars)));
// iterate terms
for (Iterator iter = fi.iterator(); iter.hasNext();) {
@@ -283,7 +286,8 @@
} else {
skippedChars = 0;
}
- sb.append(cbuf, 0, EOF ? skip : (surround - skippedChars));
+ sb.append(Text.encodeIllegalXMLCharacters(
+ new String(cbuf, 0, EOF ? skip : (surround - skippedChars))));
sb.append(END_FRAGMENT_SEPARATOR);
}
}