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