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:
@@ -18,6 +18,9 @@
|
|||||||
</property>
|
</property>
|
||||||
<property name="tenantService">
|
<property name="tenantService">
|
||||||
<ref bean="tenantService" />
|
<ref bean="tenantService" />
|
||||||
|
</property>
|
||||||
|
<property name="descriptorService">
|
||||||
|
<ref bean="DescriptorService" />
|
||||||
</property>
|
</property>
|
||||||
<property name="transferSpaceQuery">
|
<property name="transferSpaceQuery">
|
||||||
<value>/${spaces.company_home.childname}/${spaces.dictionary.childname}/${spaces.transfers.childname}/${spaces.transfer_groups.childname}</value>
|
<value>/${spaces.company_home.childname}/${spaces.dictionary.childname}/${spaces.transfers.childname}/${spaces.transfer_groups.childname}</value>
|
||||||
|
@@ -896,6 +896,7 @@ public class RepoTransferReceiverImplTest extends BaseAlfrescoSpringTest
|
|||||||
TransferManifestHeader header = new TransferManifestHeader();
|
TransferManifestHeader header = new TransferManifestHeader();
|
||||||
header.setCreatedDate(new Date());
|
header.setCreatedDate(new Date());
|
||||||
header.setNodeCount(nodes.size());
|
header.setNodeCount(nodes.size());
|
||||||
|
header.setRepositoryId("repo 1");
|
||||||
manifestWriter.writeTransferManifestHeader(header);
|
manifestWriter.writeTransferManifestHeader(header);
|
||||||
for (TransferManifestNode node : nodes)
|
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.TransferProgress;
|
||||||
import org.alfresco.service.cmr.transfer.TransferService;
|
import org.alfresco.service.cmr.transfer.TransferService;
|
||||||
import org.alfresco.service.cmr.transfer.TransferTarget;
|
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.QName;
|
||||||
import org.alfresco.service.namespace.RegexQNamePattern;
|
import org.alfresco.service.namespace.RegexQNamePattern;
|
||||||
import org.alfresco.service.transaction.TransactionService;
|
import org.alfresco.service.transaction.TransactionService;
|
||||||
@@ -109,6 +111,7 @@ public class TransferServiceImpl implements TransferService
|
|||||||
PropertyCheck.mandatory(this, "namespaceResolver", transmitter);
|
PropertyCheck.mandatory(this, "namespaceResolver", transmitter);
|
||||||
PropertyCheck.mandatory(this, "actionService", actionService);
|
PropertyCheck.mandatory(this, "actionService", actionService);
|
||||||
PropertyCheck.mandatory(this, "transactionService", transactionService);
|
PropertyCheck.mandatory(this, "transactionService", transactionService);
|
||||||
|
PropertyCheck.mandatory(this, "descriptorService", descriptorService);
|
||||||
}
|
}
|
||||||
|
|
||||||
private String transferSpaceQuery;
|
private String transferSpaceQuery;
|
||||||
@@ -121,6 +124,7 @@ public class TransferServiceImpl implements TransferService
|
|||||||
private TransferManifestNodeFactory transferManifestNodeFactory;
|
private TransferManifestNodeFactory transferManifestNodeFactory;
|
||||||
private TransferReporter transferReporter;
|
private TransferReporter transferReporter;
|
||||||
private TenantService tenantService;
|
private TenantService tenantService;
|
||||||
|
private DescriptorService descriptorService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* How long to delay while polling for commit status.
|
* How long to delay while polling for commit status.
|
||||||
@@ -557,6 +561,8 @@ public class TransferServiceImpl implements TransferService
|
|||||||
// Write the manifest file
|
// Write the manifest file
|
||||||
TransferManifestWriter formatter = new XMLTransferManifestWriter();
|
TransferManifestWriter formatter = new XMLTransferManifestWriter();
|
||||||
TransferManifestHeader header = new TransferManifestHeader();
|
TransferManifestHeader header = new TransferManifestHeader();
|
||||||
|
Descriptor descriptor = descriptorService.getCurrentRepositoryDescriptor();
|
||||||
|
header.setRepositoryId(descriptor.getId());
|
||||||
header.setCreatedDate(new Date());
|
header.setCreatedDate(new Date());
|
||||||
header.setNodeCount(nodes.size());
|
header.setNodeCount(nodes.size());
|
||||||
formatter.startTransferManifest(snapshotWriter);
|
formatter.startTransferManifest(snapshotWriter);
|
||||||
@@ -1111,6 +1117,16 @@ public class TransferServiceImpl implements TransferService
|
|||||||
return commitPollDelay;
|
return commitPollDelay;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setDescriptorService(DescriptorService descriptorService)
|
||||||
|
{
|
||||||
|
this.descriptorService = descriptorService;
|
||||||
|
}
|
||||||
|
|
||||||
|
public DescriptorService getDescriptorService()
|
||||||
|
{
|
||||||
|
return descriptorService;
|
||||||
|
}
|
||||||
|
|
||||||
private class TransferStatus
|
private class TransferStatus
|
||||||
{
|
{
|
||||||
TransferStatus(String transferId)
|
TransferStatus(String transferId)
|
||||||
|
@@ -29,6 +29,7 @@ public interface ManifestModel extends TransferModel
|
|||||||
static final String LOCALNAME_TRANSFER_HEADER = "transferManifestHeader";
|
static final String LOCALNAME_TRANSFER_HEADER = "transferManifestHeader";
|
||||||
static final String LOCALNAME_HEADER_CREATED_DATE = "createdDate";
|
static final String LOCALNAME_HEADER_CREATED_DATE = "createdDate";
|
||||||
static final String LOCALNAME_HEADER_NODE_COUNT = "nodeCount";
|
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_NODES = "nodes";
|
||||||
static final String LOCALNAME_ELEMENT_NODE = "node";
|
static final String LOCALNAME_ELEMENT_NODE = "node";
|
||||||
static final String LOCALNAME_ELEMENT_DELETED_NODE = "deletedNode";
|
static final String LOCALNAME_ELEMENT_DELETED_NODE = "deletedNode";
|
||||||
|
@@ -30,6 +30,7 @@ public class TransferManifestHeader
|
|||||||
{
|
{
|
||||||
private Date createdDate;
|
private Date createdDate;
|
||||||
private int nodeCount;
|
private int nodeCount;
|
||||||
|
private String repositoryId;
|
||||||
|
|
||||||
public void setCreatedDate(Date createDate)
|
public void setCreatedDate(Date createDate)
|
||||||
{
|
{
|
||||||
@@ -57,4 +58,15 @@ public class TransferManifestHeader
|
|||||||
this.nodeCount = nodeCount;
|
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 prefix = "TRX-SNAP";
|
||||||
String suffix = ".xml";
|
String suffix = ".xml";
|
||||||
|
String repoId = "repoId";
|
||||||
|
|
||||||
// where to put snapshot ?
|
// where to put snapshot ?
|
||||||
File snapshotFile = TempFileProvider.createTempFile(prefix, suffix);
|
File snapshotFile = TempFileProvider.createTempFile(prefix, suffix);
|
||||||
@@ -73,6 +74,7 @@ public class TransferManifestTest extends TestCase
|
|||||||
TransferManifestWriter formatter = new XMLTransferManifestWriter();
|
TransferManifestWriter formatter = new XMLTransferManifestWriter();
|
||||||
TransferManifestHeader header = new TransferManifestHeader();
|
TransferManifestHeader header = new TransferManifestHeader();
|
||||||
header.setCreatedDate(new Date());
|
header.setCreatedDate(new Date());
|
||||||
|
header.setRepositoryId(repoId);
|
||||||
formatter.startTransferManifest(snapshotWriter);
|
formatter.startTransferManifest(snapshotWriter);
|
||||||
formatter.writeTransferManifestHeader(header);
|
formatter.writeTransferManifestHeader(header);
|
||||||
|
|
||||||
|
@@ -199,6 +199,10 @@ public class XMLTransferManifestReader extends DefaultHandler implements Content
|
|||||||
{
|
{
|
||||||
buffer = new StringBuffer();
|
buffer = new StringBuffer();
|
||||||
}
|
}
|
||||||
|
else if(elementName.equals(ManifestModel.LOCALNAME_HEADER_REPOSITORY_ID))
|
||||||
|
{
|
||||||
|
buffer = new StringBuffer();
|
||||||
|
}
|
||||||
else if(elementName.equals(ManifestModel.LOCALNAME_ELEMENT_PARENT_ASSOCS))
|
else if(elementName.equals(ManifestModel.LOCALNAME_ELEMENT_PARENT_ASSOCS))
|
||||||
{
|
{
|
||||||
TransferManifestNormalNode node = (TransferManifestNormalNode)props.get("node");
|
TransferManifestNormalNode node = (TransferManifestNormalNode)props.get("node");
|
||||||
@@ -383,6 +387,12 @@ public class XMLTransferManifestReader extends DefaultHandler implements Content
|
|||||||
header.setNodeCount(Integer.parseInt(buffer.toString()));
|
header.setNodeCount(Integer.parseInt(buffer.toString()));
|
||||||
buffer = null;
|
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))
|
else if(elementName.equals(ManifestModel.LOCALNAME_ELEMENT_PARENT_ASSOCS))
|
||||||
{
|
{
|
||||||
// No-op
|
// No-op
|
||||||
|
@@ -141,6 +141,20 @@ public class XMLTransferManifestWriter implements TransferManifestWriter
|
|||||||
ManifestModel.LOCALNAME_HEADER_NODE_COUNT, PREFIX + ":"
|
ManifestModel.LOCALNAME_HEADER_NODE_COUNT, PREFIX + ":"
|
||||||
+ ManifestModel.LOCALNAME_HEADER_NODE_COUNT);
|
+ 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
|
// End Header
|
||||||
writer.endElement(TransferModel.TRANSFER_MODEL_1_0_URI,
|
writer.endElement(TransferModel.TRANSFER_MODEL_1_0_URI,
|
||||||
ManifestModel.LOCALNAME_TRANSFER_HEADER, PREFIX + ":"
|
ManifestModel.LOCALNAME_TRANSFER_HEADER, PREFIX + ":"
|
||||||
|
Reference in New Issue
Block a user