Skip to content

Commit

Permalink
Added support for highligting items
Browse files Browse the repository at this point in the history
  • Loading branch information
judovana committed Feb 13, 2016
1 parent 3978df8 commit 791b981
Show file tree
Hide file tree
Showing 14 changed files with 279 additions and 51 deletions.
2 changes: 1 addition & 1 deletion nbproject/project.properties
Original file line number Diff line number Diff line change
Expand Up @@ -93,4 +93,4 @@ run.test.classpath=\
source.encoding=UTF-8
src.dir=src
test.src.dir=test
Application.version=2.0
Application.version=2.1
27 changes: 22 additions & 5 deletions src/javadocofflinesearch/SingleSpaceInstance.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Date;
import java.util.List;
import javadocofflinesearch.extensions.Vocabulary;
import javadocofflinesearch.formatters.Formatter;
import javadocofflinesearch.lucene.InfoExtractor;
import javadocofflinesearch.lucene.MainIndex;
import javadocofflinesearch.server.ServerLauncher;
import javadocofflinesearch.tools.Commandline;
Expand Down Expand Up @@ -37,13 +41,17 @@ void run() {
if (cmds.hasServer()) {
ServerLauncher lServerLuncher = new ServerLauncher(cmds.getPort());
Thread r = new Thread(lServerLuncher);
r.setDaemon(true);
r.setDaemon(false);
r.start();
while (true) {
Thread.sleep(100);
}
} else if (cmds.isExctractInfo()) {
cmds.createFormatter(System.out).summary(cmds.getExctractInfo(), cmds.getQuery(), cmds.getInfoBefore(), cmds.getInfoAfter());
Formatter f = cmds.createFormatter(System.out);
String s = f.summary(cmds.getExctractInfo(), cmds.getQuery(), cmds.getInfoBefore(), cmds.getInfoAfter());
extendedDidYouMeant(s, f);
} else if (cmds.isHighligt()) {
Formatter f = cmds.createFormatter(System.out);
String highlighted = InfoExtractor.highlightInDoc(cmds.getHighligtInfo(), cmds.getQuery(), f);
System.out.println(highlighted);
extendedDidYouMeant(highlighted, f);
} else if (cmds.hasPrintFirefoxEngine()) {
printFirefox();
} else {
Expand All @@ -65,6 +73,15 @@ void run() {
}
}

private void extendedDidYouMeant(String s, Formatter f) {
if (s.length() < 15) {
List<Vocabulary> vcs = LibraryManager.getLibraryManager().getAllVocabularies();
for (Vocabulary vc : vcs) {
MainIndex.didYouMent(cmds.getQuery(), f, 10, vc);
}
}
}

private static final String PLUGIN = "javadocOfflineSearch.xml";

private void printFirefox() throws IOException {
Expand Down
6 changes: 4 additions & 2 deletions src/javadocofflinesearch/formatters/AjaxHtmlFormatter.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,12 @@ public AjaxHtmlFormatter(PrintStream out, LibrarySetup setup) {
}

@Override
public void summary(String path, String queryString, int infoBefore, int infoAfter) {
public String summary(String path, String queryString, int infoBefore, int infoAfter) {
String s = "strange query to server";
out.println("<div>");
out.println("strange query to server");
out.println(s);
out.println("</div>");
return s;
}

}
15 changes: 13 additions & 2 deletions src/javadocofflinesearch/formatters/ColoredPlainTextFormatter.java
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ public void tail() {
}

@Override
public void summary(String path, String queryString, int infoBefore, int infoAfter) {
public String summary(String path, String queryString, int infoBefore, int infoAfter) {
String sumamry = "";
try {
sumamry = infoExtractor.extract(path, queryString, this, infoBefore, infoAfter);
Expand All @@ -159,6 +159,7 @@ public void summary(String path, String queryString, int infoBefore, int infoAft
}
out.println(sumamry);
out.println("\n");
return sumamry;
}

@Override
Expand All @@ -175,6 +176,16 @@ public void pages(int from, int to, int total) {

@Override
public void printLibrary(String library) {
out.println("Using library: "+colorToEscapedString(Color.GREEN, true) + library + reset(true));
out.println("Using library: " + colorToEscapedString(Color.GREEN, true) + library + reset(true));
}

@Override
public String highlitStart(Color c) {
return colorToEscapedString(c, false);
}

@Override
public String highlitEnd(Color c) {
return reset(false);
}
}
16 changes: 11 additions & 5 deletions src/javadocofflinesearch/formatters/Formatter.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
*/
package javadocofflinesearch.formatters;

import java.awt.Color;
import java.util.List;

/**
Expand All @@ -16,8 +17,9 @@ public interface Formatter {
public String highlitStart();

public String highlightEnd();

public void haders();

public void tail();

public void title(int i, int totalHits, String title);
Expand All @@ -30,14 +32,18 @@ public interface Formatter {

public void resulsSummary(String foundTitle, int totalHits, String timeTitle, long time, String units);

public void summary(String path, String queryString, int infoBefore, int infoAfter);
public String summary(String path, String queryString, int infoBefore, int infoAfter);

public void initializationFailed(String s);

public void resultsIn(String title, long l, String unit);

public void pages(int from, int to, int total);

void printLibrary(String library);


public String highlitStart(Color c);

public String highlitEnd(Color c);

}
18 changes: 15 additions & 3 deletions src/javadocofflinesearch/formatters/PlainTextFormatter.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
*/
package javadocofflinesearch.formatters;

import java.awt.Color;
import java.io.PrintStream;
import java.util.List;
import javadocofflinesearch.lucene.InfoExtractor;
Expand Down Expand Up @@ -85,7 +86,7 @@ public void resulsSummary(String foundTitle, int totalHits, String timeTitle, lo
}

@Override
public void summary(String path, String queryString, int infoBefore, int infoAfter) {
public String summary(String path, String queryString, int infoBefore, int infoAfter) {
String sumamry;
try {
sumamry = infoExtractor.extract(path, queryString, this, infoBefore, infoAfter);
Expand All @@ -96,6 +97,7 @@ public void summary(String path, String queryString, int infoBefore, int infoAft
}
out.println(sumamry);
out.println("\n");
return sumamry;
}

@Override
Expand All @@ -112,10 +114,20 @@ public void resultsIn(String title, long l, String unit) {
public void pages(int from, int to, int total) {

}

@Override
public void printLibrary(String library) {
out.println("Using library: "+ library);
out.println("Using library: " + library);
}

@Override
public String highlitStart(Color c) {
return "\n!!!\n";
}

@Override
public String highlitEnd(Color c) {
return "\n!!!\n";
}

}
29 changes: 25 additions & 4 deletions src/javadocofflinesearch/formatters/SearchableHtmlFormatter.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ public class SearchableHtmlFormatter extends StaticHtmlFormatter {
public static final String previewMaxShow = "previewMaxShow";
public static final String previewMaxLoad = "previewMaxLoad";
public static final String merge = Commandline.MERGE_COMAPRATORS;
public static final String higlight = Commandline.HIGHLIGHT;
public static final String query = Commandline.QUERY;
public static final String library = Commandline.LIBRARY;
public static final String noInfo = Commandline.NO_INFO;
Expand Down Expand Up @@ -57,7 +58,7 @@ public void file(final String url, int page, float score) {
if (url.startsWith("jar")) {
//appearently ! in middle is enugh :)
}
out.println("<big><b><a href='" + href + "'>" + url + "</a>: </b></big>" + page + "/" + score + "<br/>");
out.println("<big><b><a href='" + href + createCommand() + "'>" + url + "</a>: </b></big>" + page + "/" + score + "<br/>");
}

@Override
Expand Down Expand Up @@ -93,8 +94,8 @@ public void haders() {
out.println("<input type=\"radio\" name=\"" + searchType + "\" value=\"page-index\" " + getCheckedPage() + "> use page index (it learns!)");
out.println("<input type=\"radio\" name=\"" + searchType + "\" value=\"lucene-index\" " + getCheckedLucene() + "> use lucene index");
out.println("<input type=\"checkbox\" name=\"" + merge + "\" value=\"true\" " + getCheckedMerge() + ">" + getMergeText());
out.println("<a href=\"https://lucene.apache.org/core/2_9_4/queryparsersyntax.html\" >basic lucene query sintax</a> see indexes: file://path page/lucene. LIbrary:");
out.println("<select name='"+library+"'>");
out.println("<a href=\"https://lucene.apache.org/core/2_9_4/queryparsersyntax.html\" >basic lucene query sintax</a> see indexes: file://path page/lucene. Library:");
out.println("<select name='" + library + "'>");
Set<String> l = javadocofflinesearch.JavadocOfflineSearch.listLibraries();
for (String l1 : l) {
out.println("<option value='" + l1 + "' " + selected(l1) + " >" + l1 + "</option>");
Expand All @@ -118,6 +119,7 @@ public void haders() {
out.println(" <input type=\"text\" id='t7' name=\"" + records + "\" value=\"" + wasRecords() + "\"/> items per page<br/>");
out.println(" <input type=\"text\" id='t8' name=\"" + previewMaxShow + "\" value=\"" + wasMS() + "\"/> items to show in preview<br/>");
out.println(" <input type=\"text\" id='t9' name=\"" + previewMaxLoad + "\" value=\"" + wasML() + "\"/> items to load to show in preview<br/>");
out.println(" <input type=\"checkbox\" name=\"" + higlight + "\" value=\"true\" " + getCheckedHighlight() + "/> " + " Highlight. You must <b>rerun</b> the search(html only)" + "<br/>");
out.println("</span>");
out.println("</span>");
//without submitbutton, the enter key do not work when more then one input type 'text' is presented
Expand Down Expand Up @@ -275,6 +277,17 @@ private String getCheckedMerge() {
return "";
}

private String getCheckedHighlight() {
if (defaults != null) {
if (defaults.isHighlight()) {
return CHECKED;
} else {
return "";
}
}
return "";
}

private String getWasshowAlsoPdfInfoSeelcted() {
if (defaults != null) {
if (defaults.isNegatePdf()) {
Expand Down Expand Up @@ -313,5 +326,13 @@ private String selected(String l1) {
}
}

}
private String createCommand() {
if (defaults != null) {
if (defaults.isHighlight()) {
return "?" + higlight + "=true" + "&" + query + "=" + defaults.getQuery();
}
}
return "";
}

}
14 changes: 13 additions & 1 deletion src/javadocofflinesearch/formatters/StaticHtmlFormatter.java
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ public void resultsIn(String title, long l, String units) {
}

@Override
public void summary(String path, String queryString, int infoBefore, int infoAfter) {
public String summary(String path, String queryString, int infoBefore, int infoAfter) {
String sumamry;
out.println("<div>");
try {
Expand All @@ -136,6 +136,7 @@ public void summary(String path, String queryString, int infoBefore, int infoAft
out.print("</small>");
out.println("</div>");
out.println("<br/>");
return sumamry;
}

@Override
Expand All @@ -155,4 +156,15 @@ public void printLibrary(String library) {
out.println("Using library: " + "<b>" + library + "</b><br/>");
}

@Override
public String highlitStart(Color c) {
String hexColor = String.format("#%06X", (0xFFFFFF & c.getRGB()));
return "<span style='background-color: " + hexColor + ";'>";
}

@Override
public String highlitEnd(Color c) {
return "</span>";
}

}

0 comments on commit 791b981

Please sign in to comment.