Update of 
/var/cvs/contributions/CMSContainer/cmsc/maintenance/src/java/com/finalist/cmsc/maintenance/beans
In directory 
james.mmbase.org:/tmp/cvs-serv26281/java/com/finalist/cmsc/maintenance/beans

Modified Files:
        CreateRelationsForSecondaryContent.java 
Log Message:
CMSC-1192 Assets: add SQL script to migrate all images/attachments/URLs to new 
assetstable


See also: 
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer/cmsc/maintenance/src/java/com/finalist/cmsc/maintenance/beans
See also: http://www.mmbase.org/jira/browse/CMSC-1192


Index: CreateRelationsForSecondaryContent.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer/cmsc/maintenance/src/java/com/finalist/cmsc/maintenance/beans/CreateRelationsForSecondaryContent.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- CreateRelationsForSecondaryContent.java     24 Dec 2008 08:53:48 -0000      
1.1
+++ CreateRelationsForSecondaryContent.java     24 Dec 2008 12:08:15 -0000      
1.2
@@ -7,9 +7,11 @@
 import org.mmbase.bridge.NodeQuery;
 
 import com.finalist.cmsc.mmbase.RelationUtil;
+import com.finalist.cmsc.navigation.ServerUtil;
 import com.finalist.cmsc.repository.RepositoryUtil;
 import com.finalist.cmsc.security.SecurityUtil;
 import com.finalist.cmsc.services.publish.Publish;
+import com.finalist.cmsc.services.workflow.Workflow;
 
 public class CreateRelationsForSecondaryContent {
 
@@ -22,18 +24,18 @@
    
    public String execute() throws Exception {
       createRelations(cloud);
+      if(ServerUtil.isStaging() && !ServerUtil.isSingle()) {
       createRelations(Publish.getRemoteCloud(cloud));
+      }
       return "success";
    }
    
    private void createRelations(Cloud localOrRemoteCloud)  throws Exception{
-      if (localOrRemoteCloud == null) {
-         throw new Exception("cloud is null");
-      } 
+
       NodeManager assetManager = 
localOrRemoteCloud.getNodeManager("assetelement");
-      NodeManager channelManager = 
localOrRemoteCloud.getNodeManager("assetelement");
       NodeManager ownerManager = localOrRemoteCloud.getNodeManager("user");
       NodeQuery query = assetManager.createQuery();
+
       Node root = null;
       if (parentNumber == null || parentNumber.intValue() < 1) {
          root = RepositoryUtil.getRootNode(cloud);
@@ -49,16 +51,31 @@
       
       for (int i = 0 ; i < assets.size() ; i++) {
          Node asset = assets.getNode(i);
-         int channels = asset.countRelatedNodes(channelManager, "creationrel", 
"destination");
-         if (channels < 1) {
+         if (!RepositoryUtil.hasCreationChannel(asset)) {
             RelationUtil.createRelation(asset, root, "creationrel");
          }
          int owners = asset.countRelatedNodes(ownerManager, "ownerrel", 
"destination");
          if (owners < 1) {
             RelationUtil.createRelation(asset, user, "ownerrel");
          }
+         addNodeToWorflow(asset);
+      }
+      
+   }
+
+   private void addNodeToWorflow(Node asset) {
+      if(ServerUtil.isStaging() && !ServerUtil.isSingle()) {
+         if (!Workflow.hasWorkflow(asset)) { 
+            Workflow.create(asset, ""); 
+         } 
+         else { 
+            Workflow.addUserToWorkflow(asset);
+            }
+      }
       }
       
+   public boolean isChannel() {
+      return RepositoryUtil.isChannel(String.valueOf(parentNumber));      
    }
    /**
     * @param args
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to