protected void initSubreportFiller(DatasetExpressionEvaluator evaluator) throws JRException { if (log.isDebugEnabled()) { log.debug("Fill " + filler.fillerId + ": creating subreport filler"); } switch (jasperReport.getPrintOrderValue()) { case HORIZONTAL: { subreportFiller = new JRHorizontalFiller(jasperReport, evaluator, this); break; } case VERTICAL: { subreportFiller = new JRVerticalFiller(jasperReport, evaluator, this); break; } default: { throw new JRRuntimeException( "Unkown print order " + jasperReport.getPrintOrderValue().getValue() + "."); } } runner = getRunnerFactory().createSubreportRunner(this, subreportFiller); subreportFiller.setSubreportRunner(runner); }