Package com.saperion.connector.wf
Class SaWFConnectorImpl
java.lang.Object
com.saperion.connector.wf.SaWFConnectorImpl
- All Implemented Interfaces:
SaWFConnector
Workflow connector implementation.
- Author:
- rbo
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs theSaWFConnectorImpl
instance which provides workflow functionalities.Constructor with given connector.SaWFConnectorImpl
(String configPath) Constructs theSaWFConnectorImpl
instance which provides workflow functionalities. -
Method Summary
Modifier and TypeMethodDescriptionexecuteStartProcess
(String definition, ActorInfo nextActor, String comment, String attachmentUID) Start new process.getBoxCount
(int boxId) Reads the count (number of workflow item) of the inbox identified by the given id.Reads the box definitions.Gets the classic connector behind this connector.List<HistoryInfo[]>
getDocHistories
(String documentHdoc) Gets the document's process histories.getDocHistoriesXML
(String documentHdoc) Gets the document's process histories as XML.getDocHistoriesXML
(String documentHdoc, String language) Gets the document's process histories as XML.getDocHistoriesXML2
(String documentHdoc, String language) Gets the the second variant of document's process histories as XML.getDocHistoriesXML2
(String documentHdoc, String language, boolean isAscending) Gets the the second variant of document's process histories as XML with ascending/descending switch.getGroupbox
(int[] ids, String filter) Read the content of the group box.Read the content of the inbox.getMember
(WorkflowMember member, int depth, String filter) Reads direct workflow member tree.Reads the workflow member tree.getOrgUnitbox
(int[] ids, String filter) Read the content of the organisation unit box.boolean
Get the out of office status for the logged on user.getParentTask
(String taskId) Get parent task direct by ID.Reads all available process definitions.getProcessDefinitions
(String ddcName) Returns the process definitions that are allowed to be used for documents contained in the specified DDC.Get the substitute for the logged on user.getSubstitutebox
(int[] ids, String filter) Read the content of the substitute box.Creates a task object from the given task information.Get task direct by ID.getTaskAuditList
(int[] boxIds, String filter) Reads the task audit for this user.getTaskAuditList
(int[] boxIds, String filter, Map<String, Object> parameter) Reads the task audit for this user.getTaskList
(int[] boxIds, String filter) Reads the task for this user.getTaskList
(int[] boxIds, String filter, Map<String, Object> parameter) Reads the task for this user.int
User ID for the actual user.Gets the workflow ddc namegetXMLTaskList
(List<TaskInfo> taskList) Converts a task list to xml.boolean
logoff()
Logoff from the backend system.int
performs logon to the backend system.void
setOutOfOffice
(boolean isOutOfOffice) set the out of office status for the logged on user.void
setSubstitute
(String name) Set the substitute for the logged on user.
-
Constructor Details
-
SaWFConnectorImpl
Constructs theSaWFConnectorImpl
instance which provides workflow functionalities.- Throws:
SaSystemException
- System exceptionSaAuthenticationException
- Authentication exception
-
SaWFConnectorImpl
Constructs theSaWFConnectorImpl
instance which provides workflow functionalities.- Parameters:
configPath
- Configuration path- Throws:
SaSystemException
- System exceptionSaAuthenticationException
- Authentication exception
-
SaWFConnectorImpl
public SaWFConnectorImpl(SaClassicConnector conn) throws SaAuthenticationException, SaSystemException Constructor with given connector.- Parameters:
conn
- Classic connector- Throws:
SaSystemException
- System exceptionSaAuthenticationException
- Authentication exception
-
-
Method Details
-
getBoxDefinitions
Reads the box definitions.- Specified by:
getBoxDefinitions
in interfaceSaWFConnector
- Returns:
- Box definitions
- Throws:
SaAuthenticationException
- SaAuthenticationExceptionSaSystemException
- SaSystemException- See Also:
-
getBoxCount
Reads the count (number of workflow item) of the inbox identified by the given id. For more options (unread-count...) use invoke method of ClassicConnector withGetBoxCount
operation.- Specified by:
getBoxCount
in interfaceSaWFConnector
- Parameters:
boxId
- the workflow box id- Returns:
- the count of the inbox as Long.
- Throws:
SaAuthenticationException
- if an error occurs.SaSystemException
- if an error occurs.- See Also:
-
getGroupbox
public List<TaskInfo> getGroupbox(int[] ids, String filter) throws SaAuthenticationException, SaSystemException Read the content of the group box.- Specified by:
getGroupbox
in interfaceSaWFConnector
- Parameters:
ids
- Filter ID'sfilter
- HQL filter- Returns:
- List of TaskInfo objects
- Throws:
SaAuthenticationException
- SaAuthenticationExceptionSaSystemException
- SaSystemException- See Also:
-
getInbox
Read the content of the inbox.- Specified by:
getInbox
in interfaceSaWFConnector
- Parameters:
filter
- HQL filter- Returns:
- List of TaskInfo objects
- Throws:
SaAuthenticationException
- SaAuthenticationExceptionSaSystemException
- SaSystemException- See Also:
-
getOrgUnitbox
public List<TaskInfo> getOrgUnitbox(int[] ids, String filter) throws SaAuthenticationException, SaSystemException Read the content of the organisation unit box.- Specified by:
getOrgUnitbox
in interfaceSaWFConnector
- Parameters:
ids
- Filter ID'sfilter
- HQL filter- Returns:
- List of TaskInfo objects
- Throws:
SaAuthenticationException
- SaAuthenticationExceptionSaSystemException
- SaSystemException- See Also:
-
getTask
public SaWFTask getTask(TaskInfo taskInfo) throws SaAuthenticationException, SaSystemException, SaWorkflowException Creates a task object from the given task information.- Specified by:
getTask
in interfaceSaWFConnector
- Parameters:
taskInfo
- Task information- Returns:
- Task object
- Throws:
SaAuthenticationException
- SaAuthenticationExceptionSaSystemException
- SaSystemExceptionSaWorkflowException
- Workflow exception- See Also:
-
getTask
public SaWFTask getTask(String taskId) throws SaAuthenticationException, SaSystemException, SaWorkflowException Get task direct by ID.- Specified by:
getTask
in interfaceSaWFConnector
- Parameters:
taskId
- Task SysRowId- Returns:
- Task information
- Throws:
SaAuthenticationException
- SaAuthenticationExceptionSaSystemException
- SaSystemExceptionSaWorkflowException
- Workflow exception- See Also:
-
getParentTask
public SaWFTask getParentTask(String taskId) throws SaAuthenticationException, SaSystemException, SaWorkflowException Get parent task direct by ID.- Specified by:
getParentTask
in interfaceSaWFConnector
- Parameters:
taskId
- Task SysRowId- Returns:
- Task information
- Throws:
SaAuthenticationException
- SaAuthenticationExceptionSaSystemException
- SaSystemExceptionSaWorkflowException
- Workflow exception- See Also:
-
getSubstitutebox
public List<TaskInfo> getSubstitutebox(int[] ids, String filter) throws SaAuthenticationException, SaSystemException Read the content of the substitute box.- Specified by:
getSubstitutebox
in interfaceSaWFConnector
- Parameters:
ids
- Filter ID'sfilter
- HQL filter- Returns:
- List of TaskInfo objects
- Throws:
SaAuthenticationException
- SaAuthenticationExceptionSaSystemException
- SaSystemException- See Also:
-
getTaskList
public List<TaskInfo> getTaskList(int[] boxIds, String filter) throws SaAuthenticationException, SaSystemException Reads the task for this user.- Specified by:
getTaskList
in interfaceSaWFConnector
- Parameters:
boxIds
- BoxIdsfilter
- HQL filter. Optional WHERE condition that will be added to the original query.
In order to add the pagination functionality like setMaxResults() and/or setFirstResult(), add the following statements to the filter:
filter_stmt;MAXRESULTS=x ;FIRSTRESULT=y.
;MAXRESULTS=x - x means the limitation of the result set output.
;FIRSTRESULT=y - y means setting the result set cursor to the y-position.
Adding pagination is optional feature that can be used without filter statement as well. In other words filter might consist of ;MAXRESULTS=x ;FIRSTRESULT=y string only.
Examples:
1. LASTUSER ='Bolt';MAXRESULTS=50 ;FIRSTRESULT=1 - hql query's where condition is enhanced with restriction LASTUSER ='Bolt' and the pagination functionality setMaxResults() and setFirstResult() is used;
2. ;MAXRESULTS=50 - only setMaxResult() will be used.
using ; ist important for applying pagination.- Returns:
- List of TaskInfo objects
- Throws:
SaAuthenticationException
- SaAuthenticationExceptionSaSystemException
- SaSystemException- See Also:
-
getTaskList
public List<TaskInfo> getTaskList(int[] boxIds, String filter, Map<String, Object> parameter) throws SaAuthenticationException, SaSystemExceptionReads the task for this user.- Specified by:
getTaskList
in interfaceSaWFConnector
- Parameters:
boxIds
- BoxIdsfilter
- HQL filter. Optional WHERE condition that will be added to the original query.
In order to add the pagination functionality like setMaxResults() and/or setFirstResult(), add the following statements to the filter:
filter_stmt;MAXRESULTS=x ;FIRSTRESULT=y.
;MAXRESULTS=x - x means the limitation of the result set output.
;FIRSTRESULT=y - y means setting the result set cursor to the y-position.
Adding pagination is optional feature that can be used without filter statement as well. In other words filter might consist of ;MAXRESULTS=x ;FIRSTRESULT=y string only.
Examples:
1. LASTUSER ='Bolt';MAXRESULTS=50 ;FIRSTRESULT=1 - hql query's where condition is enhanced with restriction LASTUSER ='Bolt' and the pagination functionality setMaxResults() and setFirstResult() is used;
2. ;MAXRESULTS=50 - only setMaxResult() will be used.
using ; ist important for applying pagination.parameter
- parameters for the filter-statement, if used- Returns:
- List of TaskInfo objects
- Throws:
SaAuthenticationException
- SaAuthenticationExceptionSaSystemException
- SaSystemException- See Also:
-
getTaskAuditList
public List<TaskAuditInfo> getTaskAuditList(int[] boxIds, String filter) throws SaAuthenticationException, SaSystemException Reads the task audit for this user.- Specified by:
getTaskAuditList
in interfaceSaWFConnector
- Parameters:
boxIds
- BoxIdsfilter
- HQL filter- Returns:
- List of
TaskAuditInfo
objects - Throws:
SaAuthenticationException
- SaAuthenticationExceptionSaSystemException
- SaSystemException- See Also:
-
getTaskAuditList
public List<TaskAuditInfo> getTaskAuditList(int[] boxIds, String filter, Map<String, Object> parameter) throws SaAuthenticationException, SaSystemExceptionReads the task audit for this user.- Specified by:
getTaskAuditList
in interfaceSaWFConnector
- Parameters:
boxIds
- BoxIdsfilter
- HQL filterparameter
- Filter parameter- Returns:
- List of
TaskAuditInfo
objects - Throws:
SaAuthenticationException
- SaAuthenticationExceptionSaSystemException
- SaSystemException- See Also:
-
executeStartProcess
public TaskInfo executeStartProcess(String definition, ActorInfo nextActor, String comment, String attachmentUID) throws SaWorkflowException Start new process.- Specified by:
executeStartProcess
in interfaceSaWFConnector
- Parameters:
definition
- Process definitionnextActor
- Next actorcomment
- CommentattachmentUID
- Attachment UID (a HDOC)- Returns:
- Task info of new process
- Throws:
SaWorkflowException
- Workflow exception- See Also:
-
logoff
Logoff from the backend system. This command also destroys the command thread on the java broker server.- Specified by:
logoff
in interfaceSaWFConnector
- Returns:
- boolean. True, if logoff successful.
- Throws:
SaAuthenticationException
- SaAuthenticationExceptionSaSystemException
- SaSystemException- See Also:
-
logon
public int logon(String username, String password, int type, String client) throws SaAuthenticationException, SaSystemException performs logon to the backend system.- Specified by:
logon
in interfaceSaWFConnector
- Parameters:
username
- User's full namepassword
- Passwordtype
- User type that means client license type. There are possible the following integer values:- 1 = index
- 2 = query
- 3 = univeral administrator
- 4 = web query
- 7 = web index
- 12 = workflow
- 13 = scan
- 14 = highend scan
- 15 = API query
- 16 = API index
- 17 = API scan
- 20 = basic administrator
- 29 = web workflow
client
- client/mandant name, used in multi-client systems- Returns:
- User token for the current session.
- Throws:
SaAuthenticationException
- SaAuthenticationExceptionSaSystemException
- SaSystemException- See Also:
-
getUserId
public int getUserId()User ID for the actual user.- Specified by:
getUserId
in interfaceSaWFConnector
- Returns:
- User id
- See Also:
-
getXMLTaskList
Converts a task list to xml.- Specified by:
getXMLTaskList
in interfaceSaWFConnector
- Parameters:
taskList
- Task list- Returns:
- Task XML as String
- See Also:
-
getProcessDefinitions
public List<String> getProcessDefinitions() throws SaAuthenticationException, SaSystemException, SaWorkflowExceptionReads all available process definitions.- Specified by:
getProcessDefinitions
in interfaceSaWFConnector
- Returns:
- Process definitions
- Throws:
SaAuthenticationException
- SaAuthenticationExceptionSaSystemException
- SaSystemExceptionSaWorkflowException
- Workflow exception- See Also:
-
getProcessDefinitions
public List<ProcessDefinitionDescriptor> getProcessDefinitions(String ddcName) throws SaAuthenticationException, SaSystemException, SaWorkflowException Returns the process definitions that are allowed to be used for documents contained in the specified DDC. If no restrictions are configured, all process definitions will be returned.- Specified by:
getProcessDefinitions
in interfaceSaWFConnector
- Parameters:
ddcName
- name of the DDC- Returns:
- Workflowdefinition list
- Throws:
SaAuthenticationException
- authentication error when loading definitionsSaSystemException
- system error when loading definitionsSaWorkflowException
- workflow error when loading definitions- See Also:
-
getOutOfOffice
Get the out of office status for the logged on user.- Specified by:
getOutOfOffice
in interfaceSaWFConnector
- Returns:
- is OutOfOffice
- Throws:
SaAuthenticationException
- SaAuthenticationExceptionSaSystemException
- SaSystemException- See Also:
-
getSubstitute
Get the substitute for the logged on user.- Specified by:
getSubstitute
in interfaceSaWFConnector
- Returns:
- Substitute name
- Throws:
SaAuthenticationException
- SaAuthenticationExceptionSaSystemException
- SaSystemException- See Also:
-
setOutOfOffice
public void setOutOfOffice(boolean isOutOfOffice) throws SaAuthenticationException, SaSystemException set the out of office status for the logged on user.- Specified by:
setOutOfOffice
in interfaceSaWFConnector
- Parameters:
isOutOfOffice
- True, if is OutOfOffice- Throws:
SaAuthenticationException
- SaAuthenticationExceptionSaSystemException
- SaSystemException- See Also:
-
setSubstitute
Set the substitute for the logged on user.- Specified by:
setSubstitute
in interfaceSaWFConnector
- Parameters:
name
- the fullname of the substitute user- Throws:
SaAuthenticationException
- SaAuthenticationExceptionSaSystemException
- SaSystemException- See Also:
-
getDocHistories
Gets the document's process histories.- Specified by:
getDocHistories
in interfaceSaWFConnector
- Parameters:
documentHdoc
- Document's HDoc- Returns:
- List of arrays of history objects
- Throws:
SaWorkflowException
- Workflow exception- See Also:
-
getDocHistoriesXML
Gets the document's process histories as XML.- Specified by:
getDocHistoriesXML
in interfaceSaWFConnector
- Parameters:
documentHdoc
- Document's UID- Returns:
- List of XML strings of history objects
- Throws:
SaWorkflowException
- Workflow exception- See Also:
-
getDocHistoriesXML
public List<String> getDocHistoriesXML(String documentHdoc, String language) throws SaWorkflowException Gets the document's process histories as XML.- Specified by:
getDocHistoriesXML
in interfaceSaWFConnector
- Parameters:
documentHdoc
- Document's UIDlanguage
- Language- Returns:
- List of XML strings of history objects
- Throws:
SaWorkflowException
- Workflow exception- See Also:
-
getDocHistoriesXML2
public List<String> getDocHistoriesXML2(String documentHdoc, String language) throws SaWorkflowException Gets the the second variant of document's process histories as XML.- Specified by:
getDocHistoriesXML2
in interfaceSaWFConnector
- Parameters:
documentHdoc
- Document's UIDlanguage
- Language- Returns:
- List of XML strings of history objects
- Throws:
SaWorkflowException
- Workflow exception- See Also:
-
getDocHistoriesXML2
public List<String> getDocHistoriesXML2(String documentHdoc, String language, boolean isAscending) throws SaWorkflowException Gets the the second variant of document's process histories as XML with ascending/descending switch.- Specified by:
getDocHistoriesXML2
in interfaceSaWFConnector
- Parameters:
documentHdoc
- Document's UIDlanguage
- LanguageisAscending
- Is ascending- Returns:
- List of XML strings of history objects
- Throws:
SaWorkflowException
- Workflow exception- See Also:
-
getMembers
Reads the workflow member tree.- Specified by:
getMembers
in interfaceSaWFConnector
- Returns:
- Member tree
- Throws:
SaAuthenticationException
- SaAuthenticationExceptionSaSystemException
- SaSystemException- See Also:
-
getMember
public WorkflowMember getMember(WorkflowMember member, int depth, String filter) throws SaAuthenticationException, SaSystemException Reads direct workflow member tree.- Specified by:
getMember
in interfaceSaWFConnector
- Parameters:
member
- workflow member, which children have to be returned.depth
- of children.filter
- filter string- Returns:
- Member tree
- Throws:
SaAuthenticationException
- SaAuthenticationExceptionSaSystemException
- SaSystemException- See Also:
-
getClassicConnector
Gets the classic connector behind this connector. ;- Specified by:
getClassicConnector
in interfaceSaWFConnector
- Returns:
- Classic connector behind this connector
- See Also:
-
getWorkflowDdcName
Gets the workflow ddc name- Specified by:
getWorkflowDdcName
in interfaceSaWFConnector
- Returns:
- the name of the workflow ddc
- Throws:
SaSystemException
- See Also:
-