[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