From f32a6625f048cebad94841b097de21e32c3829c4 Mon Sep 17 00:00:00 2001 From: David Caruana Date: Tue, 14 Sep 2010 17:18:01 +0000 Subject: [PATCH] Resolve ALF-4748 Provide config flag to control if replicated content is read-only (locked) on target - replication-services-context.xml: replicationActionExecutor - if property not defined, defaults to true git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@22524 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- config/alfresco/replication-services-context.xml | 1 + .../repo/replication/ReplicationActionExecutor.java | 13 ++++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/config/alfresco/replication-services-context.xml b/config/alfresco/replication-services-context.xml index 65790f1227..5a332d646a 100644 --- a/config/alfresco/replication-services-context.xml +++ b/config/alfresco/replication-services-context.xml @@ -71,6 +71,7 @@ + diff --git a/source/java/org/alfresco/repo/replication/ReplicationActionExecutor.java b/source/java/org/alfresco/repo/replication/ReplicationActionExecutor.java index cf95b9985e..aa2d233b2a 100644 --- a/source/java/org/alfresco/repo/replication/ReplicationActionExecutor.java +++ b/source/java/org/alfresco/repo/replication/ReplicationActionExecutor.java @@ -69,6 +69,7 @@ public class ReplicationActionExecutor extends ActionExecuterAbstractBase { private ActionTrackingService actionTrackingService; private TransactionService transactionService; private ReplicationDefinitionPersisterImpl replicationDefinitionPersister; + private Boolean readOnly; /** * By default, we lock for 30 minutes @@ -134,6 +135,16 @@ public class ReplicationActionExecutor extends ActionExecuterAbstractBase { this.replicationDefinitionPersister = replicationDefinitionPersister; } + /** + * Sets transfer read only default value + * + * @param readOnly true => mark items in destination repository as read only + */ + public void setReadOnly(Boolean readOnly) + { + this.readOnly = readOnly; + } + @Override protected void addParameterDefinitions(List paramList) { // Not used - our definitions hold everything on them @@ -176,7 +187,7 @@ public class ReplicationActionExecutor extends ActionExecuterAbstractBase { new TransferDefinition(); transferDefinition.setNodes(toTransfer); transferDefinition.setSync(true); - transferDefinition.setReadOnly(true); + transferDefinition.setReadOnly(readOnly == null ? true : readOnly); // Exclude aspects from transfer // NOTE: this list of aspects should be synced up with the NodeCrawler in expandPayload to