Skip to content
Snippets Groups Projects
Commit b45317e6 authored by Andreas Schärtl's avatar Andreas Schärtl
Browse files

app: add explore links for use references

parent 895107c3
No related branches found
No related tags found
No related merge requests found
package info.mathhub.uloapi.html;
import org.eclipse.rdf4j.model.IRI;
import java.util.List;
import java.util.stream.Collectors;
/**
* Wrapper around {@link IRI} that provides additional
* methods for use in Freemarker templates.
*/
public class PrintableIRI implements IRI {
private final IRI original;
public PrintableIRI(IRI original) {
this.original = original;
}
/**
* Convert a list of {@link IRI} to {@link PrintableIRI}.
*/
public static List<PrintableIRI> convert(List<IRI> originals) {
return originals.stream().map(PrintableIRI::new).collect(Collectors.toList());
}
@Override
public String toString() {
return this.original.toString();
}
@Override
public String getNamespace() {
return this.original.getNamespace();
}
@Override
public String getLocalName() {
return this.original.getLocalName();
}
@Override
public String stringValue() {
return this.original.stringValue();
}
@Override
public boolean equals(Object o) {
return this.original.equals(o);
}
@Override
public int hashCode() {
return this.original.hashCode();
}
public String toBase64() {
return Base64.encode(this.toString());
}
}
......@@ -67,7 +67,7 @@ public class Routes {
final Query query = Query.getSingleton();
final String contributor = request.params("contributor");
final List<IRI> contributions = query.getContributions(contributor);
final List<PrintableIRI> contributions = PrintableIRI.convert(query.getContributions(contributor));
final Map<String, Object> model = new HashMap<>();
model.put("contributor", contributor);
......@@ -82,7 +82,7 @@ public class Routes {
final String base64uri = request.params("base64uri");
final String uri = Base64.decode(base64uri);
final List<IRI> uses = query.getUses(uri);
final List<PrintableIRI> uses = PrintableIRI.convert(query.getUses(uri));
final Map<String, Object> model = new HashMap<>();
model.put("uri", uri);
......
......@@ -16,7 +16,9 @@
<ul>
<#list contributions as contribution>
<li>
<code>${contribution}</code>
<a href="/explore/node/${contribution.toBase64()?url}">
<code>${contribution}</code>
</a>
</li>
</#list>
</ul>
......
......@@ -24,7 +24,9 @@
<ul>
<#list uses as use>
<li>
<code>${use}</code>
<a href="/explore/node/${use.toBase64()?url}">
<code>${use}</code>
</a>
</li>
</#list>
</ul>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment