Skip to content

Commit 1156500

Browse files
committed
add list of projects to the title of the search page
fixes #1365
1 parent 741c4ac commit 1156500

File tree

1 file changed

+22
-14
lines changed

1 file changed

+22
-14
lines changed

src/org/opensolaris/opengrok/web/PageConfig.java

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
*/
1919

2020
/*
21-
* Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
21+
* Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
2222
* Portions copyright (c) 2011 Jens Elkner.
2323
*/
2424
package org.opensolaris.opengrok.web;
@@ -45,6 +45,7 @@
4545
import java.util.logging.Level;
4646
import java.util.logging.Logger;
4747
import java.util.regex.Pattern;
48+
import java.util.stream.Collectors;
4849
import javax.servlet.ServletRequest;
4950
import javax.servlet.http.Cookie;
5051
import javax.servlet.http.HttpServletRequest;
@@ -1340,6 +1341,14 @@ public String getShortPath(String path) {
13401341
return file.getName();
13411342
}
13421343

1344+
private String addTitleDelimiter(String title) {
1345+
if (!title.isEmpty()) {
1346+
return title + ", ";
1347+
}
1348+
1349+
return title;
1350+
}
1351+
13431352
/**
13441353
* The search page title string should progressively reflect the search terms
13451354
* so that if only small portion of the string is seen, it describes
@@ -1353,31 +1362,30 @@ public String getSearchTitle() {
13531362
title += req.getParameter("q") + " (full)";
13541363
}
13551364
if (req.getParameter(QueryBuilder.DEFS) != null && !req.getParameter(QueryBuilder.DEFS).isEmpty()) {
1356-
if (!title.isEmpty()) {
1357-
title += ", ";
1358-
}
1365+
title = addTitleDelimiter(title);
13591366
title += req.getParameter(QueryBuilder.DEFS) + " (definition)";
13601367
}
13611368
if (req.getParameter(QueryBuilder.REFS) != null && !req.getParameter(QueryBuilder.REFS).isEmpty()) {
1362-
if (!title.isEmpty()) {
1363-
title += ", ";
1364-
}
1369+
title = addTitleDelimiter(title);
13651370
title += req.getParameter(QueryBuilder.REFS) + " (reference)";
13661371
}
13671372
if (req.getParameter(QueryBuilder.PATH) != null && !req.getParameter(QueryBuilder.PATH).isEmpty()) {
1368-
if (!title.isEmpty()) {
1369-
title += ", ";
1370-
}
1373+
title = addTitleDelimiter(title);
13711374
title += req.getParameter(QueryBuilder.PATH) + " (path)";
13721375
}
13731376
if (req.getParameter(QueryBuilder.HIST) != null && !req.getParameter(QueryBuilder.HIST).isEmpty()) {
1374-
if (!title.isEmpty()) {
1375-
title += ", ";
1376-
}
1377+
title = addTitleDelimiter(title);
13771378
title += req.getParameter(QueryBuilder.HIST) + " (history)";
13781379
}
13791380

1380-
// TODO: possibly add projects too
1381+
if (req.getParameterValues(QueryBuilder.PROJECT) != null && req.getParameterValues(QueryBuilder.PROJECT).length != 0) {
1382+
if (!title.isEmpty()) {
1383+
title += " ";
1384+
}
1385+
title += "in projects: ";
1386+
String projects[] = req.getParameterValues(QueryBuilder.PROJECT);
1387+
title += Arrays.asList(projects).stream().collect(Collectors.joining(","));
1388+
}
13811389

13821390
return Util.htmlize(title + " - OpenGrok search results");
13831391
}

0 commit comments

Comments
 (0)