Ignore:
Timestamp:
06/10/13 19:50:23 (11 years ago)
Author:
oschonef
Message:
  • update Woodstox, SLF4J and Apache Commons HTTP client dependencies
  • several interoperability fixes (including relaxed behavior)
  • several bug fixes
File:
1 edited

Legend:

Unmodified
Added
Removed
  • OAIHarvester/trunk/OAIHarvester/src/main/java/eu/clarin/cmdi/oai/harvester/impl/AbstractHarvester.java

    r1903 r3011  
    77import java.util.List;
    88
     9import javax.xml.namespace.QName;
    910import javax.xml.stream.XMLInputFactory;
    1011import javax.xml.stream.XMLStreamException;
    11 import javax.xml.stream.XMLStreamReader;
    1212
    1313import org.codehaus.stax2.XMLInputFactory2;
     
    2222import eu.clarin.cmdi.oai.harvester.ext.DescriptionParser;
    2323
     24
    2425abstract class AbstractHarvester implements Harvester {
    2526    private static final int DEFAULT_MAX_NETWORK_RETRY_COUNT = 5;
    2627    protected int maxNetworkRetryCount = DEFAULT_MAX_NETWORK_RETRY_COUNT;
    27     private final XMLInputFactory factory;
    28 //    private final XMLValidationSchema schema;
     28    private final XMLInputFactory2 factory;
     29    // private final XMLValidationSchema schema;
    2930    private List<DescriptionParser> descriptionParsers =
    30         new ArrayList<DescriptionParser>();
     31            new ArrayList<DescriptionParser>();
     32
    3133
    3234    protected AbstractHarvester() {
    33         factory = XMLInputFactory2.newInstance();
     35        factory = (XMLInputFactory2) XMLInputFactory.newInstance();
    3436
    3537        // Stax settings
     
    5456    }
    5557
     58
     59    @Override
    5660    public final void registerDescriptionParser(DescriptionParser parser)
    5761            throws HarvesterException {
     
    6165        if (findDescriptionParser(parser.getNamespaceURI(),
    6266                parser.getLocalName()) != null) {
    63             throw new HarvesterException("description parser for '{" +
    64                     parser.getNamespaceURI() + "}" + parser.getLocalName() +
    65                     "' was already registered");
     67            throw new HarvesterException("description parser for '" +
     68                    new QName(parser.getNamespaceURI(), parser.getLocalName()) +
     69                            "' was already registered");
    6670        }
    6771        if (descriptionParsers == null) {
     
    7074        descriptionParsers.add(parser);
    7175    }
    72    
     76
     77
     78    @Override
    7379    public abstract HarvestJob createJob(URI repositoryURI,
    7480            HarvestHandler handler) throws HarvesterException;
    7581
     82
     83    @Override
    7684    public final HarvestJob createJob(URI repositoryURI)
    7785            throws HarvesterException {
    7886        return createJob(repositoryURI, null);
    7987    }
    80    
     88
     89
    8190    @Override
    8291    public final HarvestJob createJob(String repositoryURI,
     
    8998    }
    9099
     100
    91101    @Override
    92102    public final HarvestJob createJob(String repositoryURI)
     
    95105    }
    96106
     107
    97108    @Override
    98109    public final HarvestJob findJob(long id) throws HarvesterException {
    99110        return doFindJob(id);
    100111    }
     112
    101113
    102114    @Override
     
    109121    }
    110122
     123
    111124    @Override
    112125    public final int getMaxNetworkRetryCount() {
    113126        return maxNetworkRetryCount;
    114127    }
    115    
     128
     129
    116130    @Override
    117131    public final void setMaxNetworkRetryCount(int maxNetworkRetryCount) {
     
    123137        this.maxNetworkRetryCount = maxNetworkRetryCount;
    124138    }
     139
    125140
    126141    DescriptionParser findDescriptionParser(String namespaceURI,
     
    137152    }
    138153
     154
    139155    abstract void doRunJob(HarvestJobImpl job) throws HarvesterException;
     156
    140157
    141158    abstract void doCancelJob(HarvestJobImpl job) throws HarvesterException;
    142159
    143     protected abstract HarvestJob doFindJob(long id)
    144         throws HarvesterException;
    145160
    146     protected final XMLStreamReader createReader(InputStream in)
     161    protected abstract HarvestJob doFindJob(long id) throws HarvesterException;
     162
     163
     164    protected final XMLStreamReader2 createReader(InputStream in)
    147165            throws XMLStreamException {
    148166        XMLStreamReader2 reader =
    149             (XMLStreamReader2) factory.createXMLStreamReader(in);
     167                (XMLStreamReader2) factory.createXMLStreamReader(in);
    150168        // reader.validateAgainst(schema);
    151169        return reader;
Note: See TracChangeset for help on using the changeset viewer.