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

michi at wyona.com michi at wyona.com
Tue May 6 23:21:14 CEST 2008


Author: michi
Date: 2008-05-06 23:21:14 +0200 (Tue, 06 May 2008)
New Revision: 36408

Modified:
   public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
Log:
state of view fixed

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-05-06 20:35:50 UTC (rev 36407)
+++ public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java	2008-05-06 21:21:14 UTC (rev 36408)
@@ -452,22 +452,31 @@
                             viewElement.appendChild(doc.createTextNode("No View Descriptors!"));
                         }
 
+
                         size = ((ViewableV2) res).getSize();
                         Element sizeElement = (Element) resourceElement.appendChild(doc.createElement("size"));
                         sizeElement.appendChild(doc.createTextNode(String.valueOf(size)));
+
+
+
                         try {
                             String revisionName = request.getParameter("yanel.resource.revision");
-                            if (ResourceAttributeHelper.hasAttributeImplemented(res, "Versionable", "2") && revisionName != null) {
+                            if (revisionName != null && ResourceAttributeHelper.hasAttributeImplemented(res, "Versionable", "2")) {
                                 view = ((VersionableV2) res).getView(viewId, revisionName);
                             } else if (ResourceAttributeHelper.hasAttributeImplemented(res, "Workflowable", "1") && environment.getStateOfView().equals(StateOfView.LIVE)) {
                                 WorkflowableV1 workflowable = (WorkflowableV1)res;
                                 if (workflowable.isLive()) {
                                     view = workflowable.getLiveView(viewId);
                                 } else {
-                                    String message = "This document has not been published yet: " + res.getPath();
+                                    String message = "The resource '" + res.getPath() + "' is WorkflowableV1, but has not been published yet. Instead a live version, the most recent version will be displayed!";
                                     log.warn(message);
+                                    view = ((ViewableV2) res).getView(viewId);
+
+                                    // TODO: Maybe sending a 404 instead the most recent version should be configurable!
+                                    /*
                                     do404(request, response, doc, message);
                                     return;
+                                    */
                                 }
                             } else {
                                 view = ((ViewableV2) res).getView(viewId);
@@ -852,17 +861,13 @@
         try {
             identity = getIdentity(request);
             Realm realm = map.getRealm(request.getServletPath());
-            // TODO: implement detection of state of view
             String stateOfView = StateOfView.AUTHORING;
-            //String area = map.getStateOfView(request.getServletPath());
-            //log.debug("url: " + request.getServletPath());
-            //log.debug("state of view: " + stateOfView);
-            /*String area = null;
             if (isToolbarEnabled(request)) {
-                area = "authoring";
+                stateOfView = StateOfView.AUTHORING;
             } else {
-                area = "live";
-            }*/
+                stateOfView = StateOfView.LIVE;
+            }
+            //log.debug("State of view: " + stateOfView);
             Environment environment = new Environment(request, response, identity, stateOfView, null);
             return environment;
         } catch (Exception e) {



More information about the Yanel-commits mailing list