diff 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
line wrap: on
line diff
--- a/src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorRestlet.java	Sun Feb 08 18:09:00 2015 +0100
+++ b/src/main/java/de/mpiwg/itgroup/annotations/restlet/AnnotatorRestlet.java	Tue Feb 10 17:45:56 2015 +0100
@@ -29,6 +29,8 @@
 import org.restlet.engine.application.CorsFilter;
 import org.restlet.routing.Router;
 
+import de.mpiwg.itgroup.annotations.restlet.utils.UrlPrefixFilter;
+
 /**
  * @author casties
  *
@@ -45,6 +47,7 @@
     @Override
     public Restlet createInboundRoot() {
 
+    	Restlet root = null;
         Router router = new Router(getContext());
         
         router.attach("/annotations", AnnotatorAnnotations.class);
@@ -58,18 +61,27 @@
         router.attach("/resources/{id}", AnnotatorResources.class);
         router.attach("/resources/{id}/annotations", AnnotatorAnnotationsByResources.class);
         router.attach("/", AnnotatorInfo.class);
-        //return router;
+        root = router;
 
         // this.authenticator = createAuthenticator();
         // authenticator.setNext(router);
-        // return authenticator;
+        
+        if (this.webappUriPrefix != null) {
+	        // add prefix path to url
+	        UrlPrefixFilter prefixFilter = new UrlPrefixFilter();
+	        prefixFilter.setPrefix(this.webappUriPrefix);;
+	        prefixFilter.setNext(root);
+	        root = prefixFilter;
+        }
 
         // handle Cross-Origin-Resource-Security headers
         CorsFilter corsFilter = new CorsFilter(getContext(), router);
         corsFilter.setAllowedOrigins(new HashSet<String>(Arrays.asList("*")));
         corsFilter.setAllowedCredentials(true);
-        corsFilter.setNext(router);
-        return corsFilter;
+        corsFilter.setNext(root);
+        root = corsFilter;
+
+        return root;
 
     }