public static AdvancedInputDataHandling getAdvanceInputDataHandling(AdvanceInputDataHandlingResource adhr){ if (adhr != null){ AdvancedInputDataHandling adih = new AdvancedInputDataHandling(); adih.setStageInputFilesToWorkingDir(adhr.isStageInputFiles()); adih.setParentWorkingDirectory(adhr.getWorkingDirParent()); adih.setUniqueWorkingDirectory(adhr.getWorkingDir()); adih.setCleanUpWorkingDirAfterJob(adhr.isCleanAfterJob()); return adih; } return null; }
public void addInputDataHandling(AdvancedInputDataHandling inputDataHandling, Resource resource) throws RegistryException { AdvanceInputDataHandlingResource adidh = new AdvanceInputDataHandlingResource(); try { if (resource instanceof ExperimentResource) { ExperimentResource experiment = (ExperimentResource) resource; adidh.setExperimentResource(experiment); } if (resource instanceof TaskDetailResource) { TaskDetailResource taskDetailResource = (TaskDetailResource) resource; adidh.setTaskDetailResource(taskDetailResource); adidh.setExperimentResource(taskDetailResource.getWorkflowNodeDetailResource().getExperimentResource()); } adidh.setWorkingDir(inputDataHandling.getUniqueWorkingDirectory()); adidh.setWorkingDirParent(inputDataHandling.getParentWorkingDirectory()); adidh.setStageInputFiles(inputDataHandling.isSetStageInputFilesToWorkingDir()); adidh.setCleanAfterJob(inputDataHandling.isCleanUpWorkingDirAfterJob()); adidh.save(); } catch (Exception e) { logger.error("Unable to save input data handling data", e); throw new RegistryException(e); } }
/** * @param dataHandling advanced input data handling object * @param ids contains expId and taskId * @return data handling id */ public String addInputDataHandling(AdvancedInputDataHandling dataHandling, CompositeIdentifier ids) throws RegistryException { try { ExperimentResource experiment = gatewayResource.getExperiment((String) ids.getTopLevelIdentifier()); AdvanceInputDataHandlingResource dataHandlingResource = (AdvanceInputDataHandlingResource) experiment.create(ResourceType.ADVANCE_INPUT_DATA_HANDLING); if (ids.getSecondLevelIdentifier() != null) { WorkflowNodeDetailResource nodeDetailResource = (WorkflowNodeDetailResource) experiment.create(ResourceType.WORKFLOW_NODE_DETAIL); TaskDetailResource taskDetail = nodeDetailResource.getTaskDetail((String) ids.getSecondLevelIdentifier()); dataHandlingResource.setTaskDetailResource(taskDetail); } dataHandlingResource.setExperimentResource(experiment); dataHandlingResource.setWorkingDir(dataHandling.getUniqueWorkingDirectory()); dataHandlingResource.setWorkingDirParent(dataHandling.getParentWorkingDirectory()); dataHandlingResource.setStageInputFiles(dataHandling.isStageInputFilesToWorkingDir()); dataHandlingResource.setCleanAfterJob(dataHandling.isCleanUpWorkingDirAfterJob()); dataHandlingResource.save(); return String.valueOf(dataHandlingResource.getDataHandlingId()); } catch (Exception e) { logger.error("Error while adding input data handling...", e); throw new RegistryException(e); } }
public void updateInputDataHandling(AdvancedInputDataHandling inputDataHandling, Resource resource) throws RegistryException { AdvanceInputDataHandlingResource adidh; try { if (resource instanceof ExperimentResource) { ExperimentResource expResource = (ExperimentResource) resource; adidh = expResource.getInputDataHandling(expResource.getExpID()); adidh.setExperimentResource(expResource); } else { TaskDetailResource taskDetailResource = (TaskDetailResource) resource; adidh = taskDetailResource.getInputDataHandling(taskDetailResource.getTaskId()); adidh.setTaskDetailResource(taskDetailResource); adidh.setExperimentResource(taskDetailResource.getWorkflowNodeDetailResource().getExperimentResource()); } adidh.setWorkingDir(inputDataHandling.getUniqueWorkingDirectory()); adidh.setWorkingDirParent(inputDataHandling.getParentWorkingDirectory()); adidh.setStageInputFiles(inputDataHandling.isSetStageInputFilesToWorkingDir()); adidh.setCleanAfterJob(inputDataHandling.isCleanUpWorkingDirAfterJob()); adidh.save(); } catch (Exception e) { logger.error("Error while updating input data handling...", e); throw new RegistryException(e); } }