OrphanReaper now cleans up content as well.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/WCM-DEV2/root@3678 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Britt Park
2006-09-04 14:14:39 +00:00
parent c03b967e71
commit 8c2ad19b2f
2 changed files with 14 additions and 22 deletions

View File

@@ -22,8 +22,7 @@ import java.util.List;
import org.alfresco.repo.transaction.TransactionUtil;
import org.alfresco.service.transaction.TransactionService;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.log4j.Logger;
/**
* This is the background thread for reaping no longer referenced nodes
@@ -32,7 +31,7 @@ import org.apache.commons.logging.LogFactory;
*/
public class OrphanReaper implements Runnable
{
private Log fgLogger = LogFactory.getLog(OrphanReaper.class);
private Logger fgLogger = Logger.getLogger(OrphanReaper.class);
/**
* The Transaction Service
@@ -122,6 +121,10 @@ public class OrphanReaper implements Runnable
fBatchSize = size;
}
/**
* Set the transaction service.
* @param transactionService The service.
*/
public void setTransactionService(TransactionService transactionService)
{
fTransactionService = transactionService;
@@ -290,13 +293,17 @@ public class OrphanReaper implements Runnable
// More special work for layered directories.
AVMContext.fgInstance.fDeletedChildDAO.deleteByParent(node);
}
AVMContext.fgInstance.fAVMNodeDAO.delete(node);
}
// TODO Need to properly clean up deleted files.
else
else if (node.getType() == AVMNodeType.PLAIN_FILE)
{
AVMContext.fgInstance.fAVMNodeDAO.delete(node);
PlainFileNode file = (PlainFileNode)node;
String url = file.getContentData(null).getContentUrl();
if (url != null)
{
AVMContext.fgInstance.getContentStore().delete(url);
}
}
AVMContext.fgInstance.fAVMNodeDAO.delete(node);
}
return null;
}