Package org.ametys.cms.search.systemprop
Class ViewBasedFullTextSystemProperty
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.cms.search.systemprop.ViewBasedFullTextSystemProperty
- 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 ViewBasedFullTextSystemProperty
extends AbstractSystemProperty<String,Content>
implements CriterionDefinitionAwareElementDefinition<String>, IndexationAwareSystemProperty<String,Content>
SystemProperty
which represents the full textual content of a Content based on attributes of a view.
If the view does not exist for content, nothing will be indexed.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ContentTypesHelper
The contents types helperprotected CriterionDefinitionHelper
The criterion definition helperprotected String
The view name to fill the propertyFields 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 TypeMethodDescriptionvoid
configure
(Configuration configuration) Get the type to use when rendering the element as a criteriongetQuery
(Object value, Query.Operator operator, String language, Map<String, Object> contextualParameters) Get theQuery
associated to the given value.Get the schema definitions brought by this element.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 fieldprotected String
Retrieves the id of the property's typeGet the element's valuevoid
indexValue
(org.apache.solr.common.SolrInputDocument document, Content content, CMSDataContext context) Index the element in a solr document.boolean
Get if the property can be displayed (i.e.void
service
(ServiceManager manager) Methods 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, 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
convertQueryValue, getDefaultCriterionEnumerator, getDefaultCriterionOperator, getDefaultCriterionWidget, 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
getSortValue, getType, isFacetable, isSortable
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, valueToJSON, valueToSAX
Methods inherited from interface org.ametys.cms.search.model.SystemProperty
getColumnWidth, getConverter, getRenderer
-
Field Details
-
_contentTypesHelper
The contents types helper -
_criterionDefinitionHelper
The criterion definition helper -
_viewName
The view name to fill the property
-
-
Constructor Details
-
ViewBasedFullTextSystemProperty
public ViewBasedFullTextSystemProperty()
-
-
Method Details
-
service
- Specified by:
service
in interfaceServiceable
- Overrides:
service
in classAbstractProperty<String,
Content> - Throws:
ServiceException
-
configure
- Specified by:
configure
in interfaceConfigurable
- Overrides:
configure
in classAbstractProperty<String,
Content> - Throws:
ConfigurationException
-
indexValue
public void indexValue(org.apache.solr.common.SolrInputDocument document, Content content, CMSDataContext context) Description copied from interface:IndexationAwareElementDefinition
Index the element in a solr document.- Specified by:
indexValue
in interfaceIndexationAwareElementDefinition<String,
Content> - Specified by:
indexValue
in interfaceIndexationAwareSystemProperty<String,
Content> - Parameters:
document
- the solr document to index into.content
- the ametysObject containing the element to index.context
- the context of the data to index. Can not be null.
-
isDisplayable
Description copied from interface:SystemProperty
Get if the property can be displayed (i.e. used in a ResultField).- Specified by:
isDisplayable
in interfaceSystemProperty<String,
Content> - Returns:
true
if the property can be displayed,false
otherwise.
-
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.
-
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
-
getSchemaDefinitions
Description copied from interface:IndexationAwareSystemProperty
Get the schema definitions brought by this element.- Specified by:
getSchemaDefinitions
in interfaceIndexationAwareSystemProperty<String,
Content> - Returns:
- The schema definitions used by this element.
-
getValue
Description copied from interface:IndexationAwareElementDefinition
Get the element's value -
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
-