mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-07-24 17:32:48 +00:00
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:
@@ -316,18 +316,6 @@ public class AVMStoreImpl implements AVMStore, Serializable
|
|||||||
throw new AVMNotFoundException(path + " has no content.");
|
throw new AVMNotFoundException(path + " has no content.");
|
||||||
}
|
}
|
||||||
return reader.getContentInputStream();
|
return reader.getContentInputStream();
|
||||||
/*
|
|
||||||
Lookup lPath = lookup(version, path, false);
|
|
||||||
AVMNode node = lPath.getCurrentNode();
|
|
||||||
if (node.getType() != AVMNodeType.PLAIN_FILE &&
|
|
||||||
node.getType() != AVMNodeType.LAYERED_FILE)
|
|
||||||
{
|
|
||||||
throw new AVMExistsException("Not a file: " + path + " r " + version);
|
|
||||||
}
|
|
||||||
FileNode file = (FileNode)node;
|
|
||||||
FileContent content = file.getContentForRead();
|
|
||||||
return content.getInputStream();
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -352,9 +340,6 @@ public class AVMStoreImpl implements AVMStore, Serializable
|
|||||||
NodeRef nodeRef = AVMNodeConverter.ToNodeRef(-1, fName + ":" + path);
|
NodeRef nodeRef = AVMNodeConverter.ToNodeRef(-1, fName + ":" + path);
|
||||||
ContentWriter writer =
|
ContentWriter writer =
|
||||||
AVMContext.fgInstance.getContentService().getWriter(nodeRef, ContentModel.PROP_CONTENT, true);
|
AVMContext.fgInstance.getContentService().getWriter(nodeRef, ContentModel.PROP_CONTENT, true);
|
||||||
// TODO This can't perform very well. What this gets down to
|
|
||||||
// is that integration with ContentService is awkward.
|
|
||||||
// setContentData(path, writer.getContentData());
|
|
||||||
return writer;
|
return writer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -22,8 +22,7 @@ import java.util.List;
|
|||||||
|
|
||||||
import org.alfresco.repo.transaction.TransactionUtil;
|
import org.alfresco.repo.transaction.TransactionUtil;
|
||||||
import org.alfresco.service.transaction.TransactionService;
|
import org.alfresco.service.transaction.TransactionService;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.log4j.Logger;
|
||||||
import org.apache.commons.logging.LogFactory;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is the background thread for reaping no longer referenced nodes
|
* 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
|
public class OrphanReaper implements Runnable
|
||||||
{
|
{
|
||||||
private Log fgLogger = LogFactory.getLog(OrphanReaper.class);
|
private Logger fgLogger = Logger.getLogger(OrphanReaper.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Transaction Service
|
* The Transaction Service
|
||||||
@@ -122,6 +121,10 @@ public class OrphanReaper implements Runnable
|
|||||||
fBatchSize = size;
|
fBatchSize = size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the transaction service.
|
||||||
|
* @param transactionService The service.
|
||||||
|
*/
|
||||||
public void setTransactionService(TransactionService transactionService)
|
public void setTransactionService(TransactionService transactionService)
|
||||||
{
|
{
|
||||||
fTransactionService = transactionService;
|
fTransactionService = transactionService;
|
||||||
@@ -290,13 +293,17 @@ public class OrphanReaper implements Runnable
|
|||||||
// More special work for layered directories.
|
// More special work for layered directories.
|
||||||
AVMContext.fgInstance.fDeletedChildDAO.deleteByParent(node);
|
AVMContext.fgInstance.fDeletedChildDAO.deleteByParent(node);
|
||||||
}
|
}
|
||||||
AVMContext.fgInstance.fAVMNodeDAO.delete(node);
|
|
||||||
}
|
}
|
||||||
// TODO Need to properly clean up deleted files.
|
else if (node.getType() == AVMNodeType.PLAIN_FILE)
|
||||||
else
|
|
||||||
{
|
{
|
||||||
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;
|
return null;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user