Ignore:
Timestamp:
02/12/15 13:09:57 (9 years ago)
Author:
emanuel.dima@uni-tuebingen.de
Message:
  1. alpha 19: better UI for statistics, misc bugfixes
File:
1 edited

Legend:

Unmodified
Added
Removed
  • SRUAggregator/trunk/src/main/java/eu/clarin/sru/fcs/aggregator/search/Search.java

    r5960 r5971  
    88import eu.clarin.sru.fcs.aggregator.client.ThrottledClient;
    99import eu.clarin.sru.fcs.aggregator.scan.Corpus;
     10import eu.clarin.sru.fcs.aggregator.scan.Diagnostic;
     11import eu.clarin.sru.fcs.aggregator.scan.FCSProtocolVersion;
    1012import eu.clarin.sru.fcs.aggregator.scan.Statistics;
    1113import eu.clarin.sru.fcs.aggregator.util.SRUCQL;
     
    6163                searchRequest.setVersion(version);
    6264                searchRequest.setMaximumRecords(maxRecords);
     65                FCSProtocolVersion fcsVersion = corpus.getEndpoint().getProtocol();
    6366//              searchRequest.setRecordSchema(
    64 //                              corpus.getEndpoint().getProtocol().equals(FCSProtocolVersion.LEGACY)
     67//                              fcsVersion.equals(FCSProtocolVersion.LEGACY)
    6568//                                              ? ClarinFCSRecordData.LEGACY_RECORD_SCHEMA
    6669//                                              : ClarinFCSRecordData.RECORD_SCHEMA);
     
    6871                searchRequest.setStartRecord(startRecord);
    6972                if (corpus.getHandle() != null) {
    70                         searchRequest.setExtraRequestData(SRUCQL.SEARCH_CORPUS_HANDLE_PARAMETER, corpus.getHandle());
     73                        searchRequest.setExtraRequestData(
     74                                        fcsVersion.equals(FCSProtocolVersion.LEGACY)
     75                                                        ? SRUCQL.SEARCH_CORPUS_HANDLE_LEGACY_PARAMETER
     76                                                        : SRUCQL.SEARCH_CORPUS_HANDLE_PARAMETER,
     77                                        corpus.getHandle());
    7178                }
    7279                requests.add(request);
     80
     81                String url = null;
     82                try {
     83                        url = searchRequest.makeURI(SRUVersion.VERSION_1_2).toString();
     84                } catch (SRUClientException ex) {
     85                }
     86                final String fullRequestUrl = url;
    7387
    7488                try {
     
    8195                                                results.add(result);
    8296                                                requests.remove(request);
    83                                                 if (!result.getDiagnostics().isEmpty()) {
    84                                                         statistics.addEndpointDiagnostic(corpus.getInstitution(), corpus.getEndpoint(), null);
     97                                                List<Diagnostic> diagnostics = result.getDiagnostics();
     98                                                if (diagnostics != null && !diagnostics.isEmpty()) {
     99                                                        log.error("diagnostic for url: " + response.getRequest().makeURI(SRUVersion.VERSION_1_2));
     100                                                        for (Diagnostic diagnostic : diagnostics) {
     101                                                                statistics.addEndpointDiagnostic(corpus.getInstitution(), corpus.getEndpoint(), diagnostic, fullRequestUrl);
     102                                                        }
    85103                                                }
    86104                                        } catch (Throwable xc) {
     
    93111                                        try {
    94112                                                statistics.addEndpointDatapoint(corpus.getInstitution(), corpus.getEndpoint(), stats.getQueueTime(), stats.getExecutionTime());
    95                                                 statistics.addErrorDatapoint(corpus.getInstitution(), corpus.getEndpoint(), xc);
     113                                                statistics.addErrorDatapoint(corpus.getInstitution(), corpus.getEndpoint(), xc, fullRequestUrl);
    96114                                                results.add(new Result(request, null, xc));
    97115                                                requests.remove(request);
     116                                                log.error("search.onError: ", xc);
    98117                                        } catch (Throwable xxc) {
    99118                                                log.error("search.onError exception:", xxc);
Note: See TracChangeset for help on using the changeset viewer.