18
18
*/
19
19
20
20
/*
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.
22
22
* Portions copyright (c) 2011 Jens Elkner.
23
23
*/
24
24
package org .opensolaris .opengrok .web ;
45
45
import java .util .logging .Level ;
46
46
import java .util .logging .Logger ;
47
47
import java .util .regex .Pattern ;
48
+ import java .util .stream .Collectors ;
48
49
import javax .servlet .ServletRequest ;
49
50
import javax .servlet .http .Cookie ;
50
51
import javax .servlet .http .HttpServletRequest ;
@@ -1340,6 +1341,14 @@ public String getShortPath(String path) {
1340
1341
return file .getName ();
1341
1342
}
1342
1343
1344
+ private String addTitleDelimiter (String title ) {
1345
+ if (!title .isEmpty ()) {
1346
+ return title + ", " ;
1347
+ }
1348
+
1349
+ return title ;
1350
+ }
1351
+
1343
1352
/**
1344
1353
* The search page title string should progressively reflect the search terms
1345
1354
* so that if only small portion of the string is seen, it describes
@@ -1353,31 +1362,30 @@ public String getSearchTitle() {
1353
1362
title += req .getParameter ("q" ) + " (full)" ;
1354
1363
}
1355
1364
if (req .getParameter (QueryBuilder .DEFS ) != null && !req .getParameter (QueryBuilder .DEFS ).isEmpty ()) {
1356
- if (!title .isEmpty ()) {
1357
- title += ", " ;
1358
- }
1365
+ title = addTitleDelimiter (title );
1359
1366
title += req .getParameter (QueryBuilder .DEFS ) + " (definition)" ;
1360
1367
}
1361
1368
if (req .getParameter (QueryBuilder .REFS ) != null && !req .getParameter (QueryBuilder .REFS ).isEmpty ()) {
1362
- if (!title .isEmpty ()) {
1363
- title += ", " ;
1364
- }
1369
+ title = addTitleDelimiter (title );
1365
1370
title += req .getParameter (QueryBuilder .REFS ) + " (reference)" ;
1366
1371
}
1367
1372
if (req .getParameter (QueryBuilder .PATH ) != null && !req .getParameter (QueryBuilder .PATH ).isEmpty ()) {
1368
- if (!title .isEmpty ()) {
1369
- title += ", " ;
1370
- }
1373
+ title = addTitleDelimiter (title );
1371
1374
title += req .getParameter (QueryBuilder .PATH ) + " (path)" ;
1372
1375
}
1373
1376
if (req .getParameter (QueryBuilder .HIST ) != null && !req .getParameter (QueryBuilder .HIST ).isEmpty ()) {
1374
- if (!title .isEmpty ()) {
1375
- title += ", " ;
1376
- }
1377
+ title = addTitleDelimiter (title );
1377
1378
title += req .getParameter (QueryBuilder .HIST ) + " (history)" ;
1378
1379
}
1379
1380
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
+ }
1381
1389
1382
1390
return Util .htmlize (title + " - OpenGrok search results" );
1383
1391
}
0 commit comments