// License: GPL. For details, see LICENSE file.
package reverter;
import java.io.InputStream;
import java.io.InputStreamReader;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
import org.openstreetmap.josm.io.IllegalDataException;
import org.openstreetmap.josm.io.OsmReader;
import org.openstreetmap.josm.io.UTFInputStreamReader;
/**
* Subclass of {@see org.openstreetmap.josm.io.OsmReader} that can handle multiple XML streams.
*
*/
public class MultiOsmReader extends OsmReader {
public void addData(InputStream source) throws IllegalDataException {
try {
InputStreamReader ir = UTFInputStreamReader.create(source, "UTF-8");
XMLStreamReader parser = XMLInputFactory.newInstance().createXMLStreamReader(ir);
setParser(parser);
parse();
} catch (XMLStreamException e) {
throw new IllegalDataException(e);
} catch (Exception e) {
throw new IllegalDataException(e);
}
}
public void processData() throws IllegalDataException {
prepareDataSet();
}
}