[Yanel-commits] rev 21831 - public/yanel/trunk/src/core/java/org/wyona/yanel/servlet

michi at wyona.com michi at wyona.com
Wed Jan 17 10:36:52 CET 2007


Author: michi
Date: 2007-01-17 10:36:50 +0100 (Wed, 17 Jan 2007)
New Revision: 21831

Modified:
   public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/YanelServlet.java
Log:
add status code 404 in the case if no such node exception

Modified: public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/YanelServlet.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/YanelServlet.java	2007-01-17 09:29:31 UTC (rev 21830)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/servlet/YanelServlet.java	2007-01-17 09:36:50 UTC (rev 21831)
@@ -303,7 +303,20 @@
                         size = ((ViewableV2) res).getSize();
                         Element sizeElement = (Element) resourceElement.appendChild(doc.createElement("size"));
                         sizeElement.appendChild(doc.createTextNode(String.valueOf(size)));
-                        view = ((ViewableV2) res).getView(viewId);
+                        try {
+                            view = ((ViewableV2) res).getView(viewId);
+                        } catch(org.wyona.yarep.core.NoSuchNodeException e) {
+                            // TODO: Log all 404 within a dedicated file (with client info attached) such that an admin can react to it ...
+                            String message = "No such node exception: " + e;
+                            log.warn(e);
+                            //log.error(e.getMessage(), e);
+                            Element exceptionElement = (Element) rootElement.appendChild(doc.createElement("exception"));
+                            exceptionElement.appendChild(doc.createTextNode(message));
+                            exceptionElement.setAttribute("status", "404");
+                            response.setStatus(javax.servlet.http.HttpServletResponse.SC_NOT_FOUND);
+                            setYanelOutput(request, response, doc);
+                            return;
+                        }
                     } else {
                          Element noViewElement = (Element) resourceElement.appendChild(doc.createElement("not-viewable"));
                          noViewElement.appendChild(doc.createTextNode(res.getClass().getName() + " is not viewable!"));




More information about the Yanel-commits mailing list