org.imixs.workflow.jee.ejb
Class WorkflowService

java.lang.Object
  extended by org.imixs.workflow.jee.ejb.WorkflowService
All Implemented Interfaces:
org.imixs.workflow.ExtendedWorkflowContext, org.imixs.workflow.WorkflowContext

@DeclareRoles(value={"org.imixs.ACCESSLEVEL.NOACCESS","org.imixs.ACCESSLEVEL.READERACCESS","org.imixs.ACCESSLEVEL.AUTHORACCESS","org.imixs.ACCESSLEVEL.EDITORACCESS","org.imixs.ACCESSLEVEL.MANAGERACCESS"})
@RolesAllowed(value={"org.imixs.ACCESSLEVEL.NOACCESS","org.imixs.ACCESSLEVEL.READERACCESS","org.imixs.ACCESSLEVEL.AUTHORACCESS","org.imixs.ACCESSLEVEL.EDITORACCESS","org.imixs.ACCESSLEVEL.MANAGERACCESS"})
public class WorkflowService
extends Object
implements org.imixs.workflow.ExtendedWorkflowContext

The WorkflowService is the JEE Implementation for the IX Workflow API. This interface acts as a service facade and supports basic methods to create, process and access workitems. The Interface extends the core api interface org.imixs.workflow.WorkflowManager with getter methods to fetch collections of workitems. The ModelManager is independent form the IX JEE Entity EJBs and uses the standard IntemCollection Object as a data transfer object to comunitcate with clients.

Author:
rsoika

Field Summary
static int SORT_ORDER_CREATED_ASC
           
static int SORT_ORDER_CREATED_DESC
           
static int SORT_ORDER_MODIFIED_ASC
           
static int SORT_ORDER_MODIFIED_DESC
           
 
Constructor Summary
WorkflowService()
           
 
Method Summary
 int getDebugLevel()
          Workflow Context
 EntityService getEntityService()
          This method returns an instance of the Imixs JEE EntityService used by the WorkflowManager Implementation.
 org.imixs.workflow.ExtendedModel getExtendedModel()
           
 org.imixs.workflow.Model getModel()
          This Method returns the modelManager Instance.
 ModelService getModelService()
          This method returns an instance of the Imixs JEE ModelService used by the WorkflowManager Implementation.
 Object getSessionContext()
           
 String getUserName()
          Obtain the java.security.Principal that identifies the caller and returns the name of this principal.
 String[] getUserRoles()
          Returns a String array containing all user roles the caller has given
 org.imixs.workflow.ItemCollection getWorkItem(String uniqueid)
          This method loads a Workitem with the corresponding uniqueid
 Collection<org.imixs.workflow.ItemCollection> getWorkList(String name)
          Returns a collection of workitems belonging to a specified name.
 Collection<org.imixs.workflow.ItemCollection> getWorkList(String name, int startpos, int count, String type, int sortorder)
           
 Collection<org.imixs.workflow.ItemCollection> getWorkListByCreator(String name, int startpos, int count, String type, int sortorder)
          Returns a collection of workitems created by a specified user (namCreator).
 Collection<org.imixs.workflow.ItemCollection> getWorkListByGroup(String name, int startpos, int count, String type, int sortorder)
           
 Collection<org.imixs.workflow.ItemCollection> getWorkListByOwner(String name, int startpos, int count, String type, int sortorder)
          Returns a collection of workitems containing a namOwner property belonging to a specified username.
 Collection<org.imixs.workflow.ItemCollection> getWorkListByProcessID(int aid, int startpos, int count, String type, int sortorder)
          Returns a collection of workitems belonging to a specified $processID defined by the workflow model.
 Collection<org.imixs.workflow.ItemCollection> getWorkListByRef(String aref)
          Returns a collection of workitems belonging to a specified workitem identified by the attribute $UniqueIDRef.
 Collection<org.imixs.workflow.ItemCollection> getWorkListByRef(String aref, int startpos, int count, String type, int sortorder)
          Returns a collection of workitems belonging to a specified workitem identified by the attribute $UniqueIDRef.
 Collection<org.imixs.workflow.ItemCollection> getWorkListByWriteAccess(int startpos, int count, String type, int sortorder)
          Returns a collection of workitems where the current user has a writeAccess.
 boolean isUserInRole(String rolename)
          Test if the caller has a given security role.
 org.imixs.workflow.ItemCollection processWorkItem(org.imixs.workflow.ItemCollection itemCollection)
          processes a workitem with the provided Activity ID
 void removeWorkItem(org.imixs.workflow.ItemCollection aworkitem)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SORT_ORDER_CREATED_DESC

public static final int SORT_ORDER_CREATED_DESC
See Also:
Constant Field Values

SORT_ORDER_CREATED_ASC

public static final int SORT_ORDER_CREATED_ASC
See Also:
Constant Field Values

SORT_ORDER_MODIFIED_DESC

public static final int SORT_ORDER_MODIFIED_DESC
See Also:
Constant Field Values

SORT_ORDER_MODIFIED_ASC

public static final int SORT_ORDER_MODIFIED_ASC
See Also:
Constant Field Values
Constructor Detail

WorkflowService

public WorkflowService()
Method Detail

getWorkItem

public org.imixs.workflow.ItemCollection getWorkItem(String uniqueid)
                                              throws Exception
This method loads a Workitem with the corresponding uniqueid

Throws:
Exception

getWorkList

public Collection<org.imixs.workflow.ItemCollection> getWorkList(String name)
                                                          throws Exception
Returns a collection of workitems belonging to a specified name. The name is a username or role contained in the $WriteAccess attribute of the workitem. The method returns only workitems the call has sufficient read access for.

Parameters:
name - = username or role contained in $writeAccess - if null current username will be used
startpos - = optional start position
count - = optional count - default = -1
type - = defines the type property of the workitems to be returnd. can be null
sortorder - = defines sortorder (SORT_ORDER_CREATED_DESC = 0 SORT_ORDER_CREATED_ASC = 1 SORT_ORDER_MODIFIED_DESC = 2 SORT_ORDER_MODIFIED_ASC = 3)
Returns:
List of workitems
Throws:
Exception

getWorkList

public Collection<org.imixs.workflow.ItemCollection> getWorkList(String name,
                                                                 int startpos,
                                                                 int count,
                                                                 String type,
                                                                 int sortorder)
                                                          throws Exception
Throws:
Exception

getWorkListByCreator

public Collection<org.imixs.workflow.ItemCollection> getWorkListByCreator(String name,
                                                                          int startpos,
                                                                          int count,
                                                                          String type,
                                                                          int sortorder)
                                                                   throws Exception
Returns a collection of workitems created by a specified user (namCreator). The behaivor is simmilar to the method getWorkList.

Parameters:
name - = username for property namCreator - if null current username will be used
startpos - = optional start position
count - = optional count - default = -1
type - = defines the type property of the workitems to be returnd. can be null
sortorder - = defines sortorder (SORT_ORDER_CREATED_DESC = 0 SORT_ORDER_CREATED_ASC = 1 SORT_ORDER_MODIFIED_DESC = 2 SORT_ORDER_MODIFIED_ASC = 3)
Returns:
List of workitems
Throws:
Exception

getWorkListByOwner

public Collection<org.imixs.workflow.ItemCollection> getWorkListByOwner(String name,
                                                                        int startpos,
                                                                        int count,
                                                                        String type,
                                                                        int sortorder)
                                                                 throws Exception
Returns a collection of workitems containing a namOwner property belonging to a specified username. The namOwner property is typical controled by the OwnerPlugin

Parameters:
name - = username for property namOwner - if null current username will be used
startpos - = optional start position
count - = optional count - default = -1
type - = defines the type property of the workitems to be returnd. can be null
sortorder - = defines sortorder (SORT_ORDER_CREATED_DESC = 0 SORT_ORDER_CREATED_ASC = 1 SORT_ORDER_MODIFIED_DESC = 2 SORT_ORDER_MODIFIED_ASC = 3)
Returns:
List of workitems
Throws:
Exception

getWorkListByWriteAccess

public Collection<org.imixs.workflow.ItemCollection> getWorkListByWriteAccess(int startpos,
                                                                              int count,
                                                                              String type,
                                                                              int sortorder)
                                                                       throws Exception
Returns a collection of workitems where the current user has a writeAccess. This means the either the username or one of the userroles is contained in the $writeaccess property

Parameters:
startpos - = optional start position
count - = optional count - default = -1
type - = defines the type property of the workitems to be returnd. can be null
sortorder - = defines sortorder (SORT_ORDER_CREATED_DESC = 0 SORT_ORDER_CREATED_ASC = 1 SORT_ORDER_MODIFIED_DESC = 2 SORT_ORDER_MODIFIED_ASC = 3)
Returns:
List of workitems
Throws:
Exception

getWorkListByGroup

public Collection<org.imixs.workflow.ItemCollection> getWorkListByGroup(String name,
                                                                        int startpos,
                                                                        int count,
                                                                        String type,
                                                                        int sortorder)
                                                                 throws Exception
Throws:
Exception

getWorkListByProcessID

public Collection<org.imixs.workflow.ItemCollection> getWorkListByProcessID(int aid,
                                                                            int startpos,
                                                                            int count,
                                                                            String type,
                                                                            int sortorder)
                                                                     throws Exception
Returns a collection of workitems belonging to a specified $processID defined by the workflow model. The behaivor is simmilar to the method getWorkList.

Parameters:
aID - = $ProcessID for the workitems to be returned.
startpos - = optional start position
count - = optional count - default = -1
type - = defines the type property of the workitems to be returnd. can be null
sortorder - = defines sortorder (SORT_ORDER_CREATED_DESC = 0 SORT_ORDER_CREATED_ASC = 1 SORT_ORDER_MODIFIED_DESC = 2 SORT_ORDER_MODIFIED_ASC = 3)
Returns:
List of workitems
Throws:
Exception

getWorkListByRef

public Collection<org.imixs.workflow.ItemCollection> getWorkListByRef(String aref)
                                                               throws Exception
Returns a collection of workitems belonging to a specified workitem identified by the attribute $UniqueIDRef. The behaivor of this Mehtod is simmilar to the method getWorkList.

Parameters:
aref - A unique reference to another workitem inside a database *
startpos - = optional start position
count - = optional count - default = -1
type - = defines the type property of the workitems to be returnd. can be null
sortorder - = defines sortorder (SORT_ORDER_CREATED_DESC = 0 SORT_ORDER_CREATED_ASC = 1 SORT_ORDER_MODIFIED_DESC = 2 SORT_ORDER_MODIFIED_ASC = 3)
Returns:
List of workitems
Throws:
Exception

getWorkListByRef

public Collection<org.imixs.workflow.ItemCollection> getWorkListByRef(String aref,
                                                                      int startpos,
                                                                      int count,
                                                                      String type,
                                                                      int sortorder)
                                                               throws Exception
Returns a collection of workitems belonging to a specified workitem identified by the attribute $UniqueIDRef. The behaivor of this Mehtod is simmilar to the method getWorkList.

Parameters:
aref - A unique reference to another workitem inside a database *
startpos - = optional start position
count - = optional count - default = -1
type - = defines the type property of the workitems to be returnd. can be null
sortorder - = defines sortorder (SORT_ORDER_CREATED_DESC = 0 SORT_ORDER_CREATED_ASC = 1 SORT_ORDER_MODIFIED_DESC = 2 SORT_ORDER_MODIFIED_ASC = 3)
Returns:
List of workitems
Throws:
Exception

processWorkItem

public org.imixs.workflow.ItemCollection processWorkItem(org.imixs.workflow.ItemCollection itemCollection)
                                                  throws org.imixs.workflow.exceptions.AccessDeniedException,
                                                         org.imixs.workflow.exceptions.InvalidWorkitemException,
                                                         org.imixs.workflow.exceptions.ProcessingErrorException
processes a workitem with the provided Activity ID

Throws:
org.imixs.workflow.exceptions.AccessDeniedException
org.imixs.workflow.exceptions.InvalidWorkitemException
org.imixs.workflow.exceptions.ProcessingErrorException

removeWorkItem

public void removeWorkItem(org.imixs.workflow.ItemCollection aworkitem)
                    throws org.imixs.workflow.exceptions.AccessDeniedException,
                           org.imixs.workflow.exceptions.InvalidWorkitemException
Throws:
org.imixs.workflow.exceptions.AccessDeniedException
org.imixs.workflow.exceptions.InvalidWorkitemException

getDebugLevel

public int getDebugLevel()
Workflow Context

Specified by:
getDebugLevel in interface org.imixs.workflow.WorkflowContext

getModel

public org.imixs.workflow.Model getModel()
This Method returns the modelManager Instance. The current ModelVersion is automatically updated during the Method updateProfileEntity which is called from the processWorktiem method.

Specified by:
getModel in interface org.imixs.workflow.WorkflowContext

getExtendedModel

public org.imixs.workflow.ExtendedModel getExtendedModel()
Specified by:
getExtendedModel in interface org.imixs.workflow.ExtendedWorkflowContext

getSessionContext

public Object getSessionContext()
Specified by:
getSessionContext in interface org.imixs.workflow.WorkflowContext

getEntityService

public EntityService getEntityService()
                               throws Exception
This method returns an instance of the Imixs JEE EntityService used by the WorkflowManager Implementation. The method can be used to access the EntityService during a Plugin call.

Returns:
EntityService
Throws:
Exception

getModelService

public ModelService getModelService()
                             throws Exception
This method returns an instance of the Imixs JEE ModelService used by the WorkflowManager Implementation. The method can be used to access the ModelService during a Plugin call.

Returns:
EntityService
Throws:
Exception

getUserName

public String getUserName()
                   throws Exception
Obtain the java.security.Principal that identifies the caller and returns the name of this principal.

Returns:
the user name
Throws:
Exception

isUserInRole

public boolean isUserInRole(String rolename)
                     throws Exception
Test if the caller has a given security role.

Parameters:
rolename -
Returns:
true if user is in role
Throws:
Exception

getUserRoles

public String[] getUserRoles()
                      throws Exception
Returns a String array containing all user roles the caller has given

Returns:
String array with the users access roles
Throws:
Exception


Copyright © 2006-2012 Imixs Software Solutions GmbH. All Rights Reserved.