/**
 * Copyright (c) 2005-2007 Intalio inc.
 *
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 * Intalio inc. - initial API and implementation
 */

package org.intalio.tempo.workflow.tms.server;

import java.net.URL;
import java.util.HashMap;

import org.apache.axis2.AxisFault;
import org.intalio.tempo.workflow.auth.AuthException;
import org.intalio.tempo.workflow.auth.AuthIdentifierSet;
import org.intalio.tempo.workflow.auth.UserRoles;
import org.intalio.tempo.workflow.task.PIPATask;
import org.intalio.tempo.workflow.task.Task;
import org.intalio.tempo.workflow.task.TaskState;
import org.intalio.tempo.workflow.task.attachments.Attachment;
import org.intalio.tempo.workflow.tms.TMSException;
import org.intalio.tempo.workflow.tms.server.dao.ITaskDAOConnection;
import org.w3c.dom.Document;

import com.intalio.bpms.workflow.taskManagementServices20051109.TaskMetadata;
//Added ITaskDAOConnection in every method signature for JIRA WF-1466
public interface ITMSServer {

    Task[] getTaskList(ITaskDAOConnection dao,String participantToken) throws TMSException;

    Task[] getAvailableTasks(ITaskDAOConnection dao,String participantToken, String taskType, String subQuery) throws TMSException;

    void skip(ITaskDAOConnection dao,String taskID, String participantToken) throws TMSException;
    
    Task getTask(ITaskDAOConnection dao,String taskID, String participantToken) throws TMSException;

    UserRoles getUserRoles(String participantToken) throws TMSException;

    PIPATask getPipa(ITaskDAOConnection dao,String formUrl, String participantToken) throws TMSException;

    Document initProcess(ITaskDAOConnection dao,String taskID, String user, String formUrl, Document input, String participantToken) throws TMSException, AxisFault;

    Attachment[] getAttachments(ITaskDAOConnection dao,String taskID, String participantToken) throws TMSException;

    void addAttachment(ITaskDAOConnection dao,String taskID, Attachment attachment, String participantToken) throws TMSException;

    void removeAttachment(ITaskDAOConnection dao,String taskID, URL attachmentURL, String participantToken) throws TMSException;

    void reassign(ITaskDAOConnection dao,String taskID, AuthIdentifierSet users, AuthIdentifierSet roles, TaskState state, String participantToken) throws TMSException;

    void storePipa(ITaskDAOConnection dao,PIPATask task, String participantToken) throws TMSException;

    void deletePipa(ITaskDAOConnection dao,String formUrl, String participantToken) throws TMSException;

    void setOutput(ITaskDAOConnection dao,String taskID, Document output, String participantToken) throws TMSException;

    void complete(ITaskDAOConnection dao,String taskID, String participantToken) throws TMSException;

    void setOutputAndComplete(ITaskDAOConnection dao,String taskID, Document output, String participantToken) throws TMSException;

    void fail(ITaskDAOConnection dao,String taskID, String failureCode, String failureReason, String participantToken) throws TMSException;

    void delete(ITaskDAOConnection dao,String[] taskIDs, String participantToken) throws TMSException;

    void create(ITaskDAOConnection dao,Task task, String participantToken) throws TMSException;
    
    void update(ITaskDAOConnection dao,TaskMetadata task, String participantToken) throws TMSException, AxisFault;

    void deleteAll(ITaskDAOConnection dao,boolean fakeDelete, String subquery, String subqueryClass, String participantToken) throws TMSException;

    Task[] getAvailableTasks(ITaskDAOConnection dao,String participantToken, HashMap parameters) throws Exception;

    Long countAvailableTasks(ITaskDAOConnection dao,String participantToken, HashMap map) throws AuthException;
}
@@ -916,77 +916,8 @@
 on;%0A
-import org.intalio.tempo.workflow.tms.server.dao.ITaskDAOConnection;%0A
 impo
@@ -1024,77 +1024,8 @@
 ta;%0A
-//Added ITaskDAOConnection in every method signature for JIRA WF-1466
 %0Apub
@@ -1075,39 +1075,16 @@
 askList(
-ITaskDAOConnection dao,
 String p
@@ -1151,39 +1151,16 @@
 leTasks(
-ITaskDAOConnection dao,
 String p
@@ -1246,39 +1246,16 @@
 id skip(
-ITaskDAOConnection dao,
 String t
@@ -1329,39 +1329,16 @@
 getTask(
-ITaskDAOConnection dao,
 String t
@@ -1486,39 +1486,16 @@
 getPipa(
-ITaskDAOConnection dao,
 String f
@@ -1574,39 +1574,16 @@
 Process(
-ITaskDAOConnection dao,
 String t
@@ -1724,39 +1724,16 @@
 chments(
-ITaskDAOConnection dao,
 String t
@@ -1809,39 +1809,16 @@
 achment(
-ITaskDAOConnection dao,
 String t
@@ -1920,39 +1920,16 @@
 achment(
-ITaskDAOConnection dao,
 String t
@@ -2019,39 +2019,16 @@
 eassign(
-ITaskDAOConnection dao,
 String t
@@ -2167,39 +2167,16 @@
 orePipa(
-ITaskDAOConnection dao,
 PIPATask
@@ -2249,39 +2249,16 @@
 etePipa(
-ITaskDAOConnection dao,
 String f
@@ -2331,39 +2331,16 @@
 tOutput(
-ITaskDAOConnection dao,
 String t
@@ -2428,39 +2428,16 @@
 omplete(
-ITaskDAOConnection dao,
 String t
@@ -2520,39 +2520,16 @@
 omplete(
-ITaskDAOConnection dao,
 String t
@@ -2613,39 +2613,16 @@
 id fail(
-ITaskDAOConnection dao,
 String t
@@ -2733,39 +2733,16 @@
  delete(
-ITaskDAOConnection dao,
 String%5B%5D
@@ -2814,39 +2814,16 @@
  create(
-ITaskDAOConnection dao,
 Task tas
@@ -2892,39 +2892,16 @@
  update(
-ITaskDAOConnection dao,
 TaskMeta
@@ -2951,35 +2951,24 @@
 TMSException
-, AxisFault
 ;%0A%0A    void 
@@ -2977,39 +2977,16 @@
 leteAll(
-ITaskDAOConnection dao,
 boolean 
@@ -3112,39 +3112,16 @@
 leTasks(
-ITaskDAOConnection dao,
 String p
@@ -3209,31 +3209,8 @@
 sks(
-ITaskDAOConnection dao,
 Stri

Revert "WF-1466 Memory Leak Fix Along with config file changes"