[Yanel-commits] rev 24551 - in public/yanel/trunk/src:
core/java/org/wyona/yanel/core/workflow
core/java/org/wyona/yanel/core/workflow/impl
realms/yanel-website/content/workflow
michi at wyona.com
michi at wyona.com
Wed May 16 17:16:42 CEST 2007
Author: michi
Date: 2007-05-16 17:16:40 +0200 (Wed, 16 May 2007)
New Revision: 24551
Modified:
public/yanel/trunk/src/core/java/org/wyona/yanel/core/workflow/Transition.java
public/yanel/trunk/src/core/java/org/wyona/yanel/core/workflow/WorkflowBuilder.java
public/yanel/trunk/src/core/java/org/wyona/yanel/core/workflow/WorkflowHelper.java
public/yanel/trunk/src/core/java/org/wyona/yanel/core/workflow/impl/TransitionImpl.java
public/yanel/trunk/src/realms/yanel-website/content/workflow/workflow-with-review.xml
Log:
descriptions added
Modified: public/yanel/trunk/src/core/java/org/wyona/yanel/core/workflow/Transition.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/core/workflow/Transition.java 2007-05-16 15:13:39 UTC (rev 24550)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/core/workflow/Transition.java 2007-05-16 15:16:40 UTC (rev 24551)
@@ -26,4 +26,8 @@
Condition[] getConditions();
Action[] getActions();
+
+ String[] getDescriptionLanguages();
+
+ String getDescription(String language);
}
\ No newline at end of file
Modified: public/yanel/trunk/src/core/java/org/wyona/yanel/core/workflow/WorkflowBuilder.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/core/workflow/WorkflowBuilder.java 2007-05-16 15:13:39 UTC (rev 24550)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/core/workflow/WorkflowBuilder.java 2007-05-16 15:16:40 UTC (rev 24551)
@@ -168,6 +168,14 @@
transition.setActions(actions);
+ NodeList descriptionElements = element.getElementsByTagNameNS(Workflow.NAMESPACE,
+ "description");
+ for (int i = 0; i < descriptionElements.getLength(); i++) {
+ Element desc = (Element)descriptionElements.item(i);
+ String language = desc.getAttribute("xml:lang");
+ String description = desc.getFirstChild().getNodeValue();
+ transition.addDescription(description, language);
+ }
return transition;
}
Modified: public/yanel/trunk/src/core/java/org/wyona/yanel/core/workflow/WorkflowHelper.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/core/workflow/WorkflowHelper.java 2007-05-16 15:13:39 UTC (rev 24550)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/core/workflow/WorkflowHelper.java 2007-05-16 15:16:40 UTC (rev 24551)
@@ -192,8 +192,12 @@
continue transitions; // jump to next transition
}
}
- sb.append("<transition id=\""+transitions[j].getID()+"\" to=\""+transitions[j].getDestinationState()+"\" url=\"?yanel.resource.workflow.transition="+transitions[j].getID()+"&yanel.resource.revision=" + revisions[i].getName() + "\" method=\"POST\">");
- sb.append("<description>"+transitions[j].getID()+"</description>");
+ sb.append("<transition id=\"" + transitions[j].getID() + "\" to=\"" + transitions[j].getDestinationState() + "\" url=\"?yanel.resource.workflow.transition=" + transitions[j].getID() + "&yanel.resource.revision=" + revisions[i].getName() + "\" method=\"POST\">");
+ String[] languages = transitions[j].getDescriptionLanguages();
+ for (int l = 0; l < languages.length; l++) {
+ String description = transitions[j].getDescription(languages[l]);
+ sb.append("<description xml:lang=\"" + languages[l] + "\">" + description + "</description>");
+ }
sb.append("</transition>");
}
sb.append("</transitions>");
Modified: public/yanel/trunk/src/core/java/org/wyona/yanel/core/workflow/impl/TransitionImpl.java
===================================================================
--- public/yanel/trunk/src/core/java/org/wyona/yanel/core/workflow/impl/TransitionImpl.java 2007-05-16 15:13:39 UTC (rev 24550)
+++ public/yanel/trunk/src/core/java/org/wyona/yanel/core/workflow/impl/TransitionImpl.java 2007-05-16 15:16:40 UTC (rev 24551)
@@ -15,6 +15,9 @@
*/
package org.wyona.yanel.core.workflow.impl;
+import java.util.HashMap;
+import java.util.Set;
+
import org.wyona.yanel.core.workflow.Action;
import org.wyona.yanel.core.workflow.Condition;
import org.wyona.yanel.core.workflow.Transition;
@@ -25,11 +28,13 @@
private String destinationState;
private Condition[] conditions;
private Action[] actions;
+ private HashMap descriptions;
public TransitionImpl(String id, String from, String to) {
this.id = id;
this.sourceState = from;
this.destinationState = to;
+ this.descriptions = new HashMap();
}
public String getID() {
@@ -71,4 +76,17 @@
public void setConditions(Condition[] conditions) {
this.conditions = conditions;
}
+
+ public String getDescription(String language) {
+ return (String)this.descriptions.get(language);
+ }
+
+ public String[] getDescriptionLanguages() {
+ Set languages = this.descriptions.keySet();
+ return (String[])languages.toArray(new String[languages.size()]);
+ }
+
+ public void addDescription(String description, String language) {
+ this.descriptions.put(language, description);
+ }
}
\ No newline at end of file
Modified: public/yanel/trunk/src/realms/yanel-website/content/workflow/workflow-with-review.xml
===================================================================
--- public/yanel/trunk/src/realms/yanel-website/content/workflow/workflow-with-review.xml 2007-05-16 15:13:39 UTC (rev 24550)
+++ public/yanel/trunk/src/realms/yanel-website/content/workflow/workflow-with-review.xml 2007-05-16 15:16:40 UTC (rev 24551)
@@ -10,22 +10,26 @@
<transitions>
<transition id="submit" from="draft" to="review">
<condition class="org.wyona.yanel.impl.workflow.RoleCondition">write</condition>
+ <description xml:lang="en">Submit</description>
</transition>
<transition id="reject" from="review" to="draft">
<condition class="org.wyona.yanel.impl.workflow.RoleCondition">review</condition>
+ <description xml:lang="en">Reject</description>
</transition>
<transition id="approve" from="review" to="approved">
<condition class="org.wyona.yanel.impl.workflow.RoleCondition">review</condition>
<action class="org.wyona.yanel.impl.workflow.SetRevisionAction">live-revision</action>
<action class="org.wyona.yanel.impl.workflow.PublishAction"/>
+ <description xml:lang="en">Approve</description>
</transition>
<transition id="publish" from="draft" to="approved">
<condition class="org.wyona.yanel.impl.workflow.RoleCondition">review</condition>
<action class="org.wyona.yanel.impl.workflow.SetRevisionAction">live-revision</action>
<action class="org.wyona.yanel.impl.workflow.PublishAction"/>
+ <description xml:lang="en">Publish</description>
</transition>
<transition id="republish" from="approved" to="approved">
@@ -33,6 +37,7 @@
<condition class="org.wyona.yanel.impl.workflow.RevisionNotEqualsCondition">live-revision</condition>
<action class="org.wyona.yanel.impl.workflow.SetRevisionAction">live-revision</action>
<action class="org.wyona.yanel.impl.workflow.PublishAction"/>
+ <description xml:lang="en">Re-Publish</description>
</transition>
<transition id="deactivate" from="approved" to="approved">
@@ -40,11 +45,13 @@
<condition class="org.wyona.yanel.impl.workflow.RevisionEqualsCondition">live-revision</condition>
<action class="org.wyona.yanel.impl.workflow.RemoveVariableAction">live-revision</action>
<action class="org.wyona.yanel.impl.workflow.DeactivateAction"/>
+ <description xml:lang="en">Deactivate</description>
</transition>
<transition id="cancel-approve" from="approved" to="draft">
<condition class="org.wyona.yanel.impl.workflow.RoleCondition">review</condition>
<condition class="org.wyona.yanel.impl.workflow.RevisionNotEqualsCondition">live-revision</condition>
+ <description xml:lang="en">Cancel Approve</description>
</transition>
</transitions>
More information about the Yanel-commits
mailing list