mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-07 17:49:17 +00:00
Add the repositoryId to the transfer format.
git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@20841 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
@@ -896,6 +896,7 @@ public class RepoTransferReceiverImplTest extends BaseAlfrescoSpringTest
|
||||
TransferManifestHeader header = new TransferManifestHeader();
|
||||
header.setCreatedDate(new Date());
|
||||
header.setNodeCount(nodes.size());
|
||||
header.setRepositoryId("repo 1");
|
||||
manifestWriter.writeTransferManifestHeader(header);
|
||||
for (TransferManifestNode node : nodes)
|
||||
{
|
||||
|
@@ -73,6 +73,8 @@ import org.alfresco.service.cmr.transfer.TransferException;
|
||||
import org.alfresco.service.cmr.transfer.TransferProgress;
|
||||
import org.alfresco.service.cmr.transfer.TransferService;
|
||||
import org.alfresco.service.cmr.transfer.TransferTarget;
|
||||
import org.alfresco.service.descriptor.Descriptor;
|
||||
import org.alfresco.service.descriptor.DescriptorService;
|
||||
import org.alfresco.service.namespace.QName;
|
||||
import org.alfresco.service.namespace.RegexQNamePattern;
|
||||
import org.alfresco.service.transaction.TransactionService;
|
||||
@@ -109,6 +111,7 @@ public class TransferServiceImpl implements TransferService
|
||||
PropertyCheck.mandatory(this, "namespaceResolver", transmitter);
|
||||
PropertyCheck.mandatory(this, "actionService", actionService);
|
||||
PropertyCheck.mandatory(this, "transactionService", transactionService);
|
||||
PropertyCheck.mandatory(this, "descriptorService", descriptorService);
|
||||
}
|
||||
|
||||
private String transferSpaceQuery;
|
||||
@@ -121,6 +124,7 @@ public class TransferServiceImpl implements TransferService
|
||||
private TransferManifestNodeFactory transferManifestNodeFactory;
|
||||
private TransferReporter transferReporter;
|
||||
private TenantService tenantService;
|
||||
private DescriptorService descriptorService;
|
||||
|
||||
/**
|
||||
* How long to delay while polling for commit status.
|
||||
@@ -557,6 +561,8 @@ public class TransferServiceImpl implements TransferService
|
||||
// Write the manifest file
|
||||
TransferManifestWriter formatter = new XMLTransferManifestWriter();
|
||||
TransferManifestHeader header = new TransferManifestHeader();
|
||||
Descriptor descriptor = descriptorService.getCurrentRepositoryDescriptor();
|
||||
header.setRepositoryId(descriptor.getId());
|
||||
header.setCreatedDate(new Date());
|
||||
header.setNodeCount(nodes.size());
|
||||
formatter.startTransferManifest(snapshotWriter);
|
||||
@@ -1111,6 +1117,16 @@ public class TransferServiceImpl implements TransferService
|
||||
return commitPollDelay;
|
||||
}
|
||||
|
||||
public void setDescriptorService(DescriptorService descriptorService)
|
||||
{
|
||||
this.descriptorService = descriptorService;
|
||||
}
|
||||
|
||||
public DescriptorService getDescriptorService()
|
||||
{
|
||||
return descriptorService;
|
||||
}
|
||||
|
||||
private class TransferStatus
|
||||
{
|
||||
TransferStatus(String transferId)
|
||||
|
@@ -29,6 +29,7 @@ public interface ManifestModel extends TransferModel
|
||||
static final String LOCALNAME_TRANSFER_HEADER = "transferManifestHeader";
|
||||
static final String LOCALNAME_HEADER_CREATED_DATE = "createdDate";
|
||||
static final String LOCALNAME_HEADER_NODE_COUNT = "nodeCount";
|
||||
static final String LOCALNAME_HEADER_REPOSITORY_ID = "repositoryId";
|
||||
static final String LOCALNAME_ELEMENT_NODES = "nodes";
|
||||
static final String LOCALNAME_ELEMENT_NODE = "node";
|
||||
static final String LOCALNAME_ELEMENT_DELETED_NODE = "deletedNode";
|
||||
|
@@ -30,7 +30,8 @@ public class TransferManifestHeader
|
||||
{
|
||||
private Date createdDate;
|
||||
private int nodeCount;
|
||||
|
||||
private String repositoryId;
|
||||
|
||||
public void setCreatedDate(Date createDate)
|
||||
{
|
||||
this.createdDate = createDate;
|
||||
@@ -57,4 +58,15 @@ public class TransferManifestHeader
|
||||
this.nodeCount = nodeCount;
|
||||
}
|
||||
|
||||
public void setRepositoryId(String repositoryId)
|
||||
{
|
||||
this.repositoryId = repositoryId;
|
||||
}
|
||||
|
||||
public String getRepositoryId()
|
||||
{
|
||||
return repositoryId;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@@ -64,6 +64,7 @@ public class TransferManifestTest extends TestCase
|
||||
*/
|
||||
String prefix = "TRX-SNAP";
|
||||
String suffix = ".xml";
|
||||
String repoId = "repoId";
|
||||
|
||||
// where to put snapshot ?
|
||||
File snapshotFile = TempFileProvider.createTempFile(prefix, suffix);
|
||||
@@ -73,6 +74,7 @@ public class TransferManifestTest extends TestCase
|
||||
TransferManifestWriter formatter = new XMLTransferManifestWriter();
|
||||
TransferManifestHeader header = new TransferManifestHeader();
|
||||
header.setCreatedDate(new Date());
|
||||
header.setRepositoryId(repoId);
|
||||
formatter.startTransferManifest(snapshotWriter);
|
||||
formatter.writeTransferManifestHeader(header);
|
||||
|
||||
|
@@ -199,6 +199,10 @@ public class XMLTransferManifestReader extends DefaultHandler implements Content
|
||||
{
|
||||
buffer = new StringBuffer();
|
||||
}
|
||||
else if(elementName.equals(ManifestModel.LOCALNAME_HEADER_REPOSITORY_ID))
|
||||
{
|
||||
buffer = new StringBuffer();
|
||||
}
|
||||
else if(elementName.equals(ManifestModel.LOCALNAME_ELEMENT_PARENT_ASSOCS))
|
||||
{
|
||||
TransferManifestNormalNode node = (TransferManifestNormalNode)props.get("node");
|
||||
@@ -349,7 +353,7 @@ public class XMLTransferManifestReader extends DefaultHandler implements Content
|
||||
{
|
||||
TransferManifestDeletedNode node = (TransferManifestDeletedNode)props.get("node");
|
||||
processor.processTransferManifestNode(node);
|
||||
}
|
||||
}
|
||||
else if(elementName.equals(ManifestModel.LOCALNAME_ELEMENT_ASPECTS))
|
||||
{
|
||||
|
||||
@@ -383,6 +387,12 @@ public class XMLTransferManifestReader extends DefaultHandler implements Content
|
||||
header.setNodeCount(Integer.parseInt(buffer.toString()));
|
||||
buffer = null;
|
||||
}
|
||||
else if(elementName.equals(ManifestModel.LOCALNAME_HEADER_REPOSITORY_ID))
|
||||
{
|
||||
TransferManifestHeader header = (TransferManifestHeader)props.get("header");
|
||||
header.setRepositoryId(buffer.toString());
|
||||
buffer = null;
|
||||
}
|
||||
else if(elementName.equals(ManifestModel.LOCALNAME_ELEMENT_PARENT_ASSOCS))
|
||||
{
|
||||
// No-op
|
||||
|
@@ -140,6 +140,20 @@ public class XMLTransferManifestWriter implements TransferManifestWriter
|
||||
writer.endElement(TransferModel.TRANSFER_MODEL_1_0_URI,
|
||||
ManifestModel.LOCALNAME_HEADER_NODE_COUNT, PREFIX + ":"
|
||||
+ ManifestModel.LOCALNAME_HEADER_NODE_COUNT);
|
||||
|
||||
if(header.getRepositoryId() != null)
|
||||
{
|
||||
// Repository Id
|
||||
writer.startElement(TransferModel.TRANSFER_MODEL_1_0_URI,
|
||||
ManifestModel.LOCALNAME_HEADER_REPOSITORY_ID, PREFIX + ":"
|
||||
+ ManifestModel.LOCALNAME_HEADER_REPOSITORY_ID, EMPTY_ATTRIBUTES);
|
||||
char[] repositoryId = header.getRepositoryId().toCharArray();
|
||||
writer.characters(repositoryId, 0, repositoryId.length);
|
||||
writer.endElement(TransferModel.TRANSFER_MODEL_1_0_URI,
|
||||
ManifestModel.LOCALNAME_HEADER_REPOSITORY_ID, PREFIX + ":"
|
||||
+ ManifestModel.LOCALNAME_HEADER_REPOSITORY_ID);
|
||||
}
|
||||
|
||||
|
||||
// End Header
|
||||
writer.endElement(TransferModel.TRANSFER_MODEL_1_0_URI,
|
||||
|
Reference in New Issue
Block a user