diff options
author | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2012-10-11 15:44:04 +0000 |
---|---|---|
committer | rfeng <rfeng@13f79535-47bb-0310-9956-ffa450edef68> | 2012-10-11 15:44:04 +0000 |
commit | f592a6e21180e86ea5de9125b1fa6a7763377608 (patch) | |
tree | 51ec5f9c53e8563e9e3f2f97507ca767cbf9b187 /sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTServiceBindingProvider.java | |
parent | c782c4865737d0dff39156a516a488bef05e66a0 (diff) |
Fix an issue related to @Path on the jaxrs interface
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@1397118 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTServiceBindingProvider.java')
-rw-r--r-- | sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTServiceBindingProvider.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTServiceBindingProvider.java b/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTServiceBindingProvider.java index 2b3d0f7e41..7e8f473117 100644 --- a/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTServiceBindingProvider.java +++ b/sca-java-2.x/trunk/modules/binding-rest-runtime/src/main/java/org/apache/tuscany/sca/binding/rest/provider/RESTServiceBindingProvider.java @@ -28,6 +28,7 @@ import java.util.Set; import javax.servlet.Servlet; import javax.ws.rs.core.Application; import javax.ws.rs.core.MediaType; +import javax.ws.rs.Path; import javax.xml.namespace.QName; import org.apache.tuscany.sca.binding.rest.RESTBinding; @@ -354,6 +355,15 @@ public class RESTServiceBindingProvider implements EndpointProvider { if (path.startsWith(servletHost.getContextPath())) { path = path.substring(servletHost.getContextPath().length()); } + // Try to append the interface level @Path + Path p = interfaze.getAnnotation(Path.class); + String cp = p == null ? "" : p.value().trim(); + if(cp.startsWith("/")) { + cp = cp.substring(1); + } + if(!"".equals(cp)) { + path = path +"/" + cp; + } Class<?> cls = RootResourceClassGenerator.generateRootResourceClass(interfaze, path, |