Mercurial > hg > AnnotationManagerN4J
comparison src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorRestlet.java @ 94:fcb6fe10e08c
added config option for webapp URL prefix.
author | casties |
---|---|
date | Tue, 10 Feb 2015 17:45:56 +0100 |
parents | cf44d9e1a4a7 |
children | e953327d66bb |
comparison
equal
deleted
inserted
replaced
91:cf44d9e1a4a7 | 94:fcb6fe10e08c |
---|---|
27 | 27 |
28 import org.restlet.Restlet; | 28 import org.restlet.Restlet; |
29 import org.restlet.engine.application.CorsFilter; | 29 import org.restlet.engine.application.CorsFilter; |
30 import org.restlet.routing.Router; | 30 import org.restlet.routing.Router; |
31 | 31 |
32 import de.mpiwg.itgroup.annotations.restlet.utils.UrlPrefixFilter; | |
33 | |
32 /** | 34 /** |
33 * @author casties | 35 * @author casties |
34 * | 36 * |
35 */ | 37 */ |
36 public class AnnotatorRestlet extends BaseRestlet { | 38 public class AnnotatorRestlet extends BaseRestlet { |
43 * @see org.restlet.Application#createInboundRoot() | 45 * @see org.restlet.Application#createInboundRoot() |
44 */ | 46 */ |
45 @Override | 47 @Override |
46 public Restlet createInboundRoot() { | 48 public Restlet createInboundRoot() { |
47 | 49 |
50 Restlet root = null; | |
48 Router router = new Router(getContext()); | 51 Router router = new Router(getContext()); |
49 | 52 |
50 router.attach("/annotations", AnnotatorAnnotations.class); | 53 router.attach("/annotations", AnnotatorAnnotations.class); |
51 router.attach("/annotations/{id}", AnnotatorAnnotations.class); | 54 router.attach("/annotations/{id}", AnnotatorAnnotations.class); |
52 router.attach("/search", AnnotatorSearch.class); | 55 router.attach("/search", AnnotatorSearch.class); |
56 router.attach("/tags/{id}/annotations", AnnotatorAnnotationsByTags.class); | 59 router.attach("/tags/{id}/annotations", AnnotatorAnnotationsByTags.class); |
57 router.attach("/resources", AnnotatorResources.class); | 60 router.attach("/resources", AnnotatorResources.class); |
58 router.attach("/resources/{id}", AnnotatorResources.class); | 61 router.attach("/resources/{id}", AnnotatorResources.class); |
59 router.attach("/resources/{id}/annotations", AnnotatorAnnotationsByResources.class); | 62 router.attach("/resources/{id}/annotations", AnnotatorAnnotationsByResources.class); |
60 router.attach("/", AnnotatorInfo.class); | 63 router.attach("/", AnnotatorInfo.class); |
61 //return router; | 64 root = router; |
62 | 65 |
63 // this.authenticator = createAuthenticator(); | 66 // this.authenticator = createAuthenticator(); |
64 // authenticator.setNext(router); | 67 // authenticator.setNext(router); |
65 // return authenticator; | 68 |
69 if (this.webappUriPrefix != null) { | |
70 // add prefix path to url | |
71 UrlPrefixFilter prefixFilter = new UrlPrefixFilter(); | |
72 prefixFilter.setPrefix(this.webappUriPrefix);; | |
73 prefixFilter.setNext(root); | |
74 root = prefixFilter; | |
75 } | |
66 | 76 |
67 // handle Cross-Origin-Resource-Security headers | 77 // handle Cross-Origin-Resource-Security headers |
68 CorsFilter corsFilter = new CorsFilter(getContext(), router); | 78 CorsFilter corsFilter = new CorsFilter(getContext(), router); |
69 corsFilter.setAllowedOrigins(new HashSet<String>(Arrays.asList("*"))); | 79 corsFilter.setAllowedOrigins(new HashSet<String>(Arrays.asList("*"))); |
70 corsFilter.setAllowedCredentials(true); | 80 corsFilter.setAllowedCredentials(true); |
71 corsFilter.setNext(router); | 81 corsFilter.setNext(root); |
72 return corsFilter; | 82 root = corsFilter; |
83 | |
84 return root; | |
73 | 85 |
74 } | 86 } |
75 | 87 |
76 /* (non-Javadoc) | 88 /* (non-Javadoc) |
77 * @see de.mpiwg.itgroup.annotations.restlet.RestletImpl#getVersion() | 89 * @see de.mpiwg.itgroup.annotations.restlet.RestletImpl#getVersion() |