Package org.ametys.web.search.systemprop
Class SiteSystemProperty
java.lang.Object
org.ametys.runtime.model.AbstractModelItem
org.ametys.runtime.model.DefaultElementDefinition<String>
org.ametys.cms.model.properties.AbstractProperty<String,Content>
org.ametys.cms.search.systemprop.AbstractSystemProperty<String,Content>
org.ametys.web.search.systemprop.SiteSystemProperty
- All Implemented Interfaces:
Comparable<ModelItem>
,Property<String,
,Content> CriterionDefinitionAwareElementDefinition<String>
,IndexationAwareElementDefinition<String,
,Content> SystemProperty<String,
,Content> IndexationAwareSystemProperty<String,
,Content> ElementDefinition<String>
,ModelItem
,PluginAware
,Labelable
,ModifiableLabelable
,Configurable
,Contextualizable
,Serviceable
public class SiteSystemProperty
extends AbstractSystemProperty<String,Content>
implements CriterionDefinitionAwareElementDefinition<String>, IndexationAwareSystemProperty<String,Content>
SystemProperty
which represents the site of a Content.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected CriterionDefinitionHelper
The criterion definition helperprotected SiteQueryHelper
The site query helperstatic final String
Solr field name.Fields inherited from class org.ametys.cms.model.properties.AbstractProperty
_availableTypesExtensionPoint, _context, _manager
Fields inherited from class org.ametys.runtime.model.DefaultElementDefinition
_logger
Fields inherited from class org.ametys.runtime.model.AbstractModelItem
__context, __serviceManager
Fields inherited from interface org.ametys.runtime.model.ElementDefinition
CONFIG_DEFAULT_VALUE_TYPE
Fields inherited from interface org.ametys.runtime.model.ModelItem
ITEM_PATH_SEPARATOR
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionConverts the given value to have the right typed for value to give to theCriterionDefinitionAwareElementDefinition.getQuery(Object, Operator, String, Map)
methodGet the property column converter.getDefaultCriterionEnumerator
(Configuration configuration, ThreadSafeComponentManager<Enumerator> enumeratorManager) Get the enumerator to use when rendering this property as a criterionGet the type to use when rendering the element as a criterionGet the widget to use when rendering the property as a criteriongetQuery
(Object value, Query.Operator operator, String language, Map<String, Object> contextualParameters) Get theQuery
associated to the given value.Get the renderer.Retrieves the name of the element's solr facet fieldRetrieves the name of the element's solr fieldRetrieves the name of the element's solr sort fieldgetSortValue
(Content content) Get the sort value represented by this field in the given result ametys object.protected String
Retrieves the id of the property's typeGet the element's valuevoid
service
(ServiceManager manager) valueToJSON
(Content content, DataContext context) Convert the property into a JSON objectMethods inherited from class org.ametys.cms.search.systemprop.AbstractSystemProperty
_getNameConfigurationAttribute, parseStringArray
Methods inherited from class org.ametys.cms.model.properties.AbstractProperty
_parseAndSetEnumerator, _parseDescription, _parseLabel, _parseName, configure, contextualize, getType, isEditable, setAvailableTypeExtensionPoint, setPluginInfo
Methods inherited from class org.ametys.runtime.model.DefaultElementDefinition
_defaultValueToJSON, _getDefaultValues, _toJSON, _widgetToJSON, _widgetToSAX, getCustomEnumerator, getCustomValidator, getDefaultValue, getEnumerator, getEnumeratorConfiguration, getParsedDefaultValues, getValidator, getValidatorConfiguration, getWidget, getWidgetParameters, isMultiple, of, setCustomEnumerator, setCustomValidator, setDefaultValue, setEnumerator, setEnumeratorConfiguration, setMultiple, setParsedDefaultValues, setType, setValidator, setValidatorConfiguration, setWidget, setWidgetParameters, toSAX
Methods inherited from class org.ametys.runtime.model.AbstractModelItem
_getModelItemHelper, _shouldJSONBeEmpty, _widgetParameterToSAX, addItemChecker, compareTo, disableConditionsToJSON, equals, getDescription, getDisableConditions, getItemCheckers, getLabel, getModel, getName, getParent, getPath, getPluginName, hashCode, setContext, setDescription, setDisableConditions, setLabel, setModel, setName, setParent, setPluginName, setServiceManager, toJSON, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Comparable
compareTo
Methods inherited from interface org.ametys.cms.search.model.CriterionDefinitionAwareElementDefinition
getDefaultCriterionOperator, getDefaultCriterionWidgetParameters, getType
Methods inherited from interface org.ametys.runtime.model.ElementDefinition
getCustomEnumerator, getCustomValidator, getDefaultValue, getEnumerator, getEnumeratorConfiguration, getParsedDefaultValues, getValidator, getValidatorConfiguration, isEditable, isMultiple, setCustomEnumerator, setCustomValidator, setDefaultValue, setEnumerator, setEnumeratorConfiguration, setMultiple, setParsedDefaultValues, setValidator, setValidatorConfiguration
Methods inherited from interface org.ametys.cms.search.model.IndexationAwareElementDefinition
getType, isFacetable, isSortable
Methods inherited from interface org.ametys.cms.search.systemprop.IndexationAwareSystemProperty
getSchemaDefinitions, indexValue
Methods inherited from interface org.ametys.runtime.util.Labelable
getDescription, getLabel, getName
Methods inherited from interface org.ametys.runtime.model.ModelItem
addItemChecker, getDisableConditions, getItemCheckers, getModel, getParent, getPath, getPluginName, getWidget, getWidgetParameters, setDisableConditions, setModel, setParent, setPluginName, setType, setWidget, setWidgetParameters, toJSON, toSAX
Methods inherited from interface org.ametys.runtime.util.ModifiableLabelable
setDescription, setLabel, setName
Methods inherited from interface org.ametys.cms.model.properties.Property
getType, initializeAfterModelItemsInitialization, setAvailableTypeExtensionPoint, valueToSAX
Methods inherited from interface org.ametys.cms.search.model.SystemProperty
getColumnWidth, isDisplayable
-
Field Details
-
SOLR_FIELD_NAME
Solr field name.- See Also:
-
_siteQueryHelper
The site query helper -
_criterionDefinitionHelper
The criterion definition helper
-
-
Constructor Details
-
SiteSystemProperty
public SiteSystemProperty()
-
-
Method Details
-
service
- Specified by:
service
in interfaceServiceable
- Overrides:
service
in classAbstractProperty<String,
Content> - Throws:
ServiceException
-
convertQueryValue
public Object convertQueryValue(Object value, String language, Map<String, Object> contextualParameters) throws BadItemTypeExceptionDescription copied from interface:CriterionDefinitionAwareElementDefinition
Converts the given value to have the right typed for value to give to theCriterionDefinitionAwareElementDefinition.getQuery(Object, Operator, String, Map)
method- Specified by:
convertQueryValue
in interfaceCriterionDefinitionAwareElementDefinition<String>
- Parameters:
value
- the value to convertlanguage
- The current search language.contextualParameters
- the search contextual parameters.- Returns:
- the value, converted to a well typed value
- Throws:
BadItemTypeException
- if the given value can not be converted
-
getQuery
public Query getQuery(Object value, Query.Operator operator, String language, Map<String, Object> contextualParameters) Description copied from interface:CriterionDefinitionAwareElementDefinition
Get theQuery
associated to the given value.- Specified by:
getQuery
in interfaceCriterionDefinitionAwareElementDefinition<String>
- Parameters:
value
- the user-submitted value for this property.operator
- In advanced search mode, the operator chosen by the user.null
to use the criterion-defined operator (simple search mode).language
- The current search language.contextualParameters
- the search contextual parameters.- Returns:
- The
Query
associated to the given value.
-
getDefaultCriterionWidget
Description copied from interface:CriterionDefinitionAwareElementDefinition
Get the widget to use when rendering the property as a criterion- Specified by:
getDefaultCriterionWidget
in interfaceCriterionDefinitionAwareElementDefinition<String>
- Returns:
- The widget to use, or
null
if no specific widget is necessary.
-
getRenderer
Description copied from interface:SystemProperty
Get the renderer.- Specified by:
getRenderer
in interfaceSystemProperty<String,
Content> - Returns:
- The column renderer.
-
getConverter
Description copied from interface:SystemProperty
Get the property column converter.- Specified by:
getConverter
in interfaceSystemProperty<String,
Content> - Returns:
- The property column converter.
-
getSolrFieldName
Description copied from interface:IndexationAwareElementDefinition
Retrieves the name of the element's solr field- Specified by:
getSolrFieldName
in interfaceIndexationAwareElementDefinition<String,
Content> - Returns:
- the name of the element's solr field
-
getSolrSortFieldName
Description copied from interface:IndexationAwareElementDefinition
Retrieves the name of the element's solr sort field- Specified by:
getSolrSortFieldName
in interfaceIndexationAwareElementDefinition<String,
Content> - Returns:
- the name of the element's solr sort field
-
getSolrFacetFieldName
Description copied from interface:IndexationAwareElementDefinition
Retrieves the name of the element's solr facet field- Specified by:
getSolrFacetFieldName
in interfaceIndexationAwareElementDefinition<String,
Content> - Returns:
- the name of the element's solr facet field
-
getValue
Description copied from interface:IndexationAwareElementDefinition
Get the element's value -
valueToJSON
Description copied from interface:Property
Convert the property into a JSON object- Specified by:
valueToJSON
in interfaceProperty<String,
Content> - Parameters:
content
- the ametysObject containing the property to convert.context
- the context of the data to convert. Can not be null.- Returns:
- The property as JSON
-
getSortValue
Description copied from interface:IndexationAwareElementDefinition
Get the sort value represented by this field in the given result ametys object.- Specified by:
getSortValue
in interfaceIndexationAwareElementDefinition<String,
Content> - Parameters:
content
- the result ametys object.- Returns:
- the content sort value, must be scalar (String, long, double, Date).
-
getDefaultCriterionEnumerator
public Enumerator<String> getDefaultCriterionEnumerator(Configuration configuration, ThreadSafeComponentManager<Enumerator> enumeratorManager) throws ConfigurationException Description copied from interface:CriterionDefinitionAwareElementDefinition
Get the enumerator to use when rendering this property as a criterion- Specified by:
getDefaultCriterionEnumerator
in interfaceCriterionDefinitionAwareElementDefinition<String>
- Parameters:
configuration
- The enumerator configuration.enumeratorManager
- ComponentManager for the criterion'sEnumerator
- Returns:
- The enumerator or null if the property's criterion is not enumerated.
- Throws:
ConfigurationException
- If an error occurs while initializing the enumerator
-
getTypeId
Description copied from class:AbstractProperty
Retrieves the id of the property's type- Specified by:
getTypeId
in classAbstractProperty<String,
Content> - Returns:
- the id of the property's type
-
getDefaultCriterionType
Description copied from interface:CriterionDefinitionAwareElementDefinition
Get the type to use when rendering the element as a criterion- Specified by:
getDefaultCriterionType
in interfaceCriterionDefinitionAwareElementDefinition<String>
- Returns:
- the type to use for a criterion
-