Class ExternalSearchGenerator
- java.lang.Object
-
- org.apache.avalon.framework.logger.AbstractLogEnabled
-
- org.apache.cocoon.xml.AbstractXMLProducer
-
- org.apache.cocoon.generation.AbstractGenerator
-
- org.apache.cocoon.generation.ServiceableGenerator
-
- org.ametys.plugins.externaldata.data.ExternalSearchGenerator
-
- All Implemented Interfaces:
Poolable,Recyclable,Disposable,Component,LogEnabled,Serviceable,Generator,SitemapModelComponent,XMLProducer
public class ExternalSearchGenerator extends ServiceableGenerator
Generator for external data search service
-
-
Field Summary
Fields Modifier and Type Field Description private static String__SEARCH_CRITERIA_PREFIXprotected DataSourceFactoryExtensionPoint_dataSourceFactoryEPDatasource factory handlerprotected QueryDao_queryDaoThe Query DAO.-
Fields inherited from class org.apache.cocoon.generation.ServiceableGenerator
manager
-
Fields inherited from class org.apache.cocoon.generation.AbstractGenerator
objectModel, parameters, resolver, source
-
Fields inherited from class org.apache.cocoon.xml.AbstractXMLProducer
contentHandler, EMPTY_CONTENT_HANDLER, lexicalHandler, xmlConsumer
-
-
Constructor Summary
Constructors Constructor Description ExternalSearchGenerator()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidexecuteQuery(Query query, Map<String,String> parameterValues, int nbResultsPerPage, int page)Execute ldap queryvoidgenerate()protected intgetPageIndex(Request request)Get the page indexprotected Map<String,String>getParameterValues(Request request, Query query)Get the search criteria values from requestprotected voidsaxFormFields(Query query)SAX the form search criteriaprotected voidsaxFormParameters(Request request, Query query, Map<String,String> values)SAX the search parameters from the request parameters and queryprotected voidsaxFormValues(Request request, Map<String,String> values)SAX the form search criteria valuesprotected voidsaxPagination(int page, int offset, int limit, int nbResult, boolean hasMoreResult)SAX the paginationprotected voidsaxResult(Query query, QueryResult result)Sax a query result.voidservice(ServiceManager smanager)-
Methods inherited from class org.apache.cocoon.generation.ServiceableGenerator
dispose
-
Methods inherited from class org.apache.cocoon.generation.AbstractGenerator
recycle, setup
-
Methods inherited from class org.apache.cocoon.xml.AbstractXMLProducer
setConsumer, setContentHandler, setLexicalHandler
-
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.apache.cocoon.xml.XMLProducer
setConsumer
-
-
-
-
Field Detail
-
__SEARCH_CRITERIA_PREFIX
private static final String __SEARCH_CRITERIA_PREFIX
- See Also:
- Constant Field Values
-
_dataSourceFactoryEP
protected DataSourceFactoryExtensionPoint _dataSourceFactoryEP
Datasource factory handler
-
-
Constructor Detail
-
ExternalSearchGenerator
public ExternalSearchGenerator()
-
-
Method Detail
-
service
public void service(ServiceManager smanager) throws ServiceException
- Specified by:
servicein interfaceServiceable- Overrides:
servicein classServiceableGenerator- Throws:
ServiceException
-
generate
public void generate() throws IOException, SAXException, ProcessingException
-
getParameterValues
protected Map<String,String> getParameterValues(Request request, Query query)
Get the search criteria values from request- Parameters:
request- The requestquery- The LDAP query- Returns:
- the values
-
saxFormParameters
protected void saxFormParameters(Request request, Query query, Map<String,String> values) throws SAXException
SAX the search parameters from the request parameters and query- Parameters:
request- The requestquery- The LDAP queryvalues- The extracted form values- Throws:
SAXException- If an error occurs while SAXing
-
saxFormFields
protected void saxFormFields(Query query) throws SAXException
SAX the form search criteria- Parameters:
query- The LDAP query- Throws:
SAXException- if an error occurs while SAXing
-
saxFormValues
protected void saxFormValues(Request request, Map<String,String> values) throws SAXException
SAX the form search criteria values- Parameters:
request- The requestvalues- The extracted form values- Throws:
SAXException- if an error occurs while SAXing
-
executeQuery
protected void executeQuery(Query query, Map<String,String> parameterValues, int nbResultsPerPage, int page) throws DataInclusionException, SAXException
Execute ldap query- Parameters:
query- the ldap queryparameterValues- the search criterianbResultsPerPage- the number of result per pagepage- the page number- Throws:
DataInclusionException- if an error occurredSAXException- If an error occurred
-
saxPagination
protected void saxPagination(int page, int offset, int limit, int nbResult, boolean hasMoreResult) throws SAXException
SAX the pagination- Parameters:
page- the current pageoffset- the offsetlimit- the number of results per pagenbResult- the number result of the pagehasMoreResult- true if there are less one page more- Throws:
SAXException- if an error occurred
-
saxResult
protected void saxResult(Query query, QueryResult result) throws SAXException
Sax a query result.- Parameters:
query- the query.result- the result to generate.- Throws:
SAXException- if an error occurs while saxing
-
getPageIndex
protected int getPageIndex(Request request)
Get the page index- Parameters:
request- The request- Returns:
- The page index
-
-