searchProcessor.process(queryRequest);
} finally {
searchProcessor.close();
}
} else if (request instanceof FullTextSearchRequest) {
FullTextSearchRequest searchRequest = (FullTextSearchRequest)request;
RequestProcessor searchProcessor = searchEngine().createProcessor(context, null, true);
try {
searchProcessor.process(searchRequest);
} finally {
searchProcessor.close();
}
} else if (request instanceof CompositeRequest) {
CompositeRequest composite = (CompositeRequest)request;
List<Request> delegateRequests = null;
RequestProcessor searchProcessor = null;
try {
Request delegateRequest = composite;
for (Request nested : composite) {
if (nested instanceof AccessQueryRequest) {
AccessQueryRequest queryRequest = (AccessQueryRequest)request;
if (searchProcessor == null) searchProcessor = searchEngine().createProcessor(context, null, true);
searchProcessor.process(queryRequest);
delegateRequest = null;
} else if (nested instanceof FullTextSearchRequest) {
FullTextSearchRequest searchRequest = (FullTextSearchRequest)request;
if (searchProcessor == null) searchProcessor = searchEngine().createProcessor(context, null, true);
searchProcessor.process(searchRequest);
delegateRequest = null;
} else {
// Delegate the request ...