Fix ALF-10571: Error executing transfer - Lock time out

- FTR now correctly reports its version.
ALF-10684: FTR: Insufficient hooks provided to allow developers to listen to inbound transfers
   - Initial work on this. More to do.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@31238 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Brian Remmington
2011-10-14 14:40:13 +00:00
parent 7a134c42bc
commit bf7bc0b732
10 changed files with 46 additions and 55 deletions

View File

@@ -30,7 +30,6 @@ import org.alfresco.repo.transfer.manifest.TransferManifestNormalNode;
import org.alfresco.repo.transfer.manifest.TransferManifestProcessor;
import org.alfresco.service.cmr.repository.ChildAssociationRef;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.Path;
import org.alfresco.service.cmr.transfer.TransferException;
import org.alfresco.service.cmr.transfer.TransferProgress;
import org.alfresco.service.cmr.transfer.TransferReceiver;
@@ -208,19 +207,19 @@ public abstract class AbstractManifestProcessorBase implements TransferManifestP
{
receiver.getProgressMonitor().logComment(transferId, message);
}
protected void logCreated(NodeRef sourceNode, NodeRef destNode, NodeRef newParentNode, Path parentPath, boolean orphan)
protected void logCreated(NodeRef sourceNode, NodeRef destNode, NodeRef newParentNode, String parentPath, boolean orphan)
{
receiver.getProgressMonitor().logCreated(transferId, sourceNode, destNode, newParentNode, parentPath, orphan);
}
protected void logDeleted(NodeRef sourceNode, NodeRef destNode, Path parentPath)
protected void logDeleted(NodeRef sourceNode, NodeRef destNode, String parentPath)
{
receiver.getProgressMonitor().logDeleted(transferId, sourceNode, destNode, parentPath);
}
protected void logUpdated(NodeRef sourceNode, NodeRef destNode, Path newPath)
protected void logUpdated(NodeRef sourceNode, NodeRef destNode, String newPath)
{
receiver.getProgressMonitor().logUpdated(transferId, sourceNode, destNode, newPath);
}
protected void logMoved(NodeRef sourceNode, NodeRef destNode, Path oldPath, NodeRef newParent, Path newPath)
protected void logMoved(NodeRef sourceNode, NodeRef destNode, String oldPath, NodeRef newParent, String newPath)
{
receiver.getProgressMonitor().logMoved(transferId, sourceNode, destNode, oldPath, newParent, newPath);
}

View File

