int jobStatus1 = listener.getStatus();
if (jobStatus1 == GramJob.STATUS_FAILED) {
int errCode1 = listener.getError();
String errorMsg = "Job " + job.getID() + " on host " + context.getExecutionModel().getHost() + " Error Code = " + errCode1;
String localHost = context.getServiceContext().getGlobalConfiguration().getLocalHost();
throw new JobSubmissionFault(new Exception(errorMsg), localHost, "", "", CurrentProviders.Gram);
}
} catch (Exception e) {
String localHost = context.getServiceContext().getGlobalConfiguration().getLocalHost();
throw new JobSubmissionFault(e, localHost, "", "", CurrentProviders.Gram);
}
} else {
String errorMsg = "Job " + job.getID() + " on host " + context.getExecutionModel().getHost() + " Error Code = " + errCode;
String localHost = context.getServiceContext().getGlobalConfiguration().getLocalHost();
GfacException error = new JobSubmissionFault(new Exception(errorMsg), localHost, contact, rsl, CurrentProviders.Gram);
if (errCode == 8) {
error.setFaultCode(ErrorCodes.JOB_CANCELED);
} else {
error.setFaultCode(ErrorCodes.JOB_FAILED);
}
// error.addProperty(ErrorCodes.JOB_TYPE,
// ErrorCodes.JobType.Gram.toString());
// error.addProperty(ErrorCodes.CONTACT, contact);
throw error;
}
}
notifier.computationFinished(compObj);
/*
* Stdout and Stderror
*/
GridFtp ftp = new GridFtp();
// get Hostname
String hostgridFTP = null;
if (invocationContext.getExecutionContext().getExecutionModel().getHostDesc().getHostConfiguration().getGridFTPArray() != null && invocationContext.getExecutionContext().getExecutionModel().getHostDesc().getHostConfiguration().getGridFTPArray().length > 0) {
hostgridFTP = invocationContext.getExecutionContext().getExecutionModel().getHostDesc().getHostConfiguration().getGridFTPArray(0).getEndPointReference();
} else {
hostgridFTP = invocationContext.getExecutionContext().getExecutionModel().getHost();
}
URI stdoutURI = GfacUtils.createGsiftpURI(hostgridFTP, invocationContext.getExecutionContext().getExecutionModel().getStdOut());
URI stderrURI = GfacUtils.createGsiftpURI(hostgridFTP, invocationContext.getExecutionContext().getExecutionModel().getStderr());
System.out.println(stdoutURI);
System.out.println(stderrURI);
File logDir = new File("./service_logs");
if (!logDir.exists()) {
logDir.mkdir();
}
// Get the Stdouts and StdErrs
QName x = QName.valueOf(invocationContext.getServiceName());
String timeStampedServiceName = GfacUtils.createServiceDirName(x);
File localStdOutFile = new File(logDir, timeStampedServiceName + ".stdout");
File localStdErrFile = new File(logDir, timeStampedServiceName + ".stderr");
String stdout = ftp.readRemoteFile(stdoutURI, gssCred, localStdOutFile);
String stderr = ftp.readRemoteFile(stderrURI, gssCred, localStdErrFile);
//set to context
OutputUtils.fillOutputFromStdout(invocationContext.getMessageContext("output"), stdout, stderr);
jobSucsseful = true;
} catch (GramException e) {
String localHost = "xxxx";
GfacException error = new JobSubmissionFault(e, localHost, contact, rsl, CurrentProviders.Gram);
if (errCode == 8) {
error.setFaultCode(ErrorCodes.JOB_CANCELED);
} else {
error.setFaultCode(ErrorCodes.JOB_FAILED);
}
// error.addProperty(ErrorCodes.JOB_TYPE,
// ErrorCodes.JobType.Gram.toString());
// error.addProperty(ErrorCodes.CONTACT, contact);
throw error;
} catch (GSSException e) {
String localHost = context.getServiceContext().getGlobalConfiguration().getLocalHost();
throw new JobSubmissionFault(e, localHost, contact, rsl, CurrentProviders.Gram);
} catch (URISyntaxException e) {
throw new GfacException(e, FaultCode.ErrorAtDependentService);
} catch (InterruptedException e) {
throw new GfacException(e, FaultCode.ErrorAtDependentService);
} finally {