comparison src/main/java/de/mpiwg/itgroup/annotations/restlet/annotations_ui/AnnotationsResource.java @ 50:64aa756c60cc

annotations ui can show and delete annotations now.
author casties
date Thu, 27 Sep 2012 17:12:08 +0200
parents
children 2b1e6df5e21a
comparison
equal deleted inserted replaced
49:f30f42080711 50:64aa756c60cc
1 /**
2 *
3 */
4 package de.mpiwg.itgroup.annotations.restlet.annotations_ui;
5
6 import java.util.List;
7
8 import org.apache.log4j.Logger;
9 import org.restlet.data.MediaType;
10 import org.restlet.data.Reference;
11 import org.restlet.representation.Representation;
12 import org.restlet.representation.StringRepresentation;
13 import org.restlet.resource.Get;
14 import org.restlet.resource.ResourceException;
15 import org.restlet.resource.ServerResource;
16
17 import de.mpiwg.itgroup.annotations.Annotation;
18 import de.mpiwg.itgroup.annotations.neo4j.AnnotationStore;
19 import de.mpiwg.itgroup.annotations.restlet.BaseRestlet;
20
21 /**
22 * Resource class for the list of annotations.
23 *
24 * @author casties
25 *
26 */
27 public class AnnotationsResource extends ServerResource {
28
29 public static Logger logger = Logger.getLogger(AnnotationsResource.class);
30
31 private AnnotationStore store;
32
33 @Override
34 protected void doInit() throws ResourceException {
35 super.doInit();
36 // get store instance
37 if (store == null) {
38 store = ((BaseRestlet) getApplication()).getAnnotationStore();
39 }
40 }
41
42 /**
43 * GET with HTML content type. Lists all annotations.
44 *
45 * @param entity
46 * @return
47 */
48 @Get("html")
49 public Representation doGetHTML(Representation entity) {
50 String result = null;
51 // list all annotations
52 result = "<html><body>\n<h1>Annotations</h1>\n<table>";
53 result += "<tr><th>uri</th><th>text</th><th>target</th><th>fragment</th><th>creator</th></tr>";
54 List<Annotation> annotations = store.getAnnotations("id", "*");
55 for (Annotation annotation : annotations) {
56 Reference url = this.getReference().clone();
57 url.addSegment(annotation.getUrlId());
58 result += String.format("<tr><td><a href=\"%s\">%s</a></td><td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>\n", url,
59 annotation.getUri(), annotation.getBodyText(), annotation.getTargetBaseUri(), annotation.getTargetFragment(),
60 annotation.getCreatorName());
61 }
62 result += "</table>\n";
63 result += "</body>\n</html>";
64 return new StringRepresentation(result, MediaType.TEXT_HTML);
65 }
66
67 }