/* * (non-Javadoc) * * @see org.apache.oodt.cas.workflow.repository.WorkflowRepository#getWorkflowTaskById(java.lang.String) */ public WorkflowTask getWorkflowTaskById(String taskId) throws RepositoryException { Connection conn = null; Statement statement = null; ResultSet rs = null; WorkflowTask task = null; try { conn = dataSource.getConnection(); statement = conn.createStatement(); String getTaskSql = "SELECT * FROM workflow_tasks WHERE workflow_task_id = " + taskId; LOG.log(Level.FINE, "getWorkflowTaskById: Executing: " + getTaskSql); rs = statement.executeQuery(getTaskSql); while (rs.next()) { // get an instance of the class name task = DbStructFactory.getWorkflowTask(rs, false); task.setConditions(getConditionsByTaskId(task.getTaskId())); task.setTaskConfig(getConfigurationByTaskId(task.getTaskId())); } } catch (Exception e) { e.printStackTrace(); LOG.log(Level.WARNING, "Exception getting task by id. Message: " + e.getMessage()); try { conn.rollback(); } catch (SQLException e2) { LOG.log( Level.SEVERE, "Unable to rollback getWorkflowTaskById transaction. Message: " + e2.getMessage()); } throw new RepositoryException(e.getMessage()); } finally { if (rs != null) { try { rs.close(); } catch (SQLException ignore) { } rs = null; } if (statement != null) { try { statement.close(); } catch (SQLException ignore) { } statement = null; } if (conn != null) { try { conn.close(); } catch (SQLException ignore) { } conn = null; } } return task; }
public List getTasksByWorkflowName(String workflowName) throws RepositoryException { Connection conn = null; Statement statement = null; ResultSet rs = null; List tasks = null; try { conn = dataSource.getConnection(); statement = conn.createStatement(); String getTasksSql = "SELECT workflow_tasks.*, workflow_task_map.task_order " + "FROM workflow_tasks, workflow_task_map, workflows " + "WHERE workflow_task_map.workflow_task_id = workflow_tasks.workflow_task_id " + "AND workflow_task_map.workflow_id = workflows.workflow_id " + "AND workflows.workflow_name = '" + workflowName + "' " + "ORDER BY workflow_task_map.task_order"; LOG.log(Level.FINE, "getTasksByWorkflowName: Executing: " + getTasksSql); rs = statement.executeQuery(getTasksSql); tasks = new Vector(); while (rs.next()) { // get an instance of the class name WorkflowTask task = DbStructFactory.getWorkflowTask(rs, true); if (task != null) { task.setConditions(getConditionsByTaskId(task.getTaskId())); task.setTaskConfig(getConfigurationByTaskId(task.getTaskId())); tasks.add(task); } } if (tasks.size() == 0) { tasks = null; } } catch (Exception e) { e.printStackTrace(); LOG.log(Level.WARNING, "Exception getting tasks for workflow. Message: " + e.getMessage()); try { conn.rollback(); } catch (SQLException e2) { LOG.log( Level.SEVERE, "Unable to rollback getTasksByWorkflowName transaction. Message: " + e2.getMessage()); } throw new RepositoryException(e.getMessage()); } finally { if (rs != null) { try { rs.close(); } catch (SQLException ignore) { } rs = null; } if (statement != null) { try { statement.close(); } catch (SQLException ignore) { } statement = null; } if (conn != null) { try { conn.close(); } catch (SQLException ignore) { } conn = null; } } return tasks; }