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

michi at wyona.com michi at wyona.com
Mon Nov 30 14:05:54 CET 2009


Author: michi
Date: 2009-11-30 14:05:53 +0100 (Mon, 30 Nov 2009)
New Revision: 45748

Modified:
   public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
Log:
exception handling improved and comment added how workflow transition authorization is handled at the moment

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	2009-11-30 09:47:04 UTC (rev 45747)
+++ public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java	2009-11-30 13:05:53 UTC (rev 45748)
@@ -728,8 +728,13 @@
                 w.print(sb);
 
             } catch (WorkflowException e) {
-                // TODO: Implement response if transition has failed ...
-                throw new ServletException(e.getMessage(), e);
+                log.error(e, e);
+                response.setContentType("application/xml; charset=" + DEFAULT_ENCODING);
+                response.setStatus(javax.servlet.http.HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+                PrintWriter w = response.getWriter();
+                // TODO: XMLExceptionV1 is part of Neutron and hence not really appropriate for this kind of exception
+                w.print(XMLExceptionV1.getDefaultException(XMLExceptionV1.AUTHORIZATION, e.getMessage()));
+                return;
             }
         } else {
             log.warn("Resource not workflowable: " + resource.getPath());
@@ -1971,9 +1976,11 @@
 
         String workflowTransitionValue = request.getParameter(YANEL_RESOURCE_WORKFLOW_TRANSITION);
         if (workflowTransitionValue != null) {
-            // TODO: How shall we protect workflow transitions?!
+            // TODO: At the moment the authorization of workflow transitions are checked within executeWorkflowTransition or rather workflowable.doTransition(transition, revision)
             log.warn("Workflow transition is currently handled as view usecase: " + workflowTransitionValue);
             usecase = new Usecase("view");
+            // TODO: Return workflow transition ID
+            //usecase = new Usecase(transitionID);
         }
 
         String toolbarValue = request.getParameter("yanel.toolbar");



More information about the Yanel-commits mailing list