public static DataTransferDetails getDataTransferDetail (DataTransferDetailResource resource) throws RegistryException { if (resource != null){ DataTransferDetails details = new DataTransferDetails(); details.setTransferID(resource.getTransferId()); details.setCreationTime(resource.getCreationTime().getTime()); details.setTransferDescription(resource.getTransferDescription()); details.setTransferStatus(getTransferStatus(resource.getDataTransferStatus())); return details; } return null; }
public List<String> getTransferDetailIds(String fieldName, Object value) throws RegistryException { List<String> transferIds = new ArrayList<String>(); List<DataTransferDetails> dataTransferDetails = getDataTransferDetails(fieldName, value); for (DataTransferDetails dtd : dataTransferDetails) { transferIds.add(dtd.getTransferID()); } return transferIds; }
GFacUtils.saveHandlerData(jobExecutionContext, temp.insert(0, ++index), this.getClass().getName()); DataTransferDetails detail = new DataTransferDetails(); TransferStatus status = new TransferStatus(); StringBuffer temp = new StringBuffer(data.append(stageInputFile).append(",").toString()); status.setTransferState(TransferState.UPLOAD); detail.setTransferStatus(status); detail.setTransferDescription("Input Data Staged: " + stageInputFile); registry.add(ChildDataType.DATA_TRANSFER_DETAIL, detail, jobExecutionContext.getTaskData().getTaskID());
public String addDataTransferDetails(DataTransferDetails transferDetails, String taskId) throws RegistryException { try { if (transferDetails.getTransferDescription() == null){ throw new RegistryException("Data transfer description cannot be empty"); resource.setTransferId(getDataTransferID(taskId)); resource.setTransferDescription(transferDetails.getTransferDescription()); resource.setCreationTime(AiravataUtils.getTime(transferDetails.getCreationTime())); resource.save(); String transferId = resource.getTransferId(); TransferStatus transferStatus = transferDetails.getTransferStatus(); if (transferStatus != null) { TransferStatus status = getDataTransferStatus(transferId);
cluster.makeDirectory(jobExecutionContext.getOutputDir()); DataTransferDetails detail = new DataTransferDetails(); TransferStatus status = new TransferStatus(); status.setTransferState(TransferState.DIRECTORY_SETUP); detail.setTransferStatus(status); detail.setTransferDescription("Working directory = " + workingDirectory); DataTransferDetails detail = new DataTransferDetails(); TransferStatus status = new TransferStatus(); status.setTransferState(TransferState.FAILED); detail.setTransferStatus(status); detail.setTransferDescription("Working directory = " + jobExecutionContext.getWorkingDir()); try { registry.add(ChildDataType.DATA_TRANSFER_DETAIL, detail, jobExecutionContext.getTaskData().getTaskID());
public String updateDataTransferDetails(DataTransferDetails transferDetails, String transferId) throws RegistryException { try { ExperimentResource experiment = (ExperimentResource) gatewayResource.create(ResourceType.EXPERIMENT); WorkflowNodeDetailResource workflowNode = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL); TaskDetailResource taskDetail = (TaskDetailResource) workflowNode.create(ResourceType.TASK_DETAIL); DataTransferDetailResource resource = taskDetail.getDataTransferDetail(transferId); // resource.setTaskDetailResource(taskDetail); resource.setTransferDescription(transferDetails.getTransferDescription()); resource.setCreationTime(AiravataUtils.getTime(transferDetails.getCreationTime())); resource.save(); String taskId = resource.getTaskDetailResource().getTaskId(); TransferStatus transferStatus = transferDetails.getTransferStatus(); if (transferStatus != null) { TransferStatus status = getDataTransferStatus(transferId); if (status != null) { updateTransferStatus(transferStatus, transferId); } else { CompositeIdentifier ids = new CompositeIdentifier(taskId, transferId); addTransferStatus(transferStatus, ids); } } return resource.getTransferId(); } catch (Exception e) { logger.error("Error while updating transfer details...", e); throw new RegistryException(e); } }
List<String> oldFiles = new ArrayList<String>(); MessageContext inputNew = new MessageContext(); DataTransferDetails detail = new DataTransferDetails(); TransferStatus status = new TransferStatus(); StringBuffer data = new StringBuffer("|"); StringBuffer temp = new StringBuffer(data.append(stageInputFile).append(",").toString()); status.setTransferState(TransferState.UPLOAD); detail.setTransferStatus(status); detail.setTransferDescription("Input Data Staged: " + stageInputFile); registry.add(ChildDataType.DATA_TRANSFER_DETAIL, detail, jobExecutionContext.getTaskData().getTaskID()); log.error(e.getMessage()); status.setTransferState(TransferState.FAILED); detail.setTransferDescription(e.getLocalizedMessage()); detail.setTransferStatus(status); try { GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.FILE_SYSTEM_FAILURE);
if (dataTransferDetailsList != null && !dataTransferDetailsList.isEmpty()) { for (DataTransferDetails transferDetails : dataTransferDetailsList) { updateDataTransferDetails(transferDetails, transferDetails.getTransferID());
cluster.makeDirectory(jobExecutionContext.getOutputDir()); DataTransferDetails detail = new DataTransferDetails(); TransferStatus status = new TransferStatus(); status.setTransferState(TransferState.DIRECTORY_SETUP); detail.setTransferStatus(status); detail.setTransferDescription("Working directory = " + workingDirectory); DataTransferDetails detail = new DataTransferDetails(); TransferStatus status = new TransferStatus(); detail.setTransferDescription("Working directory = " + jobExecutionContext.getWorkingDir()); status.setTransferState(TransferState.FAILED); detail.setTransferStatus(status); try { registry.add(ChildDataType.DATA_TRANSFER_DETAIL, detail, jobExecutionContext.getTaskData().getTaskID());
public void invoke(JobExecutionContext jobExecutionContext) throws GFacHandlerException { DataTransferDetails detail = new DataTransferDetails(); detail.setTransferDescription("Input Data Staging"); TransferStatus status = new TransferStatus(); int index = 0; StringBuffer temp = new StringBuffer(data.append(stageInputFile).append(",").toString()); status.setTransferState(TransferState.UPLOAD); detail.setTransferStatus(status); detail.setTransferDescription("Input Data Staged: " + stageInputFile); registry.add(ChildDataType.DATA_TRANSFER_DETAIL, detail, jobExecutionContext.getTaskData().getTaskID()); log.error(e.getMessage()); status.setTransferState(TransferState.FAILED); detail.setTransferStatus(status); try { StringWriter errors = new StringWriter();
public void invoke(JobExecutionContext jobExecutionContext) throws GFacHandlerException { log.info("Invoking GridFTPInputHandler ..."); super.invoke(jobExecutionContext); DataTransferDetails detail = new DataTransferDetails(); TransferStatus status = new TransferStatus(); for (String paramValueEach : split) { String stageInputFiles = stageInputFiles(jobExecutionContext, paramValueEach); detail.setTransferDescription("Input Data Staged: " + stageInputFiles); status.setTransferState(TransferState.UPLOAD); detail.setTransferStatus(status); registry.add(ChildDataType.DATA_TRANSFER_DETAIL,detail, jobExecutionContext.getTaskData().getTaskID()); try { status.setTransferState(TransferState.FAILED); detail.setTransferStatus(status); registry.add(ChildDataType.DATA_TRANSFER_DETAIL,detail, jobExecutionContext.getTaskData().getTaskID()); GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.FILE_SYSTEM_FAILURE);
throw new GFacHandlerException("Error while creating SSHSecurityContext", e, e.getLocalizedMessage()); DataTransferDetails detail = new DataTransferDetails(); TransferStatus status = new TransferStatus(); detail.setTransferStatus(status); detail.setTransferDescription("STDOUT:" + localStdOutFile.getAbsolutePath()); registry.add(ChildDataType.DATA_TRANSFER_DETAIL, detail, jobExecutionContext.getTaskData().getTaskID()); detail.setTransferStatus(status); detail.setTransferDescription("STDERR:" + localStdErrFile.getAbsolutePath()); registry.add(ChildDataType.DATA_TRANSFER_DETAIL, detail, jobExecutionContext.getTaskData().getTaskID()); jobExecutionContext.setOutputDir(outputDataDir); status.setTransferState(TransferState.DOWNLOAD); detail.setTransferStatus(status); detail.setTransferDescription(outputDataDir); registry.add(ChildDataType.DATA_TRANSFER_DETAIL, detail, jobExecutionContext.getTaskData().getTaskID()); registry.add(ChildDataType.EXPERIMENT_OUTPUT, outputArray, jobExecutionContext.getExperimentID()); try { status.setTransferState(TransferState.FAILED); detail.setTransferStatus(status); detail.setTransferDescription(e.getLocalizedMessage()); registry.add(ChildDataType.DATA_TRANSFER_DETAIL, detail, jobExecutionContext.getTaskData().getTaskID()); GFacUtils.saveErrorDetails(jobExecutionContext, e.getCause().toString(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.FILE_SYSTEM_FAILURE);
DataTransferDetails detail = new DataTransferDetails(); detail.setTransferDescription("Output data staging"); TransferStatus status = new TransferStatus(); detail.setTransferStatus(status); detail.setTransferDescription("STDOUT:" + localStdOutFile.getAbsolutePath()); registry.add(ChildDataType.DATA_TRANSFER_DETAIL, detail, jobExecutionContext.getTaskData().getTaskID()); detail.setTransferStatus(status); detail.setTransferDescription("STDERR:" + localStdErrFile.getAbsolutePath()); registry.add(ChildDataType.DATA_TRANSFER_DETAIL, detail, jobExecutionContext.getTaskData().getTaskID()); jobExecutionContext.setOutputDir(outputDataDir); status.setTransferState(TransferState.DOWNLOAD); detail.setTransferStatus(status); detail.setTransferDescription(outputDataDir); registry.add(ChildDataType.DATA_TRANSFER_DETAIL, detail, jobExecutionContext.getTaskData().getTaskID()); registry.add(ChildDataType.EXPERIMENT_OUTPUT, outputArray, jobExecutionContext.getExperimentID()); try { status.setTransferState(TransferState.FAILED); detail.setTransferStatus(status); registry.add(ChildDataType.DATA_TRANSFER_DETAIL, detail, jobExecutionContext.getTaskData().getTaskID()); StringWriter errors = new StringWriter();
File localStdErrFile = null; Map<String, ActualParameter> stringMap = new HashMap<String, ActualParameter>(); DataTransferDetails detail = new DataTransferDetails(); TransferStatus status = new TransferStatus(); URI stderrURI = GramProviderUtils.createGsiftpURI(endpoint, app.getStandardError()); status.setTransferState(TransferState.COMPLETE); detail.setTransferStatus(status); detail.setTransferDescription("STDOUT:" + stdoutURI.toString()); registry.add(ChildDataType.DATA_TRANSFER_DETAIL,detail, jobExecutionContext.getTaskData().getTaskID()); status.setTransferState(TransferState.COMPLETE); detail.setTransferStatus(status); detail.setTransferDescription("STDERR:" + stderrURI.toString()); registry.add(ChildDataType.DATA_TRANSFER_DETAIL,detail, jobExecutionContext.getTaskData().getTaskID()); detail.setTransferStatus(status); detail.setTransferDescription("Output: " + stringMap.get(paramName).toString()); registry.add(ChildDataType.DATA_TRANSFER_DETAIL,detail, jobExecutionContext.getTaskData().getTaskID()); try { status.setTransferState(TransferState.FAILED); detail.setTransferStatus(status); registry.add(ChildDataType.DATA_TRANSFER_DETAIL,detail, jobExecutionContext.getTaskData().getTaskID()); GFacUtils.saveErrorDetails(jobExecutionContext, e.getLocalizedMessage(), CorrectiveAction.CONTACT_SUPPORT, ErrorCategory.FILE_SYSTEM_FAILURE);
ftp.makeDir(outputURI, gssCred); success = true; DataTransferDetails detail = new DataTransferDetails(); TransferStatus status = new TransferStatus(); status.setTransferState(TransferState.DIRECTORY_SETUP); detail.setTransferStatus(status); detail.setTransferDescription("Working directory = " + workingDirURI); registry.add(ChildDataType.DATA_TRANSFER_DETAIL,detail, jobExecutionContext.getTaskData().getTaskID());