Class TaskSearchQuery
java.lang.Object
com.webmethods.portal.service.task.TaskSearchQuery
- All Implemented Interfaces:
ITaskConstants
,ITaskSearchQuery
,ITaskSearchQueryExtended
,Serializable
- Direct Known Subclasses:
TaskSearchQuery
,TaskSearchQueryV2
TaskSearchQuery is the concrete implementation of
ITaskSearchQuery
.- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected boolean
protected boolean
protected boolean
protected long
protected int
protected String
protected boolean
protected List<TaskSearchQueryTerm>
Fields inherited from interface com.webmethods.portal.service.task.ITaskConstants
ACCEPT_OTHERS_RIGHT, ACCEPT_RIGHT, ASSIGN_RIGHT, ATTRIBUTE_CALLBACK_DATA, ATTRIBUTE_CALLBACK_SERVICE, ATTRIBUTE_RULE_SET, CALLBACK_TASK_CALLBACK_DATA, CALLBACK_TASK_COMPLETION_INFO, CALLBACK_TASK_DATA, CONFIG_PORTLET_ALIAS, DELETE_RIGHT, EDA_MASK_TASK_CREATED, EDA_MASK_TASK_DELETED, EDA_MASK_TASK_UPDATED, MODIFY_PERMISSION_RIGHT, MODIFY_TASK_DATA_RIGHT, MODIFY_TASK_INFO_RIGHT, OPERATION_ACCEPTED, OPERATION_CREATED, OPERATION_DELEGATION_RULE, OPERATION_DIST_FILTER_RULE, OPERATION_DIST_RULE, OPERATION_ERROR, OPERATION_RESUME, OPERATION_REVERTED, OPERATION_SCHEDULE_RULE, OPERATION_SUSPEND, OPERATION_TRIGGER_RULE, OPERATION_UNACCEPTED, OPERATION_UPDATE, PRIORITY_CRITICAL, PRIORITY_HIGH, PRIORITY_LOW, PRIORITY_MEDIUM, PRIORITY_NONE, PROCESS_AUDIT_POOL_NAME, PROCESS_PRE_TDE_STEP, PROPERTY_TASK_ID, PRT_STEP_CANCEL, PRT_STEP_COMPLETE, PRT_STEP_EXPIRE, PRT_STEP_FAIL, PRT_TASK_ANALYTICS_ENABLED, PRT_TASK_AUDIT_ENABLED, QUEUE_TASK_RIGHT, ROLLBACK_RIGHT, RULE_ATTR_BUSINESS_RULES, RULE_ATTR_CHECK_TIME, RULE_ATTR_DELEGATION_SOURCE, RULE_ATTR_DO_NOT_FIRE, RULE_ATTR_ERROR_CODE, RULE_ATTR_ERROR_MESSAGE, RULE_ATTR_EXPAND_ROLE_MEMBERS, RULE_ATTR_EXPIRING, RULE_ATTR_FIRE_ONCE, RULE_ATTR_FROM_TIMESTAMP, RULE_ATTR_PRINCIPAL_TYPES, RULE_ATTR_PRINCIPAL_TYPES_DELIM, RULE_ATTR_RESULT_TYPE, RULE_ATTR_RULE_SET, RULE_ATTR_RULE_TYPE, RULE_ATTR_RUNNING, RULE_ATTR_SCHEDULE_DATE_BEAN, RULE_ATTR_START_TIME, RULE_ATTR_TASK_DEF_URI, RULE_ATTR_TO_TIMESTAMP, RULE_ATTR_WORKLOAD_PROVIDER, RULE_ATTR_WORKLOAD_PROVIDER_TYPE, RULE_COMMENTS, RULE_CONTEXT_CHANGE_RULES, RULE_CONTEXT_ROUTING_RULES, RULE_CONTEXT_SYSTEM_OBJECT, RULE_CURRENT_TASK, RULE_CURRENT_TASK_EXTENDED, RULE_FACES_CONTEXT, RULE_NEW_CHILD_TASK, RULE_NEW_TASK, RULE_OLD_TASK, RULE_PARENT_TASK, RULE_PRINCIPAL, RULE_RESULT_CANCEL, RULE_RESULT_COMPLETE, RULE_RESULT_ERROR, RULE_RESULT_EXPIRE, RULE_RESULT_EXPRESSION, RULE_RESULT_LAST_ACCEPTED_BY, RULE_RESULT_PRINCIPALS, RULE_RESULT_REPLY, RULE_RESULT_STOP, RULE_ROLE, RULE_TYPE_CHANGE, RULE_TYPE_DELEGATION, RULE_TYPE_DISTRIBUTION, RULE_TYPE_FILTER, RULE_TYPE_SCHEDULE, RULE_USER, START_STOP_RIGHT, STATUS_ACTIVE, STATUS_CANCELLED, STATUS_COMPLETED, STATUS_ERROR, STATUS_EXPIRED, STATUS_NEW, STATUS_OUTDATED, STATUS_SCHEDULED, STATUS_SUSPENDED, STATUS_UNDEFINED, STORAGE_ROOT, STORAGE_TYPE_COLLABORATION_PROCESS, STORAGE_TYPE_NAME_COLLABORATION_PROCESS, STORAGE_TYPE_NAME_PREFIX, STORAGE_TYPE_NAME_PROCESS, STORAGE_TYPE_NAME_PROCESS_RULESET, STORAGE_TYPE_PATTERN, STORAGE_TYPE_PROCESS, STORAGE_TYPE_PROCESS_RULESET, STORAGE_TYPE_TASK, TASK_ATTACHMENTS_FOLDER, TASK_ATTACHMENTS_FOLDER_TYPE, TASK_ATTACHMENTS_RELATION, TASK_AUDIT_DELEGATED_BY, TASK_AUDIT_DIFFERENCE, TASK_AUDIT_PROPERTIES, TASK_AUDIT_VOTE, TASK_AUDIT_VOTING_FINISHED, TASK_COMMENTS_FOLDER, TASK_COMMENTS_FOLDER_TYPE, TASK_COMMENTS_RELATION, TASK_DATA_BINDING, TASK_DATA_BINDING_PREFIX, TASK_DATA_PROPERTY_PREFIX, TASK_DEFINITION_STORAGE, TASK_DETAILS_PAGE, TASK_DETAILS_PORTLET, TASK_FIELD_ACCEPT_BY_CSV, TASK_FIELD_ACCEPT_BY_NAME, TASK_FIELD_ACCEPT_BY_URI, TASK_FIELD_ACCEPTED_BY_CURRENT, TASK_FIELD_ACCEPTED_BY_LIST, TASK_FIELD_ASSIGNED_TO_CSV, TASK_FIELD_ASSIGNED_TO_LIST, TASK_FIELD_ASSIGNED_TO_NAME, TASK_FIELD_ASSIGNED_TO_URI, TASK_FIELD_ATTRIBUTES, TASK_FIELD_AUDIT_CONTEXT, TASK_FIELD_CHILD_TASK_COUNT, TASK_FIELD_COLLABORATION_PROCESS_ID, TASK_FIELD_COLLABORATION_STEP_ID, TASK_FIELD_CONTRIBUTED_BY_LIST, TASK_FIELD_CREATED_BY, TASK_FIELD_CREATED_BY_NAME, TASK_FIELD_CREATED_BY_URI, TASK_FIELD_CREATED_DATE, TASK_FIELD_CUSTOM_TASK_ID, TASK_FIELD_DELEGATED_FROM_LIST, TASK_FIELD_DELEGATED_TO_LIST, TASK_FIELD_DESCRIPTION, TASK_FIELD_ERROR_CODE, TASK_FIELD_ERROR_MESSAGE, TASK_FIELD_EXPIRE_DATE, TASK_FIELD_FOR_PROCESS, TASK_FIELD_IS_MANDATORY, TASK_FIELD_IS_VOTABLE, TASK_FIELD_LAST_ACCEPTED_BY, TASK_FIELD_LAST_ACCEPTED_BY_NAME, TASK_FIELD_LAST_ACCEPTED_DATE, TASK_FIELD_LAST_MODIFIED_BY, TASK_FIELD_LAST_MODIFIED_BY_NAME, TASK_FIELD_LAST_MODIFIED_BY_URI, TASK_FIELD_LAST_MODIFIED_DATE, TASK_FIELD_NAME, TASK_FIELD_PARENT_TASK_ID, TASK_FIELD_PRIORITY, TASK_FIELD_PRIORITY_NAME, TASK_FIELD_PROCESS_INSTANCE_ID, TASK_FIELD_PROCESS_ITERATION, TASK_FIELD_PROCESS_MODEL_ID, TASK_FIELD_PROCESS_MODEL_VERSION, TASK_FIELD_PROCESSED_RULES_LIST, TASK_FIELD_ROOT_PROCESS_INSTANCE_ID, TASK_FIELD_STATUS, TASK_FIELD_STATUS_NAME, TASK_FIELD_STEP_ID, TASK_FIELD_STEP_ITERATION, TASK_FIELD_TASK_DATA, TASK_FIELD_TASK_ID, TASK_FIELD_TASK_SCHEDULE_DATE, TASK_FIELD_TASK_TYPE_ID, TASK_FIELD_TASK_TYPE_NAME, TASK_FIELD_TASK_TYPE_URI, TASK_FIELD_TASK_URL, TASK_FIELD_UNACCEPT_FROM_NAME, TASK_FIELD_UNACCEPT_FROM_URI, TASK_FIELD_VERSION, TASK_GLOBAL_DISTRIBUTION_RULES, TASK_GLOBAL_SCHEDULE_RULES, TASK_GLOBAL_TRIGGER_RULES, TASK_INFO_BINDING, TASK_INFO_BINDING_PREFIX, TASK_OPERATION_ACCEPTED, TASK_OPERATION_ASSIGNMENT_CHANGED, TASK_OPERATION_ATTACHMENT_ADDED, TASK_OPERATION_ATTACHMENT_DELETED, TASK_OPERATION_ATTACHMENT_UPDATED, TASK_OPERATION_CANCEL, TASK_OPERATION_COMMENT_ADDED, TASK_OPERATION_COMMENT_DELETED, TASK_OPERATION_COMMENT_UPDATED, TASK_OPERATION_COMPLETE, TASK_OPERATION_CREATED, TASK_OPERATION_DELEGATION_CHANGED, TASK_OPERATION_DELEGATION_RULE_FIRED, TASK_OPERATION_DISTRIBUTION_RULE_FIRED, TASK_OPERATION_ERROR, TASK_OPERATION_EXPIRE, TASK_OPERATION_NOTIFICATION, TASK_OPERATION_REPLY, TASK_OPERATION_RESUME, TASK_OPERATION_REVERTED, TASK_OPERATION_ROLLEDBACK, TASK_OPERATION_SCHEDULE_RULE_FIRED, TASK_OPERATION_SINK_REQUEST, TASK_OPERATION_START, TASK_OPERATION_STOP, TASK_OPERATION_SUSPEND, TASK_OPERATION_TRIGGER_RULE_FIRED, TASK_OPERATION_UNACCEPTED, TASK_OPERATION_UNHANDLED_ERROR, TASK_OPERATION_UPDATE, TASK_OPERATION_VOTE, TASK_OPERATION_VOTING_STRATEGY_UPDATE, TASK_PRIORITY_CRITICAL, TASK_PRIORITY_HIGH, TASK_PRIORITY_LOW, TASK_PRIORITY_MEDIUM, TASK_PRIORITY_NONE, TASK_RULES_STORAGE, TASK_SEARCH_RAW_WHERE_CLAUSE, TASK_SEARCH_RAW_WHERE_CLAUSE_PREFIX, TASK_STATUS_ACTIVE, TASK_STATUS_CANCELLED, TASK_STATUS_COMPLETED, TASK_STATUS_ERROR, TASK_STATUS_EXPIRED, TASK_STATUS_NEW, TASK_STATUS_OUTDATED, TASK_STATUS_SCHEDULED, TASK_STATUS_SUSPENDED, TASK_STATUS_UNDEFINED, TASK_STORAGE, TASK_TABLE_TASK, TASK_TABLE_TASK_INBOX, TASK_TAGS, TASK_VOTING_STRATEGY_FIXED_NUMBER, TASK_VOTING_STRATEGY_PERCENTAGE, VIEW_TASK_AUDIT_RIGHT, VIEW_TASK_DATA_RIGHT, VIEW_TASK_INFO_RIGHT
Fields inherited from interface com.webmethods.portal.service.task.ITaskSearchQuery
OPERATOR_AND, OPERATOR_BETWEEN, OPERATOR_CONTAINS, OPERATOR_EQUALS, OPERATOR_EQUALS_OR_LESS, OPERATOR_EQUALS_OR_MORE, OPERATOR_IN, OPERATOR_IS_EMPTY, OPERATOR_IS_NOT_EMPTY, OPERATOR_IS_NOT_NULL, OPERATOR_IS_NULL, OPERATOR_LESS, OPERATOR_LIKE, OPERATOR_MORE, OPERATOR_NOT_EQUALS, OPERATOR_NOT_IN, OPERATOR_NOT_LIKE, OPERATOR_OR, SORT_ORDER_ASCENDING, SORT_ORDER_DESCENDING
-
Constructor Summary
ConstructorsConstructorDescriptionDefault constructor which doesn't do any initialization.TaskSearchQuery
(TaskSearchQuery taskQuery) Copy constructor -
Method Summary
Modifier and TypeMethodDescriptionaddQueryTerm
(String[] fields, String operator, Object value) Creates new search term using the parameters provided and adds the newly created search term to this search query.addQueryTerm
(String[] fields, String operator, Object value, String tableName) Creates new search term using the parameters provided and adds the newly created search term to this search query.Find the search term based on the fieldName specified.Find the search term based on the fieldName and operator specified.long
int
Returns max results to be returned.Returns principalID whose inbox should be searched.getTerms()
Returns search query termsboolean
boolean
Returns flag if current user permission should be checked for the task searches.boolean
Whether query should display tasks accepted by other principalsboolean
Returns flag to show non active tasks in the search result.boolean
boolean
matches
(FacesContext facesContext) Evaluates query against task set on facesContext.boolean
Removes a search term from this queryvoid
reset()
Resets a query before search.void
setActiveVoting
(boolean m_activeVoting) void
setCheckPermissions
(boolean permissions) Set the flag to indicate if current user permission should be checked for the task search.void
setDoNotShowAcceptedByOthers
(boolean doNotShow) Whether query should display tasks accepted by other principalsvoid
setInvocationID
(long m_invocationid) Set the ID of the search invocation.void
setMaxResults
(int maxResults) Set the max result countvoid
setPrincipalID
(String principalID) Sets principalID whose inbox should be searched.void
setSearchEngineType
(String searchProvider) void
setShowNonActiveTasks
(boolean nonActiveTasks) Set the flag to indicate whether the search result should show non active tasks.void
setTerms
(TaskSearchQueryTerm[] terms) Set search term list for this querytoString()
void
validate()
Validates this query, throws any error exception if query is not validMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.webmethods.portal.service.task.ITaskSearchQueryExtended
getFromIndex, getQueryAggregationInfo, getSortBy, getSortOrder, getToIndex
-
Field Details
-
m_maxResults
protected int m_maxResults -
m_checkPermissions
protected boolean m_checkPermissions -
m_terms
-
m_principalID
-
m_doNotShowAcceptedByOthers
protected boolean m_doNotShowAcceptedByOthers -
m_showNonActiveTasks
protected boolean m_showNonActiveTasks -
m_invocationID
protected long m_invocationID -
m_activeVoting
protected boolean m_activeVoting
-
-
Constructor Details
-
TaskSearchQuery
public TaskSearchQuery()Default constructor which doesn't do any initialization. -
TaskSearchQuery
Copy constructor- Parameters:
taskQuery
- task query to copy from
-
-
Method Details
-
getMaxResults
public int getMaxResults()Returns max results to be returned. Default = -1, means no maximum is set
This is ignored when using task indexed searches. For indexed searches full count is always determined and only current page is returned.- Specified by:
getMaxResults
in interfaceITaskSearchQueryExtended
- Returns:
- the max results to be returned. Default to
-1
, means no maximum is set. This is ignored when using task indexed searches. For indexed searches full count is always determined and only current page is returned.
-
setMaxResults
public void setMaxResults(int maxResults) Set the max result count- Parameters:
maxResults
- max results. Set to -1 to return everything
-
isShowNonActiveTasks
public boolean isShowNonActiveTasks()Returns flag to show non active tasks in the search result. Default is false
This only valid for inbox type searches. SeeITaskSearchContentProvider#setSearchInbox(boolean)
- Specified by:
isShowNonActiveTasks
in interfaceITaskSearchQueryExtended
- Returns:
- flag to show non active tasks in the search result. This only valid for
inbox type searches. See
ITaskSearchContentProvider#setSearchInbox(boolean)
.
-
setShowNonActiveTasks
public void setShowNonActiveTasks(boolean nonActiveTasks) Set the flag to indicate whether the search result should show non active tasks.
This only valid for inbox type searches- Parameters:
nonActiveTasks
- flag to show non-active tasks
-
isCheckPermissions
public boolean isCheckPermissions()Returns flag if current user permission should be checked for the task searches. Default is true- Specified by:
isCheckPermissions
in interfaceITaskSearchQueryExtended
- Returns:
- flag if current user permission should be checked for the task searches
-
setCheckPermissions
public void setCheckPermissions(boolean permissions) Set the flag to indicate if current user permission should be checked for the task search.- Parameters:
permissions
- permissions check flag
-
setTerms
Set search term list for this query- Parameters:
terms
- array of search terms
-
getTerms
Returns search query terms- Specified by:
getTerms
in interfaceITaskSearchQueryExtended
- Returns:
- array of search terms
-
findTerm
Find the search term based on the fieldName and operator specified. Return null if there is no match.- Specified by:
findTerm
in interfaceITaskSearchQueryExtended
- Parameters:
fieldName
- field name to searchoperator
- operator to search- Returns:
- found search term or null
-
findTerm
Find the search term based on the fieldName specified. Return null if there is no match.- Specified by:
findTerm
in interfaceITaskSearchQueryExtended
- Parameters:
fieldName
- field name to find term for- Returns:
- search term or null. It there are more than one term for the same field name it will return only first term
-
getPrincipalID
Returns principalID whose inbox should be searched. If null then current user is assumed- Specified by:
getPrincipalID
in interfaceITaskSearchQueryExtended
- Returns:
- the principal id whose inbox should be searched. If null then current user is assumed.
-
setPrincipalID
Sets principalID whose inbox should be searched. If null then current user is assumed -
addQueryTerm
Creates new search term using the parameters provided and adds the newly created search term to this search query.- Parameters:
fields
- search fields array to be used for this search term.
SeeITaskSearchQuery
for the list of available task info fields
To specify business data fields for non-indexed searches you need to pass in a string value of field binding expression as #{currentTask.taskData.path_to_business_data_field}. For example #{currentTask.taskData.order.orderNumber}
To specify business data fields for indexed searches you need to pass in a field as index name defined for this fieldoperator
- search operator. SeeITaskSearchQuery
for the list of available operatorsvalue
- search value- Returns:
- the newly created and added search term.
-
addQueryTerm
public TaskSearchQueryTerm addQueryTerm(String[] fields, String operator, Object value, String tableName) Creates new search term using the parameters provided and adds the newly created search term to this search query.- Parameters:
fields
- search fields array to be used for this search term.
SeeITaskSearchQuery
for the list of available task info fields
To specify business data fields for non-indexed searches you need to pass in a string value of field binding expression as #{currentTask.taskData.path_to_business_data_field}. For example #{currentTask.taskData.order.orderNumber}
To specify business data fields for indexed searches you need to pass in a field as index name defined for this fieldoperator
- search operator. SeeITaskSearchQuery
for the list of available operatorsvalue
- search valuetableName
- name of the DB table in which the search will be done.
SeeITaskSearchQuery
for the list of available table names.- Returns:
- the newly created and added search term.
-
removeQueryTerm
Removes a search term from this query- Parameters:
term
- term to be removed- Returns:
- true if term was removed
-
matches
Evaluates query against task set on facesContext. This calls intoTaskSearchQueryTerm.matches(FacesContext)
for every term defined for this task. Some terms may implement a search in the database (for most TaskInfo fields). If term implements its search in the database, then this term is ignored as it already been evaluated.- Specified by:
matches
in interfaceITaskSearchQueryExtended
- Parameters:
facesContext
- current facesContext. The current task is available on the context by #{currentTask} binding expression- Returns:
- true if all terms from this query match the current task
- Throws:
Exception
- if any exception occurs during the operation execution
-
matches
public boolean matches(Map contextMap, com.webmethods.caf.rules.IBindingExpressionEvaluator resolver) throws Exception - Throws:
Exception
-
reset
public void reset()Resets a query before search. This needs to be called if the same query is used multiple times for different searches (e.g. only modifying search terms values)- Specified by:
reset
in interfaceITaskSearchQueryExtended
-
toString
-
validate
Validates this query, throws any error exception if query is not valid- Specified by:
validate
in interfaceITaskSearchQueryExtended
- Throws:
Exception
- if the query is invalid
-
isDoNotShowAcceptedByOthers
public boolean isDoNotShowAcceptedByOthers()Whether query should display tasks accepted by other principals- Specified by:
isDoNotShowAcceptedByOthers
in interfaceITaskSearchQueryExtended
- Returns:
- whether query should display tasks accepted by other principals
-
setDoNotShowAcceptedByOthers
public void setDoNotShowAcceptedByOthers(boolean doNotShow) Whether query should display tasks accepted by other principals -
getInvocationID
public long getInvocationID()- Specified by:
getInvocationID
in interfaceITaskSearchQueryExtended
- Returns:
- ID of the search invocation.
-
setInvocationID
public void setInvocationID(long m_invocationid) Set the ID of the search invocation.- Parameters:
m_invocationid
-
-
getSearchEngineType
- Specified by:
getSearchEngineType
in interfaceITaskSearchQueryExtended
- Returns:
- the engine type, which will be referenced when a search is performed. More
information can be found here
IndexEngineType
and here. Custom search engines can be defined as well.
-
setSearchEngineType
- Parameters:
searchProvider
-
-
isActiveVoting
public boolean isActiveVoting()- Specified by:
isActiveVoting
in interfaceITaskSearchQueryExtended
- Returns:
- returns true if search must include active voting tasks only (with at least one vote)
-
setActiveVoting
public void setActiveVoting(boolean m_activeVoting) - Parameters:
m_activeVoting
-
-