[Yanel-commits] rev 32178 - public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet

michi at wyona.com michi at wyona.com
Tue Feb 19 09:46:14 CET 2008


Author: michi
Date: 2008-02-19 09:46:13 +0100 (Tue, 19 Feb 2008)
New Revision: 32178

Modified:
   public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
Log:
handleDeleteUsecase added

Modified: public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
===================================================================
--- public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java	2008-02-19 08:27:59 UTC (rev 32177)
+++ public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java	2008-02-19 08:46:13 UTC (rev 32178)
@@ -198,12 +198,10 @@
             return;
         }
         
+        String value = request.getParameter("yanel.resource.usecase");
         // Delete node
-        String value = request.getParameter("yanel.resource.usecase");
         if (value != null && value.equals("delete")) {
-            log.warn("DEBUG: delete " + path);
-            doDelete(request, response);
-            // TODO: Implement a response
+            handleDeleteUsecase(request, response);
             return;
         }
 
@@ -2247,4 +2245,29 @@
         }
         return false;
     }
+
+    /**
+     * Handle delete usecase
+     */
+    private void handleDeleteUsecase(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+        String confirmed = request.getParameter("confirmed");
+        if (confirmed != null) {
+            String path = getResource(request, response).getPath();
+            log.warn("Really delete " + path);
+            doDelete(request, response);
+            response.setStatus(javax.servlet.http.HttpServletResponse.SC_OK);
+            String backToRealm = org.wyona.yanel.core.util.PathUtil.backToRealm(path);
+            StringBuffer sb = new StringBuffer("<html><body>Page has been deleted! <a href=\"\">Check</a> or return to <a href=\"" + backToRealm + "\">Homepage</a>.</body></html>");
+            PrintWriter w = response.getWriter();
+            w.print(sb);
+            return;
+        } else {
+            log.warn("Delete has not been confirmed by client yet!");
+            response.setStatus(javax.servlet.http.HttpServletResponse.SC_OK);
+            StringBuffer sb = new StringBuffer("<html><body>Do you really want to delete this page? <a href=\"?yanel.resource.usecase=delete&confirmed\">YES</a>, <a href=\"\">no</a></body></html>");
+            PrintWriter w = response.getWriter();
+            w.print(sb);
+            return;
+        }
+    }
 }



More information about the Yanel-commits mailing list