Skip to content

Commit 61172cb

Browse files
Lubos KoscoLubos Kosco
authored andcommitted
fixes #10 False matches in Java class files
1 parent 8a16fdd commit 61172cb

File tree

4 files changed

+8
-131
lines changed

4 files changed

+8
-131
lines changed

src/org/opensolaris/opengrok/analysis/TagFilter.java

Lines changed: 0 additions & 123 deletions
This file was deleted.

src/org/opensolaris/opengrok/analysis/executables/JavaClassAnalyzer.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
import java.io.IOException;
2626
import java.io.InputStream;
27+
import java.io.StringReader;
2728
import java.io.StringWriter;
2829
import java.io.Writer;
2930
import java.util.ArrayList;
@@ -48,14 +49,14 @@
4849
import org.apache.bcel.classfile.LocalVariable;
4950
import org.apache.bcel.classfile.LocalVariableTable;
5051
import org.apache.bcel.classfile.Utility;
52+
import org.apache.lucene.analysis.charfilter.HTMLStripCharFilter;
5153
import org.apache.lucene.document.Document;
5254
import org.apache.lucene.document.Field.Store;
5355
import org.apache.lucene.document.TextField;
5456
import org.opensolaris.opengrok.analysis.FileAnalyzer;
5557
import org.opensolaris.opengrok.analysis.FileAnalyzerFactory;
5658
import org.opensolaris.opengrok.analysis.IteratorReader;
5759
import org.opensolaris.opengrok.analysis.StreamSource;
58-
import org.opensolaris.opengrok.analysis.TagFilter;
5960
import org.opensolaris.opengrok.configuration.RuntimeEnvironment;
6061

6162
/**
@@ -107,8 +108,7 @@ void analyze(Document doc, InputStream in, Writer xrefOut) throws IOException {
107108

108109
doc.add(new TextField("defs", new IteratorReader(defs)));
109110
doc.add(new TextField("refs", new IteratorReader(refs)));
110-
// TODO could be improved, lucene has xhtml parsers/readers
111-
doc.add(new TextField("full", new TagFilter(xref)));
111+
doc.add(new TextField("full", new HTMLStripCharFilter(new StringReader(xref))));
112112
doc.add(new TextField("full", constants, Store.NO));
113113
}
114114

src/org/opensolaris/opengrok/search/Results.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import java.util.Map;
3838
import java.util.logging.Level;
3939
import java.util.zip.GZIPInputStream;
40+
import org.apache.lucene.analysis.charfilter.HTMLStripCharFilter;
4041
import org.apache.lucene.document.Document;
4142
import org.apache.lucene.index.CorruptIndexException;
4243
import org.apache.lucene.index.IndexableField;
@@ -45,7 +46,6 @@
4546
import org.opensolaris.opengrok.OpenGrokLogger;
4647
import org.opensolaris.opengrok.analysis.Definitions;
4748
import org.opensolaris.opengrok.analysis.FileAnalyzer.Genre;
48-
import org.opensolaris.opengrok.analysis.TagFilter;
4949
import org.opensolaris.opengrok.history.HistoryException;
5050
import org.opensolaris.opengrok.web.Prefix;
5151
import org.opensolaris.opengrok.web.SearchHelper;
@@ -92,7 +92,7 @@ private static Map<String, ArrayList<Document>> createMap(IndexSearcher searcher
9292

9393
private static String getTags(File basedir, String path, boolean compressed) {
9494
char[] content = new char[1024 * 8];
95-
try (TagFilter r = new TagFilter(getXrefReader(basedir, path, compressed))) {
95+
try (HTMLStripCharFilter r = new HTMLStripCharFilter(getXrefReader(basedir, path, compressed))) {
9696
int len = r.read(content);
9797
return new String(content, 0, len);
9898
} catch (Exception e) {

src/org/opensolaris/opengrok/search/SearchEngine.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import java.util.concurrent.Executors;
3030
import java.util.logging.Level;
3131
import java.util.zip.GZIPInputStream;
32+
import org.apache.lucene.analysis.charfilter.HTMLStripCharFilter;
3233
import org.apache.lucene.document.Document;
3334
import org.apache.lucene.index.DirectoryReader;
3435
import org.apache.lucene.index.IndexReader;
@@ -44,7 +45,6 @@
4445
import org.opensolaris.opengrok.analysis.CompatibleAnalyser;
4546
import org.opensolaris.opengrok.analysis.Definitions;
4647
import org.opensolaris.opengrok.analysis.FileAnalyzer.Genre;
47-
import org.opensolaris.opengrok.analysis.TagFilter;
4848
import org.opensolaris.opengrok.configuration.Project;
4949
import org.opensolaris.opengrok.configuration.RuntimeEnvironment;
5050
import org.opensolaris.opengrok.history.HistoryException;
@@ -358,8 +358,8 @@ public void results(int start, int end, List<Hit> ret) {
358358
} else if (Genre.XREFABLE == genre && data != null && summarizer != null) {
359359
int l = 0;
360360
try (Reader r = RuntimeEnvironment.getInstance().isCompressXref() ?
361-
new TagFilter(new BufferedReader(new InputStreamReader(new GZIPInputStream(new FileInputStream(data + "/xref" + filename + ".gz"))))) :
362-
new TagFilter(new BufferedReader(new FileReader(data + "/xref" + filename)))) {
361+
new HTMLStripCharFilter(new BufferedReader(new InputStreamReader(new GZIPInputStream(new FileInputStream(data + "/xref" + filename + ".gz"))))) :
362+
new HTMLStripCharFilter(new BufferedReader(new FileReader(data + "/xref" + filename)))) {
363363
l = r.read(content);
364364
}
365365
//TODO FIX below fragmenter according to either summarizer or context (to get line numbers, might be hard, since xref writers will need to be fixed too, they generate just one line of html code now :( )

0 commit comments

Comments
 (0)