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() |
