Changeset 7196


Ignore:
Timestamp:
10/11/18 12:13:58 (6 years ago)
Author:
Oliver Schonefeld
Message:
  • rewrite to use SRUClient instead of SRUSimpleClient
  • add Tests for Endpoint Description (FCS 1.0 and FCS 2.0)
Location:
FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester
Files:
2 added
1 deleted
30 edited

Legend:

Unmodified
Added
Removed
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/FCSEndpointTester.java

    r7169 r7196  
    4343import org.apache.http.client.config.RequestConfig;
    4444import org.apache.http.client.methods.HttpHead;
     45import org.apache.http.client.protocol.HttpClientContext;
    4546import org.apache.http.client.utils.HttpClientUtils;
    4647import org.apache.http.config.SocketConfig;
     
    5455
    5556import eu.clarin.sru.client.SRUClient;
     57import eu.clarin.sru.client.SRUClientConfig;
    5658import eu.clarin.sru.client.SRUClientException;
    5759import eu.clarin.sru.client.SRUExplainRequest;
    5860import eu.clarin.sru.client.SRUExplainResponse;
    59 import eu.clarin.sru.client.SRUSimpleClient;
    6061import eu.clarin.sru.client.SRUVersion;
    6162import eu.clarin.sru.client.fcs.ClarinFCSClientBuilder;
     
    313314        List<FCSTestResult> results = null;
    314315
    315         final SRUSimpleClient client = context.getClient();
    316         final FCSTestHandler handler = new FCSTestHandler();
     316        final SRUClient client = context.getClient();
    317317        final int totalCount = tests.size();
    318318        int num = 1;
     
    322322                results = new LinkedList<FCSTestResult>();
    323323            }
    324 
    325324            logger.debug("running test {}:{}", num, test.getName());
    326325            final String message = String.format(
     
    333332            FCSTestResult result = null;
    334333            try {
    335                 handler.reset();
    336334                logcapturehandler.publish(new LogRecord(Level.FINE,
    337335                        "running test class " + test.getClass().getName()));
    338                 result = test.perform(context, client, handler);
     336                result = test.perform(context, client);
    339337                result.setLogRecords(logcapturehandler.getLogRecords());
    340338            } catch (SRUClientException e) {
     
    351349                        logcapturehandler.getLogRecords());
    352350            } catch (Throwable t) {
    353                 final LogRecord record =
    354                         new LogRecord(Level.SEVERE, "Internal Error!");
    355                 record.setThrown(t);
     351                final LogRecord record = new LogRecord(Level.SEVERE,
     352                        "The endpoint tester as triggered an internal error! " +
     353                        "Please report to developers.");
    356354                logcapturehandler.publish(record);
    357355                result = new FCSTestResult(test,
     
    359357                        record.getMessage(),
    360358                        logcapturehandler.getLogRecords());
     359                logger.error("an internal error occured", t);
    361360            }
    362361            results.add(result);
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/FCSTest.java

    r7172 r7196  
    1717package eu.clarin.fcs.tester;
    1818
     19import java.util.Collections;
    1920import java.util.List;
    2021import java.util.logging.LogRecord;
    2122
    22 
     23import eu.clarin.sru.client.SRUClient;
    2324import eu.clarin.sru.client.SRUClientException;
    24 import eu.clarin.sru.client.SRUSimpleClient;
     25import eu.clarin.sru.client.SRUDiagnostic;
     26import eu.clarin.sru.client.SRUExplainResponse;
     27import eu.clarin.sru.client.SRUScanResponse;
     28import eu.clarin.sru.client.SRUSearchRetrieveResponse;
     29import eu.clarin.sru.client.SRUTerm;
    2530
    2631
     
    3641
    3742    public abstract FCSTestResult perform(FCSTestContext context,
    38             SRUSimpleClient client, FCSTestHandler handler)
    39             throws SRUClientException;
     43            SRUClient client) throws SRUClientException;
    4044
    4145
     
    7074
    7175
     76    protected boolean findDiagnostic(SRUExplainResponse res, String uri) {
     77        return dofindDiagnostic(res.getDiagnostics(), uri);
     78
     79    }
     80
     81
     82    protected boolean findDiagnostic(SRUScanResponse res, String uri) {
     83        return dofindDiagnostic(res.getDiagnostics(), uri);
     84
     85    }
     86
     87
     88    protected boolean findDiagnostic(SRUSearchRetrieveResponse res,
     89            String uri) {
     90        return dofindDiagnostic(res.getDiagnostics(), uri);
     91
     92    }
     93
     94
     95    private boolean dofindDiagnostic(List<SRUDiagnostic> diagnostics,
     96            String uri) {
     97        if (diagnostics != null) {
     98            for (SRUDiagnostic diagnostic : diagnostics) {
     99                if (uri.equals(diagnostic.getURI())) {
     100                    return true;
     101                }
     102            }
     103        }
     104        return false;
     105    }
     106
     107
     108//    protected int getDiagnosticCount(SRUExplainResponse res) {
     109//        return doGetDiagnosticCount(res.getDiagnostics());
     110//    }
     111//
     112//
     113//    protected int getDiagnosticCount(SRUScanResponse res) {
     114//        return doGetDiagnosticCount(res.getDiagnostics());
     115//    }
     116//
     117//
     118//    protected int getDiagnosticCount(SRUSearchRetrieveResponse res) {
     119//        return doGetDiagnosticCount(res.getDiagnostics());
     120//    }
     121//
     122//
     123//    private int doGetDiagnosticCount(List<SRUDiagnostic> diagnostics) {
     124//        return diagnostics != null ? diagnostics.size() : 0;
     125//    }
     126
     127    protected int getTermsCount(SRUScanResponse res) {
     128        return res.getTerms() != null ? res.getTerms().size() : 1;
     129    }
     130
     131    protected List<SRUTerm> getTerms(SRUScanResponse res) {
     132        if (res.getTerms() != null) {
     133            return res.getTerms();
     134        } else {
     135           return Collections.emptyList();
     136        }
     137    }
     138
     139
     140    protected boolean isDiagnostic(SRUDiagnostic d, String uri) {
     141        return uri.equals(d.getURI());
     142    }
     143
     144
    72145    protected FCSTestResult makeSuccess() {
    73146        return new FCSTestResult(this, FCSTestResult.Code.SUCCESS,
    74147                "The test case was processed successfully");
     148    }
     149
     150
     151    protected FCSTestResult makeSkipped() {
     152        return new FCSTestResult(this, FCSTestResult.Code.SKIPPED,
     153                "The test case was skipped because it was not applicable");
    75154    }
    76155
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/FCSTestContext.java

    r7116 r7196  
    1717package eu.clarin.fcs.tester;
    1818
     19import java.util.HashMap;
     20import java.util.Map;
     21
    1922import org.apache.commons.lang.RandomStringUtils;
    2023
     24import eu.clarin.sru.client.SRUClient;
    2125import eu.clarin.sru.client.SRUExplainRequest;
    2226import eu.clarin.sru.client.SRUScanRequest;
    2327import eu.clarin.sru.client.SRUSearchRetrieveRequest;
    24 import eu.clarin.sru.client.SRUSimpleClient;
    2528import eu.clarin.sru.client.SRUVersion;
    2629import eu.clarin.sru.client.fcs.ClarinFCSClientBuilder;
     
    2932
    3033public class FCSTestContext {
     34    public static final String PROP_SUPPORTS_ADV = "supports_adv_search";
    3135    private final FCSTestProfile profile;
    3236    private final String baseURI;
     
    3842            RandomStringUtils.randomAlphanumeric(16);
    3943    private final String unicodeSearchTerm = "öÀÌÖÄÜ߀";
    40     private SRUSimpleClient client;
     44    private SRUClient client;
     45    private Map<String, Object> properies;
    4146
    4247
     
    98103            break;
    99104        }
    100         client = builder.buildSimpleClient();
     105        client = builder.buildClient();
    101106    }
    102107
     
    142147
    143148
    144     public SRUSimpleClient getClient() {
     149    public SRUClient getClient() {
    145150        return client;
    146151    }
     
    170175    }
    171176
     177    public void setProperty(String key, Object value) {
     178        if (properies == null) {
     179            properies = new HashMap<String, Object>();
     180        }
     181        properies.put(key, value);
     182    }
     183   
     184    public Object getProperty(String key) {
     185        if (properies != null) {
     186            return properies.get(key);
     187        } else {
     188            return null;
     189        }
     190    }
     191   
     192    public boolean hasProperty(String key) {
     193        if (properies != null) {
     194            return properies.containsKey(key);
     195        } else {
     196            return false;
     197        }
     198    }
     199
    172200} // class FCSTestContext
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/FCSTestResult.java

    r7116 r7196  
    2323public class FCSTestResult {
    2424    public static enum Code {
    25         SUCCESS, WARNING, ERROR
     25        SUCCESS, WARNING, ERROR, SKIPPED;
    2626    }
    2727
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/tests/TestExplain1.java

    r7116 r7196  
    2121import eu.clarin.fcs.tester.FCSTestContext;
    2222import eu.clarin.fcs.tester.FCSTestProfile;
    23 import eu.clarin.fcs.tester.FCSTestHandler;
    2423import eu.clarin.fcs.tester.FCSTestResult;
     24import eu.clarin.sru.client.SRUClient;
    2525import eu.clarin.sru.client.SRUClientException;
    2626import eu.clarin.sru.client.SRUExplainRequest;
    27 import eu.clarin.sru.client.SRUSimpleClient;
     27import eu.clarin.sru.client.SRUExplainResponse;
    2828
    2929
     
    5353
    5454    @Override
    55     public FCSTestResult perform(FCSTestContext context, SRUSimpleClient client,
    56             FCSTestHandler handler) throws SRUClientException {
     55    public FCSTestResult perform(FCSTestContext context, SRUClient client)
     56            throws SRUClientException {
    5757        SRUExplainRequest req = context.createExplainRequest();
    58         client.explain(req, handler);
    59         return handler.getDiagnosticCount() == 0 ? makeSuccess()
     58        SRUExplainResponse res = client.explain(req);
     59        return res.getDiagnosticsCount() == 0
     60                ? makeSuccess()
    6061                : makeWarningUnexpectedDiagnostics();
    6162    }
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/tests/TestExplain2.java

    r7116 r7196  
    2121import eu.clarin.fcs.tester.FCSTestContext;
    2222import eu.clarin.fcs.tester.FCSTestProfile;
    23 import eu.clarin.fcs.tester.FCSTestHandler;
    2423import eu.clarin.fcs.tester.FCSTestResult;
     24import eu.clarin.sru.client.SRUClient;
    2525import eu.clarin.sru.client.SRUClientException;
    2626import eu.clarin.sru.client.SRUExplainRequest;
    27 import eu.clarin.sru.client.SRUSimpleClient;
    2827
    2928
     
    5352
    5453    @Override
    55     public FCSTestResult perform(FCSTestContext context, SRUSimpleClient client,
    56             FCSTestHandler handler) throws SRUClientException {
     54    public FCSTestResult perform(FCSTestContext context, SRUClient client) throws SRUClientException {
    5755        SRUExplainRequest req = context.createExplainRequest();
    5856        req.setExtraRequestData(SRUExplainRequest.X_MALFORMED_OPERATION,
     
    6058        req.setExtraRequestData(SRUExplainRequest.X_MALFORMED_VERSION,
    6159                SRUExplainRequest.MALFORMED_OMIT);
    62         client.explain(req, handler);
     60        client.explain(req);
    6361        return makeSuccess();
    6462    }
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/tests/TestExplain3.java

    r7116 r7196  
    2121import eu.clarin.fcs.tester.FCSTestContext;
    2222import eu.clarin.fcs.tester.FCSTestProfile;
    23 import eu.clarin.fcs.tester.FCSTestHandler;
    2423import eu.clarin.fcs.tester.FCSTestResult;
     24import eu.clarin.sru.client.SRUClient;
    2525import eu.clarin.sru.client.SRUClientException;
    2626import eu.clarin.sru.client.SRUExplainRequest;
    27 import eu.clarin.sru.client.SRUSimpleClient;
    2827
    2928@FCSTestCase(priority=1020, profiles = {
     
    5251
    5352    @Override
    54     public FCSTestResult perform(FCSTestContext context, SRUSimpleClient client,
    55             FCSTestHandler handler) throws SRUClientException {
     53    public FCSTestResult perform(FCSTestContext context, SRUClient client)
     54            throws SRUClientException {
    5655        SRUExplainRequest req = context.createExplainRequest();
    5756        req.setExtraRequestData(SRUExplainRequest.X_MALFORMED_VERSION,
    5857                SRUExplainRequest.MALFORMED_OMIT);
    59         client.explain(req, handler);
     58        client.explain(req);
    6059        return makeSuccess();
    6160    }
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/tests/TestExplain4.java

    r7116 r7196  
    2121import eu.clarin.fcs.tester.FCSTestContext;
    2222import eu.clarin.fcs.tester.FCSTestProfile;
    23 import eu.clarin.fcs.tester.FCSTestHandler;
    2423import eu.clarin.fcs.tester.FCSTestResult;
     24import eu.clarin.sru.client.SRUClient;
    2525import eu.clarin.sru.client.SRUClientException;
    2626import eu.clarin.sru.client.SRUExplainRequest;
    27 import eu.clarin.sru.client.SRUSimpleClient;
    2827
    2928@FCSTestCase(priority=1040, profiles = {
     
    5251
    5352    @Override
    54     public FCSTestResult perform(FCSTestContext context, SRUSimpleClient client,
    55             FCSTestHandler handler) throws SRUClientException {
     53    public FCSTestResult perform(FCSTestContext context, SRUClient client)
     54            throws SRUClientException {
    5655        SRUExplainRequest req = context.createExplainRequest();
    5756        req.setExtraRequestData(SRUExplainRequest.X_MALFORMED_OPERATION,
    5857                SRUExplainRequest.MALFORMED_OMIT);
    59         client.explain(req, handler);
     58        client.explain(req);
    6059        return makeSuccess();
    6160    }
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/tests/TestExplain5.java

    r7116 r7196  
    2121import eu.clarin.fcs.tester.FCSTestContext;
    2222import eu.clarin.fcs.tester.FCSTestProfile;
    23 import eu.clarin.fcs.tester.FCSTestHandler;
    2423import eu.clarin.fcs.tester.FCSTestResult;
     24import eu.clarin.sru.client.SRUClient;
    2525import eu.clarin.sru.client.SRUClientException;
    2626import eu.clarin.sru.client.SRUExplainRequest;
    27 import eu.clarin.sru.client.SRUSimpleClient;
     27import eu.clarin.sru.client.SRUExplainResponse;
    2828
    2929@FCSTestCase(priority=1050, profiles = {
     
    5252
    5353    @Override
    54     public FCSTestResult perform(FCSTestContext context, SRUSimpleClient client,
    55             FCSTestHandler handler) throws SRUClientException {
     54    public FCSTestResult perform(FCSTestContext context, SRUClient client)
     55            throws SRUClientException {
    5656        SRUExplainRequest req = context.createExplainRequest();
    5757        req.setExtraRequestData(SRUExplainRequest.X_MALFORMED_VERSION,
    5858                "9.9");
    59         client.explain(req, handler);
    60         return handler.findDiagnostic("info:srw/diagnostic/1/5")
     59        SRUExplainResponse res = client.explain(req);
     60        return findDiagnostic(res, "info:srw/diagnostic/1/5")
    6161                ? makeSuccess()
    6262                : makeErrorNoDiagnostic("info:srw/diagnostic/1/5");
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/tests/TestScan1.java

    r7167 r7196  
    2121import eu.clarin.fcs.tester.FCSTestContext;
    2222import eu.clarin.fcs.tester.FCSTestProfile;
    23 import eu.clarin.fcs.tester.FCSTestHandler;
    2423import eu.clarin.fcs.tester.FCSTestResult;
     24import eu.clarin.sru.client.SRUClient;
    2525import eu.clarin.sru.client.SRUClientException;
    2626import eu.clarin.sru.client.SRUScanRequest;
    27 import eu.clarin.sru.client.SRUSimpleClient;
     27import eu.clarin.sru.client.SRUScanResponse;
    2828
    2929@FCSTestCase(priority=2000, profiles = {
     
    5151
    5252    @Override
    53     public FCSTestResult perform(FCSTestContext context, SRUSimpleClient client,
    54             FCSTestHandler handler) throws SRUClientException {
     53    public FCSTestResult perform(FCSTestContext context, SRUClient client)
     54            throws SRUClientException {
    5555        SRUScanRequest req = context.createScanRequest();
    5656        req.setExtraRequestData(SRUScanRequest.X_MALFORMED_SCAN_CLAUSE,
    5757                SRUScanRequest.MALFORMED_OMIT);
    58         client.scan(req, handler);
    59         return handler.findDiagnostic("info:srw/diagnostic/1/7")
     58        SRUScanResponse res = client.scan(req);
     59        return findDiagnostic(res, "info:srw/diagnostic/1/7")
    6060                ? makeSuccess()
    6161                : makeErrorNoDiagnostic("info:srw/diagnostic/1/7");
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/tests/TestScan2.java

    r7116 r7196  
    1717package eu.clarin.fcs.tester.tests;
    1818
    19 import java.util.List;
    20 
    2119import eu.clarin.fcs.tester.FCSTest;
    2220import eu.clarin.fcs.tester.FCSTestCase;
    2321import eu.clarin.fcs.tester.FCSTestContext;
    2422import eu.clarin.fcs.tester.FCSTestProfile;
    25 import eu.clarin.fcs.tester.FCSTestHandler;
    2623import eu.clarin.fcs.tester.FCSTestResult;
     24import eu.clarin.sru.client.SRUClient;
    2725import eu.clarin.sru.client.SRUClientException;
    2826import eu.clarin.sru.client.SRUScanRequest;
    29 import eu.clarin.sru.client.SRUSimpleClient;
     27import eu.clarin.sru.client.SRUScanResponse;
    3028
    3129@FCSTestCase(priority=2010, profiles = {
     
    5351
    5452    @Override
    55     public FCSTestResult perform(FCSTestContext context, SRUSimpleClient client,
    56             FCSTestHandler handler) throws SRUClientException {
     53    public FCSTestResult perform(FCSTestContext context, SRUClient client)
     54            throws SRUClientException {
    5755        SRUScanRequest req = context.createScanRequest();
    5856        req.setScanClause("fcs.resource=root");
    59         client.scan(req, handler);
     57        SRUScanResponse res = client.scan(req);
    6058
    61         if (handler.findDiagnostic("info:srw/diagnostic/1/4")) {
     59        if (findDiagnostic(res, "info:srw/diagnostic/1/4")) {
    6260            return makeWarning("Endpoint does not support 'scan' operation");
    6361        } else {
    64             if (handler.getDiagnosticCount() == 0) {
    65                 List<String> terms = handler.getTerms();
    66                 if (terms.size() >= 1) {
     62            if (res.getDiagnosticsCount() == 0) {
     63                if (getTermsCount(res) >= 1) {
    6764                    return makeSuccess();
    6865                } else {
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/tests/TestScan3.java

    r7116 r7196  
    1717package eu.clarin.fcs.tester.tests;
    1818
    19 import java.util.List;
    20 
    2119import eu.clarin.fcs.tester.FCSTest;
    2220import eu.clarin.fcs.tester.FCSTestCase;
    2321import eu.clarin.fcs.tester.FCSTestContext;
    2422import eu.clarin.fcs.tester.FCSTestProfile;
    25 import eu.clarin.fcs.tester.FCSTestHandler;
    2623import eu.clarin.fcs.tester.FCSTestResult;
     24import eu.clarin.sru.client.SRUClient;
    2725import eu.clarin.sru.client.SRUClientException;
    2826import eu.clarin.sru.client.SRUScanRequest;
    29 import eu.clarin.sru.client.SRUSimpleClient;
     27import eu.clarin.sru.client.SRUScanResponse;
    3028
    3129@FCSTestCase(priority=2030, profiles = {
     
    5351
    5452    @Override
    55     public FCSTestResult perform(FCSTestContext context, SRUSimpleClient client,
    56             FCSTestHandler handler) throws SRUClientException {
     53    public FCSTestResult perform(FCSTestContext context, SRUClient client) throws SRUClientException {
    5754        SRUScanRequest req = context.createScanRequest();
    5855        req.setScanClause("fcs.resource=root");
    5956        req.setMaximumTerms(1);
    60         client.scan(req, handler);
     57        SRUScanResponse res = client.scan(req);
    6158
    62         if (handler.getDiagnosticCount() > 0) {
    63             if (handler.findDiagnostic("info:srw/diagnostic/1/4")) {
     59        if (res.getDiagnosticsCount() > 0) {
     60            if (findDiagnostic(res, "info:srw/diagnostic/1/4")) {
    6461                return makeWarning("Endpoint does not support 'scan' operation");
    6562            } else {
     
    6764            }
    6865        } else {
    69             List<String> terms = handler.getTerms();
    70             if (terms.size() == 1) {
     66            int count = getTermsCount(res);
     67            if (count == 1) {
    7168                return makeSuccess();
    72             } else if (terms.size() > 1) {
     69            } else if (count > 1) {
    7370                return makeWarning("Endpoint did not honor 'maximumTerms' argument");
    7471            }
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/tests/TestScan4.java

    r7116 r7196  
    2121import eu.clarin.fcs.tester.FCSTestContext;
    2222import eu.clarin.fcs.tester.FCSTestProfile;
    23 import eu.clarin.fcs.tester.FCSTestHandler;
    2423import eu.clarin.fcs.tester.FCSTestResult;
     24import eu.clarin.sru.client.SRUClient;
    2525import eu.clarin.sru.client.SRUClientException;
    2626import eu.clarin.sru.client.SRUScanRequest;
    27 import eu.clarin.sru.client.SRUSimpleClient;
     27import eu.clarin.sru.client.SRUScanResponse;
    2828
    2929@FCSTestCase(priority=2040, profiles = {
     
    5353
    5454    @Override
    55     public FCSTestResult perform(FCSTestContext context, SRUSimpleClient client,
    56             FCSTestHandler handler) throws SRUClientException {
     55    public FCSTestResult perform(FCSTestContext context, SRUClient client)
     56            throws SRUClientException {
    5757        SRUScanRequest req = context.createScanRequest();
    5858        req.setScanClause("fcs.resource=root");
    5959        req.setExtraRequestData(SRUScanRequest.X_MALFORMED_MAXIMUM_TERMS,
    6060                "invalid");
    61         client.scan(req, handler);
    62         return handler.findDiagnostic("info:srw/diagnostic/1/6")
     61        SRUScanResponse res = client.scan(req);
     62        return findDiagnostic(res, "info:srw/diagnostic/1/6")
    6363                ? makeSuccess()
    6464                : makeErrorNoDiagnostic("info:srw/diagnostic/1/6");
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/tests/TestScan5.java

    r7116 r7196  
    2121import eu.clarin.fcs.tester.FCSTestContext;
    2222import eu.clarin.fcs.tester.FCSTestProfile;
    23 import eu.clarin.fcs.tester.FCSTestHandler;
    2423import eu.clarin.fcs.tester.FCSTestResult;
     24import eu.clarin.sru.client.SRUClient;
    2525import eu.clarin.sru.client.SRUClientException;
    2626import eu.clarin.sru.client.SRUScanRequest;
    27 import eu.clarin.sru.client.SRUSimpleClient;
     27import eu.clarin.sru.client.SRUScanResponse;
    2828
    2929@FCSTestCase(priority=2050, profiles = {
     
    5353
    5454    @Override
    55     public FCSTestResult perform(FCSTestContext context, SRUSimpleClient client,
    56             FCSTestHandler handler) throws SRUClientException {
     55    public FCSTestResult perform(FCSTestContext context, SRUClient client)
     56            throws SRUClientException {
    5757        SRUScanRequest req = context.createScanRequest();
    5858        req.setScanClause("fcs.resource=root");
    5959        req.setExtraRequestData(SRUScanRequest.X_MALFORMED_RESPONSE_POSITION,
    6060                "invalid");
    61         client.scan(req, handler);
    62         return handler.findDiagnostic("info:srw/diagnostic/1/6")
     61        SRUScanResponse res = client.scan(req);
     62        return findDiagnostic(res, "info:srw/diagnostic/1/6")
    6363                ? makeSuccess()
    6464                : makeErrorNoDiagnostic("info:srw/diagnostic/1/6");
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/tests/TestSearch1.java

    r7172 r7196  
    2121import eu.clarin.fcs.tester.FCSTestContext;
    2222import eu.clarin.fcs.tester.FCSTestProfile;
    23 import eu.clarin.fcs.tester.FCSTestHandler;
    2423import eu.clarin.fcs.tester.FCSTestResult;
     24import eu.clarin.sru.client.SRUClient;
    2525import eu.clarin.sru.client.SRUClientConstants;
    2626import eu.clarin.sru.client.SRUClientException;
    2727import eu.clarin.sru.client.SRUSearchRetrieveRequest;
    28 import eu.clarin.sru.client.SRUSimpleClient;
     28import eu.clarin.sru.client.SRUSearchRetrieveResponse;
    2929
    3030@FCSTestCase(priority=3000, profiles = {
     
    5454
    5555    @Override
    56     public FCSTestResult perform(FCSTestContext context, SRUSimpleClient client,
    57             FCSTestHandler handler) throws SRUClientException {
     56    public FCSTestResult perform(FCSTestContext context, SRUClient client)
     57            throws SRUClientException {
    5858        SRUSearchRetrieveRequest req = context.createSearchRetrieveRequest();
    5959        req.setQuery(SRUClientConstants.QUERY_TYPE_CQL,
    6060                escapeCQL(context.getRandomSearchTerm()));
    61         client.searchRetrieve(req, handler);
    62         return handler.getDiagnosticCount() == 0
     61        SRUSearchRetrieveResponse res = client.searchRetrieve(req);
     62        return res.getDiagnosticsCount() == 0
    6363                ? makeSuccess()
    6464                : makeWarningUnexpectedDiagnostics();
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/tests/TestSearch10.java

    r7172 r7196  
    2121import eu.clarin.fcs.tester.FCSTestContext;
    2222import eu.clarin.fcs.tester.FCSTestProfile;
    23 import eu.clarin.fcs.tester.FCSTestHandler;
    2423import eu.clarin.fcs.tester.FCSTestResult;
     24import eu.clarin.sru.client.SRUClient;
    2525import eu.clarin.sru.client.SRUClientConstants;
    2626import eu.clarin.sru.client.SRUClientException;
    2727import eu.clarin.sru.client.SRUSearchRetrieveRequest;
    28 import eu.clarin.sru.client.SRUSimpleClient;
     28import eu.clarin.sru.client.SRUSearchRetrieveResponse;
    2929
    3030@FCSTestCase(priority=3100, profiles = {
     
    5454
    5555    @Override
    56     public FCSTestResult perform(FCSTestContext context, SRUSimpleClient client,
    57             FCSTestHandler handler) throws SRUClientException {
     56    public FCSTestResult perform(FCSTestContext context, SRUClient client)
     57            throws SRUClientException {
    5858        SRUSearchRetrieveRequest req = context.createSearchRetrieveRequest();
    5959        req.setQuery(SRUClientConstants.QUERY_TYPE_CQL,
    6060                escapeCQL(context.getRandomSearchTerm()));
    6161        req.setStartRecord(Integer.MAX_VALUE);
    62         client.searchRetrieve(req, handler);
    63         return handler.findDiagnostic("info:srw/diagnostic/1/61")
     62        SRUSearchRetrieveResponse res = client.searchRetrieve(req);
     63        return findDiagnostic(res, "info:srw/diagnostic/1/61")
    6464                ? makeSuccess()
    6565                : makeErrorNoDiagnostic("info:srw/diagnostic/1/61");
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/tests/TestSearch11.java

    r7172 r7196  
    2121import eu.clarin.fcs.tester.FCSTestContext;
    2222import eu.clarin.fcs.tester.FCSTestProfile;
    23 import eu.clarin.fcs.tester.FCSTestHandler;
    2423import eu.clarin.fcs.tester.FCSTestResult;
     24import eu.clarin.sru.client.SRUClient;
    2525import eu.clarin.sru.client.SRUClientConstants;
    2626import eu.clarin.sru.client.SRUClientException;
    2727import eu.clarin.sru.client.SRUSearchRetrieveRequest;
    28 import eu.clarin.sru.client.SRUSimpleClient;
     28import eu.clarin.sru.client.SRUSearchRetrieveResponse;
    2929
    3030@FCSTestCase(priority=3200, profiles = {
     
    5454
    5555    @Override
    56     public FCSTestResult perform(FCSTestContext context, SRUSimpleClient client,
    57             FCSTestHandler handler) throws SRUClientException {
     56    public FCSTestResult perform(FCSTestContext context, SRUClient client)
     57            throws SRUClientException {
    5858        SRUSearchRetrieveRequest req = context.createSearchRetrieveRequest();
    5959        req.setQuery(SRUClientConstants.QUERY_TYPE_CQL,
    6060                escapeCQL(context.getUnicodeSearchTerm()));
    61         client.searchRetrieve(req, handler);
    62         return handler.getDiagnosticCount() == 0
     61        SRUSearchRetrieveResponse res = client.searchRetrieve(req);
     62        return res.getDiagnosticsCount() == 0
    6363                ? makeSuccess()
    6464                : makeWarningUnexpectedDiagnostics();
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/tests/TestSearch12.java

    r7172 r7196  
    2121import eu.clarin.fcs.tester.FCSTestContext;
    2222import eu.clarin.fcs.tester.FCSTestProfile;
    23 import eu.clarin.fcs.tester.FCSTestHandler;
    24 import eu.clarin.fcs.tester.FCSTestHandler.SurrogateDiagnostic;
    2523import eu.clarin.fcs.tester.FCSTestResult;
     24import eu.clarin.sru.client.SRUClient;
    2625import eu.clarin.sru.client.SRUClientConstants;
    2726import eu.clarin.sru.client.SRUClientException;
    2827import eu.clarin.sru.client.SRUDiagnostic;
     28import eu.clarin.sru.client.SRURecord;
    2929import eu.clarin.sru.client.SRUSearchRetrieveRequest;
    30 import eu.clarin.sru.client.SRUSimpleClient;
     30import eu.clarin.sru.client.SRUSearchRetrieveResponse;
    3131import eu.clarin.sru.client.SRUSurrogateRecordData;
    3232import eu.clarin.sru.client.fcs.DataView;
     
    6767
    6868    @Override
    69     public FCSTestResult perform(FCSTestContext context, SRUSimpleClient client,
    70             FCSTestHandler handler) throws SRUClientException {
     69    public FCSTestResult perform(FCSTestContext context, SRUClient client)
     70            throws SRUClientException {
    7171        SRUSearchRetrieveRequest req = context.createSearchRetrieveRequest();
    7272        req.setQuery(SRUClientConstants.QUERY_TYPE_CQL,
     
    7474        req.setRecordSchema(FCS_RECORD_SCHEMA);
    7575        req.setMaximumRecords(5);
    76         client.searchRetrieve(req, handler);
    77         if (handler.findDiagnostic("info:srw/diagnostic/1/66")) {
     76        SRUSearchRetrieveResponse res = client.searchRetrieve(req);
     77        if (findDiagnostic(res, "info:srw/diagnostic/1/66")) {
    7878            return makeError("Endpoint claims to not " +
    7979                    "support FCS record schema (" + FCS_RECORD_SCHEMA + ")");
    80         } else if (handler.getRecordCount() == 0) {
     80        } else if (res.getRecordsCount() == 0) {
    8181            return makeWarning("Endpoint has no results " +"" +
    8282                    "for search term \"" + context.getUserSearchTerm() +
    8383                    "\". Please supply a different search term.");
    8484        } else {
    85             for (FCSTestHandler.Record record : handler.getRecords()) {
    86                 String recordSchema = record.getData().getRecordSchema();
    87                 if (SRUSurrogateRecordData.RECORD_SCHEMA.equals(recordSchema)) {
    88                     final SurrogateDiagnostic data =
    89                             (SurrogateDiagnostic) record.getData();
     85            for (SRURecord record : res.getRecords()) {
     86                if (record.isRecordSchema(SRUSurrogateRecordData.RECORD_SCHEMA)) {
     87                    final SRUSurrogateRecordData data =
     88                            (SRUSurrogateRecordData) record.getRecordData();
    9089                    final SRUDiagnostic d = data.getDiagnostic();
    9190
    92                     if (data.isDiagnostic("info:srw/diagnostic/1/67")) {
     91                    if (isDiagnostic(d, "info:srw/diagnostic/1/67")) {
    9392                        return makeError("Endpoint cannot render record in " +
    9493                                "CLARIN-FCS record format and returned " +
    9594                                "surrogate diagnostic \"info:srw/diagnostic/1/67\" " +
    9695                                "instead.");
    97                     } else if (data.isDiagnostic("info:clarin/sru/diagnostic/2")) {
     96                    } else if (isDiagnostic(d, "info:clarin/sru/diagnostic/2")) {
    9897                        return makeError("Endpoint sent one or more records with record " +
    9998                                        "schema of '" + d.getDetails() +
     
    115114                        return makeError(sb.toString());
    116115                    }
    117                 } else if (FCS_RECORD_SCHEMA.equals(recordSchema)) {
     116                } else if (record.isRecordSchema(FCS_RECORD_SCHEMA)) {
    118117                    final LegacyClarinFCSRecordData data =
    119                             (LegacyClarinFCSRecordData) record.getData();
     118                            (LegacyClarinFCSRecordData) record.getRecordData();
    120119                    final Resource resource = data.getResource();
    121120                    boolean foundKwic = false;
     
    145144                }
    146145            }
    147             if (handler.getRecordCount() > req.getMaximumRecords()) {
     146            if (res.getRecordsCount() > req.getMaximumRecords()) {
    148147                return makeError("Endpoint did not honor upper requested limit for " +
    149148                                "\"maximumRecords\" parameter (up to " +
    150149                                req.getMaximumRecords() +
    151150                                " records where requested and endpoint delivered " +
    152                                 handler.getRecordCount() + " results)");
     151                                res.getRecordsCount() + " results)");
    153152            }
    154153            return makeSuccess();
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/tests/TestSearch13.java

    r7172 r7196  
    2121import eu.clarin.fcs.tester.FCSTestContext;
    2222import eu.clarin.fcs.tester.FCSTestProfile;
    23 import eu.clarin.fcs.tester.FCSTestHandler;
    24 import eu.clarin.fcs.tester.FCSTestHandler.SurrogateDiagnostic;
    2523import eu.clarin.fcs.tester.FCSTestResult;
     24import eu.clarin.sru.client.SRUClient;
    2625import eu.clarin.sru.client.SRUClientException;
    2726import eu.clarin.sru.client.SRUDiagnostic;
     27import eu.clarin.sru.client.SRURecord;
    2828import eu.clarin.sru.client.SRUSearchRetrieveRequest;
    29 import eu.clarin.sru.client.SRUSimpleClient;
     29import eu.clarin.sru.client.SRUSearchRetrieveResponse;
    3030import eu.clarin.sru.client.SRUSurrogateRecordData;
    3131import eu.clarin.sru.client.fcs.ClarinFCSConstants;
     
    6666
    6767    @Override
    68     public FCSTestResult perform(FCSTestContext context, SRUSimpleClient client,
    69             FCSTestHandler handler) throws SRUClientException {
     68    public FCSTestResult perform(FCSTestContext context, SRUClient client)
     69            throws SRUClientException {
    7070        SRUSearchRetrieveRequest req = context.createSearchRetrieveRequest();
    7171        req.setQuery(ClarinFCSConstants.QUERY_TYPE_CQL,
     
    7373        req.setRecordSchema(FCS_RECORD_SCHEMA);
    7474        req.setMaximumRecords(5);
    75         client.searchRetrieve(req, handler);
    76         if (handler.findDiagnostic("info:srw/diagnostic/1/66")) {
     75        SRUSearchRetrieveResponse res = client.searchRetrieve(req);
     76        if (findDiagnostic(res, "info:srw/diagnostic/1/66")) {
    7777            return makeError("Endpoint claims to not " +
    7878                    "support FCS record schema (" + FCS_RECORD_SCHEMA + ")");
    79         } else if (handler.getRecordCount() == 0) {
     79        } else if (res.getRecordsCount() == 0) {
    8080            return makeWarning("Endpoint has no results " +"" +
    8181                    "for search term \"" + context.getUserSearchTerm() +
    8282                    "\". Please supply a different search term.");
    8383        } else {
    84             for (FCSTestHandler.Record record : handler.getRecords()) {
    85                 String recordSchema = record.getData().getRecordSchema();
    86                 if (SRUSurrogateRecordData.RECORD_SCHEMA.equals(recordSchema)) {
    87                     final SurrogateDiagnostic data =
    88                             (SurrogateDiagnostic) record.getData();
     84            for (SRURecord record : res.getRecords()) {
     85                if (record.isRecordSchema(SRUSurrogateRecordData.RECORD_SCHEMA)) {
     86                    final SRUSurrogateRecordData data =
     87                            (SRUSurrogateRecordData) record.getRecordData();
    8988                    final SRUDiagnostic d = data.getDiagnostic();
    9089
    91                     if (data.isDiagnostic("info:srw/diagnostic/1/67")) {
     90                    if (isDiagnostic(d, "info:srw/diagnostic/1/67")) {
    9291                        return makeError("Endpoint cannot render record in " +
    9392                                "CLARIN-FCS record format and returned " +
    9493                                "surrogate diagnostic \"info:srw/diagnostic/1/67\" " +
    9594                                "instead.");
    96                     } else if (data.isDiagnostic("info:clarin/sru/diagnostic/2")) {
     95                    } else if (isDiagnostic(d, "info:clarin/sru/diagnostic/2")) {
    9796                        return makeError("Endpoint sent one or more records with record " +
    9897                                        "schema of '" + d.getDetails() +
     
    114113                        return makeError(sb.toString());
    115114                    }
    116                 } else if (FCS_RECORD_SCHEMA.equals(recordSchema)) {
     115                } else if (record.isRecordSchema(FCS_RECORD_SCHEMA)) {
    117116                    final ClarinFCSRecordData data =
    118                             (ClarinFCSRecordData) record.getData();
     117                            (ClarinFCSRecordData) record.getRecordData();
    119118                    final Resource resource = data.getResource();
    120119                    boolean foundHits = false;
     
    144143                }
    145144            }
    146             if (handler.getRecordCount() > req.getMaximumRecords()) {
     145            if (res.getRecordsCount() > req.getMaximumRecords()) {
    147146                return makeError("Endpoint did not honor upper requested limit for " +
    148147                                "\"maximumRecords\" parameter (up to " +
    149148                                req.getMaximumRecords() +
    150149                                " records where requested and endpoint delivered " +
    151                                 handler.getRecordCount() + " results)");
     150                                res.getRecordsCount() + " results)");
    152151            }
    153152            return makeSuccess();
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/tests/TestSearch14.java

    r7172 r7196  
    2121import eu.clarin.fcs.tester.FCSTestContext;
    2222import eu.clarin.fcs.tester.FCSTestProfile;
    23 import eu.clarin.fcs.tester.FCSTestHandler;
    24 import eu.clarin.fcs.tester.FCSTestHandler.SurrogateDiagnostic;
    2523import eu.clarin.fcs.tester.FCSTestResult;
     24import eu.clarin.sru.client.SRUClient;
    2625import eu.clarin.sru.client.SRUClientException;
    2726import eu.clarin.sru.client.SRUDiagnostic;
     27import eu.clarin.sru.client.SRURecord;
    2828import eu.clarin.sru.client.SRUSearchRetrieveRequest;
    29 import eu.clarin.sru.client.SRUSimpleClient;
     29import eu.clarin.sru.client.SRUSearchRetrieveResponse;
    3030import eu.clarin.sru.client.SRUSurrogateRecordData;
    3131import eu.clarin.sru.client.fcs.ClarinFCSConstants;
     
    6666
    6767    @Override
    68     public FCSTestResult perform(FCSTestContext context, SRUSimpleClient client,
    69             FCSTestHandler handler) throws SRUClientException {
     68    public FCSTestResult perform(FCSTestContext context, SRUClient client)
     69            throws SRUClientException {
     70        if (!context.hasProperty(FCSTestContext.PROP_SUPPORTS_ADV)) {
     71            return makeSkipped();
     72        }
    7073        SRUSearchRetrieveRequest req = context.createSearchRetrieveRequest();
    7174        req.setQuery(ClarinFCSConstants.QUERY_TYPE_FCS,
     
    7376        req.setRecordSchema(FCS_RECORD_SCHEMA);
    7477        req.setMaximumRecords(5);
    75         client.searchRetrieve(req, handler);
    76         if (handler.findDiagnostic("info:srw/diagnostic/1/66")) {
     78        SRUSearchRetrieveResponse res = client.searchRetrieve(req);
     79        if (findDiagnostic(res, "info:srw/diagnostic/1/66")) {
    7780            return makeError("Endpoint claims to not " +
    7881                    "support FCS record schema (" + FCS_RECORD_SCHEMA + ")");
    79         } else if (handler.getRecordCount() == 0) {
     82        } else if (res.getRecordsCount() == 0) {
    8083            return makeWarning("Endpoint has no results " +"" +
    8184                    "for search term \"" + context.getUserSearchTerm() +
    8285                    "\". Please supply a different search term.");
    8386        } else {
    84             for (FCSTestHandler.Record record : handler.getRecords()) {
    85                 String recordSchema = record.getData().getRecordSchema();
    86                 if (SRUSurrogateRecordData.RECORD_SCHEMA.equals(recordSchema)) {
    87                     final SurrogateDiagnostic data =
    88                             (SurrogateDiagnostic) record.getData();
     87            for (SRURecord record : res.getRecords()) {
     88                if (record.isRecordSchema(SRUSurrogateRecordData.RECORD_SCHEMA)) {
     89                    final SRUSurrogateRecordData data =
     90                            (SRUSurrogateRecordData) record.getRecordData();
    8991                    final SRUDiagnostic d = data.getDiagnostic();
    9092
    91                     if (data.isDiagnostic("info:srw/diagnostic/1/67")) {
     93                    if (isDiagnostic(d, "info:srw/diagnostic/1/67")) {
    9294                        return makeError("Endpoint cannot render record in " +
    9395                                "CLARIN-FCS record format and returned " +
    9496                                "surrogate diagnostic \"info:srw/diagnostic/1/67\" " +
    9597                                "instead.");
    96                     } else if (data.isDiagnostic("info:clarin/sru/diagnostic/2")) {
     98                    } else if (isDiagnostic(d, "info:clarin/sru/diagnostic/2")) {
    9799                        return makeError("Endpoint sent one or more records with record " +
    98100                                        "schema of '" + d.getDetails() +
     
    114116                        return makeError(sb.toString());
    115117                    }
    116                 } else if (FCS_RECORD_SCHEMA.equals(recordSchema)) {
     118                } else if (record.isRecordSchema(FCS_RECORD_SCHEMA)) {
    117119                    final ClarinFCSRecordData data =
    118                             (ClarinFCSRecordData) record.getData();
     120                            (ClarinFCSRecordData) record.getRecordData();
    119121                    final Resource resource = data.getResource();
    120122                    boolean foundHits = false;
     
    154156                }
    155157            }
    156             if (handler.getRecordCount() > req.getMaximumRecords()) {
     158            if (res.getRecordsCount() > req.getMaximumRecords()) {
    157159                return makeError("Endpoint did not honor upper requested limit for " +
    158160                                "\"maximumRecords\" parameter (up to " +
    159161                                req.getMaximumRecords() +
    160162                                " records where requested and endpoint delivered " +
    161                                 handler.getRecordCount() + " results)");
     163                                res.getRecordsCount() + " results)");
    162164            }
    163165            return makeSuccess();
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/tests/TestSearch2.java

    r7172 r7196  
    2121import eu.clarin.fcs.tester.FCSTestContext;
    2222import eu.clarin.fcs.tester.FCSTestProfile;
    23 import eu.clarin.fcs.tester.FCSTestHandler;
    2423import eu.clarin.fcs.tester.FCSTestResult;
     24import eu.clarin.sru.client.SRUClient;
    2525import eu.clarin.sru.client.SRUClientConstants;
    2626import eu.clarin.sru.client.SRUClientException;
    2727import eu.clarin.sru.client.SRUSearchRetrieveRequest;
    28 import eu.clarin.sru.client.SRUSimpleClient;
     28import eu.clarin.sru.client.SRUSearchRetrieveResponse;
    2929import eu.clarin.sru.client.fcs.ClarinFCSRecordData;
    3030
     
    5656
    5757    @Override
    58     public FCSTestResult perform(FCSTestContext context, SRUSimpleClient client,
    59             FCSTestHandler handler) throws SRUClientException {
     58    public FCSTestResult perform(FCSTestContext context, SRUClient client)
     59            throws SRUClientException {
    6060        SRUSearchRetrieveRequest req = context.createSearchRetrieveRequest();
    6161        req.setQuery(SRUClientConstants.QUERY_TYPE_CQL,
    6262                escapeCQL(context.getRandomSearchTerm()));
    6363        req.setRecordSchema(ClarinFCSRecordData.RECORD_SCHEMA);
    64         client.searchRetrieve(req, handler);
    65         return handler.getDiagnosticCount() == 0
     64        SRUSearchRetrieveResponse res = client.searchRetrieve(req);
     65        return res.getDiagnosticsCount() == 0
    6666                ? makeSuccess()
    6767                : makeWarningUnexpectedDiagnostics();
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/tests/TestSearch3.java

    r7167 r7196  
    2121import eu.clarin.fcs.tester.FCSTestContext;
    2222import eu.clarin.fcs.tester.FCSTestProfile;
    23 import eu.clarin.fcs.tester.FCSTestHandler;
    2423import eu.clarin.fcs.tester.FCSTestResult;
     24import eu.clarin.sru.client.SRUClient;
    2525import eu.clarin.sru.client.SRUClientException;
    2626import eu.clarin.sru.client.SRUSearchRetrieveRequest;
    27 import eu.clarin.sru.client.SRUSimpleClient;
     27import eu.clarin.sru.client.SRUSearchRetrieveResponse;
    2828
    2929
     
    5252
    5353    @Override
    54     public FCSTestResult perform(FCSTestContext context, SRUSimpleClient client,
    55             FCSTestHandler handler) throws SRUClientException {
     54    public FCSTestResult perform(FCSTestContext context, SRUClient client)
     55            throws SRUClientException {
    5656        SRUSearchRetrieveRequest req = context.createSearchRetrieveRequest();
    5757        req.setExtraRequestData(SRUSearchRetrieveRequest.X_MALFORMED_QUERY,
    5858                SRUSearchRetrieveRequest.MALFORMED_OMIT);
    59         client.searchRetrieve(req, handler);
    60         return handler.findDiagnostic("info:srw/diagnostic/1/7")
     59        SRUSearchRetrieveResponse res = client.searchRetrieve(req);
     60        return findDiagnostic(res, "info:srw/diagnostic/1/7")
    6161                ? makeSuccess()
    6262                : makeErrorNoDiagnostic("info:srw/diagnostic/1/7");
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/tests/TestSearch4.java

    r7172 r7196  
    2121import eu.clarin.fcs.tester.FCSTestContext;
    2222import eu.clarin.fcs.tester.FCSTestProfile;
    23 import eu.clarin.fcs.tester.FCSTestHandler;
    2423import eu.clarin.fcs.tester.FCSTestResult;
     24import eu.clarin.sru.client.SRUClient;
    2525import eu.clarin.sru.client.SRUClientConstants;
    2626import eu.clarin.sru.client.SRUClientException;
    2727import eu.clarin.sru.client.SRUSearchRetrieveRequest;
    28 import eu.clarin.sru.client.SRUSimpleClient;
     28import eu.clarin.sru.client.SRUSearchRetrieveResponse;
    2929
    3030
     
    5555
    5656    @Override
    57     public FCSTestResult perform(FCSTestContext context, SRUSimpleClient client,
    58             FCSTestHandler handler) throws SRUClientException {
     57    public FCSTestResult perform(FCSTestContext context, SRUClient client)
     58            throws SRUClientException {
    5959        SRUSearchRetrieveRequest req = context.createSearchRetrieveRequest();
    6060        req.setQuery(SRUClientConstants.QUERY_TYPE_CQL,
     
    6262        req.setExtraRequestData(
    6363                SRUSearchRetrieveRequest.X_MALFORMED_RECORD_XML_ESCAPING, "invalid");
    64         client.searchRetrieve(req, handler);
    65         return handler.findDiagnostic("info:srw/diagnostic/1/71")
     64        SRUSearchRetrieveResponse res = client.searchRetrieve(req);
     65        return findDiagnostic(res, "info:srw/diagnostic/1/71")
    6666                ? makeSuccess()
    6767                : makeErrorNoDiagnostic("info:srw/diagnostic/1/71");
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/tests/TestSearch5.java

    r7172 r7196  
    2121import eu.clarin.fcs.tester.FCSTestContext;
    2222import eu.clarin.fcs.tester.FCSTestProfile;
    23 import eu.clarin.fcs.tester.FCSTestHandler;
    2423import eu.clarin.fcs.tester.FCSTestResult;
     24import eu.clarin.sru.client.SRUClient;
    2525import eu.clarin.sru.client.SRUClientConstants;
    2626import eu.clarin.sru.client.SRUClientException;
    2727import eu.clarin.sru.client.SRUSearchRetrieveRequest;
    28 import eu.clarin.sru.client.SRUSimpleClient;
     28import eu.clarin.sru.client.SRUSearchRetrieveResponse;
    2929
    3030
     
    5555
    5656    @Override
    57     public FCSTestResult perform(FCSTestContext context, SRUSimpleClient client,
    58             FCSTestHandler handler) throws SRUClientException {
     57    public FCSTestResult perform(FCSTestContext context, SRUClient client)
     58            throws SRUClientException {
    5959        SRUSearchRetrieveRequest req = context.createSearchRetrieveRequest();
    6060        req.setQuery(SRUClientConstants.QUERY_TYPE_CQL,
     
    6262        req.setExtraRequestData(
    6363                SRUSearchRetrieveRequest.X_MALFORMED_START_RECORD, "invalid");
    64         client.searchRetrieve(req, handler);
    65         return handler.findDiagnostic("info:srw/diagnostic/1/6")
     64        SRUSearchRetrieveResponse res = client.searchRetrieve(req);
     65        return findDiagnostic(res, "info:srw/diagnostic/1/6")
    6666                ? makeSuccess()
    6767                : makeErrorNoDiagnostic("info:srw/diagnostic/1/6");
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/tests/TestSearch6.java

    r7172 r7196  
    2121import eu.clarin.fcs.tester.FCSTestContext;
    2222import eu.clarin.fcs.tester.FCSTestProfile;
    23 import eu.clarin.fcs.tester.FCSTestHandler;
    2423import eu.clarin.fcs.tester.FCSTestResult;
     24import eu.clarin.sru.client.SRUClient;
    2525import eu.clarin.sru.client.SRUClientConstants;
    2626import eu.clarin.sru.client.SRUClientException;
    2727import eu.clarin.sru.client.SRUSearchRetrieveRequest;
    28 import eu.clarin.sru.client.SRUSimpleClient;
     28import eu.clarin.sru.client.SRUSearchRetrieveResponse;
    2929
    3030
     
    5555
    5656    @Override
    57     public FCSTestResult perform(FCSTestContext context, SRUSimpleClient client,
    58             FCSTestHandler handler) throws SRUClientException {
     57    public FCSTestResult perform(FCSTestContext context, SRUClient client)
     58            throws SRUClientException {
    5959        SRUSearchRetrieveRequest req = context.createSearchRetrieveRequest();
    6060        req.setQuery(SRUClientConstants.QUERY_TYPE_CQL,
     
    6262        req.setExtraRequestData(
    6363                SRUSearchRetrieveRequest.X_MALFORMED_START_RECORD, "0");
    64         client.searchRetrieve(req, handler);
    65         return handler.findDiagnostic("info:srw/diagnostic/1/6")
     64        SRUSearchRetrieveResponse res = client.searchRetrieve(req);
     65        return findDiagnostic(res, "info:srw/diagnostic/1/6")
    6666                ? makeSuccess()
    6767                : makeErrorNoDiagnostic("info:srw/diagnostic/1/6");
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/tests/TestSearch7.java

    r7172 r7196  
    2121import eu.clarin.fcs.tester.FCSTestContext;
    2222import eu.clarin.fcs.tester.FCSTestProfile;
    23 import eu.clarin.fcs.tester.FCSTestHandler;
    2423import eu.clarin.fcs.tester.FCSTestResult;
     24import eu.clarin.sru.client.SRUClient;
    2525import eu.clarin.sru.client.SRUClientConstants;
    2626import eu.clarin.sru.client.SRUClientException;
    2727import eu.clarin.sru.client.SRUSearchRetrieveRequest;
    28 import eu.clarin.sru.client.SRUSimpleClient;
     28import eu.clarin.sru.client.SRUSearchRetrieveResponse;
    2929
    3030
     
    5555
    5656    @Override
    57     public FCSTestResult perform(FCSTestContext context, SRUSimpleClient client,
    58             FCSTestHandler handler) throws SRUClientException {
     57    public FCSTestResult perform(FCSTestContext context, SRUClient client)
     58            throws SRUClientException {
    5959        SRUSearchRetrieveRequest req = context.createSearchRetrieveRequest();
    6060        req.setQuery(SRUClientConstants.QUERY_TYPE_CQL,
     
    6262        req.setExtraRequestData(
    6363                SRUSearchRetrieveRequest.X_MALFORMED_MAXIMUM_RECORDS, "invalid");
    64         client.searchRetrieve(req, handler);
    65         return handler.findDiagnostic("info:srw/diagnostic/1/6")
     64        SRUSearchRetrieveResponse res = client.searchRetrieve(req);
     65        return findDiagnostic(res, "info:srw/diagnostic/1/6")
    6666                ? makeSuccess()
    6767                : makeErrorNoDiagnostic("info:srw/diagnostic/1/6");
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/tests/TestSearch8.java

    r7172 r7196  
    2121import eu.clarin.fcs.tester.FCSTestContext;
    2222import eu.clarin.fcs.tester.FCSTestProfile;
    23 import eu.clarin.fcs.tester.FCSTestHandler;
    2423import eu.clarin.fcs.tester.FCSTestResult;
     24import eu.clarin.sru.client.SRUClient;
    2525import eu.clarin.sru.client.SRUClientConstants;
    2626import eu.clarin.sru.client.SRUClientException;
    2727import eu.clarin.sru.client.SRUSearchRetrieveRequest;
    28 import eu.clarin.sru.client.SRUSimpleClient;
     28import eu.clarin.sru.client.SRUSearchRetrieveResponse;
    2929
    3030
     
    5555
    5656    @Override
    57     public FCSTestResult perform(FCSTestContext context, SRUSimpleClient client,
    58             FCSTestHandler handler) throws SRUClientException {
     57    public FCSTestResult perform(FCSTestContext context, SRUClient client)
     58            throws SRUClientException {
    5959        SRUSearchRetrieveRequest req = context.createSearchRetrieveRequest();
    6060        req.setQuery(SRUClientConstants.QUERY_TYPE_CQL,
     
    6262        req.setExtraRequestData(
    6363                SRUSearchRetrieveRequest.X_MALFORMED_MAXIMUM_RECORDS, "-1");
    64         client.searchRetrieve(req, handler);
    65         return handler.findDiagnostic("info:srw/diagnostic/1/6")
     64        SRUSearchRetrieveResponse res = client.searchRetrieve(req);
     65        return findDiagnostic(res, "info:srw/diagnostic/1/6")
    6666                ? makeSuccess()
    6767                : makeErrorNoDiagnostic("info:srw/diagnostic/1/6");
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/tests/TestSearch9.java

    r7116 r7196  
    2121import eu.clarin.fcs.tester.FCSTestContext;
    2222import eu.clarin.fcs.tester.FCSTestProfile;
    23 import eu.clarin.fcs.tester.FCSTestHandler;
    2423import eu.clarin.fcs.tester.FCSTestResult;
     24import eu.clarin.sru.client.SRUClient;
    2525import eu.clarin.sru.client.SRUClientConstants;
    2626import eu.clarin.sru.client.SRUClientException;
    2727import eu.clarin.sru.client.SRUSearchRetrieveRequest;
    28 import eu.clarin.sru.client.SRUSimpleClient;
     28import eu.clarin.sru.client.SRUSearchRetrieveResponse;
    2929
    3030
     
    5555
    5656    @Override
    57     public FCSTestResult perform(FCSTestContext context, SRUSimpleClient client,
    58             FCSTestHandler handler) throws SRUClientException {
     57    public FCSTestResult perform(FCSTestContext context, SRUClient client)
     58            throws SRUClientException {
    5959        SRUSearchRetrieveRequest req = context.createSearchRetrieveRequest();
    6060        req.setQuery(SRUClientConstants.QUERY_TYPE_CQL,
    6161                "\"" + context.getRandomSearchTerm() + "\" =");
    62         client.searchRetrieve(req, handler);
    63         return handler.findDiagnostic("info:srw/diagnostic/1/10")
     62        SRUSearchRetrieveResponse res = client.searchRetrieve(req);
     63        return findDiagnostic(res, "info:srw/diagnostic/1/10")
    6464                ? makeSuccess()
    6565                : makeErrorNoDiagnostic("info:srw/diagnostic/1/10");
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/ui/ResultsView.java

    r7116 r7196  
    5252    private static final Resource ICON_ERROR   =
    5353            new ThemeResource("icons/result_error.png");
     54    private static final Resource ICON_SKIPPED =
     55            new ThemeResource("icons/weather_clouds.png");
    5456    private static final DateTimeFormatter dateFmt =
    5557            DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss");
     
    6466        int count_warning = 0;
    6567        int count_error   = 0;
     68        int count_skipped = 0;
    6669        for (FCSTestResult result : results) {
    6770            switch (result.getCode()) {
     
    7477            case ERROR:
    7578                count_error++;
     79                break;
     80            case SKIPPED:
     81                count_skipped++;
    7682                break;
    7783            } // switch
     
    115121
    116122        final Label resultsOverview = new Label(
    117                 String.format("Success: %d,  Warnings: %d, Errors: %d",
    118                         count_success, count_warning, count_error));
     123                String.format("Success: %d,  Warnings: %d, Errors: %d, Skipped: %d",
     124                        count_success, count_warning, count_error, count_skipped));
    119125        addComponent(resultsOverview);
    120126
     
    221227            case ERROR:
    222228                return ICON_ERROR;
     229            case SKIPPED:
     230                return  ICON_SKIPPED;
    223231            }
    224232        }
  • FCSEndpointTester/trunk/src/main/java/eu/clarin/fcs/tester/ui/TesterUI.java

    r7116 r7196  
    196196        profileCombo.addItem(PROFILE_AUTODETECT);
    197197        profileCombo.setItemCaption(PROFILE_AUTODETECT, "Auto detect");
     198        profileCombo.addItem(PROFILE_FCS_LEGACY);
     199        profileCombo.setItemCaption(PROFILE_FCS_LEGACY, "Legacy FCS");
     200        profileCombo.addItem(PROFILE_FCS_1_0);
     201        profileCombo.setItemCaption(PROFILE_FCS_1_0, "CLARIN-FCS 1.0");
    198202        profileCombo.addItem(PROFILE_FCS_2_0);
    199203        profileCombo.setItemCaption(PROFILE_FCS_2_0, "CLARIN-FCS 2.0");
    200         profileCombo.addItem(PROFILE_FCS_1_0);
    201         profileCombo.setItemCaption(PROFILE_FCS_1_0, "CLARIN-FCS 1.0");
    202         profileCombo.addItem(PROFILE_FCS_LEGACY);
    203         profileCombo.setItemCaption(PROFILE_FCS_LEGACY, "Legacy FCS");
    204204        profileCombo.select(PROFILE_AUTODETECT);
    205205        profileCombo.setNullSelectionAllowed(false);
Note: See TracChangeset for help on using the changeset viewer.