Repository: airavata Updated Branches: refs/heads/master 8d18255f3 -> 60937d362
Fire TaskOutputChangeEvent in GSISSHOutputHandler Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/62ba4710 Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/62ba4710 Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/62ba4710 Branch: refs/heads/master Commit: 62ba4710fadb249c2ad0a185ed97892d2877dcda Parents: 1e520bc Author: shamrath <[email protected]> Authored: Thu Oct 16 22:50:55 2014 -0400 Committer: shamrath <[email protected]> Committed: Thu Oct 16 22:50:55 2014 -0400 ---------------------------------------------------------------------- .../gfac/core/handler/AbstractRecoverableHandler.java | 12 ++++++++++++ .../gfac/gsissh/handler/GSISSHOutputHandler.java | 4 ++++ 2 files changed, 16 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/62ba4710/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/handler/AbstractRecoverableHandler.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/handler/AbstractRecoverableHandler.java b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/handler/AbstractRecoverableHandler.java index 0a72826..3a004b9 100644 --- a/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/handler/AbstractRecoverableHandler.java +++ b/modules/gfac/gfac-core/src/main/java/org/apache/airavata/gfac/core/handler/AbstractRecoverableHandler.java @@ -25,12 +25,17 @@ import org.apache.airavata.gfac.core.context.JobExecutionContext; import org.apache.airavata.gfac.core.cpi.BetterGfacImpl; import org.apache.airavata.gfac.core.states.GfacPluginState; import org.apache.airavata.gfac.core.utils.GFacUtils; +import org.apache.airavata.model.messaging.event.TaskIdentifier; +import org.apache.airavata.model.messaging.event.TaskOutputChangeEvent; +import org.apache.airavata.model.workspace.experiment.DataObjectType; import org.apache.airavata.persistance.registry.jpa.impl.RegistryFactory; import org.apache.airavata.registry.cpi.Registry; import org.apache.airavata.registry.cpi.RegistryException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import java.util.List; + public abstract class AbstractRecoverableHandler implements GFacRecoverableHandler { private static final Logger logger = LoggerFactory.getLogger(AppDescriptorCheckHandler.class); protected Registry registry = null; @@ -72,4 +77,11 @@ public abstract class AbstractRecoverableHandler implements GFacRecoverableHandl public void setRegistry(Registry registry) { this.registry = registry; } + + protected void fireTaskOutputChangeEvent(JobExecutionContext jobExecutionContext, List<DataObjectType> outputArray) { + TaskIdentifier taskIdentity = new TaskIdentifier(jobExecutionContext.getTaskData().getTaskID(), + jobExecutionContext.getWorkflowNodeDetails().getNodeInstanceId(), + jobExecutionContext.getExperimentID()); + publisher.publish(new TaskOutputChangeEvent(outputArray, taskIdentity)); + } } http://git-wip-us.apache.org/repos/asf/airavata/blob/62ba4710/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHOutputHandler.java ---------------------------------------------------------------------- diff --git a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHOutputHandler.java b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHOutputHandler.java index 6cf5ee8..a15ea45 100644 --- a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHOutputHandler.java +++ b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/handler/GSISSHOutputHandler.java @@ -34,6 +34,7 @@ import org.apache.airavata.commons.gfac.type.ApplicationDescription; import org.apache.airavata.commons.gfac.type.MappingFactory; import org.apache.airavata.gfac.GFacException; import org.apache.airavata.gfac.core.context.JobExecutionContext; +import org.apache.airavata.gfac.core.cpi.BetterGfacImpl; import org.apache.airavata.gfac.core.handler.AbstractHandler; import org.apache.airavata.gfac.core.handler.AbstractRecoverableHandler; import org.apache.airavata.gfac.core.handler.GFacHandlerException; @@ -45,6 +46,8 @@ import org.apache.airavata.gfac.gsissh.util.GFACGSISSHUtils; import org.apache.airavata.gsi.ssh.api.Cluster; import org.apache.airavata.gsi.ssh.api.SSHApiException; import org.apache.airavata.gsi.ssh.api.job.JobDescriptor; +import org.apache.airavata.model.messaging.event.TaskIdentifier; +import org.apache.airavata.model.messaging.event.TaskOutputChangeEvent; import org.apache.airavata.model.workspace.experiment.*; import org.apache.airavata.registry.cpi.ChildDataType; import org.apache.airavata.registry.cpi.RegistryModelType; @@ -299,6 +302,7 @@ public class GSISSHOutputHandler extends AbstractRecoverableHandler { detail.setTransferDescription(outputDataDir); registry.add(ChildDataType.DATA_TRANSFER_DETAIL, detail, jobExecutionContext.getTaskData().getTaskID()); registry.add(ChildDataType.EXPERIMENT_OUTPUT, outputArray, jobExecutionContext.getExperimentID()); + fireTaskOutputChangeEvent(jobExecutionContext, outputArray); } catch (Exception e) { try { status.setTransferState(TransferState.FAILED);
