Author: lresende
Date: Tue Sep 10 16:50:53 2013
New Revision: 1521548

URL: http://svn.apache.org/r1521548
Log:
Provide binder context to allow Wink to properly construct relative URIs with 
UriBuilder

Modified:
    
tuscany/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/TuscanyRESTServlet.java

Modified: 
tuscany/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/TuscanyRESTServlet.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/TuscanyRESTServlet.java?rev=1521548&r1=1521547&r2=1521548&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/TuscanyRESTServlet.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/TuscanyRESTServlet.java
 Tue Sep 10 16:50:53 2013
@@ -30,6 +30,8 @@ import java.util.Properties;
 import java.util.Set;
 import java.util.logging.Level;
 import java.util.logging.Logger;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 import javax.servlet.FilterConfig;
 import javax.servlet.ServletContext;
@@ -175,6 +177,12 @@ public class TuscanyRESTServlet extends 
                 return TuscanyRESTServlet.this.getServletName();
             }
         });
+        
+        Properties properties = new Properties();
+        properties.put("wink.context.uri", getBindingContext());
+        //properties.put("wink.http.uri", binding.getURI());
+
+        config.setProperties(properties);
 
         ProvidersRegistry providers = config.getProvidersRegistry();
         providers.addProvider(new DataBindingJAXRSReader(registry), 0.2, true);
@@ -213,6 +221,16 @@ public class TuscanyRESTServlet extends 
         }
         
     }
+    
+    private String getBindingContext() {
+        Pattern pattern = Pattern.compile("^[^#]*?://.*?(/.*)$");
+        Matcher matcher = pattern.matcher(binding.getURI());
+        if(matcher.find()) {
+            String bindingContext = matcher.group(1);
+            return bindingContext;
+        }
+        return null;
+    }
 
     /**
      * TuscanyResponseHandler


Reply via email to