18
|
1 package de.mpiwg.itgroup.annotations.restlet;
|
|
2
|
70
|
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
|
91
|
25 import java.util.Arrays;
|
|
26 import java.util.HashSet;
|
|
27
|
18
|
28 import org.restlet.Restlet;
|
91
|
29 import org.restlet.engine.application.CorsFilter;
|
18
|
30 import org.restlet.routing.Router;
|
|
31
|
|
32 /**
|
|
33 * @author casties
|
|
34 *
|
|
35 */
|
|
36 public class AnnotatorRestlet extends BaseRestlet {
|
|
37
|
91
|
38 public final String version = "AnnotationManagerN4J/Annotator 0.5.1";
|
18
|
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());
|
91
|
49
|
18
|
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);
|
28
|
54 router.attach("/tags", AnnotatorTags.class);
|
|
55 router.attach("/tags/{id}", AnnotatorTags.class);
|
|
56 router.attach("/tags/{id}/annotations", AnnotatorAnnotationsByTags.class);
|
44
|
57 router.attach("/resources", AnnotatorResources.class);
|
|
58 router.attach("/resources/{id}", AnnotatorResources.class);
|
|
59 router.attach("/resources/{id}/annotations", AnnotatorAnnotationsByResources.class);
|
18
|
60 router.attach("/", AnnotatorInfo.class);
|
91
|
61 //return router;
|
|
62
|
|
63 // this.authenticator = createAuthenticator();
|
18
|
64 // authenticator.setNext(router);
|
|
65 // return authenticator;
|
|
66
|
91
|
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
|
18
|
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 }
|