[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()+"&amp;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() + "&amp;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