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

michi at wyona.com michi at wyona.com
Thu Aug 13 08:41:09 CEST 2009


Author: michi
Date: 2009-08-13 08:41:08 +0200 (Thu, 13 Aug 2009)
New Revision: 44158

Modified:
   public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/menu/impl/DefaultMenu.java
Log:
revisions and workflow improved

Modified: public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/menu/impl/DefaultMenu.java
===================================================================
--- public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/menu/impl/DefaultMenu.java	2009-08-12 17:59:12 UTC (rev 44157)
+++ public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/menu/impl/DefaultMenu.java	2009-08-13 06:41:08 UTC (rev 44158)
@@ -75,15 +75,17 @@
         sb.append("<div id=\"yaneltoolbar_menutitle\">File</div>");
         sb.append("<ul>");
         sb.append("<li><a href=\"create-new-page.html\">Create new page</a></li>");
+
+
+
         if (ResourceAttributeHelper.hasAttributeImplemented(resource, "Workflowable", "1")) {
             Workflow wf = WorkflowHelper.getWorkflow(resource);
             if (wf != null) {
-                sb.append("<li class=\"haschild\">Revisions and Workflow&#160;&#160;&#160;<ul>");
                 if (ResourceAttributeHelper.hasAttributeImplemented(resource, "Versionable", "2")) {
                     RevisionInformation[] revisions = ((VersionableV2)resource).getRevisions();
                     if (revisions != null && revisions.length > 0) {
+                        sb.append("<li class=\"haschild\">Revisions and Workflow&#160;&#160;&#160;<ul>");
                         for (int i = revisions.length - 1; i >= 0; i--) {
-                            // TODO: Add revision date and workflow state and as children the transitions
                             String wfState = ((WorkflowableV1)resource).getWorkflowState(revisions[i].getName());
                             if (wfState == null) wfState = wf.getInitialState();
                             Transition[] transitions = wf.getLeavingTransitions(wfState);
@@ -99,27 +101,30 @@
                                 liveMarker = " (LIVE)";
                             }
                             sb.append("R: " + revisions[i].getName() + " ("+revisions[i].getDate()+"), WS: " + wfState + liveMarker + " (" + ((WorkflowableV1)resource).getWorkflowDate(revisions[i].getName()) + ")&#160;&#160;&#160;");
+
+                            // TODO: Also show revisions which are not active
                             if (transitions.length > 0) {
                                 sb.append("<ul>");
                                 for (int j = 0; j < transitions.length; j++) {
-                                    // TODO: &yanel.resource.workflow.transition.output=xhtml
-                                    sb.append("<li><a href=\"?yanel.resource.workflow.transition=" + transitions[j].getID() + "&amp;yanel.resource.revision=" + revisions[i].getName() + "\">Transition: " + transitions[j].getDescription("en") + "</a></li>");
+                                    sb.append("<li><a href=\"?yanel.resource.workflow.transition=" + transitions[j].getID() + "&amp;yanel.resource.revision=" + revisions[i].getName() + "&amp;yanel.resource.workflow.transition.output=xhtml\">Transition: " + transitions[j].getDescription("en") + "</a></li>");
                                 }
                                 sb.append("</ul>");
                             }
                             sb.append("</li>");
                         }
+                        sb.append("</ul></li>");
                     } else {
-                        log.warn("Has no revisions!");
+                        sb.append("<li>No revisions yet</li>");
                     }
                 } else {
                     log.warn("Does not implement interface VersionableV2!");
                 }
-                sb.append("</ul></li>");
             } else {
                 sb.append("<li>Workflowable, but no Workflow associated with resource yet!</li>");
             }
         }
+
+
         if (ResourceAttributeHelper.hasAttributeImplemented(resource, "Versionable", "2")) {
             RevisionInformation[] revisions = ((VersionableV2) resource).getRevisions();
             if (revisions !=  null && revisions.length > 0) {
@@ -134,10 +139,15 @@
                                                                resource.getRequestedLanguage())).toHTML(mostRecent, oldestRevision));
                 }
                 sb.append("</ul></li>");
+            } else {
+                sb.append("<li>No revisions yet</li>");
             }
         } else {
-            log.info("This resource does not implement interface VersionableV2!");
+            log.warn("This resource does not implement interface VersionableV2!");
         }
+
+
+
         if (ResourceAttributeHelper.hasAttributeImplemented(resource, "Modifiable", "2")) {
             sb.append("<li><a href=\"?yanel.resource.usecase=delete\">Delete this page</a></li>");
         }



More information about the Yanel-commits mailing list