[Yanel-commits] rev 41170 - in
public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/menu:
. impl
michi at wyona.com
michi at wyona.com
Tue Jan 27 16:44:07 CET 2009
Author: michi
Date: 2009-01-27 16:44:06 +0100 (Tue, 27 Jan 2009)
New Revision: 41170
Modified:
public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/menu/RevisionInformationMenuContent.java
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/RevisionInformationMenuItem.java
Log:
more info add
Modified: public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/menu/RevisionInformationMenuContent.java
===================================================================
--- public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/menu/RevisionInformationMenuContent.java 2009-01-27 15:09:10 UTC (rev 41169)
+++ public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/menu/RevisionInformationMenuContent.java 2009-01-27 15:44:06 UTC (rev 41170)
@@ -7,12 +7,15 @@
import org.wyona.yanel.core.attributes.versionable.RevisionInformation;
/**
- * @author gary
- *
+ * Interface for revision menu
*/
public interface RevisionInformationMenuContent {
- public abstract String toHTML();
+ /**
+ * @param mostRecent Flag to indicate if this is about the most recent revision
+ * @param oldestRevision Flag to indicate if this is about the oldest revision
+ */
+ public abstract String toHTML(boolean mostRecent, boolean oldestRevision);
public abstract String getMenuLanguageCode();
@@ -20,4 +23,4 @@
public abstract RevisionInformation getRevisionInfo();
-}
\ No newline at end of file
+}
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-01-27 15:09:10 UTC (rev 41169)
+++ public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/menu/impl/DefaultMenu.java 2009-01-27 15:44:06 UTC (rev 41170)
@@ -117,9 +117,13 @@
if (revisions != null && revisions.length > 0) {
sb.append("<li class=\"haschild\">Revisions   <ul>");
for (int i = revisions.length -1; i >= 0; i--) {
+ boolean mostRecent = false;
+ boolean oldestRevision = false;
+ if (i == revisions.length - 1) mostRecent = true;
+ if (i == 0) oldestRevision = true;
sb.append((new RevisionInformationMenuItem(resource,
revisions[i],
- resource.getRequestedLanguage())).toHTML());
+ resource.getRequestedLanguage())).toHTML(mostRecent, oldestRevision));
}
sb.append("</ul></li>");
}
Modified: public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/menu/impl/RevisionInformationMenuItem.java
===================================================================
--- public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/menu/impl/RevisionInformationMenuItem.java 2009-01-27 15:09:10 UTC (rev 41169)
+++ public/yanel/trunk/src/webapp/src/java/org/wyona/yanel/servlet/menu/impl/RevisionInformationMenuItem.java 2009-01-27 15:44:06 UTC (rev 41170)
@@ -44,34 +44,39 @@
this.language = lang;
}
- private String getContent() {
- String value = "";
+ /**
+ * Generate revision menu
+ */
+ private String getContent(boolean mostRecent, boolean oldestRevision) {
+ String value = "<li class=\"haschild\">" + this.revision.getName();
try {
if (ResourceAttributeHelper.hasAttributeImplemented(resource, "Workflowable", "1") && WorkflowHelper.hasWorkflow(resource)) {
WorkflowableV1 workflowable = (WorkflowableV1) this.resource;
String state = workflowable.getWorkflowState(revision.getName());
- value = "<li class=\"haschild\">"
- + this.revision.getName()
- + " (" + formatDate(this.revision.getDate()) + ", " + state + ")"
- + "   ";
+
+ value += " (" + formatDate(this.revision.getDate()) + ", " + state + ")   <ul><li class=\"haschild\">Workflow";
- ITransitionMenuContent x =
- new TransitionMenuContentImpl(getResource(), state, getRevisionInfo().getName(), getMenuLanguageCode());
+ ITransitionMenuContent x = new TransitionMenuContentImpl(getResource(), state, getRevisionInfo().getName(), getMenuLanguageCode());
RevisionTransitionsMenuContent rt = new RevisionTransitions(getResource(), getRevisionInfo().getName(), getMenuLanguageCode(), x);
+
value += rt.toHTML();
value += "</li>";
} else {
- value = "<li>"
- + this.revision.getName()
- + " (" + formatDate(this.revision.getDate()) + ")"
- + "   ";
- value += "</li>";
+ value += " (" + formatDate(this.revision.getDate()) + ")   <ul>";
}
} catch (WorkflowException e) {
- value = "";
- log.error("Could not get workflow.", e);
+ log.error("Could not get workflow: " + e.getMessage(), e);
}
+ if (!mostRecent) value += "<li>Revert to (roll back)</li>";
+ value += "<li>Show more details</li>";
+ value += "<li><a href=\"?yanel.resource.revision=" + this.revision.getName() + "\">Display</a></li>";
+ value += "<li class=\"haschild\">Diff<ul>";
+ if (!mostRecent) value += "<li>Most recent</li><li>Next</li>";
+ if (!oldestRevision) value += "<li>Previous</li>";
+ value += "</ul></li>";
+ value += "</ul>";
+ value += "</li>";
return value;
}
@@ -79,8 +84,8 @@
/* (non-Javadoc)
* @see org.wyona.yanel.servlet.menu.impl.RevisionInformationMenuContent#toHTML()
*/
- public String toHTML() {
- return getContent();
+ public String toHTML(boolean mostRecent, boolean oldestRevision) {
+ return getContent(mostRecent, oldestRevision);
}
/* (non-Javadoc)
More information about the Yanel-commits
mailing list