|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object atg.nucleus.logging.VariableArgumentApplicationLoggingImpl atg.nucleus.GenericService atg.epub.servlet.PortletFormHandler atg.epub.servlet.BaseSearchFormHandler atg.epub.servlet.SearchFormHandler
public class SearchFormHandler
This form handler can be used to search repositories with any combination of several search types: Keyword, Text, Hierarchical, Advanced. Each of these types are enabled with a boolean parameter. The handler examines each boolean and if true, appends that search's subquery to the full query string.
General Properties
Set one or more of the following properties to "true" to enable a search type:
doKeywordSearch
doTextSearch
doHierarchicalSearch
doAdvancedSearch
Keyword Search Properties
Keyword searching takes a set of property names and a search string(s).
Each property will be searched for these strings. You may also search *ALL* string properties
(excluding enumerated and non-queriable properties) of an item by simply leaving the property
keywordSearchPropertyNames
empty.
keywordSearchPropertyNames
keywords
keywordInput
property
keywordInput
keywords
, this
property allows logical operators (AND, OR, NOT, &, |, !) and supports
parenthesis '(' and ')' to group logic. Quote keyword values with single
or double quotes if they include spaces. Quote types may not be mixed.
Logical operators are optional; 'OR' will be used by default
toUpperCaseKeywords
toLowerCaseKeywords
Text Search Properties
Text searching takes a list of text property names and an input search string to do text pattern matching. Values entered will be used to build the sub-query for text searching.
textSearchPropertyNames
searchStringFormat
textInput
simulateTextSearchQueries=true
), the SQL
LIKE operator will be used to determine whether the target value is a
substring of any of the text properties being searched.
allowWildcards
minScore
Hierarchical Search Properties
Hierarchical searches look in a subset of items, starting from a given
item, including also that items's child items, and also those children's
children, i.e. all descendants of the original item. The given item is
indicated by the repository ID in the ancestorId
property.
ancestorPropertyName
ancestorId
Advanced Search Properties
Advanced searching takes a list of properties and values or ranges of values
for those properties and looks for an exact match. Additionally, the Advanced
Search can be used to provide all possible search values for properties
specified in AdvancedSearchPropertyNames
. For example, enumerated types
will be defined in the repository with a set number of values. Advanced
searching can retrieve these values to be displayed
in a select box.
advancedSearchPropertyNames
advancedSearchPropertyValues
advancedSearchPropertyRanges
propertyValuesByType
advancedSearchPropertyNames
whose type is either enumerated,
RepositoryItem or a collection of RepositoryItems. The key is the name of
the property and the value is a Collection of the possible values.
If the property type a collection of RepositoryItems, the value will be
a collection of RepositoryItem. Alternatively, if the property type is
RepositoryItem a property of each item is returned as described below.
displayName
propertyValuesByType
will be values of the property
"displayName" when the property is a RepositoryItem. Use this
property to override the default name of "displayName"
Form Actions
In addition to the standard "cancel" action of all form handlers:
search
clearQuery
allowRefine
.
It will force the previous query to be cleared so that the user may
begin refining their query anew.
BaseSearchFormHandler
Field Summary | |
---|---|
static java.lang.String |
CLASS_VERSION
Class version string |
static java.lang.String |
GENERATE_VALUES_BY_TYPE_FAILED
droplet exception code: failed to generate possible values for a property |
static java.lang.String |
INVALID_KEYWORD_SEARCH_STRING
droplet exception code: syntax problem in keyword search string |
static java.lang.String |
INVALID_PROP_COMBINATION
droplet exception code: cant combine these properties |
static java.lang.String |
INVALID_SEARCH_PROPERTY_NAMES
droplet exception code: searched property names don't exist in item |
static java.lang.String |
NO_PROPERTY_NAMES_FOR_ITEM
droplet exception code: no property names specified for searched item |
static java.lang.String |
UNMATCHED_QUOTES
logical operator search string parse failed because quotes didn't match |
Fields inherited from class atg.epub.servlet.BaseSearchFormHandler |
---|
EMPTY_SEARCH_VALUES_DISALLOW, INVALID_ITEM_TYPE, MULTIPLE_ITEM_TYPES_DISALLOW, QUERY_FAILURE |
Fields inherited from class atg.epub.servlet.PortletFormHandler |
---|
mFormExceptions, PARAM_USE_FORWARDS, sTransactionManager |
Fields inherited from class atg.nucleus.GenericService |
---|
SERVICE_INFO_KEY |
Fields inherited from interface atg.nucleus.logging.TraceApplicationLogging |
---|
DEFAULT_LOG_TRACE_STATUS |
Fields inherited from interface atg.nucleus.logging.ApplicationLogging |
---|
DEFAULT_LOG_DEBUG_STATUS, DEFAULT_LOG_ERROR_STATUS, DEFAULT_LOG_INFO_STATUS, DEFAULT_LOG_WARNING_STATUS |
Constructor Summary | |
---|---|
SearchFormHandler()
|
Method Summary | |
---|---|
protected boolean |
areSearchValuesEmpty()
Check to see if all search values are empty for enabled search types |
boolean |
beforeSet(DynamoHttpServletRequest request,
DynamoHttpServletResponse response)
Called before any setX methods on this form are set when a form that modifies properties of this form handler is submitted. |
protected Query |
generateAdvancedSearchQuery(Repository pRepository,
java.lang.String pItemType,
QueryBuilder pQueryBuilder)
Return a query which represents an advanced search based on selected property values. |
protected Query |
generateHierarchicalSearchQuery(java.lang.String pItemType,
QueryBuilder pQueryBuilder)
Build a query which represents a hierarchical search, that is, a constraint to look only in a designated item, its child items, and so on, in effect, to all descendants of the designated item. |
protected Query |
generateKeywordSearchQuery(Repository pRepository,
java.lang.String pItemType,
QueryBuilder pQueryBuilder)
Return a query which represents a keyword search. |
protected java.util.Collection |
generateResultSet(java.lang.String pItemType)
For the supplied item type return a collection of ==sub-result set that will combined into the total result set. |
protected Query |
generateSearchQuery(Repository pRepository,
java.lang.String pItemType,
QueryBuilder pQueryBuilder)
Return the query that should be executed on the Repository View. |
protected java.util.Collection |
generateSearchValues(java.lang.String pItemType,
java.lang.String pPropertyName)
Used by the advanced searching feature. |
protected Query |
generateSingleKeywordQuery(Repository pRepository,
java.lang.String pItemType,
QueryBuilder pQueryBuilder,
java.lang.String pPropertyName,
java.lang.String pInput)
Parses pKeywordInput and converts into RQL statement where each keyword value is used to create a CONTAINS clause. |
protected Query |
generateSingleKeywordQuery(Repository pRepository,
java.lang.String pItemType,
QueryBuilder pQueryBuilder,
java.lang.String pPropertyName,
java.lang.String[] pKeywords)
Return a query for the given property name against the set of supplied keywords. |
protected Query |
generateTextSearchQuery(java.lang.String pItemType,
QueryBuilder pQueryBuilder,
java.lang.String pInput)
Return a query which represents a text search query. |
java.lang.String[] |
getAdvancedSearchPropertyNames()
Returns property AdvancedSearchPropertyNames |
java.util.HashMap |
getAdvancedSearchPropertyRanges()
Returns property AdvancedSearchPropertyRanges |
java.util.HashMap |
getAdvancedSearchPropertyValues()
Returns property AdvancedSearchPropertyValues |
boolean |
getAllowWildcards()
Returns property AllowWildcards |
java.lang.String |
getAncestorId()
Returns property AncestorId |
java.lang.String |
getAncestorPropertyName()
Returns property ancestorPropertyName |
java.lang.String |
getDisplayName()
Returns property displayName |
java.lang.String |
getEncodedPathAndItemType()
Get the value set as the encoded repository component path name and item descriptor name |
java.lang.String |
getFolderPath()
Returns property FolderPath |
boolean |
getIgnoreCase()
|
java.lang.String |
getKeywordInput()
Returns property KeywordInput |
java.lang.String[] |
getKeywords()
Returns property Keywords |
java.lang.String[] |
getKeywordSearchPropertyNames()
Returns property KeywordSearchPropertyNames which is the set of property names for text search |
java.lang.Integer |
getMinScore()
Returns property MinScore |
java.util.HashMap |
getPropertyValuesByType()
Returns property PropertyValuesByType. |
java.lang.String |
getSearchStringFormat()
Returns property SearchStringFormat |
protected java.lang.String |
getSingleKeywordSearchOperator(boolean pIsMulti)
Return a keyword search operator based on the state of ignoreCase for non-multi items. |
java.lang.String |
getTextInput()
Returns property TextInput |
java.lang.String[] |
getTextSearchPropertyNames()
Returns property TextSearchPropertyNames which is the set of property names for text search |
protected VirtualFileSystem |
getVFSFromComponentPath(java.lang.String pComponentPath)
|
VirtualFileSystem[] |
getVirtualFileSystems()
Returns property VirtualFileSystems |
protected boolean |
isAdvancedSearchPropertyRangesEmpty()
test if adv search property ranges null or empty |
protected boolean |
isAdvancedSearchPropertyValuesEmpty()
test if adv search property values are null or empty |
boolean |
isDoAdvancedSearch()
Returns property DoAdvancedSearch |
boolean |
isDoHierarchicalSearch()
Returns property DoHierarchicalSearch |
boolean |
isDoKeywordSearch()
Returns property DoKeywordSearch |
boolean |
isDoTextSearch()
Returns property DoTextSearch |
boolean |
isIncludeSubFolders()
Returns property IncludeSubFolders |
boolean |
isToLowerCaseKeywords()
Returns property ToLowerCaseKeywords |
boolean |
isToUpperCaseKeywords()
Returns property ToUpperCaseKeywords |
boolean |
isVirtualFileSystemSearch()
Returns property VirtualFileSystemSearch |
protected void |
prepare(DynamoHttpServletRequest pRequest,
DynamoHttpServletResponse pResponse)
Prepare search properties. |
protected java.util.ArrayList |
searchFolder(VirtualFile pFolder,
atg.vfs.RegexVirtualFilenameFilter pRegexFilter,
java.lang.String pFileType,
boolean pIncludeSubFolders)
|
void |
setAdvancedSearchPropertyNames(java.lang.String[] pAdvancedSearchPropertyNames)
Sets property AdvancedSearchPropertyNames |
void |
setAdvancedSearchPropertyRanges(java.util.HashMap pRanges)
Sets property AdvancedSearchPropertyRanges |
void |
setAdvancedSearchPropertyValues(java.util.HashMap pValues)
Sets property AdvancedSearchPropertyValues |
void |
setAllowWildcards(boolean pAllowWildcards)
Sets property AllowWildcards. |
void |
setAncestorId(java.lang.String pAncestorId)
Sets property AncestorId. |
void |
setAncestorPropertyName(java.lang.String pAncestorPropertyName)
Sets property ancestorPropertyName |
void |
setDisplayName(java.lang.String pDisplayName)
Sets property displayName |
void |
setDoAdvancedSearch(boolean pDoAdvancedSearch)
Sets property DoAdvancedSearch |
void |
setDoHierarchicalSearch(boolean pDoHierarchicalSearch)
Sets property DoHierarchicalSearch |
void |
setDoKeywordSearch(boolean pDoKeywordSearch)
Sets property DoKeywordSearch |
void |
setDoTextSearch(boolean pDoTextSearch)
Sets property DoTextSearch |
void |
setEncodedPathAndItemType(java.lang.String pEncodedValue)
Set a single repository component path and item descriptor name in an encoded string in which the repository component path and item descriptor name are seperated by a colon: /repository/path/name:itemDescriptorName Used in forms to make it easy to specify these values in a choice box. |
void |
setFolderPath(java.lang.String pFolderPath)
Sets property FolderPath |
void |
setIgnoreCase(boolean pIgnoreCase)
Set to true to use IGNORECASE in queries. |
void |
setIncludeSubFolders(boolean pIncludeSubFolders)
Sets property IncludeSubFolders |
void |
setKeywordInput(java.lang.String pKeywordInput)
Sets property KeywordInput |
void |
setKeywords(java.lang.String[] pKeywords)
Sets property Keywords |
void |
setKeywordSearchPropertyNames(java.lang.String[] pKeywordSearchPropertyNames)
Sets property KeywordSearchPropertyNames |
void |
setMinScore(java.lang.Integer pMinScore)
Sets property MinScore. |
void |
setPropertyValuesByType()
Sets property PropertyValuesByType. |
void |
setSearchStringFormat(java.lang.String pSearchStringFormat)
Sets property SearchStringFormat used by Text search. |
void |
setTextInput(java.lang.String pTextInput)
Sets property TextInput used for Text searches. |
void |
setTextSearchPropertyNames(java.lang.String[] pTextSearchPropertyNames)
Sets property TextSearchPropertyNames |
void |
setToLowerCaseKeywords(boolean pToLowerCaseKeywords)
Sets property ToLowerCaseKeywords |
void |
setToUpperCaseKeywords(boolean pToUpperCaseKeywords)
Sets property ToUpperCaseKeywords |
void |
setVirtualFileSystems(VirtualFileSystem[] pVirtualFileSystems)
Sets property VirtualFileSystems |
void |
setVirtualFileSystemSearch(boolean pVirtualFileSystemSearch)
Sets property VirtualFileSystemSearch |
protected void |
splitPropertyNames(java.lang.String[] pTypes,
java.lang.String[] pSource,
java.util.HashMap pDest,
java.lang.String pSearchType)
Split property names into type and name from type.name |
protected java.lang.String[] |
transformKeywords(java.lang.String[] pKeywords)
With the supplied keywords perform any modifications that are required to allow it to be used within a keyword query. |
Methods inherited from class atg.epub.servlet.BaseSearchFormHandler |
---|
afterSet, beforeGet, clearPreviousQueries, clearSearchResults, conditionallyClearProject, conditionallySetProjectContext, doGetSortProperty, generateSearchResults, getAllowEmptySearch, getAllowRefine, getClearQueries, getClearQueryURL, getCurrentResultPageNum, getEnableFullResultSetSize, getEndCount, getEndIndex, getErrorURL, getExcludedStringPropertyNames, getFullResultSetSize, getItemTypes, getLastSortDirection, getLastSortProperty, getLocale, getMaxResultsPerPage, getMaxRowCount, getMoreResults, getRepositories, getRepositoryFromComponentPath, getResultPageCount, getResultSetSize, getSearchFilters, getSearchResults, getSearchResultsByItemType, getSortDirection, getSortedSearch, getSortProperty, getStartCount, getStartIndex, getSuccessURL, getUnsetProjectContext, getVersioningLayerTools, handleClearQuery, handleClearQuery, handleSearch, handleSearch, handleSortedSearch, handleSortedSearch, isEnableCountQuery, isPrepared, isPreviouslySubmitted, isSortByDisplayName, isStringPropertyExcluded, isUseRequestLocale, prepareSearch, processException, resetMaxRowCount, setAllowEmptySearch, setAllowRefine, setClearQueries, setClearQueryURL, setCurrentResultPageNum, setEnableCountQuery, setEnableFullResultSetSize, setEndIndex, setErrorURL, setExcludedStringPropertyNames, setFullResultSetSize, setItemTypes, setLastSortDirection, setLastSortProperty, setLocale, setMaxResultsPerPage, setMaxRowCount, setMoreResults, setPrepared, setRepositories, setResultSetSize, setSearchFilters, setSortByDisplayName, setSortDirection, setSortedSearch, setSortProperty, setStartIndex, setSuccessURL, setUnsetProjectContext, setUseRequestLocale, unsetProjectContext |
Methods inherited from class atg.nucleus.logging.VariableArgumentApplicationLoggingImpl |
---|
vlogDebug, vlogDebug, vlogDebug, vlogDebug, vlogDebugTrace, vlogError, vlogError, vlogError, vlogError, vlogInfo, vlogInfo, vlogInfo, vlogInfo, vlogTrace, vlogTrace, vlogTrace, vlogTrace, vlogWarning, vlogWarning, vlogWarning, vlogWarning |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static java.lang.String CLASS_VERSION
public static final java.lang.String INVALID_SEARCH_PROPERTY_NAMES
public static final java.lang.String GENERATE_VALUES_BY_TYPE_FAILED
public static final java.lang.String NO_PROPERTY_NAMES_FOR_ITEM
public static final java.lang.String INVALID_KEYWORD_SEARCH_STRING
public static final java.lang.String INVALID_PROP_COMBINATION
public static final java.lang.String UNMATCHED_QUOTES
Constructor Detail |
---|
public SearchFormHandler()
Method Detail |
---|
public void setVirtualFileSystems(VirtualFileSystem[] pVirtualFileSystems)
public VirtualFileSystem[] getVirtualFileSystems()
public void setVirtualFileSystemSearch(boolean pVirtualFileSystemSearch)
public boolean isVirtualFileSystemSearch()
public void setFolderPath(java.lang.String pFolderPath)
public java.lang.String getFolderPath()
public void setIncludeSubFolders(boolean pIncludeSubFolders)
public boolean isIncludeSubFolders()
public java.lang.String getEncodedPathAndItemType()
public void setEncodedPathAndItemType(java.lang.String pEncodedValue)
pEncodedValue
- the encoded repository component path and
item descriptor namepublic void setIgnoreCase(boolean pIgnoreCase)
pIgnoreCase
- true to ignore casepublic boolean getIgnoreCase()
public void setDoKeywordSearch(boolean pDoKeywordSearch)
pDoKeywordSearch
- the property to store the boolean value of whether
or not to perform a keyword search.public boolean isDoKeywordSearch()
public void setDoTextSearch(boolean pDoTextSearch)
pDoTextSearch
- the property to store the boolean value of whether or
not to perform a text search.public boolean isDoTextSearch()
public void setDoHierarchicalSearch(boolean pDoHierarchicalSearch)
pDoHierarchicalSearch
- the property to store the boolean value of
whether or not to perform a hierarchical search.public boolean isDoHierarchicalSearch()
public void setDoAdvancedSearch(boolean pDoAdvancedSearch)
pDoAdvancedSearch
- the property to store the boolean value of
whether or not to perform a advanced search.public boolean isDoAdvancedSearch()
public void setKeywordSearchPropertyNames(java.lang.String[] pKeywordSearchPropertyNames)
pKeywordSearchPropertyNames
- The property to store the names of all the
keyword properties. Expects names to be qualified by item-type (i.e.
"item-type.property-name".public java.lang.String[] getKeywordSearchPropertyNames()
public void setTextSearchPropertyNames(java.lang.String[] pTextSearchPropertyNames)
pTextSearchPropertyNames
- the property to store text search property
names.public java.lang.String[] getTextSearchPropertyNames()
public void setAdvancedSearchPropertyNames(java.lang.String[] pAdvancedSearchPropertyNames)
pAdvancedSearchPropertyNames
- the property to store advanced search
property names.public java.lang.String[] getAdvancedSearchPropertyNames()
public void setAdvancedSearchPropertyRanges(java.util.HashMap pRanges)
Map
- of range values (min & max) for Advanced Search property namespublic java.util.HashMap getAdvancedSearchPropertyRanges()
protected boolean isAdvancedSearchPropertyRangesEmpty()
public java.util.HashMap getPropertyValuesByType()
advancedSearchPropertyNames
whose type is either enumerated
or RepositoryItem. The key is the name of the property and the value is a
Collection of the possible values.
public void setPropertyValuesByType()
public java.util.HashMap getAdvancedSearchPropertyValues()
public void setAdvancedSearchPropertyValues(java.util.HashMap pValues)
pAdvancedSearchPropertyValues
- the property to store selected
property values for advanced searching. The key is the item type and the
value is another map of property name to search values.protected boolean isAdvancedSearchPropertyValuesEmpty()
public java.lang.String getDisplayName()
public void setDisplayName(java.lang.String pDisplayName)
pDisplayName
- the property name to use when an advanced search
queries a property that is another RepositoryItem.public void setKeywords(java.lang.String[] pKeywords)
pKeywords
- the property to store keywords to search for in keyword
property names. if not set, the property "keywordInput" will be usedpublic java.lang.String[] getKeywords()
public void setKeywordInput(java.lang.String pKeywordInput)
pKeywordInput
- the property to store the input search string. Keyword
search will use this if keyword property is not set.public java.lang.String getKeywordInput()
public void setAncestorPropertyName(java.lang.String pAncestorPropertyName)
pAncestorPropertyName
- the property to store the value of ancestor
property name.public java.lang.String getAncestorPropertyName()
public void setAncestorId(java.lang.String pAncestorId)
pAncestorId
- the property to store the repositoryId of the ancestor
to search in for Hierarchical searches.public java.lang.String getAncestorId()
public void setTextInput(java.lang.String pTextInput)
pTextInput
- the property to store the input search string.public java.lang.String getTextInput()
public void setSearchStringFormat(java.lang.String pSearchStringFormat)
pSearchStringFormat
- the property to store any string formatting
information parameters for searching.public java.lang.String getSearchStringFormat()
public void setAllowWildcards(boolean pAllowWildcards)
pAllowWildcards
- a boolean property that determines if Text searching
should allow the character '*' to be used as a wildcardpublic boolean getAllowWildcards()
public void setMinScore(java.lang.Integer pMinScore)
pMinScore
- the property to store the minimum scoring used for text
searching.public java.lang.Integer getMinScore()
public void setToUpperCaseKeywords(boolean pToUpperCaseKeywords)
pToUpperCaseKeywords
- the property to store the boolean value of
whether or not to convert input string to upper case.public boolean isToUpperCaseKeywords()
public void setToLowerCaseKeywords(boolean pToLowerCaseKeywords)
pToLowerCaseKeywords
- the property to store the boolean value of
whether or not to convert input string to lower case.public boolean isToLowerCaseKeywords()
public boolean beforeSet(DynamoHttpServletRequest request, DynamoHttpServletResponse response) throws DropletFormException
beforeSet
in class atg.epub.servlet.BaseSearchFormHandler
DropletFormException
protected java.util.Collection generateResultSet(java.lang.String pItemType)
generateResultSet
in class atg.epub.servlet.BaseSearchFormHandler
pItemType
- the type of item to search for.
protected boolean areSearchValuesEmpty()
areSearchValuesEmpty
in class atg.epub.servlet.BaseSearchFormHandler
protected VirtualFileSystem getVFSFromComponentPath(java.lang.String pComponentPath)
protected java.util.ArrayList searchFolder(VirtualFile pFolder, atg.vfs.RegexVirtualFilenameFilter pRegexFilter, java.lang.String pFileType, boolean pIncludeSubFolders)
protected Query generateSearchQuery(Repository pRepository, java.lang.String pItemType, QueryBuilder pQueryBuilder) throws RepositoryException, DropletFormException
generateSearchQuery
in class atg.epub.servlet.BaseSearchFormHandler
pRepository
- the repository to search inpItemType
- the type of item to search for.pQueryBuilder
- the builder that should be used to construct the query
RepositoryException
- if an error occured while forming the query
DropletFormException
protected Query generateKeywordSearchQuery(Repository pRepository, java.lang.String pItemType, QueryBuilder pQueryBuilder) throws RepositoryException, DropletFormException
keywords
property is set, this method builds a sub-query for each attribute named in
the KeywordSearchPropertyNames
property. Each sub-query is OR'd
together to form the total query. If the attribute named is of a Collection
or array type, then an "includes any" query is formed. Single-value
attributes use a CONTAINS comparison query.
If keywords
is empty, keywordInput
is used to
build an RQL statement instead.
pRepository
- the Repository to search inpItemType
- the type of item to search for. Typically corresponds to
an item descriptor namepQueryBuilder
- the builder that should be used to construct the query
RepositoryException
- if an error occured while forming the query
DropletFormException
protected Query generateSingleKeywordQuery(Repository pRepository, java.lang.String pItemType, QueryBuilder pQueryBuilder, java.lang.String pPropertyName, java.lang.String[] pKeywords) throws RepositoryException
RepositoryException
protected java.lang.String getSingleKeywordSearchOperator(boolean pIsMulti)
protected Query generateSingleKeywordQuery(Repository pRepository, java.lang.String pItemType, QueryBuilder pQueryBuilder, java.lang.String pPropertyName, java.lang.String pInput) throws RepositoryException, DropletFormException
RepositoryException
DropletFormException
protected Query generateTextSearchQuery(java.lang.String pItemType, QueryBuilder pQueryBuilder, java.lang.String pInput) throws RepositoryException
textSearchPropertyNames
property. Each sub-query is OR'd
together to form the total query. The search string format is configured
with the searchStringFormat
property.
pItemType
- the type of item to search for.pQueryBuilder
- the builder that should be used to construct the querypInput
- the search string to use for the full text search
RepositoryException
- if an error occured while forming the queryprotected Query generateAdvancedSearchQuery(Repository pRepository, java.lang.String pItemType, QueryBuilder pQueryBuilder) throws RepositoryException, DropletFormException
pRepository
- the repository to searchpItemType
- the type of item to search for.pQueryBuilder
- the builder that should be used to construct the query
RepositoryException
- if an error occured while forming the query
DropletFormException
protected Query generateHierarchicalSearchQuery(java.lang.String pItemType, QueryBuilder pQueryBuilder) throws RepositoryException
Note: this query assumes that the item type being searched for has a property (as indicated by the value of theancestorPropertyName property) whose value is a collection of all its ancestor groups. If the designated item is contained in this collection, then this query returns true.
pItemType
- the type of item to search for. Typically corresponds to
an item descriptor namepQueryBuilder
- the builder that should be used to construct the query
RepositoryException
- if an error occured while forming the queryprotected java.util.Collection generateSearchValues(java.lang.String pItemType, java.lang.String pPropertyName)
pItemType
- item of the property to search for possible valuespPropertyName
- name of the property to get possible values for
protected void splitPropertyNames(java.lang.String[] pTypes, java.lang.String[] pSource, java.util.HashMap pDest, java.lang.String pSearchType)
protected java.lang.String[] transformKeywords(java.lang.String[] pKeywords)
toLowerCaseKeywords
and toUpperCaseKeywords
properties to determine if String.toLowerCase or String.toUpperCase should
be invoked.
pKeywords
- the words to transform for queryingprotected void prepare(DynamoHttpServletRequest pRequest, DynamoHttpServletResponse pResponse)
prepare
in class atg.epub.servlet.BaseSearchFormHandler
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |