&& (factory.getActivityStatus(activityEpr) != ActivityStateEnumeration.CANCELLED)) {
ActivityStatusType activityStatus = null;
try {
activityStatus = getStatus(factory, activityEpr);
ApplicationJobStatus applicationJobStatus = getApplicationJobStatus(activityStatus);
String jobStatusMessage = "Status of job " + jobId + "is " + applicationJobStatus;
jobExecutionContext.getNotifier().publish(new StatusChangeEvent(jobStatusMessage));
GFacUtils.updateApplicationJobStatus(jobExecutionContext, jobId, applicationJobStatus);
} catch (UnknownActivityIdentifierFault e) {
throw new GFacProviderException(e.getMessage(), e.getCause());
}
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
}
continue;
}
ActivityStatusType activityStatus = null;
try {
activityStatus = getStatus(factory, activityEpr);
} catch (UnknownActivityIdentifierFault e) {
throw new GFacProviderException(e.getMessage(), e.getCause());
}
log.info(formatStatusMessage(activityEpr.getAddress().getStringValue(), activityStatus.getState()
.toString()));
if ((activityStatus.getState() == ActivityStateEnumeration.FAILED)) {
String error = activityStatus.getFault().getFaultcode().getLocalPart() + "\n"
+ activityStatus.getFault().getFaultstring() + "\n EXITCODE: " + activityStatus.getExitCode();
log.info(error);
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
}
dt.downloadStdOuts();
} else if (activityStatus.getState() == ActivityStateEnumeration.CANCELLED) {
String experimentID = (String) jobExecutionContext.getProperty(Constants.PROP_TOPIC);
ApplicationJobStatus applicationJobStatus = ApplicationJobStatus.CANCELED;
String jobStatusMessage = "Status of job " + jobId + "is " + applicationJobStatus;
jobExecutionContext.getNotifier().publish(new StatusChangeEvent(jobStatusMessage));
GFacUtils.updateApplicationJobStatus(jobExecutionContext, jobId, applicationJobStatus);
throw new GFacProviderException(experimentID + "Job Canceled");
}