Skip to content

Commit bfaf601

Browse files
authored
Merge pull request #2052 from idodeclare/feature/uhighlighter
Feature/uhighlighter
2 parents e5b1c0b + fa8513d commit bfaf601

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+3955
-149
lines changed

build.xml

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ information: Portions Copyright [yyyy] [name of copyright owner]
1919
CDDL HEADER END
2020
2121
Copyright (c) 2005, 2018, Oracle and/or its affiliates. All rights reserved.
22-
Portions Copyright (c) 2017, Chris Fraire <[email protected]>.
22+
Portions Copyright (c) 2017-2018, Chris Fraire <[email protected]>.
2323
2424
-->
2525
<project name="OpenGrok" default="jar" basedir="." xmlns:jacoco="antlib:org.jacoco.ant"
@@ -507,6 +507,18 @@ Portions Copyright (c) 2017, Chris Fraire <[email protected]>.
507507
<available file="${lucene-analyzers-common.jar}" type="file" property="lucene-analyzers-common.jar.present">
508508
<filepath refid="plainlib.search.path"/>
509509
</available>
510+
<available file="${lucene-highlighter.jar}" type="file" property="lucene-highlighter.jar.present">
511+
<filepath refid="plainlib.search.path"/>
512+
</available>
513+
<available file="${lucene-join.jar}" type="file" property="lucene-join.jar.present">
514+
<filepath refid="plainlib.search.path"/>
515+
</available>
516+
<available file="${lucene-memory.jar}" type="file" property="lucene-memory.jar.present">
517+
<filepath refid="plainlib.search.path"/>
518+
</available>
519+
<available file="${lucene-queries.jar}" type="file" property="lucene-queries.jar.present">
520+
<filepath refid="plainlib.search.path"/>
521+
</available>
510522
<available file="${lucene-queryparser.jar}" type="file" property="lucene-queryparser.jar.present">
511523
<filepath refid="plainlib.search.path"/>
512524
</available>
@@ -518,6 +530,10 @@ Portions Copyright (c) 2017, Chris Fraire <[email protected]>.
518530
<and>
519531
<isset property="lucene-core.jar.present"/>
520532
<isset property="lucene-analyzers-common.jar.present"/>
533+
<isset property="lucene-highlighter.jar.present"/>
534+
<isset property="lucene-join.jar.present"/>
535+
<isset property="lucene-memory.jar.present"/>
536+
<isset property="lucene-queries.jar.present"/>
521537
<isset property="lucene-queryparser.jar.present"/>
522538
<isset property="lucene-suggest.jar.present"/>
523539
</and>
@@ -535,6 +551,14 @@ Portions Copyright (c) 2017, Chris Fraire <[email protected]>.
535551
dest="lib/${lucene-core.jar}" verbose="true" usetimestamp="true"/>
536552
<get src="${mvn.repository}/org/apache/lucene/lucene-analyzers-common/${lucene.version}/${lucene-analyzers-common.jar}"
537553
dest="lib/${lucene-analyzers-common.jar}" verbose="true" usetimestamp="true"/>
554+
<get src="${mvn.repository}/org/apache/lucene/lucene-highlighter/${lucene.version}/${lucene-highlighter.jar}"
555+
dest="lib/${lucene-highlighter.jar}" verbose="true" usetimestamp="true"/>
556+
<get src="${mvn.repository}/org/apache/lucene/lucene-join/${lucene.version}/${lucene-join.jar}"
557+
dest="lib/${lucene-join.jar}" verbose="true" usetimestamp="true"/>
558+
<get src="${mvn.repository}/org/apache/lucene/lucene-memory/${lucene.version}/${lucene-memory.jar}"
559+
dest="lib/${lucene-memory.jar}" verbose="true" usetimestamp="true"/>
560+
<get src="${mvn.repository}/org/apache/lucene/lucene-queries/${lucene.version}/${lucene-queries.jar}"
561+
dest="lib/${lucene-queries.jar}" verbose="true" usetimestamp="true"/>
538562
<get src="${mvn.repository}/org/apache/lucene/lucene-queryparser/${lucene.version}/${lucene-queryparser.jar}"
539563
dest="lib/${lucene-queryparser.jar}" verbose="true" usetimestamp="true"/>
540564
<get src="${mvn.repository}/org/apache/lucene/lucene-suggest/${lucene.version}/${lucene-suggest.jar}"

