public abstract class BaseTaskWorkloadProvider extends PageFlowScopeAdapter implements IContentProvider, ITaskWorkloadProvider
ITaskWorkloadProvider
Modifier and Type | Field and Description |
---|---|
protected static String[] |
PROPERTY_KEYS |
protected static String |
PROPERTY_RESULT |
fExpireWithPageFlow
Constructor and Description |
---|
BaseTaskWorkloadProvider() |
Modifier and Type | Method and Description |
---|---|
protected abstract Object |
calculateResult()
This needs to be implemented by subclass implementing concrete workgroup assignment policy
|
protected void |
checkAvailability()
Implementation method which checks availability of users from
getWorkgroupMembers() list. |
int |
getNumberOfUsers()
Returns number of users in the workgroup
|
Object[] |
getPropertyKeys()
Returns list of public properties supported by this provider.
|
Object |
getResult()
Returns result of the workload provider.
|
com.webmethods.caf.rules.IRule |
getRule()
Returns the rule instance used for this workload manager
|
String |
getTaskID()
Returns taskID being assigned
|
Class |
getType(Object propertyKey)
Returns list of classes of public properties supported by this provider
|
Object |
getValue(Object propertyKey)
Returns value from the provider property
|
String |
getWorkgroup()
Returns internal ID of the workgroup which owns list of users
getWorkgroupMembers() |
Object[] |
getWorkgroupMembers()
Returns list of users names in the workgroup
|
boolean |
hasProperty(Object propertyKey)
Checks if provider support given property
|
void |
init(Map properties)
Initializes instance of workload provider.
|
boolean |
isCheckAvailability()
Returns "true" if provider needs to check user availability for task assignment
|
void |
setCheckAvailability(boolean checkAvailability)
Sets flag to check user availability for task assignment
|
void |
setNumberOfUsers(int numberOfUsers)
Sets number of users in the workgroup
|
void |
setRule(com.webmethods.caf.rules.IRule rule)
Sets rule instance to be used by workload manager
|
void |
setTaskID(String taskID)
Sets taskID being assigned
|
void |
setWorkgroup(String workgroup)
Sets internal workgroup name for this provider
|
void |
setWorkgroupMembers(Object[] workgroupMembers)
Sets workgroup members - list of user names
|
getExpireWithPageFlow, setExpireWithPageFlow
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
toString
protected static final String PROPERTY_RESULT
protected static final String[] PROPERTY_KEYS
public void init(Map properties) throws Exception
init
in interface ITaskWorkloadProvider
Exception
public Object[] getPropertyKeys()
getPropertyKeys
in interface IContentProvider
String
or Integer
public Class getType(Object propertyKey) throws PropertyNotFoundException
getType
in interface IContentProvider
propertyKey
- the property key of type String
or Integer
Class
PropertyNotFoundException
- if property is not supportedpublic Object getValue(Object propertyKey) throws EvaluationException, PropertyNotFoundException
getValue
in interface IContentProvider
propertyKey
- the property key of type String
or Integer
null
EvaluationException
- if error during property evaluationPropertyNotFoundException
- if property is not supportedpublic boolean hasProperty(Object propertyKey)
hasProperty
in interface IContentProvider
propertyKey
- property key of type String
or Integer
true
if property is supportedpublic Object getResult() throws ContentProviderException
getResult
in interface ITaskWorkloadProvider
ContentProviderException
protected void checkAvailability() throws ContentProviderException
getWorkgroupMembers()
list.
The algorithm for that is:getWorkgroupMembers()
listContentProviderException
public String getWorkgroup()
getWorkgroupMembers()
getWorkgroup
in interface ITaskWorkloadProvider
public Object[] getWorkgroupMembers()
getWorkgroupMembers
in interface ITaskWorkloadProvider
public void setWorkgroup(String workgroup)
setWorkgroup
in interface ITaskWorkloadProvider
public void setWorkgroupMembers(Object[] workgroupMembers)
setWorkgroupMembers
in interface ITaskWorkloadProvider
public com.webmethods.caf.rules.IRule getRule()
ITaskWorkloadProvider
getRule
in interface ITaskWorkloadProvider
public void setRule(com.webmethods.caf.rules.IRule rule)
ITaskWorkloadProvider
setRule
in interface ITaskWorkloadProvider
public String getTaskID()
getTaskID
in interface ITaskWorkloadProvider
public void setTaskID(String taskID)
setTaskID
in interface ITaskWorkloadProvider
public boolean isCheckAvailability()
public void setCheckAvailability(boolean checkAvailability)
public int getNumberOfUsers()
public void setNumberOfUsers(int numberOfUsers)
numberOfUsers
- protected abstract Object calculateResult() throws ContentProviderException
ContentProviderException