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);

Reply via email to