debian/ant.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
DEB_JARS=JFlex.jar:ant-junit.jar:ant-nodeps.jar:junit4.jar:bcel.jar:swing-layout.jar:lucene-core.jar:lucene-spellchecker.jar:servlet-api.jar
2-
WAR_JARS=bcel.jar:swing-layout.jar:lucene-core.jar:lucene-spellchecker.jar
1+
DEB_JARS=JFlex.jar:ant-junit.jar:ant-nodeps.jar:junit4.jar:bcel.jar:swing-layout.jar:lucene-core.jar:lucene-highlighter.jar:lucene-join.jar:lucene-memory.jar:lucene-queries.jar:lucene-spellchecker.jar:servlet-api.jar
2+
WAR_JARS=bcel.jar:swing-layout.jar:lucene-core.jar:lucene-highlighter.jar:lucene-join.jar:lucene-memory.jar:lucene-queries.jar:lucene-spellchecker.jar
33

44
file.reference.jrcs.jar=lib/jrcs.jar
55

nbproject/project.properties

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ manifest.custom.caller.allowable.codebase=
1111
project.licensePath=./nbproject/licenseheader.txt
1212
src.generatedsrc.dir=generatedsrc
1313
file.reference.lucene-core.jar=lib/${lucene-core.jar}
14+
file.reference.lucene-highlighter.jar=lib/${lucene-highlighter.jar}
15+
file.reference.lucene-join.jar=lib/${lucene-join.jar}
16+
file.reference.lucene-memory.jar=lib/${lucene-memory.jar}
17+
file.reference.lucene-queries.jar=lib/${lucene-queries.jar}
1418
dist.war=${dist.dir}/source.war
1519
javac.target=1.8
1620
build.generated.dir=${build.dir}/generated
@@ -19,6 +23,10 @@ run.classpath=\
1923
${build.classes.dir}
2024
lucene.version=7.2.1
2125
lucene-core.jar=lucene-core-${lucene.version}.jar
26+
lucene-highlighter.jar=lucene-highlighter-${lucene.version}.jar
27+
lucene-join.jar=lucene-join-${lucene.version}.jar
28+
lucene-memory.jar=lucene-memory-${lucene.version}.jar
29+
lucene-queries.jar=lucene-queries-${lucene.version}.jar
2230
file.reference.opengrok-dev-test=test
2331
debug.test.classpath=${run.test.classpath}
2432
jnlp.descriptor=application
@@ -78,6 +86,10 @@ javac.classpath=\
7886
${file.reference.bcel.jar}:\
7987
${file.reference.lucene-analyzers-common.jar}:\
8088
${file.reference.lucene-core.jar}:\
89+
${file.reference.lucene-highlighter.jar}:\
90+
${file.reference.lucene-join.jar}:\
91+
${file.reference.lucene-memory.jar}:\
92+
${file.reference.lucene-queries.jar}:\
8193
${file.reference.lucene-queryparser.jar}:\
8294
${file.reference.lucene-suggest.jar}:\
8395
${file.reference.servlet-api.jar}

