Search in sources :

Example 1 with EndPositions

use of net.parostroj.timetable.output2.impl.EndPositions in project grafikon by jub77.

the class XmlEndPositionsOutput method writeTo.

@Override
protected void writeTo(OutputParams params, OutputStream stream, TrainDiagram diagram) throws OutputException {
    try {
        // extract positions
        PositionsExtractor pe = new PositionsExtractor(diagram);
        List<Position> engines = pe.getEndPositions(diagram.getEngineCycleType().getCycles(), null);
        List<Position> trainUnits = pe.getEndPositions(diagram.getTrainUnitCycleType().getCycles(), null);
        EndPositions ep = new EndPositions();
        ep.setEnginesPositions(engines);
        ep.setTrainUnitsPositions(trainUnits);
        JAXBContext context = JAXBContext.newInstance(EndPositions.class);
        Marshaller m = context.createMarshaller();
        m.setProperty(Marshaller.JAXB_ENCODING, this.getCharset().name());
        m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
        Writer writer = new OutputStreamWriter(stream, this.getCharset());
        m.marshal(ep, writer);
    } catch (Exception e) {
        throw new OutputException(e);
    }
}
Also used : Marshaller(javax.xml.bind.Marshaller) PositionsExtractor(net.parostroj.timetable.output2.impl.PositionsExtractor) Position(net.parostroj.timetable.output2.impl.Position) EndPositions(net.parostroj.timetable.output2.impl.EndPositions) OutputException(net.parostroj.timetable.output2.OutputException) JAXBContext(javax.xml.bind.JAXBContext) OutputStreamWriter(java.io.OutputStreamWriter) Writer(java.io.Writer) OutputStreamWriter(java.io.OutputStreamWriter) OutputException(net.parostroj.timetable.output2.OutputException)

Aggregations

OutputStreamWriter (java.io.OutputStreamWriter)1 Writer (java.io.Writer)1 JAXBContext (javax.xml.bind.JAXBContext)1 Marshaller (javax.xml.bind.Marshaller)1 OutputException (net.parostroj.timetable.output2.OutputException)1 EndPositions (net.parostroj.timetable.output2.impl.EndPositions)1 Position (net.parostroj.timetable.output2.impl.Position)1 PositionsExtractor (net.parostroj.timetable.output2.impl.PositionsExtractor)1