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, ALL_CONTENT_TYPES, ALL_MIXIN_TYPES, ALL_TAGS, ATTACHMENT_CONTENT_ID, CONTENT_COMMENTS_NONVALIDATED, CONTENT_COMMENTS_VALIDATED, CONTENT_CREATOR, CONTENT_FIRST_VALIDATOR, CONTENT_LANGUAGE, CONTENT_LANGUAGES, CONTENT_LAST_CONTRIBUTOR, CONTENT_LAST_MAJOR_VALIDATOR, CONTENT_LAST_VALIDATOR, CONTENT_NAME, CONTENT_OUTGOING_REFEERENCES_RESOURCE_IDS, CONTENT_TITLES, CONTENT_TYPE_RESOURCE, CONTENT_TYPES, CONTENT_VISIBLE_ATTACHMENT_RESOURCE_IDS, CREATION_DATE, 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, IS_AMETYS_OBJECT, LANGUAGE_SEPARATOR, LAST_MODIFIED, LENGTH, MIME_TYPES, MIXIN_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, SUB_CONTENT, SYSTEM_FULL, TAGS, TITLE, TITLE_SORT, TYPE_CONTENT, TYPE_CONTENT_ATTACHMENT_RESOURCE, TYPE_CONTENT_ATTRIBUTE_RESOURCE, TYPE_REPEATER, TYPE_RESOURCE, 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_IDS, 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, SHARED, 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<String>Get the searchable fieldsprotected Collection<Query>getFilterQueries(Request request, Collection<String> siteNames, String language) Get the filter queries from the request parameters.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 SortgetSortField(Request request) Get the sort fieldprotected voidsaxFormFields(Request request, String siteName, String lang) SAX the form search criteriaprotected voidsaxFormValues(Request request, int start, int offset) SAX the form search 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.
-
getFields
Description copied from class:AbstractSearchGeneratorGet the searchable fields- Specified by:
getFieldsin classAbstractSearchGenerator- Returns:
- The fields
-
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
-
getSortField
Description copied from class:AbstractSearchGeneratorGet the sort field- Specified by:
getSortFieldin classAbstractSearchGenerator- Parameters:
request- The request- Returns:
- The sort field 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 search 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 search 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
-