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