source: AnnotationManagerN4J/src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotationStoreGroups.java @ 18:aafa3884b2c4

Last change on this file since 18:aafa3884b2c4 was 18:aafa3884b2c4, checked in by casties, 12 years ago

new AnnotationStore? restlet for HTML-UI.
reorganisation of classes.

File size: 2.0 KB
Line 
1/**
2 *
3 */
4package de.mpiwg.itgroup.annotations.restlet;
5
6import java.util.List;
7
8import javax.servlet.ServletContext;
9
10import org.apache.log4j.Logger;
11import org.restlet.data.Form;
12import org.restlet.data.MediaType;
13import org.restlet.representation.Representation;
14import org.restlet.representation.StringRepresentation;
15import org.restlet.resource.Get;
16import org.restlet.resource.ServerResource;
17
18import de.mpiwg.itgroup.annotations.Group;
19import de.mpiwg.itgroup.annotations.neo4j.AnnotationStore;
20
21/**
22 * @author casties
23 *
24 */
25public class AnnotationStoreGroups extends ServerResource {
26
27    public static Logger logger = Logger.getLogger(AnnotationStoreGroups.class);
28
29    private AnnotationStore store;
30
31    @Get("html")
32    public Representation doGetHTML(Representation entity){
33        Form form = getRequest().getResourceRef().getQueryAsForm();
34        // id from URI /annotations/groups/{id}
35        String id = (String) getRequest().getAttributes().get("id");
36        logger.debug("group-id=" + id);
37        String retString="<html><body>\n<h1>Groups</h1>\n<table>";
38        store = getAnnotationStore();
39        if (id == null) {
40            // list all groups
41            List<Group> groups = store.getGroups("*");
42            for (Group group : groups) {
43                retString += String.format("<tr><td>uri=%s</td></tr>\n", group.getUri());
44            }
45           
46        }
47        retString += "</table>\n</body>\n</html>";
48       
49        logger.debug("sending:");
50        logger.debug(retString);
51        return new StringRepresentation(retString,MediaType.TEXT_HTML);
52    }
53
54    protected AnnotationStore getAnnotationStore() {
55        if (store == null) {
56            ServletContext sc = (ServletContext) getContext().getServerDispatcher().getContext().getAttributes()
57                    .get("org.restlet.ext.servlet.ServletContext");
58            logger.debug("Getting AnnotationStore from Context");
59            store = (AnnotationStore) sc.getAttribute(BaseRestlet.ANNSTORE_KEY);
60        }
61        return store;
62    }
63}
Note: See TracBrowser for help on using the repository browser.