You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by lr...@apache.org on 2008/04/06 17:47:37 UTC
svn commit: r645253 -
/incubator/tuscany/branches/sca-java-1.2/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingListenerServlet.java
Author: lresende
Date: Sun Apr 6 08:47:35 2008
New Revision: 645253
URL: http://svn.apache.org/viewvc?rev=645253&view=rev
Log:
TUSCANY-2202 - properly handling path when running in a web container environment
Modified:
incubator/tuscany/branches/sca-java-1.2/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingListenerServlet.java
Modified: incubator/tuscany/branches/sca-java-1.2/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingListenerServlet.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingListenerServlet.java?rev=645253&r1=645252&r2=645253&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.2/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingListenerServlet.java (original)
+++ incubator/tuscany/branches/sca-java-1.2/modules/binding-atom-abdera/src/main/java/org/apache/tuscany/sca/binding/atom/provider/AtomBindingListenerServlet.java Sun Apr 6 08:47:35 2008
@@ -147,7 +147,7 @@
// No authentication required for a get request
// Get the request path
- String path = URLDecoder.decode(request.getRequestURI().substring(request.getServletPath().length()), "UTF-8");
+ String path = URLDecoder.decode(getPath(request), "UTF-8");
logger.info(">>> FeedEndPointServlet " + request.getRequestURI());
@@ -320,7 +320,7 @@
}
// Get the request path
- String path = URLDecoder.decode(request.getRequestURI().substring(request.getServletPath().length()), "UTF-8");
+ String path = URLDecoder.decode(getPath(request), "UTF-8");
if (path == null || path.length() == 0 || path.equals("/")) {
org.apache.abdera.model.Entry createdFeedEntry = null;
@@ -426,7 +426,7 @@
}
// Get the request path
- String path = request.getRequestURI().substring(request.getServletPath().length());
+ String path = URLDecoder.decode(getPath(request), "UTF-8");
if (path != null && path.startsWith("/")) {
String id = path.substring(1);
@@ -512,7 +512,7 @@
}
// Get the request path
- String path = URLDecoder.decode(request.getRequestURI().substring(request.getServletPath().length()), "UTF-8");
+ String path = URLDecoder.decode(getPath(request), "UTF-8");
String id;
if (path != null && path.startsWith("/")) {
@@ -533,6 +533,31 @@
throw new ServletException((Throwable)responseMessage.getBody());
}
}
+ }
+
+ /**
+ * Retrieve the path considering embedded container and/or webapp container
+ * @param request
+ * @return
+ */
+ private String getPath(HttpServletRequest request) {
+ String path = null;
+
+ String requestURI = request.getRequestURI();
+ if(! requestURI.endsWith("/")) {
+ requestURI += "/";
+ }
+
+ if(request.getContextPath() == null || request.getContextPath().length() == 0) {
+ //embedded container
+ path = request.getRequestURI().substring(request.getServletPath().length());
+ } else {
+ //web-container case...
+ path = request.getRequestURI().substring(request.getContextPath().length() + request.getServletPath().length());
+ }
+
+ return path;
+
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org