[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   <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   <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()) + ")   ");
+
+ // 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() + "&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() + "&yanel.resource.revision=" + revisions[i].getName() + "&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