Changeset 2092


Ignore:
Timestamp:
08/15/12 10:22:36 (12 years ago)
Author:
oschonef
Message:
  • allow generic record data parser using schema wildcard
File:
1 edited

Legend:

Unmodified
Added
Removed
  • SRUClient/trunk/src/main/java/eu/clarin/sru/client/SRUClient.java

    r2091 r2092  
    5252 */
    5353public class SRUClient {
     54    /** constant record data schema parser to match any schema */
     55    public static final String RECORD_DATA_PARSER_SCHEMA_ANY = "*";
    5456    private static final String SRU_NS =
    5557            "http://www.loc.gov/zing/srw/";
     
    7375    /**
    7476     * Constructor.
    75      * 
     77     *
    7678     * @param defaultVersion
    7779     *            the default version to use for SRU requests; may be overridden
     
    9193    /**
    9294     * Register a record data parser.
    93      * 
     95     *
    9496     * @param parser
    9597     *            a parser instance
     
    127129    /**
    128130     * Perform a <em>explain</em> operation.
    129      * 
     131     *
    130132     * @param request
    131133     *            an instance of a {@link SRUExplainRequest} object
     
    208210    /**
    209211     * Perform a <em>scan</em> operation.
    210      * 
     212     *
    211213     * @param request
    212214     *            an instance of a {@link SRUScanRequest} object
     
    289291    /**
    290292     * Perform a <em>searchRetreive</em> operation.
    291      * 
     293     *
    292294     * @param request
    293295     *            an instance of a {@link SRUSearchRetrieveRequest} object
     
    743745                            surrogate = parseDiagnostic(recordReader, true);
    744746                        } else {
    745                             SRURecordDataParser parser = parsers.get(schema);
     747                            SRURecordDataParser parser = findParser(schema);
    746748                            if (parser != null) {
    747749                                try {
     
    934936
    935937
     938    private SRURecordDataParser findParser(String schema) {
     939        SRURecordDataParser parser = parsers.get(schema);
     940        if (parser == null) {
     941            parser = parsers.get(RECORD_DATA_PARSER_SCHEMA_ANY);
     942        }
     943        return parser;
     944    }
     945
     946
    936947    private SRUXMLStreamReader createReader(InputStream in, boolean wrap)
    937948            throws XMLStreamException {
Note: See TracChangeset for help on using the changeset viewer.