use of net.parostroj.timetable.model.TrainsCycleType in project grafikon by jub77.
the class CustomCyclesTemplateBinding method addSpecific.
@Override
protected void addSpecific(OutputParams params, Map<String, Object> binding, TrainDiagram diagram, Locale locale) {
// check for type
OutputParam param = params.get("cycle_type");
TrainsCycleType type = param != null ? param.getValue(TrainsCycleType.class) : null;
// extract cycles
CustomCyclesExtractor ece = new CustomCyclesExtractor(SelectionHelper.selectCycles(params, diagram, type));
List<CustomCycle> cycles = ece.getCycles();
// call template
binding.put("cycles", cycles);
}
use of net.parostroj.timetable.model.TrainsCycleType 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);
}
}
Aggregations