opengrok-indexer/pom.xml

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ information: Portions Copyright [yyyy] [name of copyright owner]
1919
CDDL HEADER END
2020
2121
Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
22-
Portions Copyright (c) 2017, Chris Fraire <[email protected]>.
22+
Portions Copyright (c) 2017-2018, Chris Fraire <[email protected]>.
2323
2424
-->
2525
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -476,6 +476,22 @@ Portions Copyright (c) 2017, Chris Fraire <[email protected]>.
476476
<groupId>org.apache.lucene</groupId>
477477
<artifactId>lucene-analyzers-common</artifactId>
478478
</dependency>
479+
<dependency>
480+
<groupId>org.apache.lucene</groupId>
481+
<artifactId>lucene-highlighter</artifactId>
482+
</dependency>
483+
<dependency>
484+
<groupId>org.apache.lucene</groupId>
485+
<artifactId>lucene-join</artifactId>
486+
</dependency>
487+
<dependency>
488+
<groupId>org.apache.lucene</groupId>
489+
<artifactId>lucene-memory</artifactId>
490+
</dependency>
491+
<dependency>
492+
<groupId>org.apache.lucene</groupId>
493+
<artifactId>lucene-queries</artifactId>
494+
</dependency>
479495
<dependency>
480496
<groupId>org.apache.lucene</groupId>
481497
<artifactId>lucene-queryparser</artifactId>

opengrok-web-nbproject/nbproject/build-impl.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -991,6 +991,10 @@ exists or setup the property manually. For example like this:
991991
<copyfiles files="${file.reference.bcel.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
992992
<copyfiles files="${file.reference.lucene-core.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
993993
<copyfiles files="${file.reference.lucene-analyzers-common.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
994+
<copyfiles files="${file.reference.lucene-highlighter.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
995+
<copyfiles files="${file.reference.lucene-join.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
996+
<copyfiles files="${file.reference.lucene-memory.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
997+
<copyfiles files="${file.reference.lucene-queries.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
994998
<copyfiles files="${file.reference.lucene-queryparser.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
995999
<copyfiles files="${file.reference.lucene-suggest.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
9961000
<copyfiles files="${file.reference.json-simple-1.1.1.jar}" iftldtodir="${build.web.dir}/WEB-INF" todir="${dist.ear.dir}/lib"/>
@@ -1004,6 +1008,10 @@ exists or setup the property manually. For example like this:
10041008
<copyfiles files="${file.reference.bcel.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
10051009
<copyfiles files="${file.reference.lucene-core.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
10061010
<copyfiles files="${file.reference.lucene-analyzers-common.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
1011+
<copyfiles files="${file.reference.lucene-highlighter.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
1012+
<copyfiles files="${file.reference.lucene-join.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
1013+
<copyfiles files="${file.reference.lucene-memory.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
1014+
<copyfiles files="${file.reference.lucene-queries.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
10071015
<copyfiles files="${file.reference.lucene-queryparser.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
10081016
<copyfiles files="${file.reference.lucene-suggest.jar}" todir="${build.web.dir}/WEB-INF/lib"/>
10091017
<copyfiles files="${file.reference.json-simple-1.1.1.jar}" todir="${build.web.dir}/WEB-INF/lib"/>

