Ignore:
Timestamp:
10/11/18 19:25:50 (6 years ago)
Author:
Oliver Schonefeld
Message:
  • some more detailed analysis of endpoint description
File:
1 edited

Legend:

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

    r7196 r7202  
    3030import eu.clarin.sru.client.fcs.ClarinFCSConstants;
    3131import eu.clarin.sru.client.fcs.ClarinFCSEndpointDescription;
     32import eu.clarin.sru.client.fcs.DataViewAdvanced;
     33import eu.clarin.sru.client.fcs.DataViewHits;
    3234
    3335@FCSTestCase(priority=1100, profiles = {
     
    7981    private FCSTestResult validate(FCSTestContext context, ClarinFCSEndpointDescription desc) {
    8082        if (desc.getVersion() == 2) {
    81             if (!desc.getCapabilities()
    82                     .contains(ClarinFCSConstants.CAPABILITY_ADVANCED_SEARCH)) {
     83            boolean supportsADV = desc.getCapabilities()
     84                    .contains(ClarinFCSConstants.CAPABILITY_ADVANCED_SEARCH);
     85            if (supportsADV) {
    8386                context.setProperty(FCSTestContext.PROP_SUPPORTS_ADV, Boolean.TRUE);
     87            }
     88            if (desc.getSupportedDataViews().size() == 0) {
     89                return makeError("No dataview declared. Endpoint must declare support for at least one data view");
     90            } else {
     91                boolean foundHits = false;
     92                boolean foundAdv = false;
     93                for (ClarinFCSEndpointDescription.DataView dataview : desc
     94                        .getSupportedDataViews()) {
     95                    if (dataview.isMimeType(DataViewHits.TYPE)) {
     96                        foundHits = true;
     97                    }
     98                    if (dataview.isMimeType(DataViewAdvanced.TYPE)) {
     99                        if (supportsADV) {
     100                            foundAdv = true;
     101                        }
     102                    }
     103                }
     104                if (!foundHits) {
     105                    return makeError("Endpoint must declare support for Generic Hits dataview (mimeType = " + DataViewHits.TYPE + ")");
     106                }
     107                if (supportsADV && !foundAdv) {
     108                    return makeError("Capabilites indicate support for Advanced Search, so Endpoint must declare support for Advanced dataview (mimeType = " + DataViewHits.TYPE + ")");
     109                   
     110                }
     111            }
     112            if (desc.getResources().size() == 0) {
     113                return makeError("No resources declared. Endpoint must declare at least one Resource");
     114            }
     115            if (supportsADV) {
     116                if (desc.getSupportedLayers().size() == 0) {
     117                    return makeError("Capabilites indicate support for Advanced Search, so Endpoint must supported layers");                   
     118                }
    84119            }
    85120            return makeSuccess();
Note: See TracChangeset for help on using the changeset viewer.