|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.beans.FeatureDescriptor atg.beans.SerializableFeatureDescriptor atg.repository.dp.DerivationMethodImpl atg.repository.dp.SearchConfigLocale
public class SearchConfigLocale
This class provides a mechanism for finding the locale for a search config. Every searchConfig item has a 'derivedLocale' property. This property is a read only property whose value is calculated via a custom derivation method. The custom derivation method uses the following logic to determine this property: 1. If 'locale' property is not null then use it (generally only baseSearchConfig items will have their locale property set) else 2. If parentDimensionFolder.dimensionService = getLanguageDimensionService().getDimensionName() then derivedLocale = getLanguageDimensionService().getLocale(dimensionValue) else 3. Traverse up the tree until a folder is found where folder[i] = dimensionService=getLanguageDimensionService().getDimensionName(). If found then derivedLocale = getLanguageDimensionService().getLocale(folder[i-1].dimensionValue) else 4. If 'baseSearchConfig.derivedLocale' is not null then use it else 5. getLanguageDimensionService().getDefaultLocale() It is possible to use this derivation without configuring a language dimension service in which case it will only do steps 1 & 4.
Field Summary | |
---|---|
protected static java.lang.String |
BASE_CONFIG_PROP
|
static java.lang.String |
CLASS_VERSION
Class version string |
protected static java.lang.String |
DERIVATION_NAME
|
protected static java.lang.String |
DERIVED_LOCALE_PROP
|
protected static java.lang.String |
DIM_FOLDER_PARENT_FOLDERS_PROP
|
protected static java.lang.String |
DIMENSION_SERVICE_PROP
|
protected static java.lang.String |
DIMENSION_VALUE_PROP
|
protected static java.lang.String |
DISPLAY_NAME
|
protected static java.lang.String |
LANGUAGE_SERVICE
|
protected static java.lang.String |
LOCALE_PROP
|
protected static java.lang.String |
SHORT_DESCRIPTION
|
protected static SearchConfigurationPropertyManager |
sPropertyManager
|
protected static java.lang.String |
SRCH_CONFIG_PARENT_FOLDERS_PROP
|
Fields inherited from class atg.repository.dp.DerivationMethodImpl |
---|
COMPARISON_QUERY, INCLUDES_ALL_QUERY, INCLUDES_ANY_QUERY, INCLUDES_ITEM_QUERY, INCLUDES_QUERY, IS_NULL_QUERY, PATTERN_MATCH_QUERY, sZero, TEXT_SEARCH_QUERY |
Fields inherited from class atg.beans.SerializableFeatureDescriptor |
---|
BUNDLE_ATTRIBUTE_NAME, LOCALE_ATTRIBUTE_NAME |
Fields inherited from interface atg.repository.dp.Constants |
---|
ATTR_METHOD, ATTR_OVERRIDE_PROPERTY, ATTR_USER_METHOD, DEFAULT_METHOD_NAME, DEFAULT_RECURSION_DEPTH, DP_COUNT_ATTR_NAME, ERR_COLLECTION_EXPRESSION_TYPE, ERR_COLLECTION_ITEM_TYPE, ERR_DP_EXP_NOT_ARRAY, ERR_DP_EXP_NOT_COLLECTION, ERR_DP_EXP_NOT_SET_LIST, ERR_DP_EXP_REFERENCES_DP, ERR_DP_QUERYABLE_OP_NOT, ERR_DP_READABLE_OP_NOT, ERR_DP_WRITABLE_OP_NOT, ERR_DP_WRITABLE_WITH_NULL_OP, ERR_EMPTY_EXPRESSION, ERR_EXACTLY_ONE_EXPRESSION, ERR_INCOMPATIBLE_DP_EXP, ERR_INCOMPATIBLE_OP, ERR_INVALID_OVERRIDE_PROPERTY_NAME, ERR_INVALID_PROPERTY, ERR_METHOD_AND_USER_METHOD, ERR_NO_DP, ERR_NO_EXP, ERR_NO_EXPRESSION, ERR_NO_METHOD, ERR_NO_PROPERTY_FOR_LOCALE, ERR_NO_PROPERTY_TYPE, ERR_NO_SET_LIST, ERR_NULL_ITEM_DESCRIPTOR, ERR_OP_SAME_AS_DP, ERR_PROP_COLLECTION_TYPE, ERR_SET_NOT_WRITABLE, PROPERTY_SEPARATOR, RECURSION_DEPTH_ATTR_NAME, RESOURCE_BUNDLE_NAME, TAG_DERIVATION, TAG_EXPRESSION |
Constructor Summary | |
---|---|
SearchConfigLocale()
|
Method Summary | |
---|---|
protected Query |
createQuery(int pQueryType,
boolean pDerivedPropertyOnLeft,
boolean pCountDerivedProperty,
QueryExpression pOther,
int pOperator,
boolean pIgnoreCase,
QueryExpression pMinScore,
QueryExpression pSearchStringFormat,
Query pItemQuery,
QueryBuilder pBuilder,
atg.repository.query.PropertyQueryExpression pParentProperty,
java.util.List pChildPropertyList)
Do the real work of implementing a query to find the correct map value. |
java.lang.Object |
derivePropertyValue(java.lang.Object pBean)
Determine the derived property value. |
java.lang.Object |
derivePropertyValue(RepositoryItemImpl pItem)
Determine the derived property value. |
protected LanguageDimensionService |
getLanguageDimensionService()
Return the value of the "languageSearchDimensionService" attribute. |
atg.repository.dp.Expression |
getPropertyOrigin(RepositoryItemImpl pItem)
Determine from where the specified property value is derived. |
protected boolean |
isFolderDimension(java.lang.Object pFolder,
java.lang.String pDimensionName)
Utility method to check a folder has a specific dimension service. |
boolean |
isQueryable()
Determine whether the specified property can be used in a query. |
protected void |
setLanguageDimensionService(LanguageDimensionService pLanguageDimensionService)
Set the mLanguageDimensionService. |
java.util.List |
validate()
Validate the derivation. |
Methods inherited from class atg.repository.dp.DerivationMethodImpl |
---|
createComparisonQuery, createExpression, createIncludesAllQuery, createIncludesAnyQuery, createIncludesItemQuery, createIncludesQuery, createIsNullQuery, createPatternMatchQuery, createQuery, createReferencedByQuery, createTextSearchQuery, getAllowNoExpressions, getDerivation, getFeatureDescriptor, getPropertyDescriptor, getPropertyOrigin, getPropertyOrigin, getPropertyOrigin, isEmpty, isWritable, rebuildExpression, setDerivation, setFrom, setPropertyDescriptor, setPropertyValue, setPropertyValue, wrap |
Methods inherited from class atg.beans.SerializableFeatureDescriptor |
---|
copyFeatureDescriptor, getDisplayName, getDisplayNameResource, getDisplaySortString, getResourceBundle, getShortDescription, getShortDescriptionResource, getSortString, setDisplayNameResource, setShortDescriptionResource, toString |
Methods inherited from class java.beans.FeatureDescriptor |
---|
attributeNames, getName, getValue, isExpert, isHidden, isPreferred, setDisplayName, setExpert, setHidden, setName, setPreferred, setShortDescription, setValue |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String CLASS_VERSION
protected static final java.lang.String DERIVATION_NAME
protected static final java.lang.String DISPLAY_NAME
protected static final java.lang.String SHORT_DESCRIPTION
protected static final java.lang.String LANGUAGE_SERVICE
protected static SearchConfigurationPropertyManager sPropertyManager
protected static final java.lang.String LOCALE_PROP
protected static final java.lang.String DIM_FOLDER_PARENT_FOLDERS_PROP
protected static final java.lang.String SRCH_CONFIG_PARENT_FOLDERS_PROP
protected static final java.lang.String DIMENSION_VALUE_PROP
protected static final java.lang.String BASE_CONFIG_PROP
protected static final java.lang.String DERIVED_LOCALE_PROP
protected static final java.lang.String DIMENSION_SERVICE_PROP
Constructor Detail |
---|
public SearchConfigLocale()
Method Detail |
---|
protected LanguageDimensionService getLanguageDimensionService()
protected void setLanguageDimensionService(LanguageDimensionService pLanguageDimensionService)
pLanguageDimensionService
- the service to set.public java.util.List validate()
validate
in interface atg.repository.dp.DerivationMethod
validate
in class atg.repository.dp.DerivationMethodImpl
public java.lang.Object derivePropertyValue(RepositoryItemImpl pItem) throws RepositoryException
pItem
- the item whose property value is desired
RepositoryException
- if a property referenced in this
expression could not be found in the specified beanpublic java.lang.Object derivePropertyValue(java.lang.Object pBean) throws RepositoryException
pBean
- the bean representing a repository item whose property
value is desired
RepositoryException
- if a property referenced in this
expression could not be found in the specified beanpublic atg.repository.dp.Expression getPropertyOrigin(RepositoryItemImpl pItem) throws RepositoryException
getPropertyOrigin
in interface atg.repository.dp.DerivationMethod
getPropertyOrigin
in class atg.repository.dp.DerivationMethodImpl
pItem
- the item whose property value origin is desired
RepositoryException
public boolean isQueryable()
protected Query createQuery(int pQueryType, boolean pDerivedPropertyOnLeft, boolean pCountDerivedProperty, QueryExpression pOther, int pOperator, boolean pIgnoreCase, QueryExpression pMinScore, QueryExpression pSearchStringFormat, Query pItemQuery, QueryBuilder pBuilder, atg.repository.query.PropertyQueryExpression pParentProperty, java.util.List pChildPropertyList) throws RepositoryException
All of the QueryExpression arguments to this method were created by pBuilder and thus can be used as is without being translated.
createQuery
in class atg.repository.dp.DerivationMethodImpl
pQueryType
- the type of the original querypDerivedPropertyOnLeft
- if true
the derived property
is used as the left hand side in the query and pOtherExpression is
used as the right hand side. If false
the derived property
is used as the right hand side and pOtherExpression is used as the left
hand side.pCountDerivedProperty
- if true
the derived property
is used in a count query expressionpOther
- the other expression involved in binary queriespOperator
- the binary operator involved in binary queriespIgnoreCase
- whether to ignore case in pattern match queriespMinScore
- min score for text queriespSearchStringFormat
- search string format for text queriespItemQuery
- query to use in includes item queries onlypBuilder
- query builder to usepParentProperty
- the parent of the derived property, if the
derived property is not a direct child of the Item being queried.pChildPropertyList
- a list of the children of the derived
property, if the derived property is not the last expression
in the query.
RepositoryException
- if there is problem building the queryprotected boolean isFolderDimension(java.lang.Object pFolder, java.lang.String pDimensionName) throws PropertyNotFoundException
pFolder
- dimensionFolder or Set with a single dimensionFolder repository item.pDimensionName
- String name to check
PropertyNotFoundException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |