diff --git a/source/java/org/alfresco/repo/action/script/ScriptActionTrackingService.java b/source/java/org/alfresco/repo/action/script/ScriptActionTrackingService.java index f084c24af9..79da4272be 100644 --- a/source/java/org/alfresco/repo/action/script/ScriptActionTrackingService.java +++ b/source/java/org/alfresco/repo/action/script/ScriptActionTrackingService.java @@ -22,19 +22,11 @@ import java.util.ArrayList; import java.util.List; import org.alfresco.repo.jscript.BaseScopableProcessorExtension; -import org.alfresco.repo.jscript.ScriptNode; import org.alfresco.service.ServiceRegistry; import org.alfresco.service.cmr.action.Action; import org.alfresco.service.cmr.action.ActionTrackingService; -import org.alfresco.service.cmr.action.CancellableAction; import org.alfresco.service.cmr.action.ExecutionDetails; import org.alfresco.service.cmr.action.ExecutionSummary; -import org.alfresco.service.cmr.rendition.RenderingEngineDefinition; -import org.alfresco.service.cmr.rendition.RenditionDefinition; -import org.alfresco.service.cmr.rendition.RenditionService; -import org.alfresco.service.cmr.repository.ChildAssociationRef; -import org.alfresco.service.cmr.repository.NodeRef; -import org.alfresco.service.namespace.QName; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; diff --git a/source/java/org/alfresco/repo/replication/ReplicationActionExecutor.java b/source/java/org/alfresco/repo/replication/ReplicationActionExecutor.java index 5a62fc8edf..fd2fadb04a 100644 --- a/source/java/org/alfresco/repo/replication/ReplicationActionExecutor.java +++ b/source/java/org/alfresco/repo/replication/ReplicationActionExecutor.java @@ -169,6 +169,14 @@ public class ReplicationActionExecutor extends ActionExecuterAbstractBase { @Override protected void executeImpl(Action action, NodeRef actionedUponNodeRef) { + // Specialise the action if needed, eg when loaded directly from + // the NodeRef without going via the replication service + if(action.getActionDefinitionName().equals(ReplicationDefinitionImpl.EXECUTOR_NAME)) + { + action = new ReplicationDefinitionImpl(action); + } + + // Off we go final ReplicationDefinition replicationDef = (ReplicationDefinition)action; if(replicationDef.getTargetName() == null || replicationDef.getTargetName().equals("")) diff --git a/source/java/org/alfresco/repo/replication/ReplicationServiceIntegrationTest.java b/source/java/org/alfresco/repo/replication/ReplicationServiceIntegrationTest.java index 9d1b1d8c21..d112f10ff6 100644 --- a/source/java/org/alfresco/repo/replication/ReplicationServiceIntegrationTest.java +++ b/source/java/org/alfresco/repo/replication/ReplicationServiceIntegrationTest.java @@ -1004,6 +1004,17 @@ public class ReplicationServiceIntegrationTest extends TestCase replicationService.deleteReplicationDefinition(rd); assertEquals(count, scheduledPersistedActionService.listSchedules().size()); txn.commit(); + + + // Ask for it to run scheduled + // Should fire up and then fail due to missing definitions + + // TODO + } + + public void testCancellation() throws Exception + { + // TODO }