Class SystemSearchUICriterion
- java.lang.Object
-
- org.ametys.runtime.parameter.Parameter<MetadataType>
-
- org.ametys.cms.search.ui.model.impl.AbstractSearchUICriterion
-
- org.ametys.cms.search.ui.model.impl.SystemSearchUICriterion
-
- All Implemented Interfaces:
Field,SearchCriterion,SystemSearchCriterion,SearchUICriterion,LogEnabled,Disposable,Configurable,Contextualizable,Serviceable
public class SystemSearchUICriterion extends AbstractSearchUICriterion implements SystemSearchCriterion, Contextualizable, LogEnabled, Disposable
This class is a search criteria on a system property (author, lastModified, with-comments, ...)
-
-
Field Summary
Fields Modifier and Type Field Description private Set<String>_contentTypesprivate Context_contextprotected ThreadSafeComponentManager<Enumerator>_enumeratorManagerComponentManager forEnumerators.private String_fullPathprotected List<String>_joinPathsThe join pathsprivate org.slf4j.Logger_loggerprivate ServiceManager_managerprivate Query.Operator_operatorprotected SystemPropertyExtensionPoint_systemPropEPThe system property extension point.private SystemProperty_systemPropertyprotected ThreadSafeComponentManager<Validator>_validatorManagerComponentManager forValidators.static StringSEARCH_CRITERION_SYSTEM_PREFIXPrefix for id of system property search criteria-
Fields inherited from class org.ametys.cms.search.ui.model.impl.AbstractSearchUICriterion
_contentHelper, _cTypeEP, _resolver, _userManager, _userPopulationDAO
-
-
Constructor Summary
Constructors Constructor Description SystemSearchUICriterion()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private MetadataType_computeJoinPaths(IndexingField indexingField, String[] remainingPathSegments, List<String> joinPaths)Get the indexing field type and compute the join paths.private List<String>_configureJoinPaths(String joinPath, Set<String> contentTypeIds, Configuration configuration)Configure the join paths.private Configuration_getEnumeratorAndWidgetParamConf(Configuration critConf)private String_initializeEnumerator(SystemProperty.EnumeratorDefinition enumDef)private Collection<String>_typeAndSubTypes(List<String> singletonType)voidconfigure(Configuration configuration)voidcontextualize(Context context)voiddispose()StringgetFieldId()Get the field identifier.Query.OperatorgetOperator()Get the operator.QuerygetQuery(Object value, Query.Operator customOperator, Map<String,Object> allValues, String language, Map<String,Object> contextualParameters)Get theQueryassociated to the given value.SearchFieldgetSearchField()Get theSearchFieldrepresenting this search criterion.StringgetSystemPropertyId()Get id of this system propertybooleanisFacetable()Test if the criterion can be set as a facet (i.e.booleanisJoined()Returnstrueif the criterion is joinedvoidservice(ServiceManager manager)voidsetLogger(org.slf4j.Logger logger)Called at creation time to provide aLogger.-
Methods inherited from class org.ametys.cms.search.ui.model.impl.AbstractSearchUICriterion
_configureI18nizableText, _initializeValidator, configureId, configureLabelsAndGroup, configureUIProperties, configureValues, configureWidget, configureWidgetParameters, getChangeClassName, getContentTypeId, getFacetLabel, getGroup, getInitClassName, getMetadataDefinition, getSubmitClassName, isHidden, isMultiple, setChangeClassName, setContentTypeId, setGroup, setHidden, setInitClassName, setMultiple, setSubmitClassName
-
Methods inherited from class org.ametys.runtime.parameter.Parameter
getDefaultValue, getDescription, getEnumerator, getId, getLabel, getPluginName, getType, getValidator, getWidget, getWidgetParameters, setDefaultValue, setDescription, setEnumerator, setId, setLabel, setPluginName, setType, setValidator, setWidget, setWidgetParameters
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.ametys.cms.search.model.Field
getContentTypeId, getEnumerator, getType, isMultiple
-
Methods inherited from interface org.ametys.cms.search.model.SearchCriterion
getId, getQuery, isSortable
-
Methods inherited from interface org.ametys.cms.search.ui.model.SearchUICriterion
getDefaultValue, getDescription, getLabel, getValidator, getWidget, getWidgetParameters
-
-
-
-
Field Detail
-
SEARCH_CRITERION_SYSTEM_PREFIX
public static final String SEARCH_CRITERION_SYSTEM_PREFIX
Prefix for id of system property search criteria- See Also:
- Constant Field Values
-
_validatorManager
protected ThreadSafeComponentManager<Validator> _validatorManager
ComponentManager forValidators.
-
_enumeratorManager
protected ThreadSafeComponentManager<Enumerator> _enumeratorManager
ComponentManager forEnumerators.
-
_systemPropEP
protected SystemPropertyExtensionPoint _systemPropEP
The system property extension point.
-
_joinPaths
protected List<String> _joinPaths
The join paths
-
_operator
private Query.Operator _operator
-
_systemProperty
private SystemProperty _systemProperty
-
_contentTypes
private Set<String> _contentTypes
-
_manager
private ServiceManager _manager
-
_logger
private org.slf4j.Logger _logger
-
-
Constructor Detail
-
SystemSearchUICriterion
public SystemSearchUICriterion()
-
-
Method Detail
-
contextualize
public void contextualize(Context context) throws ContextException
- Specified by:
contextualizein interfaceContextualizable- Throws:
ContextException
-
setLogger
public void setLogger(org.slf4j.Logger logger)
Description copied from interface:LogEnabledCalled at creation time to provide aLogger.- Specified by:
setLoggerin interfaceLogEnabled- Parameters:
logger- aLoggerfor messages.
-
service
public void service(ServiceManager manager) throws ServiceException
- Specified by:
servicein interfaceServiceable- Overrides:
servicein classAbstractSearchUICriterion- Throws:
ServiceException
-
dispose
public void dispose()
- Specified by:
disposein interfaceDisposable
-
configure
public void configure(Configuration configuration) throws ConfigurationException
- Specified by:
configurein interfaceConfigurable- Overrides:
configurein classAbstractSearchUICriterion- Throws:
ConfigurationException
-
_getEnumeratorAndWidgetParamConf
private Configuration _getEnumeratorAndWidgetParamConf(Configuration critConf) throws ConfigurationException
- Throws:
ConfigurationException
-
isJoined
public boolean isJoined()
Description copied from interface:SystemSearchCriterionReturnstrueif the criterion is joined- Specified by:
isJoinedin interfaceSystemSearchCriterion- Returns:
trueif the criterion is joined
-
isFacetable
public boolean isFacetable()
Description copied from interface:SearchCriterionTest if the criterion can be set as a facet (i.e. it has a defined list of discrete values).- Specified by:
isFacetablein interfaceSearchCriterion- Returns:
- true if the criterion can be set as a facet, false otherwise.
-
getOperator
public Query.Operator getOperator()
Get the operator.- Specified by:
getOperatorin interfaceSearchCriterion- Returns:
- the operator.
-
getFieldId
public String getFieldId()
Description copied from interface:SearchUICriterionGet the field identifier. Used to match standard, advanced and faceted criterion (even if the operator is different), whatever their ID is.- Specified by:
getFieldIdin interfaceSearchUICriterion- Returns:
- the field identifier.
-
getSystemPropertyId
public String getSystemPropertyId()
Get id of this system property- Specified by:
getSystemPropertyIdin interfaceSystemSearchCriterion- Returns:
- The system property's id
-
getQuery
public Query getQuery(Object value, Query.Operator customOperator, Map<String,Object> allValues, String language, Map<String,Object> contextualParameters)
Description copied from interface:SearchCriterionGet theQueryassociated to the given value.- Specified by:
getQueryin interfaceSearchCriterion- Parameters:
value- The user-submitted value (or the default value if not set) for this criterion.customOperator- In advanced search mode, the operator chosen by the user.nullto use the criterion-defined operator (simple search mode).allValues- All the user-submitted values.language- The current search language.contextualParameters- the search contextual parameters.- Returns:
Queryassociated to the given value.
-
getSearchField
public SearchField getSearchField()
Description copied from interface:SearchCriterionGet theSearchFieldrepresenting this search criterion.- Specified by:
getSearchFieldin interfaceSearchCriterion- Overrides:
getSearchFieldin classAbstractSearchUICriterion- Returns:
- the
SearchFieldrepresenting this search criterion.
-
_configureJoinPaths
private List<String> _configureJoinPaths(String joinPath, Set<String> contentTypeIds, Configuration configuration) throws ConfigurationException
Configure the join paths.- Parameters:
joinPath- The full join path.contentTypeIds- The base content type identifiers.configuration- The configuration of the criterion- Returns:
- The list of join paths.
- Throws:
ConfigurationException- If the join paths are missconfigured
-
_computeJoinPaths
private MetadataType _computeJoinPaths(IndexingField indexingField, String[] remainingPathSegments, List<String> joinPaths) throws ConfigurationException
Get the indexing field type and compute the join paths.- Parameters:
indexingField- The initial indexing fieldremainingPathSegments- The path to access the metadata or an another indexing field from the initial indexing fieldjoinPaths- The consecutive's path in case of joint to access the field/metadata- Returns:
- The metadata definition or null if not found
- Throws:
ConfigurationException- If an error occurs.
-
_typeAndSubTypes
private Collection<String> _typeAndSubTypes(List<String> singletonType)
-
_initializeEnumerator
private String _initializeEnumerator(SystemProperty.EnumeratorDefinition enumDef)
-
-