Changeset 2801 for FCSSimpleEndpoint


Ignore:
Timestamp:
04/11/13 08:54:29 (11 years ago)
Author:
oschonef
Message:
  • honor maximumTerms argument in scan operation on fcs.resource
File:
1 edited

Legend:

Unmodified
Added
Removed
  • FCSSimpleEndpoint/trunk/src/main/java/eu/clarin/sru/server/fcs/SimpleEndpointSearchEngineBase.java

    r2791 r2801  
    140140                translateFcsScanResource(request.getScanClause());
    141141        if (result != null) {
     142            /*
     143             * Make sure, we honor the maximumTerms limit, of the client
     144             * requests it ...
     145             */
     146            final int maxTerms
     147                = ((result.size() > 0) && (request.getMaximumTerms() > 0))
     148                ? Math.min(result.size(), request.getMaximumTerms())
     149                : result.size();
     150
     151            /*
     152             * Shall we provide extended resource information ... ?
     153             */
    142154            final boolean provideResourceInfo = parseBoolean(
    143155                    request.getExtraRequestData(X_CMD_RESOURCE_INFO));
     156
    144157            return new SRUScanResultSet(diagnostics) {
    145158                private int idx = -1;
     
    147160                @Override
    148161                public boolean nextTerm() {
    149                     return (result != null) && (++idx < result.size());
     162                    return (result != null) && (++idx < maxTerms);
    150163                }
    151164
     
    419432             * HACK: only output @pid for recursive (= explain) requests.
    420433             * This should be revisited, if we decide to go for the explain
    421              * style enumeration of resources. 
     434             * style enumeration of resources.
    422435             */
    423436            writer.writeAttribute("pid", resourceInfo.getPid());
Note: See TracChangeset for help on using the changeset viewer.