opengrok-web-nbproject/nbproject/project.properties

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,18 @@ j2ee.platform.classpath=${j2ee.server.home}/lib/annotations-api.jar:${j2ee.serve
4040
lucene.version=7.2.1
4141
lucene-core.jar=lucene-core-${lucene.version}.jar
4242
lucene-analyzers-common.jar=lucene-analyzers-common-${lucene.version}.jar
43+
lucene-highlighter.jar=lucene-highlighter-${lucene.version}.jar
44+
lucene-join.jar=lucene-join-${lucene.version}.jar
45+
lucene-memory.jar=lucene-memory-${lucene.version}.jar
46+
lucene-queries.jar=lucene-queries-${lucene.version}.jar
4347
lucene-queryparser.jar=lucene-queryparser-${lucene.version}.jar
4448
lucene-suggest.jar=lucene-suggest-${lucene.version}.jar
4549
file.reference.lucene-core.jar=../lib/${lucene-core.jar}
4650
file.reference.lucene-analyzers-common.jar=../lib/${lucene-analyzers-common.jar}
51+
file.reference.lucene-highlighter.jar=../lib/${lucene-highlighter.jar}
52+
file.reference.lucene-join.jar=../lib/${lucene-join.jar}
53+
file.reference.lucene-memory.jar=../lib/${lucene-memory.jar}
54+
file.reference.lucene-queries.jar=../lib/${lucene-queries.jar}
4755
file.reference.lucene-queryparser.jar=../lib/${lucene-queryparser.jar}
4856
file.reference.lucene-suggest.jar=../lib/${lucene-suggest.jar}
4957
file.reference.ant.jar=${ant.library.dir}/ant.jar
@@ -67,6 +75,10 @@ javac.classpath=\
6775
${file.reference.bcel.jar}:\
6876
${file.reference.lucene-core.jar}:\
6977
${file.reference.lucene-analyzers-common.jar}:\
78+
${file.reference.lucene-highlighter.jar}:\
79+
${file.reference.lucene-join.jar}:\
80+
${file.reference.lucene-memory.jar}:\
81+
${file.reference.lucene-queries.jar}:\
7082
${file.reference.lucene-queryparser.jar}:\
7183
${file.reference.lucene-suggest.jar}:\
7284
${file.reference.json-simple-1.1.1.jar}

opengrok-web-nbproject/nbproject/project.xml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,22 @@
3030
<file>${file.reference.lucene-analyzers-common.jar}</file>
3131
<path-in-war>WEB-INF/lib</path-in-war>
3232
</library>
33+
<library dirs="200">
34+
<file>${file.reference.lucene-highlighter.jar}</file>
35+
<path-in-war>WEB-INF/lib</path-in-war>
36+
</library>
37+
<library dirs="200">
38+
<file>${file.reference.lucene-join.jar}</file>
39+
<path-in-war>WEB-INF/lib</path-in-war>
40+
</library>
41+
<library dirs="200">
42+
<file>${file.reference.lucene-memory.jar}</file>
43+
<path-in-war>WEB-INF/lib</path-in-war>
44+
</library>
45+
<library dirs="200">
46+
<file>${file.reference.lucene-queries.jar}</file>
47+
<path-in-war>WEB-INF/lib</path-in-war>
48+
</library>
3349
<library dirs="200">
3450
<file>${file.reference.lucene-queryparser.jar}</file>
3551
<path-in-war>WEB-INF/lib</path-in-war>

pom.xml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ information: Portions Copyright [yyyy] [name of copyright owner]
1919
CDDL HEADER END
2020
2121
Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
22+
Portions Copyright (c) 2018, Chris Fraire <[email protected]>.
2223
2324
-->
2425
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
@@ -87,6 +88,26 @@ Copyright (c) 2010, 2017, Oracle and/or its affiliates. All rights reserved.
8788
<artifactId>lucene-analyzers-common</artifactId>
8889
<version>${lucene.version}</version>
8990
</dependency>
91+
<dependency>
92+
<groupId>org.apache.lucene</groupId>
93+
<artifactId>lucene-highlighter</artifactId>
94+
<version>${lucene.version}</version>
95+
</dependency>
96+
<dependency>
97+
<groupId>org.apache.lucene</groupId>
98+
<artifactId>lucene-join</artifactId>
99+
<version>${lucene.version}</version>
100+
</dependency>
101+
<dependency>
102+
<groupId>org.apache.lucene</groupId>
103+
<artifactId>lucene-memory</artifactId>
104+
<version>${lucene.version}</version>
105+
</dependency>
106+
<dependency>
107+
<groupId>org.apache.lucene</groupId>
108+
<artifactId>lucene-queries</artifactId>
109+
<version>${lucene.version}</version>
110+
</dependency>
90111
<dependency>
91112
<groupId>org.apache.lucene</groupId>
92113
<artifactId>lucene-queryparser</artifactId>

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

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919

2020
/*
2121
* Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
22-
* Portions Copyright (c) 2017, Chris Fraire <[email protected]>.
22+
* Portions Copyright (c) 2017-2018, Chris Fraire <[email protected]>.
2323
*/
2424
package org.opensolaris.opengrok.analysis;
2525

@@ -213,6 +213,13 @@ public class AnalyzerGuru {
213213

214214
private static final Map<String, String> fileTypeDescriptions = new TreeMap<>();
215215

216+
/**
217+
* Maps from {@link FileAnalyzer#getFileTypeName()} to
218+
* {@link FileAnalyzerFactory}
219+
*/
220+
private static final Map<String, FileAnalyzerFactory> FILETYPE_FACTORIES =
221+
new HashMap<>();
222+
216223
/*
217224
* If you write your own analyzer please register it here. The order is
218225
* important for any factory that uses a FileAnalyzerFactory.Matcher
@@ -338,6 +345,9 @@ private static void registerAnalyzer(FileAnalyzerFactory factory) {
338345
}
339346
matchers.addAll(factory.getMatchers());
340347
factories.add(factory);
348+
349+
FileAnalyzer fa = factory.getAnalyzer();
350+
FILETYPE_FACTORIES.put(fa.getFileTypeName(), factory);
341351
}
342352

343353
/**
@@ -385,6 +395,17 @@ public static FileAnalyzer getAnalyzer() {
385395
return DEFAULT_ANALYZER_FACTORY.getAnalyzer();
386396
}
387397

398+
/**
399+
* Gets an analyzer for the specified {@code fileTypeName} if it accords
400+
* with a known {@link FileAnalyzer#getFileTypeName()}.
401+
* @param fileTypeName a defined name
402+
* @return a defined instance if known or otherwise {@code null}
403+
*/
404+
public static FileAnalyzer getAnalyzer(String fileTypeName) {
405+
FileAnalyzerFactory factory = FILETYPE_FACTORIES.get(fileTypeName);
406+
return factory == null ? null : factory.getAnalyzer();
407+
}
408+
388409
/**
389410
* Get an analyzer suited to analyze a file. This function will reuse
390411
* analyzers since they are costly.
@@ -531,6 +552,9 @@ public static void writeXref(FileAnalyzerFactory factory, Reader in,
531552
args.setProject(project);
532553

533554
FileAnalyzer analyzer = factory.getAnalyzer();
555+
RuntimeEnvironment env = RuntimeEnvironment.getInstance();
556+
analyzer.setScopesEnabled(env.isScopesEnabled());
557+
analyzer.setFoldingEnabled(env.isFoldingEnabled());
534558
analyzer.writeXref(args);
535559
}
536560

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

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -378,8 +378,8 @@ private static String cutPattern(String tagLine, int startTab, int endTab) {
378378
* Adds a tag to a {@code Definitions} instance.
379379
*/
380380
private void addTag(Definitions defs, int lineno, String symbol,
381-
String type, String text, String namespace, String signature,
382-
int lineStart, int lineEnd) {
381+
String type, String text, String namespace, String signature,
382+
int lineStart, int lineEnd) {
383383
// The strings are frequently repeated (a symbol can be used in
384384
// multiple definitions, multiple definitions can have the same type,
385385
// one line can contain multiple definitions). Intern them to minimize
@@ -397,9 +397,7 @@ private void addTag(Definitions defs, int lineno, String symbol,
397397
* syntax.
398398
* @return a defined instance
399399
*/
400-
private CpatIndex bestIndexOfTag(int lineno, String whole,
401-
String str) {
402-
400+
private CpatIndex bestIndexOfTag(int lineno, String whole, String str) {
403401
if (whole.length() < 1) {
404402
return new CpatIndex(lineno, 0, 1, true);
405403
}

0 commit comments

Comments
 (0)