Ignore:
Timestamp:
01/26/15 15:12:46 (9 years ago)
Author:
emanuel.dima@uni-tuebingen.de
Message:
  1. alpha14: collections view stable sorting, better filtering; upfront diagnostic messages for search
File:
1 edited

Legend:

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

    r5931 r5954  
    22
    33import eu.clarin.sru.client.SRUClientException;
     4import eu.clarin.sru.client.SRUDiagnostic;
    45import eu.clarin.sru.client.SRURecord;
     6import eu.clarin.sru.client.SRUSearchRetrieveRequest;
    57import eu.clarin.sru.fcs.aggregator.scan.Corpus;
    68import eu.clarin.sru.client.SRUSearchRetrieveResponse;
     
    1214import eu.clarin.sru.client.fcs.DataViewHits;
    1315import eu.clarin.sru.client.fcs.Resource;
     16import eu.clarin.sru.fcs.aggregator.scan.Diagnostic;
    1417import java.util.ArrayList;
     18import java.util.Collections;
    1519import java.util.List;
    1620import org.w3c.dom.Node;
     
    3236        private List<Kwic> kwics = new ArrayList<Kwic>();
    3337        private SRUClientException exception;
     38        private List<Diagnostic> diagnostics = new ArrayList<Diagnostic>();
    3439
    3540        public List<Kwic> getKwics() {
     
    4449                        setResponse(response);
    4550                }
     51                if (response != null && response.hasDiagnostics()) {
     52                        setDiagnostics(response);
     53                }
    4654        }
    4755
    48         public void setResponse(SRUSearchRetrieveResponse response) {
     56        void setResponse(SRUSearchRetrieveResponse response) {
    4957                for (SRURecord record : response.getRecords()) {
    5058                        if (record.isRecordSchema(ClarinFCSRecordData.RECORD_SCHEMA)) {
     
    6169                                log.info("Unsupported schema: {0}", record.getRecordSchema());
    6270                        }
     71                }
     72        }
     73
     74        void setDiagnostics(SRUSearchRetrieveResponse response) {
     75                for (SRUDiagnostic d : response.getDiagnostics()) {
     76                        SRUSearchRetrieveRequest srurequest = response.getRequest();
     77                        diagnostics.add(new Diagnostic(srurequest.getBaseURI().toString(),
     78                                        srurequest.getQuery(),
     79                                        d.getURI(), d.getMessage(), d.getDetails()));
    6380                }
    6481        }
     
    111128        }
    112129
     130        public List<Diagnostic> getDiagnostics() {
     131                return Collections.unmodifiableList(diagnostics);
     132        }
     133
    113134        public int getStartRecord() {
    114135                return request.getStartRecord();
     
    126147                return request.getSearchString();
    127148        }
    128 
    129149}
Note: See TracChangeset for help on using the changeset viewer.