Class QueryExtractionComponent
- java.lang.Object
-
- org.apache.avalon.framework.logger.AbstractLogEnabled
-
- org.ametys.plugins.extraction.component.AbstractExtractionComponent
-
- org.ametys.plugins.extraction.component.AbstractSolrExtractionComponent
-
- org.ametys.plugins.extraction.component.AbstractGroupExtractionComponent
-
- org.ametys.plugins.extraction.component.QueryExtractionComponent
-
- All Implemented Interfaces:
ExtractionComponent,TwoStepsExecutingExtractionComponent,Configurable,Contextualizable,LogEnabled,Serviceable
public class QueryExtractionComponent extends AbstractGroupExtractionComponent implements TwoStepsExecutingExtractionComponent, Contextualizable
This class represents a query component of the extraction module
-
-
Field Summary
Fields Modifier and Type Field Description private ColumnHelper_columnHelperprivate List<ExtractionColumn>_columnsprivate ContentResultSetHelper_contentResultSetHelperprivate Context_contextprivate boolean_overrideColumnsprivate boolean_overrideSortsprivate Collection<? extends ResultField>_resultFieldsprivate SearchUIModelExtensionPoint_searchModelExtensionPointprivate ServiceManager_serviceManagerprivate Map<String,Sort.Order>_sortMapprivate List<Sort>_sorts-
Fields inherited from class org.ametys.plugins.extraction.component.AbstractGroupExtractionComponent
_groupingFields
-
Fields inherited from class org.ametys.plugins.extraction.component.AbstractSolrExtractionComponent
_clauses, _contentTypes, _getQueryFromJSONHelper, _jsonUtils, _queryReferenceId
-
Fields inherited from class org.ametys.plugins.extraction.component.AbstractExtractionComponent
_contentTypeExtensionPoint, _contentTypesHelper, _subComponents, _tagName, _thesaurusDAO, EXTRACTION_ITEM_PATH_SEPARATOR, JOIN_HIERARCHY_ELEMENT, JOIN_HIERARCHY_SEPARATOR
-
-
Constructor Summary
Constructors Constructor Description QueryExtractionComponent()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private List<ResultField>_buildResulFields(List<String> columnFieldPaths)private List<String>_getColumnsToDisplay(ExtractionExecutionContext context)voidaddColumn(String fieldPath, String displayOptionalColumnName)Add an optional column to the componentvoidaddColumns(String... fieldPaths)Add columns to the components.voidaddSort(String filedPath, Sort.Order order)Add sort to the componentIterable<Content>computeFirstLevelResults(ExtractionExecutionContext context)Computes first level results for preparing multiple extraction executionsprotected voidcomputeReferencedQueryInfos(String refQueryContent)Manages the stored query referenced by the componentvoidconfigure(Configuration query)voidcontextualize(Context context)voidexecuteFor(ContentHandler contentHandler, Iterable<Content> firstLevelResults, ExtractionExecutionContext context)Execute the extraction of the component for the given first level resultsList<ExtractionColumn>getColumns()Retrieves the component columnsMap<String,Object>getComponentDetailsForTree()Retrieves the details of the component for treeprotected ContentSearcherFactory.SimpleContentSearchergetContentSearcher()Retrieves the content searcher to use for solr searchprotected StringgetDefaultTagName()Retrieves the default tag nameprotected StringgetLogsPrefix()Retrieves the prefix to use in exceptions thrown by this componentMap<String,Sort.Order>getSorts()Retrieves the component sortsbooleanoverrideColumns()the referenced query's columnsbooleanoverrideSorts()the referenced query's sortsvoidprepareComponentExecution(ExtractionExecutionContext context)Prepare the execution of the componentprotected voidprocessContents(Iterable<Content> contents, ContentHandler contentHandler, ExtractionExecutionContext context)Process result contents to format the result documentprotected voidsaxContents(ContentHandler contentHandler, ExtractionExecutionContext context, Collection<? extends ResultField> resultFields, List<Content> contents)Sax a contentvoidservice(ServiceManager serviceManager)voidsetOverrideColumns(boolean overrideColumns)Set the boolean to override the referenced query's columns or notvoidsetOverrideSorts(boolean overrideSorts)Set the boolean to override the referenced query's sorts or not-
Methods inherited from class org.ametys.plugins.extraction.component.AbstractGroupExtractionComponent
addGroupingFields, getGroupingFields, organizeContentsInGroups, saxGroup
-
Methods inherited from class org.ametys.plugins.extraction.component.AbstractSolrExtractionComponent
_extractGroupExpressionsFromClause, _extractVariableFromClauseExpression, _getAttributeTypeId, _getClauseQueries, addClauses, addContentTypes, executeComponent, getClauses, getContents, getContentTypes, getQueryReferenceId, setQueryReferenceId
-
Methods inherited from class org.ametys.plugins.extraction.component.AbstractExtractionComponent
addSubComponent, execute, executeSubComponents, getSubComponents, getTagName, setTagName
-
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.ametys.plugins.extraction.component.ExtractionComponent
addSubComponent, getContentTypes, getSubComponents
-
Methods inherited from interface org.ametys.plugins.extraction.component.TwoStepsExecutingExtractionComponent
execute
-
-
-
-
Field Detail
-
_overrideColumns
private boolean _overrideColumns
-
_columns
private List<ExtractionColumn> _columns
-
_overrideSorts
private boolean _overrideSorts
-
_sortMap
private Map<String,Sort.Order> _sortMap
-
_resultFields
private Collection<? extends ResultField> _resultFields
-
_serviceManager
private ServiceManager _serviceManager
-
_searchModelExtensionPoint
private SearchUIModelExtensionPoint _searchModelExtensionPoint
-
_contentResultSetHelper
private ContentResultSetHelper _contentResultSetHelper
-
_columnHelper
private ColumnHelper _columnHelper
-
-
Constructor Detail
-
QueryExtractionComponent
public QueryExtractionComponent()
-
-
Method Detail
-
contextualize
public void contextualize(Context context) throws ContextException
- Specified by:
contextualizein interfaceContextualizable- Throws:
ContextException
-
service
public void service(ServiceManager serviceManager) throws ServiceException
- Specified by:
servicein interfaceServiceable- Overrides:
servicein classAbstractGroupExtractionComponent- Throws:
ServiceException
-
configure
public void configure(Configuration query) throws ConfigurationException
- Specified by:
configurein interfaceConfigurable- Overrides:
configurein classAbstractGroupExtractionComponent- Throws:
ConfigurationException
-
prepareComponentExecution
public void prepareComponentExecution(ExtractionExecutionContext context) throws Exception
Description copied from interface:ExtractionComponentPrepare the execution of the component- Specified by:
prepareComponentExecutionin interfaceExtractionComponent- Overrides:
prepareComponentExecutionin classAbstractGroupExtractionComponent- Parameters:
context- context of the extraction component- Throws:
Exception- if an error occurs
-
_getColumnsToDisplay
private List<String> _getColumnsToDisplay(ExtractionExecutionContext context)
-
_buildResulFields
private List<ResultField> _buildResulFields(List<String> columnFieldPaths) throws Exception
- Throws:
Exception
-
computeReferencedQueryInfos
protected void computeReferencedQueryInfos(String refQueryContent) throws QuerySyntaxException
Description copied from class:AbstractSolrExtractionComponentManages the stored query referenced by the component- Overrides:
computeReferencedQueryInfosin classAbstractSolrExtractionComponent- Parameters:
refQueryContent- referenced query content- Throws:
QuerySyntaxException- if there is a syntax error in the referenced query
-
getContentSearcher
protected ContentSearcherFactory.SimpleContentSearcher getContentSearcher()
Description copied from class:AbstractSolrExtractionComponentRetrieves the content searcher to use for solr search- Overrides:
getContentSearcherin classAbstractSolrExtractionComponent- Returns:
- the content searcher
-
processContents
protected void processContents(Iterable<Content> contents, ContentHandler contentHandler, ExtractionExecutionContext context) throws Exception
Description copied from class:AbstractSolrExtractionComponentProcess result contents to format the result document- Specified by:
processContentsin classAbstractSolrExtractionComponent- Parameters:
contents- search resultscontentHandler- result documentcontext- component execution context- Throws:
Exception- if an error occurs
-
computeFirstLevelResults
public Iterable<Content> computeFirstLevelResults(ExtractionExecutionContext context) throws Exception
Description copied from interface:TwoStepsExecutingExtractionComponentComputes first level results for preparing multiple extraction executions- Specified by:
computeFirstLevelResultsin interfaceTwoStepsExecutingExtractionComponent- Parameters:
context- context of the extraction component- Returns:
- The first level content results
- Throws:
Exception- if an error occurs
-
executeFor
public void executeFor(ContentHandler contentHandler, Iterable<Content> firstLevelResults, ExtractionExecutionContext context) throws Exception
Description copied from interface:TwoStepsExecutingExtractionComponentExecute the extraction of the component for the given first level results- Specified by:
executeForin interfaceTwoStepsExecutingExtractionComponent- Parameters:
contentHandler- result documentfirstLevelResults- A subset of the first level content results previously returned byTwoStepsExecutingExtractionComponent.computeFirstLevelResults(ExtractionExecutionContext)context- context of the extraction component- Throws:
Exception- if an error occurs
-
saxContents
protected void saxContents(ContentHandler contentHandler, ExtractionExecutionContext context, Collection<? extends ResultField> resultFields, List<Content> contents) throws Exception
Description copied from class:AbstractGroupExtractionComponentSax a content- Specified by:
saxContentsin classAbstractGroupExtractionComponent- Parameters:
contentHandler- result documentcontext- execution contextresultFields- result fields to saxcontents- contents to sax- Throws:
Exception- if an error occurs
-
getComponentDetailsForTree
public Map<String,Object> getComponentDetailsForTree()
Description copied from interface:ExtractionComponentRetrieves the details of the component for tree- Specified by:
getComponentDetailsForTreein interfaceExtractionComponent- Overrides:
getComponentDetailsForTreein classAbstractGroupExtractionComponent- Returns:
- a
Mapcontaining component details
-
getDefaultTagName
protected String getDefaultTagName()
Description copied from class:AbstractExtractionComponentRetrieves the default tag name- Specified by:
getDefaultTagNamein classAbstractExtractionComponent- Returns:
- the default tag name
-
getLogsPrefix
protected String getLogsPrefix()
Description copied from class:AbstractExtractionComponentRetrieves the prefix to use in exceptions thrown by this component- Specified by:
getLogsPrefixin classAbstractExtractionComponent- Returns:
- the prefix for exceptions
-
overrideColumns
public boolean overrideColumns()
the referenced query's columns- Returns:
trueif the referenced query's columns are overridden on this component,falseotherwise
-
setOverrideColumns
public void setOverrideColumns(boolean overrideColumns)
Set the boolean to override the referenced query's columns or not- Parameters:
overrideColumns-trueto override columns,falseotherwise
-
getColumns
public List<ExtractionColumn> getColumns()
Retrieves the component columns- Returns:
- The component columns
-
addColumns
public void addColumns(String... fieldPaths)
Add columns to the components. Do not manage optional columns' variables- Parameters:
fieldPaths- Array of columns' field paths to add
-
addColumn
public void addColumn(String fieldPath, String displayOptionalColumnName)
Add an optional column to the component- Parameters:
fieldPath- The column's field pathdisplayOptionalColumnName- The name of the variable that manage the display of this optional column
-
overrideSorts
public boolean overrideSorts()
the referenced query's sorts- Returns:
trueif the referenced query's sorts are overridden on this component,falseotherwise
-
setOverrideSorts
public void setOverrideSorts(boolean overrideSorts)
Set the boolean to override the referenced query's sorts or not- Parameters:
overrideSorts-trueto override sorts,falseotherwise
-
getSorts
public Map<String,Sort.Order> getSorts()
Retrieves the component sorts- Returns:
- The component sorts
-
addSort
public void addSort(String filedPath, Sort.Order order)
Add sort to the component- Parameters:
filedPath- Field on which apply sortorder- sort order to apply for field
-
-