Skip to content

Commit

Permalink
Fix search and entity links for publication & source URIs (RPB-154)
Browse files Browse the repository at this point in the history
  • Loading branch information
fsteeg committed Apr 15, 2024
1 parent c0a027f commit 36b21f9
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions app/models/AuthorityResource.java
Original file line number Diff line number Diff line change
Expand Up @@ -455,17 +455,18 @@ private String process(String field, String value, String label, int i, int size
result = String.format("<a href='%s'>%s</a>", value, value);
} else if (Arrays.asList("dateOfBirth", "dateOfDeath").contains(field)) {
result = germanDate(value);
} else if (field.equals("source") && value.startsWith("http")) {
result = String.format("<a href='%s'>%s</a> %s", value.split(" ")[0], value.split(" ")[0],
value.replace(value.split(" ")[0] + " ", ""));
} else if (value.startsWith("http")) {
}
else if (value.startsWith("http")) {
List<String> facets = Arrays.asList(HomeController.AGGREGATIONS);
boolean labelBasedFacet = facets.contains(field + ".label");
boolean qBasedSearch = facets.stream().noneMatch(s -> s.startsWith(field));
boolean plainUriField = field.equals("source") || field.equals("publication");
String searchField = (field + (plainUriField ? "" : ".id")).replace("source",
"describedBy.source");
String search = controllers.routes.HomeController
.search(qBasedSearch ? field + ".id:\"" + value + "\"" : "", "", "", "", "", "",
.search(qBasedSearch ? searchField + ":\"" + value + "\"" : "", "", "", "", "", "",
labelBasedFacet ? field + ".label:\"" + label + "\""
: field + ".id:\"" + value + "\"", "", 0, 10, "html")
: searchField + ":\"" + value + "\"", "", 0, 10, "html")
.toString();
String searchLink = String.format(
"<a id='%s-%s' title='Weitere Einträge mit %s \"%s\" suchen' href='%s'>%s</a>", //
Expand All @@ -474,7 +475,7 @@ private String process(String field, String value, String label, int i, int size
"<a title='Linked-Data-Quelle zu \"%s\" anzeigen' href='%s'>"
+ "<i class='octicon octicon-link text-muted' aria-hidden='true'></i></a>",
label, value);
boolean linkableEntity = field.equals("relatedPerson")
boolean linkableEntity = field.equals("relatedPerson") || plainUriField
|| (field.startsWith("place") && value.contains("spatial"));
result = searchLink + "&nbsp;" + (linkableEntity ? entityLink : "");
} else if (field.endsWith("AsLiteral")) {
Expand Down

0 comments on commit 36b21f9

Please sign in to comment.