@@ -26,7 +26,6 @@ import java.util.TreeMap;
import org.alfresco.repo.transaction.RetryingTransactionHelper;
import org.alfresco.repo.transfer.reportd.XMLTransferDestinationReportWriter;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.Path;
import org.alfresco.service.cmr.transfer.TransferException;
import org.alfresco.service.cmr.transfer.TransferProgress;
import org.alfresco.service.cmr.transfer.TransferProgress.Status;
@@ -173,7 +172,7 @@ public abstract class AbstractTransferProgressMonitor implements TransferProgres
NodeRef sourceNode,
NodeRef destNode,
NodeRef parentNodeRef,
Path parentPath,
String parentPath,
boolean orphan)
{
TransferDestinationReportWriter writer = getLogWriter(transferId);
@@ -182,7 +181,7 @@ public abstract class AbstractTransferProgressMonitor implements TransferProgres
@Override
public void logUpdated(String transferId, NodeRef sourceNodeRef,
NodeRef destNodeRef, Path path)
NodeRef destNodeRef, String path)
{
TransferDestinationReportWriter writer = getLogWriter(transferId);
writer.writeUpdated(sourceNodeRef, destNodeRef, path);
@@ -190,7 +189,7 @@ public abstract class AbstractTransferProgressMonitor implements TransferProgres
@Override
public void logMoved(String transferId, NodeRef sourceNodeRef,
NodeRef destNodeRef, Path oldPath, NodeRef newParentNodeRef, Path newPath)
NodeRef destNodeRef, String oldPath, NodeRef newParentNodeRef, String newPath)
{
TransferDestinationReportWriter writer = getLogWriter(transferId);
writer.writeMoved(sourceNodeRef, destNodeRef, oldPath, newParentNodeRef, newPath);
@@ -200,7 +199,7 @@ public abstract class AbstractTransferProgressMonitor implements TransferProgres
public void logDeleted(String transferId,
NodeRef sourceNodeRef,
NodeRef destNodeRef,
Path oldPath)
String oldPath)
{
TransferDestinationReportWriter writer = getLogWriter(transferId);
writer.writeDeleted(sourceNodeRef, destNodeRef, oldPath);

View File

@@ -24,7 +24,6 @@ import java.util.List;
import java.util.TreeMap;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.Path;
import org.alfresco.service.cmr.transfer.TransferException;
import org.alfresco.service.cmr.transfer.TransferProgress;
import org.alfresco.service.cmr.transfer.TransferProgress.Status;
@@ -106,14 +105,14 @@ import org.alfresco.service.cmr.transfer.TransferProgress.Status;
delegate.logComment(transferId, obj);
}
public void logCreated(String transferId, NodeRef sourceNode, NodeRef destNode, NodeRef newParent, Path newPath,
public void logCreated(String transferId, NodeRef sourceNode, NodeRef destNode, NodeRef newParent, String newPath,
boolean orphan)
{
delegate.logCreated(transferId, sourceNode, destNode, newParent, newPath, orphan);
getChangesRecord(transferId).addCreatedNode(destNode);
}
public void logDeleted(String transferId, NodeRef sourceNode, NodeRef destNode, Path parentPath)
public void logDeleted(String transferId, NodeRef sourceNode, NodeRef destNode, String parentPath)
{
delegate.logDeleted(transferId, sourceNode, destNode, parentPath);
getChangesRecord(transferId).addDeletedNode(destNode);
@@ -124,13 +123,13 @@ import org.alfresco.service.cmr.transfer.TransferProgress.Status;
delegate.logException(transferId, obj, ex);
}
public void logMoved(String transferId, NodeRef sourceNodeRef, NodeRef destNodeRef, Path oldPath,
NodeRef newParent, Path newPath)
public void logMoved(String transferId, NodeRef sourceNodeRef, NodeRef destNodeRef, String oldPath,
NodeRef newParent, String newPath)
{
delegate.logMoved(transferId, sourceNodeRef, destNodeRef, oldPath, newParent, newPath);
}
public void logUpdated(String transferId, NodeRef sourceNode, NodeRef destNode, Path parentPath)
public void logUpdated(String transferId, NodeRef sourceNode, NodeRef destNode, String parentPath)
{
delegate.logUpdated(transferId, sourceNode, destNode, parentPath);
getChangesRecord(transferId).addUpdatedNode(destNode);

View File

@@ -22,7 +22,6 @@ package org.alfresco.repo.transfer;
import java.io.InputStream;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.Path;
import org.alfresco.service.cmr.transfer.TransferException;
import org.alfresco.service.cmr.transfer.TransferProgress;
import org.alfresco.service.cmr.transfer.TransferProgress.Status;
@@ -83,28 +82,28 @@ public class LoggingTransferProgressMonitorImpl implements TransferProgressMonit
@Override
public void logCreated(String transferId, NodeRef sourceNode,
NodeRef destNode, NodeRef parentNode, Path parentPath, boolean orphan)
NodeRef destNode, NodeRef parentNode, String parentPath, boolean orphan)
{
delegate.logCreated(transferId, sourceNode, destNode, parentNode, parentPath, orphan);
}
@Override
public void logUpdated(String transferId, NodeRef sourceNode,
NodeRef destNode, Path parentPath)
NodeRef destNode, String parentPath)
{
delegate.logUpdated(transferId, sourceNode, destNode, parentPath);
}
@Override
public void logMoved(String transferId, NodeRef sourceNode,
NodeRef destNode, Path oldPath, NodeRef parentNodeRef, Path parentPath)
NodeRef destNode, String oldPath, NodeRef parentNodeRef, String parentPath)
{
delegate.logMoved(transferId, sourceNode, destNode, oldPath, parentNodeRef, parentPath);
}
@Override
public void logDeleted(String transferId, NodeRef sourceNode,
NodeRef destNode, Path parentPath)
NodeRef destNode, String parentPath)
{
delegate.logDeleted(transferId, sourceNode, destNode, parentPath);

View File

@@ -46,7 +46,6 @@ import org.alfresco.service.cmr.repository.ContentService;
import org.alfresco.service.cmr.repository.ContentWriter;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.cmr.repository.Path;
import org.alfresco.service.cmr.repository.StoreRef;
import org.alfresco.service.cmr.security.AccessPermission;
import org.alfresco.service.cmr.security.AccessStatus;
@@ -156,7 +155,7 @@ public class RepoPrimaryManifestProcessorImpl extends AbstractManifestProcessorB
+ " - deleting");
}
logDeleted(node.getNodeRef(), exNode, nodeService.getPath(exNode));
logDeleted(node.getNodeRef(), exNode, nodeService.getPath(exNode).toString());
delete(node, exNode);
}
@@ -303,7 +302,7 @@ public class RepoPrimaryManifestProcessorImpl extends AbstractManifestProcessorB
log.debug("Created new node (" + newNode.getChildRef() + ") parented by node " + newNode.getParentRef());
}
logCreated(node.getNodeRef(), newNode.getChildRef(), newNode.getParentRef(), nodeService.getPath(newNode.getChildRef()), false);
logCreated(node.getNodeRef(), newNode.getChildRef(), newNode.getParentRef(), nodeService.getPath(newNode.getChildRef()).toString(), false);
// Deal with the content properties
writeContent(newNode.getChildRef(), contentProps);
@@ -388,7 +387,7 @@ public class RepoPrimaryManifestProcessorImpl extends AbstractManifestProcessorB
}
// Not alien or from another repo - delete it.
logDeleted(node.getNodeRef(), nodeToDelete, nodeService.getPath(nodeToDelete));
logDeleted(node.getNodeRef(), nodeToDelete, nodeService.getPath(nodeToDelete).toString());
nodeService.deleteNode(nodeToDelete);
if (log.isDebugEnabled())
@@ -489,7 +488,8 @@ public class RepoPrimaryManifestProcessorImpl extends AbstractManifestProcessorB
// Yes, we need to move the node
ChildAssociationRef newNode = nodeService.moveNode(nodeToUpdate, parentNodeRef, parentAssocType, parentAssocName);
logMoved(node.getNodeRef(), nodeToUpdate, node.getParentPath(), newNode.getParentRef(), nodeService.getPath(newNode.getChildRef()));
logMoved(node.getNodeRef(), nodeToUpdate, node.getParentPath().toString(), newNode.getParentRef(),
nodeService.getPath(newNode.getChildRef()).toString());
/**
* are we adding an alien node here? The transfer service has policies disabled
@@ -517,7 +517,7 @@ public class RepoPrimaryManifestProcessorImpl extends AbstractManifestProcessorB
if (updateNeeded(node, nodeToUpdate))
{
logUpdated(node.getNodeRef(), nodeToUpdate, nodeService.getPath(nodeToUpdate));
logUpdated(node.getNodeRef(), nodeToUpdate, nodeService.getPath(nodeToUpdate).toString());
// We need to process content properties separately.
// First, create a shallow copy of the supplied property map...
@@ -941,7 +941,7 @@ public class RepoPrimaryManifestProcessorImpl extends AbstractManifestProcessorB
/**
* For each property
*/
List<String> contentProps = new ArrayList();
List<String> contentProps = new ArrayList<String>();
for (Serializable value : props.values())
{
if ((value != null) && ContentData.class.isAssignableFrom(value.getClass()))

View File

@@ -167,7 +167,7 @@ public class RepoTertiaryManifestProcessorImpl extends AbstractManifestProcessor
{
// Yes the manifest repository Id and the from repository Id match.
// Destination node if from the transferring repo and needs to be deleted.
logDeleted(node.getNodeRef(), childNodeRef, nodeService.getPath(childNodeRef));
logDeleted(node.getNodeRef(), childNodeRef, nodeService.getPath(childNodeRef).toString());
nodeService.deleteNode(childNodeRef);
log.debug("deleted node:" + childNodeRef);
}

View File

@@ -21,7 +21,6 @@ package org.alfresco.repo.transfer;
import java.io.Writer;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.Path;
/**
*
@@ -56,22 +55,22 @@ public interface TransferDestinationReportWriter
/**
* Reporting creation of a new node
*/
public void writeCreated(NodeRef sourceNodeRef, NodeRef newNodeRef, NodeRef newParentNodeRef, Path newPath);
public void writeCreated(NodeRef sourceNodeRef, NodeRef newNodeRef, NodeRef newParentNodeRef, String newPath);
/**
* Reporting update of an existing node
*/
public void writeUpdated(NodeRef sourceNodeRef, NodeRef updatedNode, Path updatedPath);
public void writeUpdated(NodeRef sourceNodeRef, NodeRef updatedNode, String updatedPath);
/**
* Reporting a node moved
*/
public void writeMoved(NodeRef sourceNodeRef, NodeRef movedNodeRef, Path oldPath, NodeRef newParentNodeRef, Path newPath);
public void writeMoved(NodeRef sourceNodeRef, NodeRef movedNodeRef, String oldPath, NodeRef newParentNodeRef, String newPath);
/**
* Reporting a node deleted
*/
public void writeDeleted(NodeRef sourceNodeRef, NodeRef deletedNode, Path oldPath);
public void writeDeleted(NodeRef sourceNodeRef, NodeRef deletedNode, String oldPath);
/**
* Reporting an exception

View File

@@ -22,7 +22,6 @@ package org.alfresco.repo.transfer;
import java.io.InputStream;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.Path;
import org.alfresco.service.cmr.transfer.TransferException;
import org.alfresco.service.cmr.transfer.TransferProgress;
@@ -61,17 +60,17 @@ public interface TransferProgressMonitor
* @param newPath
* @param orphan
*/
void logCreated(String transferId, NodeRef sourceNode, NodeRef destNode, NodeRef newParent, Path newPath, boolean orphan);
void logCreated(String transferId, NodeRef sourceNode, NodeRef destNode, NodeRef newParent, String newPath, boolean orphan);
/**
* Log the creation of a new node
* @param transferId
* @param sourceNode
* @param destNode
* @param parentPath
* @param path The path of the updated node
* @param orphan
*/
void logUpdated(String transferId, NodeRef sourceNode, NodeRef destNode, Path parentPath);
void logUpdated(String transferId, NodeRef sourceNode, NodeRef destNode, String path);
/**
@@ -79,10 +78,10 @@ public interface TransferProgressMonitor
* @param transferId
* @param sourceNode
* @param destNode
* @param parentPath
* @param path The path of the deleted node
* @param orphan
*/
void logDeleted(String transferId, NodeRef sourceNode, NodeRef destNode, Path parentPath);
void logDeleted(String transferId, NodeRef sourceNode, NodeRef destNode, String path);
/**
* After the transfer has completed this method reads the log.
@@ -91,7 +90,7 @@ public interface TransferProgressMonitor
*/
void logMoved(String transferId, NodeRef sourceNodeRef,
NodeRef destNodeRef, Path oldPath, NodeRef newParent, Path newPath);
NodeRef destNodeRef, String oldPath, NodeRef newParent, String newPath);
/**
* update the progress of the specified transfer

View File

@@ -612,9 +612,9 @@ public class TransferServiceCallbackTest extends TestCase
reportWriter.startTransferReport("UTF-8", writer);
reportWriter.writeComment("This is a comment");
reportWriter.writeChangeState("COMMITTING");
reportWriter.writeCreated(file1, file1, folder1, new Path());
reportWriter.writeDeleted(file3, file3, new Path());
reportWriter.writeMoved(file2, file2, new Path(), folder1, new Path());
reportWriter.writeCreated(file1, file1, folder1, "");
reportWriter.writeDeleted(file3, file3, "");
reportWriter.writeMoved(file2, file2, "", folder1, "");
reportWriter.endTransferReport();
return null;
}

View File

@@ -25,7 +25,6 @@ import java.util.Date;
import org.alfresco.repo.transfer.TransferDestinationReportWriter;
import org.alfresco.repo.transfer.report.TransferReportModel;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.Path;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import org.springframework.extensions.surf.util.ISO8601DateFormat;
@@ -157,7 +156,7 @@ public class XMLTransferDestinationReportWriter implements TransferDestinationRe
}
@Override
public void writeCreated(NodeRef sourceNodeRef, NodeRef newNode, NodeRef newParentNodeRef, Path newPath)
public void writeCreated(NodeRef sourceNodeRef, NodeRef newNode, NodeRef newParentNodeRef, String newPath)
{
try
{
@@ -179,7 +178,7 @@ public class XMLTransferDestinationReportWriter implements TransferDestinationRe
}
@Override
public void writeDeleted(NodeRef sourceNodeRef, NodeRef deletedNode, Path oldPath)
public void writeDeleted(NodeRef sourceNodeRef, NodeRef deletedNode, String oldPath)
{
try
{
@@ -200,7 +199,7 @@ public class XMLTransferDestinationReportWriter implements TransferDestinationRe
}
@Override
public void writeMoved(NodeRef sourceNodeRef, NodeRef updatedNode, Path oldPath, NodeRef newParentNodeRef, Path newPath)
public void writeMoved(NodeRef sourceNodeRef, NodeRef updatedNode, String oldPath, NodeRef newParentNodeRef, String newPath)
{
try
{
@@ -222,7 +221,7 @@ public class XMLTransferDestinationReportWriter implements TransferDestinationRe
}
@Override
public void writeUpdated(NodeRef sourceNodeRef, NodeRef updatedNode, Path updatedPath)
public void writeUpdated(NodeRef sourceNodeRef, NodeRef updatedNode, String updatedPath)
{
try
{
@@ -243,15 +242,14 @@ public class XMLTransferDestinationReportWriter implements TransferDestinationRe
}
public void writeOldPath(Path path)
public void writeOldPath(String path)
{
try
{
AttributesImpl attributes = new AttributesImpl();
writer.startElement(TransferDestinationReportModel.TRANSFER_REPORT_MODEL_1_0_URI, TransferDestinationReportModel.LOCALNAME_TRANSFER_OLD_PATH, PREFIX + ":" + TransferDestinationReportModel.LOCALNAME_TRANSFER_OLD_PATH, attributes);
String sPath = path.toString();
writer.characters(sPath.toCharArray(), 0, sPath.length());
writer.characters(path.toCharArray(), 0, path.length());
writer.endElement(TransferDestinationReportModel.TRANSFER_REPORT_MODEL_1_0_URI, TransferDestinationReportModel.LOCALNAME_TRANSFER_OLD_PATH, PREFIX + ":" + TransferDestinationReportModel.LOCALNAME_TRANSFER_OLD_PATH);
}
catch (SAXException se)
@@ -261,15 +259,14 @@ public class XMLTransferDestinationReportWriter implements TransferDestinationRe
}
}
public void writeDestinationPath(Path path)
public void writeDestinationPath(String path)
{
try
{
AttributesImpl attributes = new AttributesImpl();
writer.startElement(TransferDestinationReportModel.TRANSFER_REPORT_MODEL_1_0_URI, TransferDestinationReportModel.LOCALNAME_TRANSFER_DEST_PATH, PREFIX + ":" + TransferDestinationReportModel.LOCALNAME_TRANSFER_DEST_PATH, attributes);
String sPath = path.toString();
writer.characters(sPath.toCharArray(), 0, sPath.length());
writer.characters(path.toCharArray(), 0, path.length());
writer.endElement(TransferDestinationReportModel.TRANSFER_REPORT_MODEL_1_0_URI, TransferDestinationReportModel.LOCALNAME_TRANSFER_DEST_PATH, PREFIX + ":" + TransferDestinationReportModel.LOCALNAME_TRANSFER_DEST_PATH);
}
catch (SAXException se)