source: AnnotationManagerN4J/src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorRestlet.java @ 91:cf44d9e1a4a7

Last change on this file since 91:cf44d9e1a4a7 was 91:cf44d9e1a4a7, checked in by casties, 9 years ago

let CORS be handled by Restlet 2.3 CorsFilter?.

File size: 2.7 KB
Line 
1package de.mpiwg.itgroup.annotations.restlet;
2
3/*
4 * #%L
5 * AnnotationManager
6 * %%
7 * Copyright (C) 2012 - 2014 MPIWG Berlin
8 * %%
9 * This program is free software: you can redistribute it and/or modify
10 * it under the terms of the GNU Lesser General Public License as
11 * published by the Free Software Foundation, either version 3 of the
12 * License, or (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 * GNU General Lesser Public License for more details.
18 *
19 * You should have received a copy of the GNU General Lesser Public
20 * License along with this program.  If not, see
21 * <http://www.gnu.org/licenses/lgpl-3.0.html>.
22 * #L%
23 */
24
25import java.util.Arrays;
26import java.util.HashSet;
27
28import org.restlet.Restlet;
29import org.restlet.engine.application.CorsFilter;
30import org.restlet.routing.Router;
31
32/**
33 * @author casties
34 *
35 */
36public class AnnotatorRestlet extends BaseRestlet {
37
38    public final String version = "AnnotationManagerN4J/Annotator 0.5.1";
39
40    /*
41     * (non-Javadoc)
42     *
43     * @see org.restlet.Application#createInboundRoot()
44     */
45    @Override
46    public Restlet createInboundRoot() {
47
48        Router router = new Router(getContext());
49       
50        router.attach("/annotations", AnnotatorAnnotations.class);
51        router.attach("/annotations/{id}", AnnotatorAnnotations.class);
52        router.attach("/search", AnnotatorSearch.class);
53        router.attach("/groups", AnnotatorGroups.class);
54        router.attach("/tags", AnnotatorTags.class);
55        router.attach("/tags/{id}", AnnotatorTags.class);
56        router.attach("/tags/{id}/annotations", AnnotatorAnnotationsByTags.class);
57        router.attach("/resources", AnnotatorResources.class);
58        router.attach("/resources/{id}", AnnotatorResources.class);
59        router.attach("/resources/{id}/annotations", AnnotatorAnnotationsByResources.class);
60        router.attach("/", AnnotatorInfo.class);
61        //return router;
62
63        // this.authenticator = createAuthenticator();
64        // authenticator.setNext(router);
65        // return authenticator;
66
67        // handle Cross-Origin-Resource-Security headers
68        CorsFilter corsFilter = new CorsFilter(getContext(), router);
69        corsFilter.setAllowedOrigins(new HashSet<String>(Arrays.asList("*")));
70        corsFilter.setAllowedCredentials(true);
71        corsFilter.setNext(router);
72        return corsFilter;
73
74    }
75
76    /* (non-Javadoc)
77     * @see de.mpiwg.itgroup.annotations.restlet.RestletImpl#getVersion()
78     */
79    @Override
80    public String getVersion() {
81        return version;
82    }
83
84}
Note: See TracBrowser for help on using the repository browser.