Update of
/var/cvs/contributions/CMSContainer_Modules/workflow/src/java/com/finalist/cmsc/workflow
In directory
james.mmbase.org:/tmp/cvs-serv26082/workflow/src/java/com/finalist/cmsc/workflow
Modified Files:
WorkflowManager.java
Log Message:
CMSC-1228 Assets: new content types that extends articles do not show up in the
Workflow window
See also:
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Modules/workflow/src/java/com/finalist/cmsc/workflow
See also: http://www.mmbase.org/jira/browse/CMSC-1228
Index: WorkflowManager.java
===================================================================
RCS file:
/var/cvs/contributions/CMSContainer_Modules/workflow/src/java/com/finalist/cmsc/workflow/WorkflowManager.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- WorkflowManager.java 18 Nov 2008 01:44:57 -0000 1.19
+++ WorkflowManager.java 10 Jan 2009 12:57:17 -0000 1.20
@@ -1,6 +1,7 @@
package com.finalist.cmsc.workflow;
import java.util.ArrayList;
+import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
@@ -13,6 +14,7 @@
import org.mmbase.bridge.NodeList;
import org.mmbase.bridge.NodeManager;
import org.mmbase.bridge.NodeQuery;
+import org.mmbase.bridge.NotFoundException;
import org.mmbase.bridge.Query;
import org.mmbase.bridge.RelationManager;
import org.mmbase.module.core.MMBase;
@@ -373,6 +375,9 @@
NodeManager workflow = getManager();
Node wfItem = workflow.createNode();
wfItem.setStringValue(TYPE_FIELD, type);
+ if(nodetype!=null && isExtendedNodetype(nodetype)){
+ nodetype=getParentNodetype(cloud, nodetype);
+ }
wfItem.setStringValue(NODETYPE_FIELD, nodetype);
changeWorkflow(wfItem, status, remark);
@@ -692,5 +697,28 @@
return clone;
}
+ private String getParentNodetype(Cloud cloud, String nodetypeStr) {
+ try {
+ NodeManager parentManager =
cloud.getNodeManager(nodetypeStr).getParent();
+ while(isExtendedNodetype(parentManager.getName())){
+ parentManager = parentManager.getParent();
+ }
+ return parentManager.getName();
+ } catch (NotFoundException nfe) {
+ // Ran out of NodeManager parents
+ }
+ return null;
+ }
+
+ private boolean isExtendedNodetype(String nodetypeStr) {
+ List<String> parentNodetypes=new ArrayList<String>();
+ Collections.addAll(parentNodetypes, "article", "banners", "link",
"faqitem", "images", "attachments", "urls");
+ if(parentNodetypes.contains(nodetypeStr)){
+ return false;
+ }else {
+ return true;
+ }
+ }
+
}
\ No newline at end of file
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs