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 java.lang.Object
implements org.imixs.workflow.ExtendedWorkflowContext

The WorkflowService is the JEE Implementation for the Imixs Workflow Core 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.

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
 EntityService getEntityService()
          This method returns an instance of the Imixs JEE EntityService used by the WorkflowManager Implementation.
 org.imixs.workflow.ExtendedModel getExtendedModel()
           
 int getLogLevel()
          Workflow Context
 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.
 java.lang.Object getSessionContext()
           
 java.lang.String getUserName()
          Obtain the java.security.Principal that identifies the caller and returns the name of this principal.
 java.util.List<java.lang.String> getUserNameList()
          This method returns a list of user names, roles and application groups the caller belongs to.
 org.imixs.workflow.ItemCollection getWorkItem(java.lang.String uniqueid)
          This method loads a Workitem with the corresponding uniqueid
 java.util.Collection<org.imixs.workflow.ItemCollection> getWorkList(java.lang.String name)
          Returns a collection of workitems belonging to a specified name.
 java.util.Collection<org.imixs.workflow.ItemCollection> getWorkList(java.lang.String name, int startpos, int count, java.lang.String type, int sortorder)
           
 java.util.Collection<org.imixs.workflow.ItemCollection> getWorkListByCreator(java.lang.String name, int startpos, int count, java.lang.String type, int sortorder)
          Returns a collection of workitems created by a specified user (namCreator).
 java.util.Collection<org.imixs.workflow.ItemCollection> getWorkListByGroup(java.lang.String name, int startpos, int count, java.lang.String type, int sortorder)
           
 java.util.Collection<org.imixs.workflow.ItemCollection> getWorkListByOwner(java.lang.String name, int startpos, int count, java.lang.String type, int sortorder)
          Returns a collection of workitems containing a namOwner property belonging to a specified username.
 java.util.Collection<org.imixs.workflow.ItemCollection> getWorkListByProcessID(int aid, int startpos, int count, java.lang.String type, int sortorder)
          Returns a collection of workitems belonging to a specified $processID defined by the workflow model.
 java.util.Collection<org.imixs.workflow.ItemCollection> getWorkListByRef(java.lang.String aref)
          Returns a collection of workitems belonging to a specified workitem identified by the attribute $UniqueIDRef.
 java.util.Collection<org.imixs.workflow.ItemCollection> getWorkListByRef(java.lang.String aref, int startpos, int count, java.lang.String type, int sortorder)
          Returns a collection of workitems belonging to a specified workitem identified by the attribute $UniqueIDRef.
 java.util.Collection<org.imixs.workflow.ItemCollection> getWorkListByWriteAccess(int startpos, int count, java.lang.String type, int sortorder)
          Returns a collection of workitems where the current user has a writeAccess.
 boolean isUserInRole(java.lang.String rolename)
          Test if the caller has a given security role.
 org.imixs.workflow.ItemCollection processWorkItem(org.imixs.workflow.ItemCollection itemCollection)
          processes a workItem.
 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(java.lang.String uniqueid)
This method loads a Workitem with the corresponding uniqueid


getWorkList

public java.util.Collection<org.imixs.workflow.ItemCollection> getWorkList(java.lang.String name)
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

getWorkList

public java.util.Collection<org.imixs.workflow.ItemCollection> getWorkList(java.lang.String name,
                                                                           int startpos,
                                                                           int count,
                                                                           java.lang.String type,
                                                                           int sortorder)

getWorkListByCreator

public java.util.Collection<org.imixs.workflow.ItemCollection> getWorkListByCreator(java.lang.String name,
                                                                                    int startpos,
                                                                                    int count,
                                                                                    java.lang.String type,
                                                                                    int sortorder)
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

getWorkListByOwner

public java.util.Collection<org.imixs.workflow.ItemCollection> getWorkListByOwner(java.lang.String name,
                                                                                  int startpos,
                                                                                  int count,
                                                                                  java.lang.String type,
                                                                                  int sortorder)
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

getWorkListByWriteAccess

public java.util.Collection<org.imixs.workflow.ItemCollection> getWorkListByWriteAccess(int startpos,
                                                                                        int count,
                                                                                        java.lang.String type,
                                                                                        int sortorder)
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

getWorkListByGroup

public java.util.Collection<org.imixs.workflow.ItemCollection> getWorkListByGroup(java.lang.String name,
                                                                                  int startpos,
                                                                                  int count,
                                                                                  java.lang.String type,
                                                                                  int sortorder)

getWorkListByProcessID

public java.util.Collection<org.imixs.workflow.ItemCollection> getWorkListByProcessID(int aid,
                                                                                      int startpos,
                                                                                      int count,
                                                                                      java.lang.String type,
                                                                                      int sortorder)
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

getWorkListByRef

public java.util.Collection<org.imixs.workflow.ItemCollection> getWorkListByRef(java.lang.String aref)
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

getWorkListByRef

public java.util.Collection<org.imixs.workflow.ItemCollection> getWorkListByRef(java.lang.String aref,
                                                                                int startpos,
                                                                                int count,
                                                                                java.lang.String type,
                                                                                int sortorder)
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

processWorkItem

public org.imixs.workflow.ItemCollection processWorkItem(org.imixs.workflow.ItemCollection itemCollection)
                                                  throws org.imixs.workflow.exceptions.AccessDeniedException,
                                                         org.imixs.workflow.exceptions.ProcessingErrorException
processes a workItem. The workitem have to provide the properties '$modelversion', '$processid' and '$activityid'

Parameters:
itemCollection - - the workItem to be processed
Returns:
updated version of the processed workItem
Throws:
InvalidItemValueException - if $modelVersion did not exists or the workItem has an invalid status
org.imixs.workflow.exceptions.AccessDeniedException - if call has no write access for the given workItem
org.imixs.workflow.exceptions.ProcessingErrorException - if processing by a plugin fails

removeWorkItem

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

getLogLevel

public int getLogLevel()
Workflow Context

Specified by:
getLogLevel 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 java.lang.Object getSessionContext()
Specified by:
getSessionContext in interface org.imixs.workflow.WorkflowContext

getEntityService

public EntityService getEntityService()
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:
java.lang.Exception

getModelService

public ModelService getModelService()
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:
java.lang.Exception

getUserName

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

Returns:
the user name

isUserInRole

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

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

getUserNameList

public java.util.List<java.lang.String> getUserNameList()
This method returns a list of user names, roles and application groups the caller belongs to.

Returns:


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