[Yanel-commits] rev 57338 - public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/comments

michi at wyona.com michi at wyona.com
Tue Mar 15 16:51:04 CET 2011


Author: michi
Date: 2011-03-15 16:51:03 +0100 (Tue, 15 Mar 2011)
New Revision: 57338

Modified:
   public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/comments/CommentManagerV1Impl.java
Log:
generic workflow for comments started

Modified: public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/comments/CommentManagerV1Impl.java
===================================================================
--- public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/comments/CommentManagerV1Impl.java	2011-03-15 15:38:20 UTC (rev 57337)
+++ public/yanel/trunk/src/impl/java/org/wyona/yanel/impl/comments/CommentManagerV1Impl.java	2011-03-15 15:51:03 UTC (rev 57338)
@@ -10,6 +10,7 @@
 import org.wyona.yanel.core.attributes.commentable.CommentV1;
 import org.wyona.yanel.core.attributes.commentable.CommentsV1;
 import org.wyona.yanel.core.map.Realm;
+import org.wyona.yanel.core.workflow.Workflow;
 
 import org.wyona.yarep.util.YarepXMLBindingUtil;
 
@@ -88,6 +89,14 @@
                 CommentsV1 comments = YarepXMLBindingUtil.readJAXBDataObject(CommentsV1.class, realm.getRepository(), getAbsoluteYarepPathOfComment(path));
                 comments.getComments().add(newComment);
                 YarepXMLBindingUtil.writeJAXBDataObject(realm.getRepository(), comments, getAbsoluteYarepPathOfComment(path));
+
+                Workflow workflow = getWorkflow();
+                if (workflow != null) {
+                    org.wyona.yarep.core.Node commentsNode = realm.getRepository().getNode(getAbsoluteYarepPathOfComment(path)); // TODO: Use comment node instead comments node
+                    org.wyona.yanel.core.workflow.WorkflowHelper.setWorkflowState(commentsNode, workflow.getInitialState());
+                    // TODO: Check if transition ID 'submit' exists!
+                    //WorkflowHelper.doTransition(newResource, "submit", revision.getRevisionName());
+                }
             }
         } else {
             log.error("Invalid path received: " + path);
@@ -102,4 +111,16 @@
     private String getAbsoluteYarepPathOfComment(String pathOfReferencedDoc) {
         return REPOSITORY_BASE_PATH + pathOfReferencedDoc;
     }
+
+    /**
+     * Get workflow
+     */
+    private Workflow getWorkflow() {
+        //return org.wyona.yanel.core.workflow.Workflow workflow = new org.wyona.yanel.core.workflow.WorkflowBuilder().buildWorkflow(workflowAsIS);
+        org.wyona.yanel.core.workflow.impl.WorkflowImpl workflow = new org.wyona.yanel.core.workflow.impl.WorkflowImpl();
+        String states[] = {"draft", "review", "approved"};
+        workflow.setStates(states);
+        workflow.setInitialState("draft");
+        return workflow;
+    }
 }



More information about the Yanel-commits mailing list