Search in sources :

Example 1 with StartPositions

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

the class XmlStartPositionsOutput 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.getStartPositions(diagram.getEngineCycleType().getCycles(), null);
        List<Position> trainUnits = pe.getStartPositions(diagram.getTrainUnitCycleType().getCycles(), null);
        List<Cycles> customCycles = pe.getStartPositionsCustom(null);
        StartPositions sp = new StartPositions();
        sp.setEnginesPositions(engines);
        sp.setTrainUnitsPositions(trainUnits);
        sp.setCustomCycles(customCycles);
        JAXBContext context = JAXBContext.newInstance(StartPositions.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(sp, writer);
    } catch (Exception e) {
        throw new OutputException(e);
    }
}
Also used : StartPositions(net.parostroj.timetable.output2.impl.StartPositions) Cycles(net.parostroj.timetable.output2.impl.Cycles) Marshaller(javax.xml.bind.Marshaller) PositionsExtractor(net.parostroj.timetable.output2.impl.PositionsExtractor) Position(net.parostroj.timetable.output2.impl.Position) 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 Cycles (net.parostroj.timetable.output2.impl.Cycles)1 Position (net.parostroj.timetable.output2.impl.Position)1 PositionsExtractor (net.parostroj.timetable.output2.impl.PositionsExtractor)1 StartPositions (net.parostroj.timetable.output2.impl.StartPositions)1