Update of 
/var/cvs/contributions/CMSContainer_Modules/publish-cleaner/src/java/com/finalist/cmsc/publish
In directory 
james.mmbase.org:/tmp/cvs-serv2466/publish-cleaner/src/java/com/finalist/cmsc/publish

Modified Files:
        CleanerModule.java 
Log Message:
CMSC-1087 changes the status box of a page to a dynamic tree in the Workflow 
section of the CMSc


See also: 
http://cvs.mmbase.org/viewcvs/contributions/CMSContainer_Modules/publish-cleaner/src/java/com/finalist/cmsc/publish
See also: http://www.mmbase.org/jira/browse/CMSC-1087


Index: CleanerModule.java
===================================================================
RCS file: 
/var/cvs/contributions/CMSContainer_Modules/publish-cleaner/src/java/com/finalist/cmsc/publish/CleanerModule.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- CleanerModule.java  23 Oct 2008 14:39:56 -0000      1.5
+++ CleanerModule.java  27 Dec 2008 11:39:03 -0000      1.6
@@ -14,6 +14,7 @@
 
 import com.finalist.cmsc.navigation.NavigationUtil;
 import com.finalist.cmsc.navigation.PagesUtil;
+import com.finalist.cmsc.repository.AssetElementUtil;
 import com.finalist.cmsc.repository.ContentElementUtil;
 
 /**
@@ -96,6 +97,7 @@
       try {
          Cloud cloud = CloudProviderFactory.getCloudProvider().getAdminCloud();
          cleanContentElements(cloud);
+         cleanAssetElements(cloud);
          cleanPages(cloud);
       }
       catch (Throwable t) {
@@ -138,6 +140,34 @@
    }
 
 
+   private void cleanAssetElements(Cloud cloud) {
+      NodeQuery elementsQuery = 
AssetElementUtil.getNodeManager(cloud).createQuery();
+      AssetElementUtil.addLifeCycleInverseConstraint(elementsQuery, 
System.currentTimeMillis());
+
+      elementsQuery.setCachePolicy(CachePolicy.NEVER);
+
+      NodeList queryNodes = 
AssetElementUtil.getNodeManager(cloud).getList(elementsQuery);
+      if (!queryNodes.isEmpty()) {
+         NodeIterator ni = queryNodes.nodeIterator();
+         while (ni.hasNext()) {
+            Node element = ni.nextNode();
+            log.info("Deleting expired node (" + 
element.getNodeManager().getName() + ") " + element.getNumber());
+            try {
+               PublishManager.unLinkNode(element);
+               element.delete(false);
+            }
+            catch (Exception e) {
+               // for some reason cleaning will fail because of invalid
+               // remotesnodes data
+               // just log the stacktrace and don't interrupt cleaning of other
+               // assetelements
+               log.error(Logging.stackTrace(e));
+            }
+         }
+      }
+   }
+
+
    private void cleanPages(Cloud cloud) {
       NodeQuery elementsQuery = PagesUtil.getNodeManager(cloud).createQuery();
       PagesUtil.addLifeCycleInverseConstraint(elementsQuery, 
System.currentTimeMillis());
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to