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

Reply via email to