Search in sources :

Example 1 with CustomCycles

use of net.parostroj.timetable.output2.impl.CustomCycles 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)

Example 2 with CustomCycles

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

the class EndsTemplateBinding method addSpecific.

@Override
protected void addSpecific(OutputParams params, Map<String, Object> map, TrainDiagram diagram, Locale locale) {
    // 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);
    List<Cycles> customCycles = pe.getEndPositionsCustom(null);
    // call template
    map.put("engines", engines);
    map.put("train_units", trainUnits);
    map.put("custom_cycles", customCycles);
}
Also used : Cycles(net.parostroj.timetable.output2.impl.Cycles) PositionsExtractor(net.parostroj.timetable.output2.impl.PositionsExtractor) Position(net.parostroj.timetable.output2.impl.Position)

Example 3 with CustomCycles

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

the class XmlCustomCyclesOutput method writeTo.

@Override
protected void writeTo(OutputParams params, OutputStream stream, TrainDiagram diagram) throws OutputException {
    try {
        // check for type
        OutputParam param = params.get("cycle_type");
        TrainsCycleType type = param != null ? param.getValue(TrainsCycleType.class) : null;
        // extract
        CustomCyclesExtractor tuce = new CustomCyclesExtractor(SelectionHelper.selectCycles(params, diagram, type));
        CustomCycles cycles = new CustomCycles(tuce.getCycles());
        JAXBContext context = JAXBContext.newInstance(CustomCycles.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(cycles, writer);
    } catch (Exception e) {
        throw new OutputException(e);
    }
}
Also used : Marshaller(javax.xml.bind.Marshaller) CustomCycles(net.parostroj.timetable.output2.impl.CustomCycles) OutputParam(net.parostroj.timetable.output2.OutputParam) OutputException(net.parostroj.timetable.output2.OutputException) CustomCyclesExtractor(net.parostroj.timetable.output2.impl.CustomCyclesExtractor) JAXBContext(javax.xml.bind.JAXBContext) OutputStreamWriter(java.io.OutputStreamWriter) Writer(java.io.Writer) OutputStreamWriter(java.io.OutputStreamWriter) OutputException(net.parostroj.timetable.output2.OutputException) TrainsCycleType(net.parostroj.timetable.model.TrainsCycleType)

Example 4 with CustomCycles

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

the class StartsTemplateBinding method addSpecific.

@Override
protected void addSpecific(OutputParams params, Map<String, Object> map, TrainDiagram diagram, Locale locale) {
    Integer startTime = params.getParamValue("start.time", Integer.class);
    // extract positions
    PositionsExtractor pe = new PositionsExtractor(diagram);
    List<Position> engines = pe.getStartPositions(diagram.getEngineCycleType().getCycles(), startTime);
    List<Position> trainUnits = pe.getStartPositions(diagram.getTrainUnitCycleType().getCycles(), startTime);
    List<Cycles> customCycles = pe.getStartPositionsCustom(startTime);
    // call template
    map.put("engines", engines);
    map.put("train_units", trainUnits);
    map.put("custom_cycles", customCycles);
    map.put("start_time", startTime);
}
Also used : Cycles(net.parostroj.timetable.output2.impl.Cycles) PositionsExtractor(net.parostroj.timetable.output2.impl.PositionsExtractor) Position(net.parostroj.timetable.output2.impl.Position)

Aggregations

Cycles (net.parostroj.timetable.output2.impl.Cycles)3 Position (net.parostroj.timetable.output2.impl.Position)3 PositionsExtractor (net.parostroj.timetable.output2.impl.PositionsExtractor)3 OutputStreamWriter (java.io.OutputStreamWriter)2 Writer (java.io.Writer)2 JAXBContext (javax.xml.bind.JAXBContext)2 Marshaller (javax.xml.bind.Marshaller)2 OutputException (net.parostroj.timetable.output2.OutputException)2 TrainsCycleType (net.parostroj.timetable.model.TrainsCycleType)1 OutputParam (net.parostroj.timetable.output2.OutputParam)1 CustomCycles (net.parostroj.timetable.output2.impl.CustomCycles)1 CustomCyclesExtractor (net.parostroj.timetable.output2.impl.CustomCyclesExtractor)1 StartPositions (net.parostroj.timetable.output2.impl.StartPositions)1