Package org.ametys.web.frontoffice
Class SearchResourcesGenerator
- All Implemented Interfaces:
SolrFieldNames,SolrWebFieldNames,Poolable,Recyclable,Disposable,Component,Contextualizable,LogEnabled,Serviceable,Generator,SitemapModelComponent,XMLProducer
Generates the results of a search performed on front office
-
Nested Class Summary
Nested classes/interfaces inherited from class org.ametys.web.frontoffice.AbstractSearchGenerator
AbstractSearchGenerator.AttributeFacetField, AbstractSearchGenerator.ContentTypeFacetField, AbstractSearchGenerator.FacetField -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected DublinCoreMetadataProviderDublinCore providerprotected static final String[]MIME types for audio filesprotected static final String[]MIME types for imagesprotected static final String[]MIME types for pdfprotected static final String[]MIME types for presentationprotected static final String[]MIME types for spreadsheetsprotected static final String[]MIME types for text documentsprotected static final String[]MIME types for videosFields inherited from class org.ametys.web.frontoffice.AbstractSearchGenerator
_contentTypesHelper, _context, _cTypeExtPt, _resolver, _searcherFactory, _searchHelper, _siteManager, _tagExtPt, _TEXTFIELD_PATTERN, _uriResolverEP, DOCUMENT_TYPE_IS_PAGE_RESOURCE_FACET_NAMEFields inherited from class org.apache.cocoon.generation.ServiceableGenerator
managerFields inherited from class org.apache.cocoon.generation.AbstractGenerator
objectModel, parameters, resolver, sourceFields inherited from class org.apache.cocoon.xml.AbstractXMLProducer
contentHandler, EMPTY_CONTENT_HANDLER, lexicalHandler, xmlConsumerFields inherited from interface org.ametys.cms.content.indexing.solr.SolrFieldNames
ACL_INIT_VALUE_ALLOWED_GROUPS, ACL_INIT_VALUE_ALLOWED_USERS, ACL_INIT_VALUE_ANONYMOUS, ACL_INIT_VALUE_ANYCONNECTED, ACL_INIT_VALUE_DENIED_GROUPS, ACL_INIT_VALUE_DENIED_USERS, ATTACHMENT_CONTENT_ID, CONTENT_COMMENTS_NONVALIDATED, CONTENT_COMMENTS_VALIDATED, CONTENT_LANGUAGES, CONTENT_NAME, CONTENT_OUTGOING_REFEERENCES_RESOURCE_IDS, CONTENT_TITLES, CONTENT_TYPE_RESOURCE, CONTENT_VISIBLE_ATTACHMENT_RESOURCE_IDS, DC_CONTRIBUTOR, DC_COVERAGE, DC_CREATOR, DC_DATE, DC_DESCRIPTION, DC_FORMAT, DC_IDENTIFIER, DC_LANGUAGE, DC_PUBLISHER, DC_RELATION, DC_RIGHTS, DC_SOURCE, DC_SUBJECT, DC_TITLE, DC_TYPE, DOCUMENT_TYPE, EXACT_WS_OPERATOR, EXCERPT, FILENAME, FULL, ID, ID_DV, IS_AMETYS_OBJECT, LANGUAGE_SEPARATOR, LENGTH, MIME_TYPES, PATH, PSEUDO_CONTENT_TYPE_VALUE_RESOURCE, PSEUDO_CONTENT_TYPES, REPEATER_ENTRY_POSITION, RESOURCE_ANCESTOR_AND_SELF_IDS, RESOURCE_ANCESTOR_IDS, RESOURCE_CREATOR, RESOURCE_DATE, RESOURCE_LAST_MODIFIED, RESOURCE_MIME_TYPE_GROUP, RESOURCE_ROOT_ID, SIMPLE_CONTENT_PARENTS, STEMMED_OPERATOR, SYSTEM_FULL, TITLE, TITLE_SORT, TYPE_CONTENT, TYPE_CONTENT_ATTACHMENT_RESOURCE, TYPE_CONTENT_ATTRIBUTE_RESOURCE, TYPE_REPEATER, TYPE_RESOURCE, TYPE_TRASH_ELEMENT, TYPE_WF_ENTRY, TYPE_WF_STEP, WORKFLOW_CURRENT_STEPS, WORKFLOW_CURRENT_STEPS_DV, WORKFLOW_ENTRY_STATE, WORKFLOW_HISTORY_STEPS, WORKFLOW_HISTORY_STEPS_DV, WORKFLOW_NAME, WORKFLOW_REF, WORKFLOW_REF_DV, WORKFLOW_STEP_ACTIONID, WORKFLOW_STEP_CALLER, WORKFLOW_STEP_DUEDATE, WORKFLOW_STEP_FINISHDATE, WORKFLOW_STEP_ID, WORKFLOW_STEP_OWNER, WORKFLOW_STEP_STARTDATE, WORKFLOW_STEP_STATUSFields inherited from interface org.ametys.web.indexing.solr.SolrWebFieldNames
ATTACHMENT_PAGE_ID, CONTENT_IDS, CONTENT_INTERESTING_DATES, DATE_FOR_SORTING, DATES_FACET, FACETABLE_CONTENT_FIELD_PREFIX, LASTNAME_FOR_SORTING, PAGE_ANCESTOR_IDS, PAGE_CONTENT_TYPES, PAGE_DEPTH, PAGE_LONG_TITLE, PAGE_OUTGOING_REFEERENCES_RESOURCE_IDS, PAGE_PARENT_ID, PAGE_TITLE, PAGE_TYPE, PAGE_VISIBLE_ATTACHMENT_RESOURCE_IDS, SECTION_PAGE_TITLE, SERVICE_IDS, SITE_NAME, SITE_TYPE, SITEMAP_NAME, TEMPLATE, TYPE_PAGE, TYPE_PAGE_RESOURCE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected Collection<String> getDocumentTypes(Request request) Get the document types.protected Map<String, AbstractSearchGenerator.FacetField> Get the facets from request parametersgetFacetValues(Request request, Collection<String> siteNames, String language) Get the facet valuesprotected Collection<Query> getFilterQueries(Request request, Collection<String> siteNames, String language) Get the filter queries from the request parameters.protected List<SearcherFactory.SortDefinition> getPrimarySortFields(Request request) Get the primary sort fieldsprotected QuerygetQuery(Request request, Collection<String> siteNames, String language) Get the query from request parametersprotected Set<FrontOfficeSearcherFactory.QueryFacet> getQueryFacets(Request request) Get the facet.queriesprotected Collection<String> getQueryFacetValues(Request request) Get the facet.query valuesprotected SearcherFactory.SortDefinitiongetSortDefinition(Request request) Get the sort definitionprotected voidsaxFormFields(Request request, String siteName, String lang) SAX the form criteriaprotected voidsaxFormValues(Request request, int start, int offset) SAX the form criteria valuesprotected voidsaxHits(SearchResults<AmetysObject> results, int start, int maxResults) SAX the result hitsvoidservice(ServiceManager smanager) Methods inherited from class org.ametys.web.frontoffice.AbstractSearchGenerator
_additionalSearchProcessing, _checkRights, contextualize, generate, getDocumentTypesQuery, getPageIndex, getSearchMode, getZoneItem, isInputValid, saxAdditionalInfos, saxAdditionalInfosOnPageHit, saxContent, saxFacets, saxFormParameters, saxPageHit, saxPagination, saxResourceHit, saxRichTextExcerpt, saxServiceIdentifiers, saxSort, search, search, useFacetsMethods inherited from class org.apache.cocoon.generation.ServiceableGenerator
disposeMethods inherited from class org.apache.cocoon.generation.AbstractGenerator
recycle, setupMethods inherited from class org.apache.cocoon.xml.AbstractXMLProducer
setConsumer, setContentHandler, setLexicalHandlerMethods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLoggerMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.cocoon.xml.XMLProducer
setConsumer
-
Field Details
-
IMAGE_MIMETYPE
MIME types for images -
VIDEO_MIMETYPE
MIME types for videos -
AUDIO_MIMETYPE
MIME types for audio files -
PDF_MIMETYPE
MIME types for pdf -
TEXT_MIMETYPE
MIME types for text documents -
PRES_MIMETYPE
MIME types for presentation -
SPREADSHEET_MIMETYPE
MIME types for spreadsheets -
_dcProvider
DublinCore provider
-
-
Constructor Details
-
SearchResourcesGenerator
public SearchResourcesGenerator()
-
-
Method Details
-
service
- Specified by:
servicein interfaceServiceable- Overrides:
servicein classAbstractSearchGenerator- Throws:
ServiceException
-
getQuery
protected Query getQuery(Request request, Collection<String> siteNames, String language) throws IllegalArgumentException Description copied from class:AbstractSearchGeneratorGet the query from request parameters- Specified by:
getQueryin classAbstractSearchGenerator- Parameters:
request- The requestsiteNames- The site names.language- The language- Returns:
- The query object.
- Throws:
IllegalArgumentException- If the search field is invalid.
-
getFilterQueries
protected Collection<Query> getFilterQueries(Request request, Collection<String> siteNames, String language) throws IllegalArgumentException Description copied from class:AbstractSearchGeneratorGet the filter queries from the request parameters.- Specified by:
getFilterQueriesin classAbstractSearchGenerator- Parameters:
request- The request.siteNames- The site names.language- The language.- Returns:
- A collection of filter queries.
- Throws:
IllegalArgumentException- If a search field is invalid.
-
getDocumentTypes
Description copied from class:AbstractSearchGeneratorGet the document types.- Specified by:
getDocumentTypesin classAbstractSearchGenerator- Parameters:
request- The request.- Returns:
- the document types to search.
-
getFacets
protected Map<String,AbstractSearchGenerator.FacetField> getFacets(Request request) throws IllegalArgumentException Description copied from class:AbstractSearchGeneratorGet the facets from request parameters- Specified by:
getFacetsin classAbstractSearchGenerator- Parameters:
request- The request- Returns:
- The facet fields
- Throws:
IllegalArgumentException- If the search field is invalid.
-
getQueryFacets
Description copied from class:AbstractSearchGeneratorGet the facet.queries- Specified by:
getQueryFacetsin classAbstractSearchGenerator- Parameters:
request- The request- Returns:
- The facet.queries
-
getFacetValues
protected Map<String,List<String>> getFacetValues(Request request, Collection<String> siteNames, String language) throws IllegalArgumentException Description copied from class:AbstractSearchGeneratorGet the facet values- Specified by:
getFacetValuesin classAbstractSearchGenerator- Parameters:
request- The requestsiteNames- The site nameslanguage- The language- Returns:
- The facet values
- Throws:
IllegalArgumentException
-
getQueryFacetValues
Description copied from class:AbstractSearchGeneratorGet the facet.query values- Specified by:
getQueryFacetValuesin classAbstractSearchGenerator- Parameters:
request- The request- Returns:
- The facet.query values
-
saxHits
protected void saxHits(SearchResults<AmetysObject> results, int start, int maxResults) throws SAXException, IOException Description copied from class:AbstractSearchGeneratorSAX the result hits- Specified by:
saxHitsin classAbstractSearchGenerator- Parameters:
results- The search results.start- The start indexmaxResults- The number of results to generate.- Throws:
SAXException- If an error occurs while SAXingIOException- If there is a low-level IO error
-
getSortDefinition
Description copied from class:AbstractSearchGeneratorGet the sort definition- Specified by:
getSortDefinitionin classAbstractSearchGenerator- Parameters:
request- The request- Returns:
- The sort definition or null to sort by score
-
getPrimarySortFields
Description copied from class:AbstractSearchGeneratorGet the primary sort fields- Specified by:
getPrimarySortFieldsin classAbstractSearchGenerator- Parameters:
request- The request- Returns:
- the list additional sort fields or empty list.
-
saxFormFields
Description copied from class:AbstractSearchGeneratorSAX the form criteria- Specified by:
saxFormFieldsin classAbstractSearchGenerator- Parameters:
request- The requestsiteName- The current site namelang- The current language- Throws:
SAXException- if an error occurs while SAXing
-
saxFormValues
Description copied from class:AbstractSearchGeneratorSAX the form criteria values- Specified by:
saxFormValuesin classAbstractSearchGenerator- Parameters:
request- The requeststart- The start indexoffset- The number of results- Throws:
SAXException- if an error occurs while SAXing
-