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");


Reply via email to