_parameters = new HashMap();
visitSubreports(dr, _parameters);
compileOrLoadSubreports(dr, _parameters);
DynamicJasperDesign jd = generateJasperDesign(dr);
Map params = new HashMap();
if (!_parameters.isEmpty()){
registerParams(jd,_parameters);
params.putAll(_parameters);
}
registerEntities(jd, dr, layoutManager);
layoutManager.applyLayout(jd, dr);
// JRProperties.setProperty(JRProperties.COMPILER_CLASS, DJCompilerFactory.getCompilerClassName());
JRProperties.setProperty(JRCompiler.COMPILER_PREFIX, DJCompilerFactory.getCompilerClassName());
JasperReport jr = JasperCompileManager.compileReport(jd);
params.putAll(jd.getParametersWithValues());
jp = JasperFillManager.fillReport(jr, params);
return jp;
}