Author: mattmann
Date: Wed Sep 5 05:56:22 2012
New Revision: 1381007
URL: http://svn.apache.org/viewvc?rev=1381007&view=rev
Log:
- fix for OODT-492: Refactor Workflow Instance repo to store/retrieve that
state information
Modified:
oodt/trunk/CHANGES.txt
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/instrepo/DataSourceWorkflowInstanceRepository.java
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/instrepo/LuceneWorkflowInstanceRepository.java
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/util/DbStructFactory.java
oodt/trunk/workflow/src/main/resources/workflow.sql
oodt/trunk/workflow/src/testdata/workflow.sql
Modified: oodt/trunk/CHANGES.txt
URL:
http://svn.apache.org/viewvc/oodt/trunk/CHANGES.txt?rev=1381007&r1=1381006&r2=1381007&view=diff
==============================================================================
--- oodt/trunk/CHANGES.txt (original)
+++ oodt/trunk/CHANGES.txt Wed Sep 5 05:56:22 2012
@@ -4,6 +4,9 @@ Apache OODT Change Log
Release 0.5
--------------------------------------------
+* OODT-492: Refactor Workflow Instance repo to store/retrieve that state
+ information (mattmann)
+
* OODT-490: Refactor WorkflowProcessor to push all of its state information
into Workflow Instance (mattmann)
Modified:
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/instrepo/DataSourceWorkflowInstanceRepository.java
URL:
http://svn.apache.org/viewvc/oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/instrepo/DataSourceWorkflowInstanceRepository.java?rev=1381007&r1=1381006&r2=1381007&view=diff
==============================================================================
---
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/instrepo/DataSourceWorkflowInstanceRepository.java
(original)
+++
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/instrepo/DataSourceWorkflowInstanceRepository.java
Wed Sep 5 05:56:22 2012
@@ -103,12 +103,13 @@ public class DataSourceWorkflowInstanceR
startWorkflowSql = "INSERT INTO workflow_instances "
+ "(workflow_instance_status, workflow_id,
current_task_id,"
+ "start_date_time, end_date_time,
current_task_start_date_time,"
- + "current_task_end_date_time, priority) " + "VALUES ('"
+ + "current_task_end_date_time, priority, times_blocked) "
+ "VALUES ('"
+ wInst.getStatus() + "', " + workflowIdField + ","
+ taskIdField + ", '" + wInst.getStartDateTimeIsoStr()
+ "','" + wInst.getEndDateTimeIsoStr() + "','"
+ wInst.getCurrentTaskStartDateTimeIsoStr() + "','"
- + wInst.getCurrentTaskEndDateTimeIsoStr() + "',
"+wInst.getPriority().getValue()+")";
+ + wInst.getCurrentTaskEndDateTimeIsoStr() + "',
"+wInst.getPriority().getValue()+", "
+ + wInst.getTimesBlocked() + ")";
LOG.log(Level.FINE, "sql: Executing: " + startWorkflowSql);
statement.execute(startWorkflowSql);
@@ -212,6 +213,8 @@ public class DataSourceWorkflowInstanceR
+ wInst.getCurrentTaskEndDateTimeIsoStr()
+ "',priority="
+ wInst.getPriority().getValue()
+ + ",times_blocked="
+ + wInst.getTimesBlocked()
+" WHERE workflow_instance_id = " + wInst.getId();
LOG.log(Level.FINE, "updateStatusSql: Executing: "
Modified:
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/instrepo/LuceneWorkflowInstanceRepository.java
URL:
http://svn.apache.org/viewvc/oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/instrepo/LuceneWorkflowInstanceRepository.java?rev=1381007&r1=1381006&r2=1381007&view=diff
==============================================================================
---
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/instrepo/LuceneWorkflowInstanceRepository.java
(original)
+++
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/instrepo/LuceneWorkflowInstanceRepository.java
Wed Sep 5 05:56:22 2012
@@ -482,6 +482,10 @@ public class LuceneWorkflowInstanceRepos
doc.add(new Field("workflow_inst_id", workflowInst.getId(),
Field.Store.YES, Field.Index.UN_TOKENIZED));
+ doc.add(new Field("workflow_inst_timesblocked",
+ String.valueOf(workflowInst.getTimesBlocked()), Field.Store.YES,
+ Field.Index.UN_TOKENIZED));
+
// will leave this for back compat, but will also store
// category
doc.add(new Field("workflow_inst_status", workflowInst.getStatus(),
@@ -650,6 +654,9 @@ public class LuceneWorkflowInstanceRepos
// first read all the instance info
inst.setId(doc.get("workflow_inst_id"));
+
inst.setTimesBlocked(Integer.parseInt(doc.get("workflow_inst_timesblocked") !=
+ null ? doc.get("workflow_inst_timesblocked"):"0"));
+
// try and construct a state
WorkflowState state = new WorkflowState();
state.setName(doc.get("workflow_inst_status"));
Modified:
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/util/DbStructFactory.java
URL:
http://svn.apache.org/viewvc/oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/util/DbStructFactory.java?rev=1381007&r1=1381006&r2=1381007&view=diff
==============================================================================
---
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/util/DbStructFactory.java
(original)
+++
oodt/trunk/workflow/src/main/java/org/apache/oodt/cas/workflow/util/DbStructFactory.java
Wed Sep 5 05:56:22 2012
@@ -57,6 +57,7 @@ public final class DbStructFactory {
public static WorkflowInstance getWorkflowInstance(ResultSet rs)
throws SQLException {
WorkflowInstance workflowInst = new WorkflowInstance();
+ workflowInst.setTimesBlocked(rs.getInt("times_blocked"));
workflowInst.setStatus(rs.getString("workflow_instance_status"));
workflowInst.setId(rs.getString("workflow_instance_id"));
workflowInst.setCurrentTaskId(rs.getString("current_task_id"));
Modified: oodt/trunk/workflow/src/main/resources/workflow.sql
URL:
http://svn.apache.org/viewvc/oodt/trunk/workflow/src/main/resources/workflow.sql?rev=1381007&r1=1381006&r2=1381007&view=diff
==============================================================================
--- oodt/trunk/workflow/src/main/resources/workflow.sql (original)
+++ oodt/trunk/workflow/src/main/resources/workflow.sql Wed Sep 5 05:56:22 2012
@@ -44,7 +44,8 @@ start_date_time varchar(255),
end_date_time varchar(255),
current_task_start_date_time varchar(255),
current_task_end_date_time varchar(255),
-priority float);
+priority float,
+times_blocked int DEFAULT 0);
-- use this definition if you would like
-- to use quoteFields (string versions of
Modified: oodt/trunk/workflow/src/testdata/workflow.sql
URL:
http://svn.apache.org/viewvc/oodt/trunk/workflow/src/testdata/workflow.sql?rev=1381007&r1=1381006&r2=1381007&view=diff
==============================================================================
--- oodt/trunk/workflow/src/testdata/workflow.sql (original)
+++ oodt/trunk/workflow/src/testdata/workflow.sql Wed Sep 5 05:56:22 2012
@@ -43,7 +43,8 @@ start_date_time varchar(255),
end_date_time varchar(255),
current_task_start_date_time varchar(255),
current_task_end_date_time varchar(255),
-priority float NOT NULL);
+priority float NOT NULL,
+times_blocked int DEFAULT 0);
CREATE TABLE workflow_instance_metadata
(workflow_instance_id int NOT NULL,