Author: mattmann
Date: Thu Aug 27 02:31:43 2015
New Revision: 1698045
URL: http://svn.apache.org/r1698045
Log:
Fix for OODT-303: Add support in the Grid Package to throw an HTTP Servlet
Response contributed by Michael Cayanan.
Modified:
oodt/trunk/CHANGES.txt
oodt/trunk/grid/src/main/java/org/apache/oodt/grid/ProductQueryServlet.java
Modified: oodt/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/oodt/trunk/CHANGES.txt?rev=1698045&r1=1698044&r2=1698045&view=diff
==============================================================================
--- oodt/trunk/CHANGES.txt (original)
+++ oodt/trunk/CHANGES.txt Thu Aug 27 02:31:43 2015
@@ -2,6 +2,8 @@ Apache OODT Change Log
======================
Release 0.10 - Current Development
+* OODT-303 Add support in the Grid Package to throw an HTTP Servlet Response
(Michael Cayanan via mattmann)
+
* OODT-480 Balance: default view not found (Nesbert Hidalgo via mattmann)
* OODT-598 XMLQuery DIS-style query parser needs to treat "#" as a word
character (kelly via mattmann)
Modified:
oodt/trunk/grid/src/main/java/org/apache/oodt/grid/ProductQueryServlet.java
URL:
http://svn.apache.org/viewvc/oodt/trunk/grid/src/main/java/org/apache/oodt/grid/ProductQueryServlet.java?rev=1698045&r1=1698044&r2=1698045&view=diff
==============================================================================
--- oodt/trunk/grid/src/main/java/org/apache/oodt/grid/ProductQueryServlet.java
(original)
+++ oodt/trunk/grid/src/main/java/org/apache/oodt/grid/ProductQueryServlet.java
Thu Aug 27 02:31:43 2015
@@ -24,6 +24,8 @@ import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+
+import org.apache.oodt.product.HttpRedirectException;
import org.apache.oodt.product.LargeProductQueryHandler;
import org.apache.oodt.product.ProductException;
import org.apache.oodt.product.QueryHandler;
@@ -37,7 +39,7 @@ import org.apache.oodt.xmlquery.XMLQuery
* Product query servlet handles product queries. It always returns the first
matching
* product, if any. If no handler can provide a product, it returns 404 Not
Found. If
* there are no query handlers, it returns 404 Not Found.
- *
+ *
*/
public class ProductQueryServlet extends QueryServlet {
/** {@inheritDoc} */
@@ -64,8 +66,13 @@ public class ProductQueryServlet extends
}
}
} catch (ProductException ex) {
-
res.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, ex.getMessage());
- return;
+ if (ex instanceof HttpRedirectException) {
+ HttpRedirectException hre = (HttpRedirectException) ex;
+ res.sendRedirect(hre.getLocation());
+ } else {
+ res.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR,
ex.getMessage());
+ }
+ return;
}
res.sendError(HttpServletResponse.SC_NOT_FOUND, "no matching
products from any query handler");