org.processmining.framework.models.recommendation
Class RecommendationQuery

java.lang.Object
  extended by org.processmining.framework.models.recommendation.RecommendationQuery

public class RecommendationQuery
extends java.lang.Object

Data structure for storing a query requesting recommendation for scheduling in a process management system.

Author:
Christian W. Guenther (christian@deckfour.org)

Field Summary
protected  java.util.ArrayList<AuditTrailEntry> auditTrail
           
protected  java.util.TreeSet<java.lang.String> availableTasks
           
protected  java.util.TreeSet<java.lang.String> availableUsers
           
protected  java.util.TreeSet<java.lang.String> filterGroups
           
protected  java.util.TreeSet<java.lang.String> filterRoles
           
protected  java.util.TreeSet<java.lang.String> filterTasks
           
protected  java.util.TreeSet<java.lang.String> filterUsers
           
protected static java.lang.String hostId
           
protected  java.lang.String id
           
protected  java.lang.String processId
           
protected  java.util.Map<java.lang.String,java.lang.String> processInstanceData
           
protected  java.lang.String processInstanceId
           
 
Constructor Summary
RecommendationQuery(java.lang.String aProcessId, java.lang.String aProcessInstanceId)
          Creates a new, empty recommendation query
RecommendationQuery(java.lang.String queryId, java.lang.String aProcessId, java.lang.String aProcessInstanceId)
          Creates an empty recommendation query with a known ID
 
Method Summary
 void addAuditTrailEntry(AuditTrailEntry ate)
          Adds an audit trail entry, or event, to the current incomplete audit trail of the process instance for which the query is being issued.
 void addAvailableTask(java.lang.String task)
          Adds a task to the set of available tasks to be used for recommendation.
 void addAvailableUser(java.lang.String user)
          Adds a user to the set of available resources to be used for recommendation.
 void addFilterGroup(java.lang.String group)
          Adds a group for which results should be included
 void addFilterRole(java.lang.String role)
          Adds a role for which results should be included
 void addFilterTask(java.lang.String task)
          Adds a task for which results should be included
 void addFilterUser(java.lang.String user)
          Adds a user for which results should be included
 java.util.List<AuditTrailEntry> getAuditTrail()
           
 java.util.SortedSet<java.lang.String> getAvailableTasks()
           
 java.util.SortedSet<java.lang.String> getAvailableUsers()
           
 java.util.SortedSet<java.lang.String> getFilterGroups()
           
 java.util.SortedSet<java.lang.String> getFilterRoles()
           
 java.util.SortedSet<java.lang.String> getFilterTasks()
           
 java.util.SortedSet<java.lang.String> getFilterUsers()
           
 java.lang.String getId()
           
 java.lang.String getProcessId()
           
 java.util.Map<java.lang.String,java.lang.String> getProcessInstanceData()
           
 java.lang.String getProcessInstanceId()
           
 void setProcessInstanceAttribute(java.lang.String key, java.lang.String value)
          Adds a new attribute to the instance which the query is based on
 void setProcessInstanceData(java.util.Map<java.lang.String,java.lang.String> data)
           
 ProcessInstance toProcessInstance(java.lang.String process)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

hostId

protected static java.lang.String hostId

id

protected java.lang.String id

processId

protected java.lang.String processId

processInstanceId

protected java.lang.String processInstanceId

processInstanceData

protected java.util.Map<java.lang.String,java.lang.String> processInstanceData

filterUsers

protected java.util.TreeSet<java.lang.String> filterUsers

filterRoles

protected java.util.TreeSet<java.lang.String> filterRoles

filterGroups

protected java.util.TreeSet<java.lang.String> filterGroups

filterTasks

protected java.util.TreeSet<java.lang.String> filterTasks

availableUsers

protected java.util.TreeSet<java.lang.String> availableUsers

availableTasks

protected java.util.TreeSet<java.lang.String> availableTasks

auditTrail

protected java.util.ArrayList<AuditTrailEntry> auditTrail
Constructor Detail

RecommendationQuery

public RecommendationQuery(java.lang.String queryId,
                           java.lang.String aProcessId,
                           java.lang.String aProcessInstanceId)
Creates an empty recommendation query with a known ID


RecommendationQuery

public RecommendationQuery(java.lang.String aProcessId,
                           java.lang.String aProcessInstanceId)
Creates a new, empty recommendation query

Method Detail

setProcessInstanceData

public void setProcessInstanceData(java.util.Map<java.lang.String,java.lang.String> data)
Parameters:
data - the data, i.e. attribute, map of the instance which the query is based on.

setProcessInstanceAttribute

public void setProcessInstanceAttribute(java.lang.String key,
                                        java.lang.String value)
Adds a new attribute to the instance which the query is based on

Parameters:
key - Key of the attribute to be set
value - Value of the attribute to be set

addFilterUser

public void addFilterUser(java.lang.String user)
Adds a user for which results should be included

Parameters:
user - string representation of a user

addFilterRole

public void addFilterRole(java.lang.String role)
Adds a role for which results should be included

Parameters:
role - string representation of a role

addFilterGroup

public void addFilterGroup(java.lang.String group)
Adds a group for which results should be included

Parameters:
group - string representation of a group

addFilterTask

public void addFilterTask(java.lang.String task)
Adds a task for which results should be included

Parameters:
task - string representation of a task

addAvailableUser

public void addAvailableUser(java.lang.String user)
Adds a user to the set of available resources to be used for recommendation.

Parameters:
user - string representation of a user

addAvailableTask

public void addAvailableTask(java.lang.String task)
Adds a task to the set of available tasks to be used for recommendation.

Parameters:
task - string representation of a task

addAuditTrailEntry

public void addAuditTrailEntry(AuditTrailEntry ate)
Adds an audit trail entry, or event, to the current incomplete audit trail of the process instance for which the query is being issued.

Parameters:
ate - an audit trail entry (event).

getId

public java.lang.String getId()
Returns:
A string containing the unique ID of this query (used for correlation)

getProcessId

public java.lang.String getProcessId()
Returns:
the unique ID of the process this query refers to

getProcessInstanceId

public java.lang.String getProcessInstanceId()
Returns:
the unique ID of the process instance this query refers to

getFilterUsers

public java.util.SortedSet<java.lang.String> getFilterUsers()
Returns:
A sorted set of strings specifying the users on which the result should be filtered

getFilterRoles

public java.util.SortedSet<java.lang.String> getFilterRoles()
Returns:
A sorted set of strings specifying the roles on which the result should be filtered

getFilterGroups

public java.util.SortedSet<java.lang.String> getFilterGroups()
Returns:
A sorted set of strings specifying the groups on which the result should be filtered

getFilterTasks

public java.util.SortedSet<java.lang.String> getFilterTasks()
Returns:
A sorted set of strings specifying the tasks on which the result should be filtered

getAvailableUsers

public java.util.SortedSet<java.lang.String> getAvailableUsers()
Returns:
A sorted set of strings specifying the users currently available for scheduling

getAvailableTasks

public java.util.SortedSet<java.lang.String> getAvailableTasks()
Returns:
A sorted set of strings specifying the tasks currently available for scheduling

getAuditTrail

public java.util.List<AuditTrailEntry> getAuditTrail()
Returns:
The current, incomplete, audit trail (i.e. sequence of events) of the process instance for which the query is issued

getProcessInstanceData

public java.util.Map<java.lang.String,java.lang.String> getProcessInstanceData()
Returns:
The data, i.e. attribute, map of the process instance this query refers to

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

toProcessInstance

public ProcessInstance toProcessInstance(java.lang.String process)