[DS-968] XML configurable workflow : Adjust table naming convention to not use "XML" as we will make this database driven in the near future. Best to do this prior to release to not complicate demo upgrades and testing. org.dspace.xmlworkflow Package will be renamed after RC releases.

git-svn-id: http://scm.dspace.org/svn/repo/dspace/trunk@6677 9c30dcfa-912a-0410-8fc2-9e0234be79fd
This commit is contained in:
Mark Diggory
2011-09-09 19:51:08 +00:00
parent f872d8efc8
commit 0c528afbd3
13 changed files with 281 additions and 281 deletions

View File

@@ -989,15 +989,15 @@ public class EPerson extends DSpaceObject
private void getXMLWorkflowConstraints(List<String> tableList) throws SQLException {
TableRowIterator tri;
// check for eperson in claimtask table
tri = DatabaseManager.queryTable(myContext, "xmlwf_claimtask",
"SELECT * from xmlwf_claimtask where owner_id= ? ",
tri = DatabaseManager.queryTable(myContext, "cwf_claimtask",
"SELECT * from cwf_claimtask where owner_id= ? ",
getID());
try
{
if (tri.hasNext())
{
tableList.add("xmlwf_claimtask");
tableList.add("cwf_claimtask");
}
}
finally
@@ -1010,15 +1010,15 @@ public class EPerson extends DSpaceObject
}
// check for eperson in pooltask table
tri = DatabaseManager.queryTable(myContext, "xmlwf_pooltask",
"SELECT * from xmlwf_pooltask where eperson_id= ? ",
tri = DatabaseManager.queryTable(myContext, "cwf_pooltask",
"SELECT * from cwf_pooltask where eperson_id= ? ",
getID());
try
{
if (tri.hasNext())
{
tableList.add("xmlwf_pooltask");
tableList.add("cwf_pooltask");
}
}
finally
@@ -1031,15 +1031,15 @@ public class EPerson extends DSpaceObject
}
// check for eperson in workflowitemrole table
tri = DatabaseManager.queryTable(myContext, "xmlwf_workflowitemrole",
"SELECT * from xmlwf_workflowitemrole where eperson_id= ? ",
tri = DatabaseManager.queryTable(myContext, "cwf_workflowitemrole",
"SELECT * from cwf_workflowitemrole where eperson_id= ? ",
getID());
try
{
if (tri.hasNext())
{
tableList.add("xmlwf_workflowitemrole");
tableList.add("cwf_workflowitemrole");
}
}
finally

View File

@@ -254,7 +254,7 @@ public class WorkflowUtils extends Util{
}
// public static List<String> getAllUsedStepIdentifiers(Context context) throws SQLException {
// TableRowIterator tri = DatabaseManager.queryTable(context, "xmlwf_claimtask", "SELECT DISTINCT step_id FROM xmlwf_pooltask UNION SELECT DISTINCT step_id FROM xmlwf_claimtask");
// TableRowIterator tri = DatabaseManager.queryTable(context, "cwf_claimtask", "SELECT DISTINCT step_id FROM cwf_pooltask UNION SELECT DISTINCT step_id FROM cwf_claimtask");
// List<String> result = new ArrayList<String>();
// while(tri.hasNext()){
// TableRow row = tri.next();

View File

@@ -673,7 +673,7 @@ public class XmlWorkflowManager {
// Now remove the workflow object manually from the database
DatabaseManager.updateQuery(c,
"DELETE FROM xmlwf_workflowitem WHERE workflowitem_id=" + wfi.getID());
"DELETE FROM cwf_workflowitem WHERE workflowitem_id=" + wfi.getID());
return wi;
}

View File

@@ -47,7 +47,7 @@ public class ClaimedTask {
public static ClaimedTask find(Context context, int id)
throws SQLException {
TableRow row = DatabaseManager.find(context, "xmlwf_claimtask", id);
TableRow row = DatabaseManager.find(context, "cwf_claimtask", id);
if (row == null)
{
@@ -60,8 +60,8 @@ public class ClaimedTask {
}
public static List<ClaimedTask> findByWorkflowId(Context context, int workflowID) throws SQLException {
TableRowIterator tri = DatabaseManager.queryTable(context,"xmlwf_claimtask",
"SELECT * FROM xmlwf_claimtask WHERE workflowitem_id= "+workflowID);
TableRowIterator tri = DatabaseManager.queryTable(context,"cwf_claimtask",
"SELECT * FROM cwf_claimtask WHERE workflowitem_id= "+workflowID);
List<ClaimedTask> list = new ArrayList<ClaimedTask>();
while(tri.hasNext()) {
TableRow row = tri.next();
@@ -71,8 +71,8 @@ public class ClaimedTask {
}
public static ClaimedTask findByWorkflowIdAndEPerson(Context context, int workflowID, int epersonID) throws SQLException {
TableRow row = DatabaseManager.querySingleTable(context,"xmlwf_claimtask",
"SELECT * FROM xmlwf_claimtask WHERE workflowitem_id= ? AND owner_id= ?", workflowID, epersonID);
TableRow row = DatabaseManager.querySingleTable(context,"cwf_claimtask",
"SELECT * FROM cwf_claimtask WHERE workflowitem_id= ? AND owner_id= ?", workflowID, epersonID);
if(row == null)
return null;
else
@@ -80,8 +80,8 @@ public class ClaimedTask {
}
public static List<ClaimedTask> findByEperson(Context context, int epersonID) throws SQLException {
TableRowIterator tri = DatabaseManager.queryTable(context,"xmlwf_claimtask",
"SELECT * FROM xmlwf_claimtask WHERE owner_id= "+epersonID);
TableRowIterator tri = DatabaseManager.queryTable(context,"cwf_claimtask",
"SELECT * FROM cwf_claimtask WHERE owner_id= "+epersonID);
List<ClaimedTask> list = new ArrayList<ClaimedTask>();
while(tri.hasNext()) {
TableRow row = tri.next();
@@ -91,8 +91,8 @@ public class ClaimedTask {
}
public static List<ClaimedTask> find(Context c, int wfiID, String stepID) throws SQLException {
TableRowIterator tri = DatabaseManager.queryTable(c,"xmlwf_claimtask",
"SELECT * FROM xmlwf_claimtask WHERE workflowitem_id="+wfiID+" AND step_id= ?", stepID);
TableRowIterator tri = DatabaseManager.queryTable(c,"cwf_claimtask",
"SELECT * FROM cwf_claimtask WHERE workflowitem_id="+wfiID+" AND step_id= ?", stepID);
List<ClaimedTask> list = new ArrayList<ClaimedTask>();
while(tri.hasNext()) {
@@ -104,14 +104,14 @@ public class ClaimedTask {
}
public static ClaimedTask find(Context c, int epersonID, int wfiID, String stepID, String actionID) throws SQLException {
TableRow row = DatabaseManager.querySingleTable(c,"xmlwf_claimtask",
"SELECT * FROM xmlwf_claimtask WHERE workflowitem_id="+wfiID+" AND owner_id= "+epersonID+" AND action_id= ? AND step_id= ?",actionID, stepID);
TableRow row = DatabaseManager.querySingleTable(c,"cwf_claimtask",
"SELECT * FROM cwf_claimtask WHERE workflowitem_id="+wfiID+" AND owner_id= "+epersonID+" AND action_id= ? AND step_id= ?",actionID, stepID);
return new ClaimedTask(c, row);
}
public static List<ClaimedTask> find(Context c, int wfiID, String stepID, String actionID) throws SQLException {
TableRowIterator tri = DatabaseManager.queryTable(c,"xmlwf_claimtask",
"SELECT * FROM xmlwf_claimtask WHERE workflowitem_id="+wfiID+" AND step_id= ? AND action_id=?", stepID, actionID);
TableRowIterator tri = DatabaseManager.queryTable(c,"cwf_claimtask",
"SELECT * FROM cwf_claimtask WHERE workflowitem_id="+wfiID+" AND step_id= ? AND action_id=?", stepID, actionID);
List<ClaimedTask> list = new ArrayList<ClaimedTask>();
while(tri.hasNext()) {
TableRow row = tri.next();
@@ -121,8 +121,8 @@ public class ClaimedTask {
}
public static List<ClaimedTask> find(Context c, XmlWorkflowItem workflowItem) throws SQLException {
TableRowIterator tri = DatabaseManager.queryTable(c,"xmlwf_claimtask",
"SELECT * FROM xmlwf_claimtask WHERE workflowitem_id="+workflowItem.getID());
TableRowIterator tri = DatabaseManager.queryTable(c,"cwf_claimtask",
"SELECT * FROM cwf_claimtask WHERE workflowitem_id="+workflowItem.getID());
List<ClaimedTask> list = new ArrayList<ClaimedTask>();
while(tri.hasNext()) {
TableRow row = tri.next();
@@ -132,7 +132,7 @@ public class ClaimedTask {
}
public static List<ClaimedTask> findAllInStep(Context c, String stepID) throws SQLException {
TableRowIterator tri = DatabaseManager.queryTable(c,"xmlwf_claimtask", "SELECT * FROM xmlwf_claimtask WHERE step_id= ?", stepID);
TableRowIterator tri = DatabaseManager.queryTable(c,"cwf_claimtask", "SELECT * FROM cwf_claimtask WHERE step_id= ?", stepID);
List<ClaimedTask> list = new ArrayList<ClaimedTask>();
while(tri.hasNext()) {
@@ -144,7 +144,7 @@ public class ClaimedTask {
public static ClaimedTask create(Context context) throws SQLException {
TableRow row = DatabaseManager.create(context, "xmlwf_claimtask");
TableRow row = DatabaseManager.create(context, "cwf_claimtask");
return new ClaimedTask(context, row);
}

View File

@@ -54,7 +54,7 @@ public class CollectionRole {
public static CollectionRole find(Context context, int id)
throws SQLException
{
TableRow row = DatabaseManager.find(context, "xmlwf_collectionrole", id);
TableRow row = DatabaseManager.find(context, "cwf_collectionrole", id);
if (row == null)
{
@@ -67,8 +67,8 @@ public class CollectionRole {
}
public static CollectionRole find(Context context, int collection, String role) throws SQLException {
TableRowIterator tri = DatabaseManager.queryTable(context,"xmlwf_collectionrole",
"SELECT * FROM xmlwf_collectionrole WHERE collection_id="+collection+" AND role_id= ? ",
TableRowIterator tri = DatabaseManager.queryTable(context,"cwf_collectionrole",
"SELECT * FROM cwf_collectionrole WHERE collection_id="+collection+" AND role_id= ? ",
role);
TableRow row = null;
@@ -91,8 +91,8 @@ public class CollectionRole {
}
public static CollectionRole[] findByCollection(Context context, int collection) throws SQLException {
TableRowIterator tri = DatabaseManager.queryTable(context,"xmlwf_collectionrole",
"SELECT * FROM xmlwf_collectionrole WHERE collection_id=?", collection);
TableRowIterator tri = DatabaseManager.queryTable(context,"cwf_collectionrole",
"SELECT * FROM cwf_collectionrole WHERE collection_id=?", collection);
List<CollectionRole> collectionRoles = new ArrayList<CollectionRole>();
@@ -118,7 +118,7 @@ public class CollectionRole {
public static CollectionRole create(Context context) throws SQLException,
AuthorizeException {
TableRow row = DatabaseManager.create(context, "xmlwf_collectionrole");
TableRow row = DatabaseManager.create(context, "cwf_collectionrole");
return new CollectionRole(context, row);
}

View File

@@ -47,7 +47,7 @@ public class InProgressUser {
public static InProgressUser find(Context context, int id)
throws SQLException {
TableRow row = DatabaseManager.find(context, "xmlwf_in_progress_user", id);
TableRow row = DatabaseManager.find(context, "cwf_in_progress_user", id);
if (row == null)
{
@@ -60,8 +60,8 @@ public class InProgressUser {
}
public static InProgressUser findByWorkflowItemAndEPerson(Context context, int wfiID, int epersonID) throws SQLException {
TableRow row = DatabaseManager.querySingleTable(context,"xmlwf_in_progress_user",
"SELECT * FROM xmlwf_in_progress_user WHERE workflowitem_id= ? AND user_id= ?", wfiID, epersonID);
TableRow row = DatabaseManager.querySingleTable(context,"cwf_in_progress_user",
"SELECT * FROM cwf_in_progress_user WHERE workflowitem_id= ? AND user_id= ?", wfiID, epersonID);
if(row == null)
return null;
else
@@ -69,8 +69,8 @@ public class InProgressUser {
}
public static List<InProgressUser> findByEperson(Context context, int epersonID) throws SQLException {
TableRowIterator tri = DatabaseManager.queryTable(context,"xmlwf_in_progress_user",
"SELECT * FROM xmlwf_in_progress_user WHERE user_id = "+epersonID);
TableRowIterator tri = DatabaseManager.queryTable(context,"cwf_in_progress_user",
"SELECT * FROM cwf_in_progress_user WHERE user_id = "+epersonID);
List<InProgressUser> list = new ArrayList<InProgressUser>();
while(tri.hasNext()) {
TableRow row = tri.next();
@@ -80,8 +80,8 @@ public class InProgressUser {
}
public static List<InProgressUser> findByWorkflowItem(Context c, int wfiID) throws SQLException {
TableRowIterator tri = DatabaseManager.queryTable(c,"xmlwf_in_progress_user",
"SELECT * FROM xmlwf_in_progress_user WHERE workflowitem_id="+wfiID);
TableRowIterator tri = DatabaseManager.queryTable(c,"cwf_in_progress_user",
"SELECT * FROM cwf_in_progress_user WHERE workflowitem_id="+wfiID);
List<InProgressUser> list = new ArrayList<InProgressUser>();
while(tri.hasNext()) {
@@ -93,20 +93,20 @@ public class InProgressUser {
}
public static int getNumberOfInProgressUsers(Context c, int wfiID) throws SQLException {
TableRowIterator tri = DatabaseManager.queryTable(c,"xmlwf_in_progress_user",
"SELECT * FROM xmlwf_in_progress_user WHERE workflowitem_id="+wfiID+" AND finished= '0'");
TableRowIterator tri = DatabaseManager.queryTable(c,"cwf_in_progress_user",
"SELECT * FROM cwf_in_progress_user WHERE workflowitem_id="+wfiID+" AND finished= '0'");
return tri.toList().size();
}
public static int getNumberOfFinishedUsers(Context c, int wfiID) throws SQLException {
TableRowIterator tri = DatabaseManager.queryTable(c,"xmlwf_in_progress_user",
"SELECT * FROM xmlwf_in_progress_user WHERE workflowitem_id="+wfiID+" AND finished= '1'");
TableRowIterator tri = DatabaseManager.queryTable(c,"cwf_in_progress_user",
"SELECT * FROM cwf_in_progress_user WHERE workflowitem_id="+wfiID+" AND finished= '1'");
return tri.toList().size();
}
public static InProgressUser create(Context context) throws SQLException {
TableRow row = DatabaseManager.create(context, "xmlwf_in_progress_user");
TableRow row = DatabaseManager.create(context, "cwf_in_progress_user");
return new InProgressUser(context, row);
}

View File

@@ -53,7 +53,7 @@ public class PoolTask {
public static PoolTask find(Context context, int id)
throws SQLException {
TableRow row = DatabaseManager.find(context, "xmlwf_pooltask", id);
TableRow row = DatabaseManager.find(context, "cwf_pooltask", id);
if (row == null)
{
@@ -66,8 +66,8 @@ public class PoolTask {
}
public static List<PoolTask> findByEperson(Context context, int eperson_id) throws SQLException, AuthorizeException, IOException {
TableRowIterator tri = DatabaseManager.queryTable(context,"xmlwf_pooltask",
"SELECT * FROM xmlwf_pooltask WHERE eperson_id= "+eperson_id);
TableRowIterator tri = DatabaseManager.queryTable(context,"cwf_pooltask",
"SELECT * FROM cwf_pooltask WHERE eperson_id= "+eperson_id);
//Hashmap to map workflow item id's to pooltasks. This will allow to have a list of unique workflowitems for which
//the user will see PoolTasks
HashMap<Integer, PoolTask> tasks = new HashMap<Integer, PoolTask>();
@@ -80,8 +80,8 @@ public class PoolTask {
tri.close();
//Get all PoolTasks for groups of which this eperson is a member
for(Group group: Group.allMemberGroups(context, EPerson.find(context, eperson_id))){
tri = DatabaseManager.queryTable(context,"xmlwf_pooltask",
"SELECT * FROM xmlwf_pooltask WHERE group_id= "+group.getID());
tri = DatabaseManager.queryTable(context,"cwf_pooltask",
"SELECT * FROM cwf_pooltask WHERE group_id= "+group.getID());
while(tri.hasNext()){
TableRow row = tri.next();
PoolTask task = new PoolTask(context, row);
@@ -97,8 +97,8 @@ public class PoolTask {
}
public static List<PoolTask> find(Context context, XmlWorkflowItem workflowItem) throws SQLException {
TableRowIterator tri = DatabaseManager.queryTable(context,"xmlwf_pooltask",
"SELECT * FROM xmlwf_pooltask WHERE workflowitem_id= "+workflowItem.getID());
TableRowIterator tri = DatabaseManager.queryTable(context,"cwf_pooltask",
"SELECT * FROM cwf_pooltask WHERE workflowitem_id= "+workflowItem.getID());
List<PoolTask> list = new ArrayList<PoolTask>();
while(tri.hasNext()){
TableRow row = tri.next();
@@ -109,8 +109,8 @@ public class PoolTask {
}
public static PoolTask findByWorkflowIdAndEPerson(Context context, int workflowID, int epersonID) throws SQLException, AuthorizeException, IOException {
TableRow row = DatabaseManager.querySingleTable(context,"xmlwf_pooltask",
"SELECT * FROM xmlwf_pooltask WHERE workflowitem_id= ? AND eperson_id = ?", workflowID, epersonID);
TableRow row = DatabaseManager.querySingleTable(context,"cwf_pooltask",
"SELECT * FROM cwf_pooltask WHERE workflowitem_id= ? AND eperson_id = ?", workflowID, epersonID);
//If there is a pooltask for this eperson, return it
if(row != null)
return new PoolTask(context, row);
@@ -125,8 +125,8 @@ public class PoolTask {
//If the user does not have a claimedtask yet, see whether one of the groups of the user has pooltasks
//for this workflow item
for(Group group: Group.allMemberGroups(context, EPerson.find(context, epersonID))){
row = DatabaseManager.querySingleTable(context,"xmlwf_pooltask",
"SELECT * FROM xmlwf_pooltask WHERE workflowitem_id= ? AND group_id = ?", workflowID, group.getID());
row = DatabaseManager.querySingleTable(context,"cwf_pooltask",
"SELECT * FROM cwf_pooltask WHERE workflowitem_id= ? AND group_id = ?", workflowID, group.getID());
if(row != null){
return new PoolTask(context, row);
}
@@ -137,7 +137,7 @@ public class PoolTask {
}
public static PoolTask create(Context context) throws SQLException {
TableRow row = DatabaseManager.create(context, "xmlwf_pooltask");
TableRow row = DatabaseManager.create(context, "cwf_pooltask");
return new PoolTask(context, row);
}

View File

@@ -52,7 +52,7 @@ public class WorkflowItemRole {
public static WorkflowItemRole find(Context context, int id)
throws SQLException
{
TableRow row = DatabaseManager.find(context, "xmlwf_workflowitemrole", id);
TableRow row = DatabaseManager.find(context, "cwf_workflowitemrole", id);
if (row == null)
{
@@ -65,8 +65,8 @@ public class WorkflowItemRole {
}
public static WorkflowItemRole[] find(Context context, int workflowItemId, String role) throws SQLException {
TableRowIterator tri = DatabaseManager.queryTable(context,"xmlwf_workflowitemrole",
"SELECT * FROM xmlwf_workflowitemrole WHERE workflowitem_id= ? AND role_id= ? ",
TableRowIterator tri = DatabaseManager.queryTable(context,"cwf_workflowitemrole",
"SELECT * FROM cwf_workflowitemrole WHERE workflowitem_id= ? AND role_id= ? ",
workflowItemId, role);
ArrayList<WorkflowItemRole> roles = new ArrayList<WorkflowItemRole>();
@@ -78,8 +78,8 @@ public class WorkflowItemRole {
}
public static WorkflowItemRole[] findAllForItem(Context context, int workflowItemId) throws SQLException {
TableRowIterator tri = DatabaseManager.queryTable(context,"xmlwf_workflowitemrole",
"SELECT * FROM xmlwf_workflowitemrole WHERE workflowitem_id= ? ",
TableRowIterator tri = DatabaseManager.queryTable(context,"cwf_workflowitemrole",
"SELECT * FROM cwf_workflowitemrole WHERE workflowitem_id= ? ",
workflowItemId);
ArrayList<WorkflowItemRole> roles = new ArrayList<WorkflowItemRole>();
@@ -93,7 +93,7 @@ public class WorkflowItemRole {
public static WorkflowItemRole create(Context context) throws SQLException,
AuthorizeException {
TableRow row = DatabaseManager.create(context, "xmlwf_workflowitemrole");
TableRow row = DatabaseManager.create(context, "cwf_workflowitemrole");
return new WorkflowItemRole(context, row);
}

View File

@@ -52,7 +52,7 @@ public class XmlWorkflowItem implements InProgressSubmission {
public static XmlWorkflowItem create(Context context) throws AuthorizeException, IOException, SQLException {
TableRow row = DatabaseManager.create(context, "xmlwf_workflowitem");
TableRow row = DatabaseManager.create(context, "cwf_workflowitem");
return new XmlWorkflowItem(context, row);
}
@@ -98,7 +98,7 @@ public class XmlWorkflowItem implements InProgressSubmission {
return fromCache;
}
TableRow row = DatabaseManager.find(context, "xmlwf_workflowitem", id);
TableRow row = DatabaseManager.find(context, "cwf_workflowitem", id);
// TableRow row = DatabaseManager.querySingle(context, "SELECT * FROM workflowitem WHERE item_id= "+id);
if (row == null)
@@ -131,8 +131,8 @@ public class XmlWorkflowItem implements InProgressSubmission {
*/
public static XmlWorkflowItem[] findAll(Context c) throws SQLException, AuthorizeException, IOException, WorkflowConfigurationException {
List wfItems = new ArrayList();
TableRowIterator tri = DatabaseManager.queryTable(c, "xmlwf_workflowitem",
"SELECT * FROM xmlwf_workflowitem");
TableRowIterator tri = DatabaseManager.queryTable(c, "cwf_workflowitem",
"SELECT * FROM cwf_workflowitem");
try
{
@@ -176,7 +176,7 @@ public class XmlWorkflowItem implements InProgressSubmission {
List wfItems = new ArrayList();
StringBuffer query = new StringBuffer();
query.append("SELECT * FROM xmlwf_workflowitem ");
query.append("SELECT * FROM cwf_workflowitem ");
if(collectionId != -1){
query.append("WHERE collection_id=").append(collectionId);
}
@@ -260,7 +260,7 @@ public class XmlWorkflowItem implements InProgressSubmission {
*/
public static int countAllInCollection(Context c, int collId) throws SQLException, AuthorizeException, IOException, WorkflowConfigurationException {
StringBuffer query = new StringBuffer();
query.append("SELECT count(*) AS count FROM xmlwf_workflowitem ");
query.append("SELECT count(*) AS count FROM cwf_workflowitem ");
if(collId != -1){
query.append(" WHERE collection_id= ").append(collId);
}
@@ -278,11 +278,11 @@ public class XmlWorkflowItem implements InProgressSubmission {
throws SQLException, AuthorizeException, IOException, WorkflowConfigurationException {
List wfItems = new ArrayList();
TableRowIterator tri = DatabaseManager.queryTable(context, "xmlwf_workflowitem",
"SELECT xmlwf_workflowitem.* FROM xmlwf_workflowitem, item WHERE " +
"xmlwf_workflowitem.item_id=item.item_id AND " +
TableRowIterator tri = DatabaseManager.queryTable(context, "cwf_workflowitem",
"SELECT cwf_workflowitem.* FROM cwf_workflowitem, item WHERE " +
"cwf_workflowitem.item_id=item.item_id AND " +
"item.submitter_id= ? " +
"ORDER BY xmlwf_workflowitem.workflowitem_id",
"ORDER BY cwf_workflowitem.workflowitem_id",
ep.getID());
while (tri.hasNext())
@@ -323,9 +323,9 @@ public class XmlWorkflowItem implements InProgressSubmission {
throws SQLException, AuthorizeException, IOException {
List wsItems = new ArrayList();
TableRowIterator tri = DatabaseManager.queryTable(context, "xmlwf_workflowitem",
"SELECT xmlwf_workflowitem.* FROM xmlwf_workflowitem WHERE " +
"xmlwf_workflowitem.collection_id= ? ",
TableRowIterator tri = DatabaseManager.queryTable(context, "cwf_workflowitem",
"SELECT cwf_workflowitem.* FROM cwf_workflowitem WHERE " +
"cwf_workflowitem.collection_id= ? ",
c.getID());
try

View File

@@ -1,27 +1,27 @@
-- Convert workflow groups:
-- TODO: is 'to_number' ok? do not forget to change role_id values
INSERT INTO xmlwf_collectionrole (collectionrole_id, role_id, group_id, collection_id)
INSERT INTO cwf_collectionrole (collectionrole_id, role_id, group_id, collection_id)
SELECT
xmlwf_collectionrole_seq.nextval as collectionrole_id,
cwf_collectionrole_seq.nextval as collectionrole_id,
'reviewer' AS role_id,
eperson_group_id AS group_id,
to_number(replace(replace(name, 'COLLECTION_', ''), '_WORKFLOW_STEP_1', '')) AS collection_id
FROM epersongroup
WHERE name LIKE 'COLLECTION_%_WORKFLOW_STEP_1';
INSERT INTO xmlwf_collectionrole (collectionrole_id, role_id, group_id, collection_id)
INSERT INTO cwf_collectionrole (collectionrole_id, role_id, group_id, collection_id)
SELECT
xmlwf_collectionrole_seq.nextval as collectionrole_id,
cwf_collectionrole_seq.nextval as collectionrole_id,
'editor' AS role_id,
eperson_group_id AS group_id,
to_number(replace(replace(name, 'COLLECTION_', ''), '_WORKFLOW_STEP_2', '')) AS collection_id
FROM epersongroup
WHERE name LIKE 'COLLECTION_%_WORKFLOW_STEP_2';
INSERT INTO xmlwf_collectionrole (collectionrole_id, role_id, group_id, collection_id)
INSERT INTO cwf_collectionrole (collectionrole_id, role_id, group_id, collection_id)
SELECT
xmlwf_collectionrole_seq.nextval as collectionrole_id,
cwf_collectionrole_seq.nextval as collectionrole_id,
'finaleditor' AS role_id,
eperson_group_id AS group_id,
to_number(replace(replace(name, 'COLLECTION_', ''), '_WORKFLOW_STEP_3', '')) AS collection_id
@@ -30,7 +30,7 @@ WHERE name LIKE 'COLLECTION_%_WORKFLOW_STEP_3';
-- Migrate workflow items
INSERT INTO xmlwf_workflowitem (workflowitem_id, item_id, collection_id, multiple_titles, published_before, multiple_files)
INSERT INTO cwf_workflowitem (workflowitem_id, item_id, collection_id, multiple_titles, published_before, multiple_files)
SELECT
workflow_id AS workflowitem_id,
item_id,
@@ -42,9 +42,9 @@ FROM workflowitem;
-- Migrate claimed tasks
INSERT INTO xmlwf_claimtask (claimtask_id,workflowitem_id, workflow_id, step_id, action_id, owner_id)
INSERT INTO cwf_claimtask (claimtask_id,workflowitem_id, workflow_id, step_id, action_id, owner_id)
SELECT
xmlwf_claimtask_seq.nextval AS claimtask_id,
cwf_claimtask_seq.nextval AS claimtask_id,
workflow_id AS workflowitem_id,
'default' AS workflow_id,
'reviewstep' AS step_id,
@@ -52,9 +52,9 @@ workflow_id AS workflowitem_id,
owner AS owner_id
FROM workflowitem WHERE owner IS NOT NULL AND state = 2;
INSERT INTO xmlwf_claimtask (claimtask_id,workflowitem_id, workflow_id, step_id, action_id, owner_id)
INSERT INTO cwf_claimtask (claimtask_id,workflowitem_id, workflow_id, step_id, action_id, owner_id)
SELECT
xmlwf_claimtask_seq.nextval AS claimtask_id,
cwf_claimtask_seq.nextval AS claimtask_id,
workflow_id AS workflowitem_id,
'default' AS workflow_id,
'editstep' AS step_id,
@@ -62,9 +62,9 @@ workflow_id AS workflowitem_id,
owner AS owner_id
FROM workflowitem WHERE owner IS NOT NULL AND state = 4;
INSERT INTO xmlwf_claimtask (claimtask_id,workflowitem_id, workflow_id, step_id, action_id, owner_id)
INSERT INTO cwf_claimtask (claimtask_id,workflowitem_id, workflow_id, step_id, action_id, owner_id)
SELECT
xmlwf_claimtask_seq.nextval AS claimtask_id,
cwf_claimtask_seq.nextval AS claimtask_id,
workflow_id AS workflowitem_id,
'default' AS workflow_id,
'finaleditstep' AS step_id,
@@ -74,38 +74,38 @@ FROM workflowitem WHERE owner IS NOT NULL AND state = 6;
-- Migrate pooled tasks
INSERT INTO xmlwf_pooltask (pooltask_id,workflowitem_id, workflow_id, step_id, action_id, group_id)
INSERT INTO cwf_pooltask (pooltask_id,workflowitem_id, workflow_id, step_id, action_id, group_id)
SELECT
xmlwf_pooltask_seq.nextval AS pooltask_id,
cwf_pooltask_seq.nextval AS pooltask_id,
workflowitem.workflow_id AS workflowitem_id,
'default' AS workflow_id,
'reviewstep' AS step_id,
'claimaction' AS action_id,
xmlwf_collectionrole.group_id AS group_id
FROM workflowitem INNER JOIN xmlwf_collectionrole ON workflowitem.collection_id = xmlwf_collectionrole.collection_id
WHERE workflowitem.owner IS NULL AND workflowitem.state = 1 AND xmlwf_collectionrole.role_id = 'reviewer';
cwf_collectionrole.group_id AS group_id
FROM workflowitem INNER JOIN cwf_collectionrole ON workflowitem.collection_id = cwf_collectionrole.collection_id
WHERE workflowitem.owner IS NULL AND workflowitem.state = 1 AND cwf_collectionrole.role_id = 'reviewer';
INSERT INTO xmlwf_pooltask (pooltask_id,workflowitem_id, workflow_id, step_id, action_id, group_id)
INSERT INTO cwf_pooltask (pooltask_id,workflowitem_id, workflow_id, step_id, action_id, group_id)
SELECT
xmlwf_pooltask_seq.nextval AS pooltask_id,
cwf_pooltask_seq.nextval AS pooltask_id,
workflowitem.workflow_id AS workflowitem_id,
'default' AS workflow_id,
'editstep' AS step_id,
'claimaction' AS action_id,
xmlwf_collectionrole.group_id AS group_id
FROM workflowitem INNER JOIN xmlwf_collectionrole ON workflowitem.collection_id = xmlwf_collectionrole.collection_id
WHERE workflowitem.owner IS NULL AND workflowitem.state = 3 AND xmlwf_collectionrole.role_id = 'editor';
cwf_collectionrole.group_id AS group_id
FROM workflowitem INNER JOIN cwf_collectionrole ON workflowitem.collection_id = cwf_collectionrole.collection_id
WHERE workflowitem.owner IS NULL AND workflowitem.state = 3 AND cwf_collectionrole.role_id = 'editor';
INSERT INTO xmlwf_pooltask (pooltask_id,workflowitem_id, workflow_id, step_id, action_id, group_id)
INSERT INTO cwf_pooltask (pooltask_id,workflowitem_id, workflow_id, step_id, action_id, group_id)
SELECT
xmlwf_pooltask_seq.nextval AS pooltask_id,
cwf_pooltask_seq.nextval AS pooltask_id,
workflowitem.workflow_id AS workflowitem_id,
'default' AS workflow_id,
'finaleditstep' AS step_id,
'claimaction' AS action_id,
xmlwf_collectionrole.group_id AS group_id
FROM workflowitem INNER JOIN xmlwf_collectionrole ON workflowitem.collection_id = xmlwf_collectionrole.collection_id
WHERE workflowitem.owner IS NULL AND workflowitem.state = 5 AND xmlwf_collectionrole.role_id = 'finaleditor';
cwf_collectionrole.group_id AS group_id
FROM workflowitem INNER JOIN cwf_collectionrole ON workflowitem.collection_id = cwf_collectionrole.collection_id
WHERE workflowitem.owner IS NULL AND workflowitem.state = 5 AND cwf_collectionrole.role_id = 'finaleditor';
-- Delete resource policies for workflowitems before creating new ones
DELETE FROM resourcepolicy
@@ -150,10 +150,10 @@ INSERT INTO resourcepolicy (policy_id, resource_type_id, resource_id, action_id,
SELECT
resourcepolicy_seq.nextval AS policy_id,
2 AS resource_type_id,
xmlwf_workflowitem.item_id AS resource_id,
cwf_workflowitem.item_id AS resource_id,
temptable.action_id AS action_id,
xmlwf_claimtask.owner_id AS eperson_id
FROM (xmlwf_workflowitem INNER JOIN xmlwf_claimtask ON xmlwf_workflowitem.workflowitem_id = xmlwf_claimtask.workflowitem_id),
cwf_claimtask.owner_id AS eperson_id
FROM (cwf_workflowitem INNER JOIN cwf_claimtask ON cwf_workflowitem.workflowitem_id = cwf_claimtask.workflowitem_id),
temptable;
-- Bundles
@@ -163,11 +163,11 @@ resourcepolicy_seq.nextval AS policy_id,
1 AS resource_type_id,
item2bundle.bundle_id AS resource_id,
temptable.action_id AS action_id,
xmlwf_claimtask.owner_id AS eperson_id
cwf_claimtask.owner_id AS eperson_id
FROM
(
(xmlwf_workflowitem INNER JOIN xmlwf_claimtask ON xmlwf_workflowitem.workflowitem_id = xmlwf_claimtask.workflowitem_id)
INNER JOIN item2bundle ON xmlwf_workflowitem.item_id = item2bundle.item_id
(cwf_workflowitem INNER JOIN cwf_claimtask ON cwf_workflowitem.workflowitem_id = cwf_claimtask.workflowitem_id)
INNER JOIN item2bundle ON cwf_workflowitem.item_id = item2bundle.item_id
), temptable;
@@ -178,11 +178,11 @@ resourcepolicy_seq.nextval AS policy_id,
0 AS resource_type_id,
bundle2bitstream.bitstream_id AS resource_id,
temptable.action_id AS action_id,
xmlwf_claimtask.owner_id AS eperson_id
cwf_claimtask.owner_id AS eperson_id
FROM
(
((xmlwf_workflowitem INNER JOIN xmlwf_claimtask ON xmlwf_workflowitem.workflowitem_id = xmlwf_claimtask.workflowitem_id)
INNER JOIN item2bundle ON xmlwf_workflowitem.item_id = item2bundle.item_id)
((cwf_workflowitem INNER JOIN cwf_claimtask ON cwf_workflowitem.workflowitem_id = cwf_claimtask.workflowitem_id)
INNER JOIN item2bundle ON cwf_workflowitem.item_id = item2bundle.item_id)
INNER JOIN bundle2bitstream ON item2bundle.bundle_id = bundle2bitstream.bundle_id
), temptable;
@@ -193,10 +193,10 @@ INSERT INTO resourcepolicy (policy_id, resource_type_id, resource_id, action_id,
SELECT
resourcepolicy_seq.nextval AS policy_id,
2 AS resource_type_id,
xmlwf_workflowitem.item_id AS resource_id,
cwf_workflowitem.item_id AS resource_id,
temptable.action_id AS action_id,
xmlwf_pooltask.group_id AS epersongroup_id
FROM (xmlwf_workflowitem INNER JOIN xmlwf_pooltask ON xmlwf_workflowitem.workflowitem_id = xmlwf_pooltask.workflowitem_id),
cwf_pooltask.group_id AS epersongroup_id
FROM (cwf_workflowitem INNER JOIN cwf_pooltask ON cwf_workflowitem.workflowitem_id = cwf_pooltask.workflowitem_id),
temptable;
-- Bundles
@@ -206,11 +206,11 @@ resourcepolicy_seq.nextval AS policy_id,
1 AS resource_type_id,
item2bundle.bundle_id AS resource_id,
temptable.action_id AS action_id,
xmlwf_pooltask.group_id AS epersongroup_id
cwf_pooltask.group_id AS epersongroup_id
FROM
(
(xmlwf_workflowitem INNER JOIN xmlwf_pooltask ON xmlwf_workflowitem.workflowitem_id = xmlwf_pooltask.workflowitem_id)
INNER JOIN item2bundle ON xmlwf_workflowitem.item_id = item2bundle.item_id
(cwf_workflowitem INNER JOIN cwf_pooltask ON cwf_workflowitem.workflowitem_id = cwf_pooltask.workflowitem_id)
INNER JOIN item2bundle ON cwf_workflowitem.item_id = item2bundle.item_id
), temptable;
-- Bitstreams
@@ -220,11 +220,11 @@ resourcepolicy_seq.nextval AS policy_id,
0 AS resource_type_id,
bundle2bitstream.bitstream_id AS resource_id,
temptable.action_id AS action_id,
xmlwf_pooltask.group_id AS epersongroup_id
cwf_pooltask.group_id AS epersongroup_id
FROM
(
((xmlwf_workflowitem INNER JOIN xmlwf_pooltask ON xmlwf_workflowitem.workflowitem_id = xmlwf_pooltask.workflowitem_id)
INNER JOIN item2bundle ON xmlwf_workflowitem.item_id = item2bundle.item_id)
((cwf_workflowitem INNER JOIN cwf_pooltask ON cwf_workflowitem.workflowitem_id = cwf_pooltask.workflowitem_id)
INNER JOIN item2bundle ON cwf_workflowitem.item_id = item2bundle.item_id)
INNER JOIN bundle2bitstream ON item2bundle.bundle_id = bundle2bitstream.bundle_id
), temptable;
@@ -237,10 +237,10 @@ INSERT INTO resourcepolicy (policy_id, resource_type_id, resource_id, action_id,
SELECT
resourcepolicy_seq.nextval AS policy_id,
2 AS resource_type_id,
xmlwf_workflowitem.item_id AS resource_id,
cwf_workflowitem.item_id AS resource_id,
0 AS action_id,
item.submitter_id AS eperson_id
FROM (xmlwf_workflowitem INNER JOIN item ON xmlwf_workflowitem.item_id = item.item_id);
FROM (cwf_workflowitem INNER JOIN item ON cwf_workflowitem.item_id = item.item_id);
INSERT INTO resourcepolicy (policy_id, resource_type_id, resource_id, action_id, eperson_id)
SELECT
@@ -249,8 +249,8 @@ resourcepolicy_seq.nextval AS policy_id,
item2bundle.bundle_id AS resource_id,
0 AS action_id,
item.submitter_id AS eperson_id
FROM ((xmlwf_workflowitem INNER JOIN item ON xmlwf_workflowitem.item_id = item.item_id)
INNER JOIN item2bundle ON xmlwf_workflowitem.item_id = item2bundle.item_id
FROM ((cwf_workflowitem INNER JOIN item ON cwf_workflowitem.item_id = item.item_id)
INNER JOIN item2bundle ON cwf_workflowitem.item_id = item2bundle.item_id
);
INSERT INTO resourcepolicy (policy_id, resource_type_id, resource_id, action_id, eperson_id)
@@ -260,96 +260,96 @@ resourcepolicy_seq.nextval AS policy_id,
bundle2bitstream.bitstream_id AS resource_id,
0 AS action_id,
item.submitter_id AS eperson_id
FROM (((xmlwf_workflowitem INNER JOIN item ON xmlwf_workflowitem.item_id = item.item_id)
INNER JOIN item2bundle ON xmlwf_workflowitem.item_id = item2bundle.item_id)
FROM (((cwf_workflowitem INNER JOIN item ON cwf_workflowitem.item_id = item.item_id)
INNER JOIN item2bundle ON cwf_workflowitem.item_id = item2bundle.item_id)
INNER JOIN bundle2bitstream ON item2bundle.bundle_id = bundle2bitstream.bundle_id
);
-- TODO: not tested yet
INSERT INTO xmlwf_in_progress_user (in_progress_user_id, workflowitem_id, step_id, user_id, finished)
INSERT INTO cwf_in_progress_user (in_progress_user_id, workflowitem_id, step_id, user_id, finished)
SELECT
xmlwf_in_progress_user_seq.nextval AS in_progress_user_id,
xmlwf_workflowitem.item_id AS workflowitem_id,
xmlwf_claimtask.owner_id AS user_id
cwf_in_progress_user_seq.nextval AS in_progress_user_id,
cwf_workflowitem.item_id AS workflowitem_id,
cwf_claimtask.owner_id AS user_id
0 as finished
FROM
(xmlwf_claimtask INNER JOIN xmlwf_workflowitem ON xmlwf_workflowitem.workflowitem_id = xmlwf_claimtask.workflowitem_id);
(cwf_claimtask INNER JOIN cwf_workflowitem ON cwf_workflowitem.workflowitem_id = cwf_claimtask.workflowitem_id);
-- TODO: improve this, important is NVL(curr, 1)!! without this function, empty tables (max = [null]) will only result in sequence deletion
DECLARE
curr NUMBER := 0;
BEGIN
SELECT max(workflowitem_id) INTO curr FROM xmlwf_workflowitem;
SELECT max(workflowitem_id) INTO curr FROM cwf_workflowitem;
curr := curr + 1;
EXECUTE IMMEDIATE 'DROP SEQUENCE xmlwf_workflowitem_seq';
EXECUTE IMMEDIATE 'DROP SEQUENCE cwf_workflowitem_seq';
EXECUTE IMMEDIATE 'CREATE SEQUENCE xmlwf_workflowitem_seq START WITH ' || NVL(curr, 1);
EXECUTE IMMEDIATE 'CREATE SEQUENCE cwf_workflowitem_seq START WITH ' || NVL(curr, 1);
END;
/
DECLARE
curr NUMBER := 0;
BEGIN
SELECT max(collectionrole_id) INTO curr FROM xmlwf_collectionrole;
SELECT max(collectionrole_id) INTO curr FROM cwf_collectionrole;
curr := curr + 1;
EXECUTE IMMEDIATE 'DROP SEQUENCE xmlwf_collectionrole_seq';
EXECUTE IMMEDIATE 'DROP SEQUENCE cwf_collectionrole_seq';
EXECUTE IMMEDIATE 'CREATE SEQUENCE xmlwf_collectionrole_seq START WITH ' || NVL(curr, 1);
EXECUTE IMMEDIATE 'CREATE SEQUENCE cwf_collectionrole_seq START WITH ' || NVL(curr, 1);
END;
/
DECLARE
curr NUMBER := 0;
BEGIN
SELECT max(workflowitemrole_id) INTO curr FROM xmlwf_workflowitemrole;
SELECT max(workflowitemrole_id) INTO curr FROM cwf_workflowitemrole;
curr := curr + 1;
EXECUTE IMMEDIATE 'DROP SEQUENCE xmlwf_workflowitemrole_seq';
EXECUTE IMMEDIATE 'DROP SEQUENCE cwf_workflowitemrole_seq';
EXECUTE IMMEDIATE 'CREATE SEQUENCE xmlwf_workflowitemrole_seq START WITH ' || NVL(curr, 1);
EXECUTE IMMEDIATE 'CREATE SEQUENCE cwf_workflowitemrole_seq START WITH ' || NVL(curr, 1);
END;
/
DECLARE
curr NUMBER := 0;
BEGIN
SELECT max(pooltask_id) INTO curr FROM xmlwf_pooltask;
SELECT max(pooltask_id) INTO curr FROM cwf_pooltask;
curr := curr + 1;
EXECUTE IMMEDIATE 'DROP SEQUENCE xmlwf_pooltask_seq';
EXECUTE IMMEDIATE 'DROP SEQUENCE cwf_pooltask_seq';
EXECUTE IMMEDIATE 'CREATE SEQUENCE xmlwf_pooltask_seq START WITH ' || NVL(curr, 1);
EXECUTE IMMEDIATE 'CREATE SEQUENCE cwf_pooltask_seq START WITH ' || NVL(curr, 1);
END;
/
DECLARE
curr NUMBER := 0;
BEGIN
SELECT max(claimtask_id) INTO curr FROM xmlwf_claimtask;
SELECT max(claimtask_id) INTO curr FROM cwf_claimtask;
curr := curr + 1;
EXECUTE IMMEDIATE 'DROP SEQUENCE xmlwf_claimtask_seq';
EXECUTE IMMEDIATE 'DROP SEQUENCE cwf_claimtask_seq';
EXECUTE IMMEDIATE 'CREATE SEQUENCE xmlwf_claimtask_seq START WITH ' || NVL(curr, 1);
EXECUTE IMMEDIATE 'CREATE SEQUENCE cwf_claimtask_seq START WITH ' || NVL(curr, 1);
END;
/
DECLARE
curr NUMBER := 0;
BEGIN
SELECT max(in_progress_user_id) INTO curr FROM xmlwf_in_progress_user;
SELECT max(in_progress_user_id) INTO curr FROM cwf_in_progress_user;
curr := curr + 1;
EXECUTE IMMEDIATE 'DROP SEQUENCE xmlwf_in_progress_user_seq';
EXECUTE IMMEDIATE 'DROP SEQUENCE cwf_in_progress_user_seq';
EXECUTE IMMEDIATE 'CREATE SEQUENCE xmlwf_in_progress_user_seq START WITH ' || NVL(curr, 1);
EXECUTE IMMEDIATE 'CREATE SEQUENCE cwf_in_progress_user_seq START WITH ' || NVL(curr, 1);
END;
/

View File

@@ -1,11 +1,11 @@
CREATE SEQUENCE xmlwf_workflowitem_seq;
CREATE SEQUENCE xmlwf_collectionrole_seq;
CREATE SEQUENCE xmlwf_workflowitemrole_seq;
CREATE SEQUENCE xmlwf_claimtask_seq;
CREATE SEQUENCE xmlwf_in_progress_user_seq;
CREATE SEQUENCE xmlwf_pooltask_seq;
CREATE SEQUENCE cwf_workflowitem_seq;
CREATE SEQUENCE cwf_collectionrole_seq;
CREATE SEQUENCE cwf_workflowitemrole_seq;
CREATE SEQUENCE cwf_claimtask_seq;
CREATE SEQUENCE cwf_in_progress_user_seq;
CREATE SEQUENCE cwf_pooltask_seq;
CREATE TABLE xmlwf_workflowitem
CREATE TABLE cwf_workflowitem
(
workflowitem_id INTEGER PRIMARY KEY,
item_id INTEGER REFERENCES item(item_id) UNIQUE,
@@ -65,43 +65,43 @@ CREATE TABLE xmlwf_pooltask (
);
CREATE INDEX xmlwf_pt_epers_fk_idx ON xmlwf_pooltask(eperson_id);
CREATE INDEX xmlwf_pt_wf_fk_idx ON xmlwf_pooltask(workflowitem_id);
CREATE INDEX xmlwf_pt_wf_epers_fk_idx ON xmlwf_pooltask(eperson_id,workflowitem_id);
CREATE INDEX cwf_pt_epers_fk_idx ON cwf_pooltask(eperson_id);
CREATE INDEX cwf_pt_wf_fk_idx ON cwf_pooltask(workflowitem_id);
CREATE INDEX cwf_pt_wf_epers_fk_idx ON cwf_pooltask(eperson_id,workflowitem_id);
CREATE TABLE xmlwf_claimtask (
CREATE TABLE cwf_claimtask (
claimtask_id INTEGER PRIMARY KEY,
workflowitem_id integer REFERENCES xmlwf_workflowitem(workflowitem_id),
workflowitem_id integer REFERENCES cwf_workflowitem(workflowitem_id),
workflow_id VARCHAR2(256),
step_id VARCHAR2(256),
action_id VARCHAR2(256),
owner_id integer REFERENCES eperson(eperson_id)
);
ALTER TABLE xmlwf_claimtask
ADD CONSTRAINT xmlwf_claimtask_unique UNIQUE (step_id, workflowitem_id, workflow_id, owner_id, action_id);
ALTER TABLE cwf_claimtask
ADD CONSTRAINT cwf_claimtask_unique UNIQUE (step_id, workflowitem_id, workflow_id, owner_id, action_id);
CREATE INDEX xmlwf_ct_wf_fk_idx ON xmlwf_claimtask(workflowitem_id);
CREATE INDEX xmlwf_ct_wf_epers_fk_idx ON xmlwf_claimtask(workflowitem_id,owner_id);
CREATE INDEX xmlwf_ct_epers_fk_idx ON xmlwf_claimtask(owner_id);
CREATE INDEX xmlwf_ct_wf_step_fk_idx ON xmlwf_claimtask(workflowitem_id,step_id);
CREATE INDEX xmlwf_ct_wf_step_act_fk_idx ON xmlwf_claimtask(workflowitem_id,step_id,action_id);
CREATE INDEX xmlwf_ct_wf_st_ac_ep_fk_idx ON xmlwf_claimtask(workflowitem_id,step_id,action_id,owner_id);
CREATE INDEX cwf_ct_wf_fk_idx ON cwf_claimtask(workflowitem_id);
CREATE INDEX cwf_ct_wf_epers_fk_idx ON cwf_claimtask(workflowitem_id,owner_id);
CREATE INDEX cwf_ct_epers_fk_idx ON cwf_claimtask(owner_id);
CREATE INDEX cwf_ct_wf_step_fk_idx ON cwf_claimtask(workflowitem_id,step_id);
CREATE INDEX cwf_ct_wf_step_act_fk_idx ON cwf_claimtask(workflowitem_id,step_id,action_id);
CREATE INDEX cwf_ct_wf_st_ac_ep_fk_idx ON cwf_claimtask(workflowitem_id,step_id,action_id,owner_id);
CREATE TABLE xmlwf_in_progress_user (
CREATE TABLE cwf_in_progress_user (
in_progress_user_id INTEGER PRIMARY KEY,
workflowitem_id integer REFERENCES xmlwf_workflowitem(workflowitem_id),
workflowitem_id integer REFERENCES cwf_workflowitem(workflowitem_id),
user_id integer REFERENCES eperson(eperson_id),
finished NUMBER(1)
);
ALTER TABLE xmlwf_in_progress_user
ADD CONSTRAINT xmlwf_in_progress_user_unique UNIQUE (workflowitem_id, user_id);
ALTER TABLE cwf_in_progress_user
ADD CONSTRAINT cwf_in_progress_user_unique UNIQUE (workflowitem_id, user_id);
CREATE INDEX xmlwf_ipu_wf_fk_idx ON xmlwf_in_progress_user(workflowitem_id);
CREATE INDEX xmlwf_ipu_epers_fk_idx ON xmlwf_in_progress_user(user_id);
CREATE INDEX cwf_ipu_wf_fk_idx ON cwf_in_progress_user(workflowitem_id);
CREATE INDEX cwf_ipu_epers_fk_idx ON cwf_in_progress_user(user_id);
-- TODO: it seems like this index is already created by the 'unique' constraint in the table creation
-- CREATE INDEX xmlwf_ipu_wf_epers_fk_idx ON xmlwf_in_progress_user(workflowitem_id,user_id);
-- CREATE INDEX xmlwf_ipu_wf_epers_fk_idx ON xmlwf_in_progress_user(workflowitem_id,user_id);

View File

@@ -1,5 +1,5 @@
-- Convert workflow groups:
INSERT INTO xmlwf_collectionrole (role_id, group_id, collection_id)
INSERT INTO cwf_collectionrole (role_id, group_id, collection_id)
SELECT
'reviewer' AS role_id,
eperson_group_id AS group_id,
@@ -7,7 +7,7 @@ replace(replace(name, 'COLLECTION_', ''), '_WORKFLOW_STEP_1', '')::INTEGER AS co
FROM epersongroup
WHERE name LIKE 'COLLECTION_%_WORKFLOW_STEP_1';
INSERT INTO xmlwf_collectionrole (role_id, group_id, collection_id)
INSERT INTO cwf_collectionrole (role_id, group_id, collection_id)
SELECT
'editor' AS role_id,
eperson_group_id AS group_id,
@@ -15,7 +15,7 @@ replace(replace(name, 'COLLECTION_', ''), '_WORKFLOW_STEP_2', '')::INTEGER AS co
FROM epersongroup
WHERE name LIKE 'COLLECTION_%_WORKFLOW_STEP_2';
INSERT INTO xmlwf_collectionrole (role_id, group_id, collection_id)
INSERT INTO cwf_collectionrole (role_id, group_id, collection_id)
SELECT
'finaleditor' AS role_id,
eperson_group_id AS group_id,
@@ -25,7 +25,7 @@ WHERE name LIKE 'COLLECTION_%_WORKFLOW_STEP_3';
-- Migrate workflow items
INSERT INTO xmlwf_workflowitem (workflowitem_id, item_id, collection_id, multiple_titles, published_before, multiple_files)
INSERT INTO cwf_workflowitem (workflowitem_id, item_id, collection_id, multiple_titles, published_before, multiple_files)
SELECT
workflow_id AS workflowitem_id,
item_id,
@@ -37,7 +37,7 @@ FROM workflowitem;
-- Migrate claimed tasks
INSERT INTO xmlwf_claimtask (workflowitem_id, workflow_id, step_id, action_id, owner_id)
INSERT INTO cwf_claimtask (workflowitem_id, workflow_id, step_id, action_id, owner_id)
SELECT
workflow_id AS workflowitem_id,
'default' AS workflow_id,
@@ -46,7 +46,7 @@ workflow_id AS workflowitem_id,
owner AS owner_id
FROM workflowitem WHERE owner IS NOT NULL AND state = 2;
INSERT INTO xmlwf_claimtask (workflowitem_id, workflow_id, step_id, action_id, owner_id)
INSERT INTO cwf_claimtask (workflowitem_id, workflow_id, step_id, action_id, owner_id)
SELECT
workflow_id AS workflowitem_id,
'default' AS workflow_id,
@@ -55,7 +55,7 @@ workflow_id AS workflowitem_id,
owner AS owner_id
FROM workflowitem WHERE owner IS NOT NULL AND state = 4;
INSERT INTO xmlwf_claimtask (workflowitem_id, workflow_id, step_id, action_id, owner_id)
INSERT INTO cwf_claimtask (workflowitem_id, workflow_id, step_id, action_id, owner_id)
SELECT
workflow_id AS workflowitem_id,
'default' AS workflow_id,
@@ -66,35 +66,35 @@ FROM workflowitem WHERE owner IS NOT NULL AND state = 6;
-- Migrate pooled tasks
INSERT INTO xmlwf_pooltask (workflowitem_id, workflow_id, step_id, action_id, group_id)
INSERT INTO cwf_pooltask (workflowitem_id, workflow_id, step_id, action_id, group_id)
SELECT
workflowitem.workflow_id AS workflowitem_id,
'default' AS workflow_id,
'reviewstep' AS step_id,
'claimaction' AS action_id,
xmlwf_collectionrole.group_id AS group_id
FROM workflowitem INNER JOIN xmlwf_collectionrole ON workflowitem.collection_id = xmlwf_collectionrole.collection_id
WHERE workflowitem.owner IS NULL AND workflowitem.state = 1 AND xmlwf_collectionrole.role_id = 'reviewer';
cwf_collectionrole.group_id AS group_id
FROM workflowitem INNER JOIN cwf_collectionrole ON workflowitem.collection_id = cwf_collectionrole.collection_id
WHERE workflowitem.owner IS NULL AND workflowitem.state = 1 AND cwf_collectionrole.role_id = 'reviewer';
INSERT INTO xmlwf_pooltask (workflowitem_id, workflow_id, step_id, action_id, group_id)
INSERT INTO cwf_pooltask (workflowitem_id, workflow_id, step_id, action_id, group_id)
SELECT
workflowitem.workflow_id AS workflowitem_id,
'default' AS workflow_id,
'editstep' AS step_id,
'claimaction' AS action_id,
xmlwf_collectionrole.group_id AS group_id
FROM workflowitem INNER JOIN xmlwf_collectionrole ON workflowitem.collection_id = xmlwf_collectionrole.collection_id
WHERE workflowitem.owner IS NULL AND workflowitem.state = 3 AND xmlwf_collectionrole.role_id = 'editor';
cwf_collectionrole.group_id AS group_id
FROM workflowitem INNER JOIN cwf_collectionrole ON workflowitem.collection_id = cwf_collectionrole.collection_id
WHERE workflowitem.owner IS NULL AND workflowitem.state = 3 AND cwf_collectionrole.role_id = 'editor';
INSERT INTO xmlwf_pooltask (workflowitem_id, workflow_id, step_id, action_id, group_id)
INSERT INTO cwf_pooltask (workflowitem_id, workflow_id, step_id, action_id, group_id)
SELECT
workflowitem.workflow_id AS workflowitem_id,
'default' AS workflow_id,
'finaleditstep' AS step_id,
'claimaction' AS action_id,
xmlwf_collectionrole.group_id AS group_id
FROM workflowitem INNER JOIN xmlwf_collectionrole ON workflowitem.collection_id = xmlwf_collectionrole.collection_id
WHERE workflowitem.owner IS NULL AND workflowitem.state = 5 AND xmlwf_collectionrole.role_id = 'finaleditor';
cwf_collectionrole.group_id AS group_id
FROM workflowitem INNER JOIN cwf_collectionrole ON workflowitem.collection_id = cwf_collectionrole.collection_id
WHERE workflowitem.owner IS NULL AND workflowitem.state = 5 AND cwf_collectionrole.role_id = 'finaleditor';
-- Delete existing workflowitem policies
DELETE FROM resourcepolicy
@@ -128,10 +128,10 @@ INSERT INTO resourcepolicy (policy_id, resource_type_id, resource_id, action_id,
SELECT
getnextid('resourcepolicy') AS policy_id,
2 AS resource_type_id,
xmlwf_workflowitem.item_id AS resource_id,
cwf_workflowitem.item_id AS resource_id,
temptable.action_id AS action_id,
xmlwf_claimtask.owner_id AS eperson_id
FROM (xmlwf_workflowitem INNER JOIN xmlwf_claimtask ON xmlwf_workflowitem.workflowitem_id = xmlwf_claimtask.workflowitem_id),
cwf_claimtask.owner_id AS eperson_id
FROM (cwf_workflowitem INNER JOIN cwf_claimtask ON cwf_workflowitem.workflowitem_id = cwf_claimtask.workflowitem_id),
(VALUES (0), (1), (2), (3), (4)) AS temptable(action_id);
-- Bundles
@@ -141,11 +141,11 @@ getnextid('resourcepolicy') AS policy_id,
1 AS resource_type_id,
item2bundle.bundle_id AS resource_id,
temptable.action_id AS action_id,
xmlwf_claimtask.owner_id AS eperson_id
cwf_claimtask.owner_id AS eperson_id
FROM
(
(xmlwf_workflowitem INNER JOIN xmlwf_claimtask ON xmlwf_workflowitem.workflowitem_id = xmlwf_claimtask.workflowitem_id)
INNER JOIN item2bundle ON xmlwf_workflowitem.item_id = item2bundle.item_id
(cwf_workflowitem INNER JOIN cwf_claimtask ON cwf_workflowitem.workflowitem_id = cwf_claimtask.workflowitem_id)
INNER JOIN item2bundle ON cwf_workflowitem.item_id = item2bundle.item_id
), (VALUES (0), (1), (2), (3), (4)) AS temptable(action_id);
-- Bitstreams
@@ -155,11 +155,11 @@ getnextid('resourcepolicy') AS policy_id,
0 AS resource_type_id,
bundle2bitstream.bitstream_id AS resource_id,
temptable.action_id AS action_id,
xmlwf_claimtask.owner_id AS eperson_id
cwf_claimtask.owner_id AS eperson_id
FROM
(
((xmlwf_workflowitem INNER JOIN xmlwf_claimtask ON xmlwf_workflowitem.workflowitem_id = xmlwf_claimtask.workflowitem_id)
INNER JOIN item2bundle ON xmlwf_workflowitem.item_id = item2bundle.item_id)
((cwf_workflowitem INNER JOIN cwf_claimtask ON cwf_workflowitem.workflowitem_id = cwf_claimtask.workflowitem_id)
INNER JOIN item2bundle ON cwf_workflowitem.item_id = item2bundle.item_id)
INNER JOIN bundle2bitstream ON item2bundle.bundle_id = bundle2bitstream.bundle_id
), (VALUES (0), (1), (2), (3), (4)) AS temptable(action_id);
@@ -170,10 +170,10 @@ INSERT INTO resourcepolicy (policy_id, resource_type_id, resource_id, action_id,
SELECT
getnextid('resourcepolicy') AS policy_id,
2 AS resource_type_id,
xmlwf_workflowitem.item_id AS resource_id,
cwf_workflowitem.item_id AS resource_id,
temptable.action_id AS action_id,
xmlwf_pooltask.group_id AS epersongroup_id
FROM (xmlwf_workflowitem INNER JOIN xmlwf_pooltask ON xmlwf_workflowitem.workflowitem_id = xmlwf_pooltask.workflowitem_id),
cwf_pooltask.group_id AS epersongroup_id
FROM (cwf_workflowitem INNER JOIN cwf_pooltask ON cwf_workflowitem.workflowitem_id = cwf_pooltask.workflowitem_id),
(VALUES (0), (1), (2), (3), (4)) AS temptable(action_id);
-- Bundles
@@ -183,11 +183,11 @@ getnextid('resourcepolicy') AS policy_id,
1 AS resource_type_id,
item2bundle.bundle_id AS resource_id,
temptable.action_id AS action_id,
xmlwf_pooltask.group_id AS epersongroup_id
cwf_pooltask.group_id AS epersongroup_id
FROM
(
(xmlwf_workflowitem INNER JOIN xmlwf_pooltask ON xmlwf_workflowitem.workflowitem_id = xmlwf_pooltask.workflowitem_id)
INNER JOIN item2bundle ON xmlwf_workflowitem.item_id = item2bundle.item_id
(cwf_workflowitem INNER JOIN cwf_pooltask ON cwf_workflowitem.workflowitem_id = cwf_pooltask.workflowitem_id)
INNER JOIN item2bundle ON cwf_workflowitem.item_id = item2bundle.item_id
), (VALUES (0), (1), (2), (3), (4)) AS temptable(action_id);
-- Bitstreams
@@ -197,11 +197,11 @@ getnextid('resourcepolicy') AS policy_id,
0 AS resource_type_id,
bundle2bitstream.bitstream_id AS resource_id,
temptable.action_id AS action_id,
xmlwf_pooltask.group_id AS epersongroup_id
cwf_pooltask.group_id AS epersongroup_id
FROM
(
((xmlwf_workflowitem INNER JOIN xmlwf_pooltask ON xmlwf_workflowitem.workflowitem_id = xmlwf_pooltask.workflowitem_id)
INNER JOIN item2bundle ON xmlwf_workflowitem.item_id = item2bundle.item_id)
((cwf_workflowitem INNER JOIN cwf_pooltask ON cwf_workflowitem.workflowitem_id = cwf_pooltask.workflowitem_id)
INNER JOIN item2bundle ON cwf_workflowitem.item_id = item2bundle.item_id)
INNER JOIN bundle2bitstream ON item2bundle.bundle_id = bundle2bitstream.bundle_id
), (VALUES (0), (1), (2), (3), (4)) AS temptable(action_id);
@@ -213,10 +213,10 @@ INSERT INTO resourcepolicy (policy_id, resource_type_id, resource_id, action_id,
SELECT
getnextid('resourcepolicy') AS policy_id,
2 AS resource_type_id,
xmlwf_workflowitem.item_id AS resource_id,
cwf_workflowitem.item_id AS resource_id,
0 AS action_id,
item.submitter_id AS eperson_id
FROM (xmlwf_workflowitem INNER JOIN item ON xmlwf_workflowitem.item_id = item.item_id);
FROM (cwf_workflowitem INNER JOIN item ON cwf_workflowitem.item_id = item.item_id);
INSERT INTO resourcepolicy (policy_id, resource_type_id, resource_id, action_id, eperson_id)
SELECT
@@ -225,8 +225,8 @@ getnextid('resourcepolicy') AS policy_id,
item2bundle.bundle_id AS resource_id,
0 AS action_id,
item.submitter_id AS eperson_id
FROM ((xmlwf_workflowitem INNER JOIN item ON xmlwf_workflowitem.item_id = item.item_id)
INNER JOIN item2bundle ON xmlwf_workflowitem.item_id = item2bundle.item_id
FROM ((cwf_workflowitem INNER JOIN item ON cwf_workflowitem.item_id = item.item_id)
INNER JOIN item2bundle ON cwf_workflowitem.item_id = item2bundle.item_id
);
INSERT INTO resourcepolicy (policy_id, resource_type_id, resource_id, action_id, eperson_id)
@@ -236,19 +236,19 @@ getnextid('resourcepolicy') AS policy_id,
bundle2bitstream.bitstream_id AS resource_id,
0 AS action_id,
item.submitter_id AS eperson_id
FROM (((xmlwf_workflowitem INNER JOIN item ON xmlwf_workflowitem.item_id = item.item_id)
INNER JOIN item2bundle ON xmlwf_workflowitem.item_id = item2bundle.item_id)
FROM (((cwf_workflowitem INNER JOIN item ON cwf_workflowitem.item_id = item.item_id)
INNER JOIN item2bundle ON cwf_workflowitem.item_id = item2bundle.item_id)
INNER JOIN bundle2bitstream ON item2bundle.bundle_id = bundle2bitstream.bundle_id
);
INSERT INTO xmlwf_in_progress_user (in_progress_user_id, workflowitem_id, user_id, finished)
INSERT INTO cwf_in_progress_user (in_progress_user_id, workflowitem_id, user_id, finished)
SELECT
getnextid('xmlwf_in_progress_user') AS in_progress_user_id,
xmlwf_workflowitem.workflowitem_id AS workflowitem_id,
xmlwf_claimtask.owner_id AS user_id,
getnextid('cwf_in_progress_user') AS in_progress_user_id,
cwf_workflowitem.workflowitem_id AS workflowitem_id,
cwf_claimtask.owner_id AS user_id,
BOOL(0) as finished
FROM
(xmlwf_claimtask INNER JOIN xmlwf_workflowitem ON xmlwf_workflowitem.workflowitem_id = xmlwf_claimtask.workflowitem_id);
(cwf_claimtask INNER JOIN cwf_workflowitem ON cwf_workflowitem.workflowitem_id = cwf_claimtask.workflowitem_id);
-- Delete the old tasks and workflowitems
@@ -257,9 +257,9 @@ DELETE FROM tasklistitem;
DELETE FROM workflowitem;
-- Update the sequences
SELECT setval('xmlwf_workflowitem_seq', max(workflowitem_id)) FROM xmlwf_workflowitem;
SELECT setval('xmlwf_collectionrole_seq', max(collectionrole_id)) FROM xmlwf_collectionrole;
SELECT setval('xmlwf_workflowitemrole_seq', max(workflowitemrole_id)) FROM xmlwf_workflowitemrole;
SELECT setval('xmlwf_pooltask_seq', max(pooltask_id)) FROM xmlwf_pooltask;
SELECT setval('xmlwf_claimtask_seq', max(claimtask_id)) FROM xmlwf_claimtask;
SELECT setval('xmlwf_in_progress_user_seq', max(in_progress_user_id)) FROM xmlwf_in_progress_user;
SELECT setval('cwf_workflowitem_seq', max(workflowitem_id)) FROM cwf_workflowitem;
SELECT setval('cwf_collectionrole_seq', max(collectionrole_id)) FROM cwf_collectionrole;
SELECT setval('cwf_workflowitemrole_seq', max(workflowitemrole_id)) FROM cwf_workflowitemrole;
SELECT setval('cwf_pooltask_seq', max(pooltask_id)) FROM cwf_pooltask;
SELECT setval('cwf_claimtask_seq', max(claimtask_id)) FROM cwf_claimtask;
SELECT setval('cwf_in_progress_user_seq', max(in_progress_user_id)) FROM cwf_in_progress_user;

View File

@@ -1,14 +1,14 @@
CREATE SEQUENCE xmlwf_workflowitem_seq;
CREATE SEQUENCE xmlwf_collectionrole_seq;
CREATE SEQUENCE xmlwf_workflowitemrole_seq;
CREATE SEQUENCE xmlwf_pooltask_seq;
CREATE SEQUENCE xmlwf_claimtask_seq;
CREATE SEQUENCE xmlwf_in_progress_user_seq;
CREATE SEQUENCE cwf_workflowitem_seq;
CREATE SEQUENCE cwf_collectionrole_seq;
CREATE SEQUENCE cwf_workflowitemrole_seq;
CREATE SEQUENCE cwf_pooltask_seq;
CREATE SEQUENCE cwf_claimtask_seq;
CREATE SEQUENCE cwf_in_progress_user_seq;
CREATE TABLE xmlwf_workflowitem
CREATE TABLE cwf_workflowitem
(
workflowitem_id integer DEFAULT nextval('xmlwf_workflowitem_seq') PRIMARY KEY,
workflowitem_id integer DEFAULT nextval('cwf_workflowitem_seq') PRIMARY KEY,
item_id INTEGER REFERENCES item(item_id) UNIQUE,
collection_id INTEGER REFERENCES collection(collection_id),
@@ -21,40 +21,40 @@ CREATE TABLE xmlwf_workflowitem
);
CREATE INDEX xmlwf_workflowitem_item_fk_idx ON xmlwf_workflowitem(item_id);
CREATE INDEX xmlwf_workflowitem_coll_fk_idx ON xmlwf_workflowitem(collection_id);
CREATE INDEX cwf_workflowitem_item_fk_idx ON cwf_workflowitem(item_id);
CREATE INDEX cwf_workflowitem_coll_fk_idx ON cwf_workflowitem(collection_id);
CREATE TABLE xmlwf_collectionrole (
collectionrole_id integer DEFAULT nextval('xmlwf_collectionrole_seq') PRIMARY KEY,
CREATE TABLE cwf_collectionrole (
collectionrole_id integer DEFAULT nextval('cwf_collectionrole_seq') PRIMARY KEY,
role_id Text,
collection_id integer REFERENCES collection(collection_id),
group_id integer REFERENCES epersongroup(eperson_group_id)
);
ALTER TABLE ONLY xmlwf_collectionrole
ADD CONSTRAINT xmlwf_collectionrole_unique UNIQUE (role_id, collection_id, group_id);
ALTER TABLE ONLY cwf_collectionrole
ADD CONSTRAINT cwf_collectionrole_unique UNIQUE (role_id, collection_id, group_id);
CREATE INDEX xmlwf_collectionrole_coll_role_fk_idx ON xmlwf_collectionrole(collection_id,role_id);
CREATE INDEX xmlwf_collectionrole_coll_fk_idx ON xmlwf_collectionrole(collection_id);
CREATE INDEX cwf_collectionrole_coll_role_fk_idx ON cwf_collectionrole(collection_id,role_id);
CREATE INDEX cwf_collectionrole_coll_fk_idx ON cwf_collectionrole(collection_id);
CREATE TABLE xmlwf_workflowitemrole (
workflowitemrole_id integer DEFAULT nextval('xmlwf_workflowitemrole_seq') PRIMARY KEY,
CREATE TABLE cwf_workflowitemrole (
workflowitemrole_id integer DEFAULT nextval('cwf_workflowitemrole_seq') PRIMARY KEY,
role_id Text,
workflowitem_id integer REFERENCES xmlwf_workflowitem(workflowitem_id),
workflowitem_id integer REFERENCES cwf_workflowitem(workflowitem_id),
eperson_id integer REFERENCES eperson(eperson_id),
group_id integer REFERENCES epersongroup(eperson_group_id)
);
ALTER TABLE ONLY xmlwf_workflowitemrole
ADD CONSTRAINT xmlwf_workflowitemrole_unique UNIQUE (role_id, workflowitem_id, eperson_id);
ALTER TABLE ONLY cwf_workflowitemrole
ADD CONSTRAINT cwf_workflowitemrole_unique UNIQUE (role_id, workflowitem_id, eperson_id);
CREATE INDEX xmlwf_workflowitemrole_item_role_fk_idx ON xmlwf_workflowitemrole(workflowitem_id,role_id);
CREATE INDEX xmlwf_workflowitemrole_item_fk_idx ON xmlwf_workflowitemrole(workflowitem_id);
CREATE INDEX cwf_workflowitemrole_item_role_fk_idx ON cwf_workflowitemrole(workflowitem_id,role_id);
CREATE INDEX cwf_workflowitemrole_item_fk_idx ON cwf_workflowitemrole(workflowitem_id);
CREATE TABLE xmlwf_pooltask (
pooltask_id INTEGER DEFAULT nextval('xmlwf_pooltask_seq') PRIMARY KEY,
workflowitem_id INTEGER REFERENCES xmlwf_workflowitem(workflowitem_id),
CREATE TABLE cwf_pooltask (
pooltask_id INTEGER DEFAULT nextval('cwf_pooltask_seq') PRIMARY KEY,
workflowitem_id INTEGER REFERENCES cwf_workflowitem(workflowitem_id),
workflow_id TEXT,
step_id TEXT,
action_id TEXT,
@@ -62,42 +62,42 @@ CREATE TABLE xmlwf_pooltask (
group_id INTEGER REFERENCES epersongroup(eperson_group_id)
);
CREATE INDEX xmlwf_pooltask_eperson_fk_idx ON xmlwf_pooltask(eperson_id);
CREATE INDEX xmlwf_pooltask_workflow_fk_idx ON xmlwf_pooltask(workflowitem_id);
CREATE INDEX xmlwf_pooltask_workflow_eperson_fk_idx ON xmlwf_pooltask(eperson_id,workflowitem_id);
CREATE INDEX cwf_pooltask_eperson_fk_idx ON cwf_pooltask(eperson_id);
CREATE INDEX cwf_pooltask_workflow_fk_idx ON cwf_pooltask(workflowitem_id);
CREATE INDEX cwf_pooltask_workflow_eperson_fk_idx ON cwf_pooltask(eperson_id,workflowitem_id);
CREATE TABLE xmlwf_claimtask (
claimtask_id integer DEFAULT nextval('xmlwf_claimtask_seq') PRIMARY KEY,
workflowitem_id integer REFERENCES xmlwf_workflowitem(workflowitem_id),
CREATE TABLE cwf_claimtask (
claimtask_id integer DEFAULT nextval('cwf_claimtask_seq') PRIMARY KEY,
workflowitem_id integer REFERENCES cwf_workflowitem(workflowitem_id),
workflow_id Text,
step_id Text,
action_id Text,
owner_id integer REFERENCES eperson(eperson_id)
);
ALTER TABLE ONLY xmlwf_claimtask
ADD CONSTRAINT xmlwf_claimtask_unique UNIQUE (step_id, workflowitem_id, workflow_id, owner_id, action_id);
ALTER TABLE ONLY cwf_claimtask
ADD CONSTRAINT cwf_claimtask_unique UNIQUE (step_id, workflowitem_id, workflow_id, owner_id, action_id);
CREATE INDEX xmlwf_claimtask_workflow_fk_idx ON xmlwf_claimtask(workflowitem_id);
CREATE INDEX xmlwf_claimtask_workflow_eperson_fk_idx ON xmlwf_claimtask(workflowitem_id,owner_id);
CREATE INDEX xmlwf_claimtask_eperson_fk_idx ON xmlwf_claimtask(owner_id);
CREATE INDEX xmlwf_claimtask_workflow_step_fk_idx ON xmlwf_claimtask(workflowitem_id,step_id);
CREATE INDEX xmlwf_claimtask_workflow_step_action_fk_idx ON xmlwf_claimtask(workflowitem_id,step_id,action_id);
CREATE INDEX xmlwf_claimtask_workflow_step_action_eperson_fk_idx ON xmlwf_claimtask(workflowitem_id,step_id,action_id,owner_id);
CREATE INDEX cwf_claimtask_workflow_fk_idx ON cwf_claimtask(workflowitem_id);
CREATE INDEX cwf_claimtask_workflow_eperson_fk_idx ON cwf_claimtask(workflowitem_id,owner_id);
CREATE INDEX cwf_claimtask_eperson_fk_idx ON cwf_claimtask(owner_id);
CREATE INDEX cwf_claimtask_workflow_step_fk_idx ON cwf_claimtask(workflowitem_id,step_id);
CREATE INDEX cwf_claimtask_workflow_step_action_fk_idx ON cwf_claimtask(workflowitem_id,step_id,action_id);
CREATE INDEX cwf_claimtask_workflow_step_action_eperson_fk_idx ON cwf_claimtask(workflowitem_id,step_id,action_id,owner_id);
CREATE TABLE xmlwf_in_progress_user (
in_progress_user_id integer DEFAULT nextval('xmlwf_in_progress_user_seq') PRIMARY KEY,
workflowitem_id integer REFERENCES xmlwf_workflowitem(workflowitem_id),
CREATE TABLE cwf_in_progress_user (
in_progress_user_id integer DEFAULT nextval('cwf_in_progress_user_seq') PRIMARY KEY,
workflowitem_id integer REFERENCES cwf_workflowitem(workflowitem_id),
user_id integer REFERENCES eperson(eperson_id),
finished BOOL
);
ALTER TABLE ONLY xmlwf_in_progress_user
ADD CONSTRAINT xmlwf_in_progress_user_unique UNIQUE (workflowitem_id, user_id);
ALTER TABLE ONLY cwf_in_progress_user
ADD CONSTRAINT cwf_in_progress_user_unique UNIQUE (workflowitem_id, user_id);
CREATE INDEX xmlwf_in_progress_user_workflow_fk_idx ON xmlwf_in_progress_user(workflowitem_id);
CREATE INDEX xmlwf_in_progress_user_eperson_fk_idx ON xmlwf_in_progress_user(user_id);
CREATE INDEX xmlwf_in_progress_user_workflow_eperson_fk_idx ON xmlwf_in_progress_user(workflowitem_id,user_id);
CREATE INDEX cwf_in_progress_user_workflow_fk_idx ON cwf_in_progress_user(workflowitem_id);
CREATE INDEX cwf_in_progress_user_eperson_fk_idx ON cwf_in_progress_user(user_id);
CREATE INDEX cwf_in_progress_user_workflow_eperson_fk_idx ON cwf_in_progress_user(workflowitem_id,user_id);