icetap
By: a guest | Mar 22nd, 2010 | Syntax:
Java 5 | Size: 1.89 KB | Hits: 55 | Expires: Never
public class RaportyServlet extends HttpServletBean {
@Autowired
private IRaportyService raportyService;
@Autowired
private IGenericServiceFacade genericRead;
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Set<IServiceInvocationDTO> odczyty = new HashSet<IServiceInvocationDTO>();
Map<ServiceFacadeIdEnum, IBaseDTO> genericRead2 = genericRead.genericRead(odczyty);
// TODO : utworzyc zbiorcze DTO
IBaseDTO dane = new IBaseDTO() {
};
// TODO : pobrac z request format wydruku i raporty
String reportFormatStr = request.getParameter("format");
ReportFormatEnum reportFormat = ReportFormatEnum.valueOf(reportFormatStr);
String sectionsStr = request.getParameter("sections");
StringTokenizer stringTokenizer = new StringTokenizer(sectionsStr, ",");
ReportTemplateEnum[] reportTemplates = new ReportTemplateEnum[stringTokenizer.countTokens()];
int i=0;
String reportTemplate;
while (stringTokenizer.hasMoreTokens()) {
reportTemplate = stringTokenizer.nextToken();
reportTemplates[i++] = ReportTemplateEnum.valueOf(reportTemplate);
}
byte[] report = raportyService.generateReport(dane, reportFormat, request.getLocale().getLanguage(), reportTemplates);
ByteArrayOutputStream beos = new ByteArrayOutputStream(report.length);
beos.write(report);
writeExportToResponseStream(reportFormat.getContentType(), response, beos);
}
private final void writeExportToResponseStream(String contentType, HttpServletResponse response, ByteArrayOutputStream beos) {
response.setContentType(contentType);
response.setContentLength(beos.size());
try {
ServletOutputStream out1 = response.getOutputStream();
beos.writeTo(out1);
out1.flush();
}
catch (final Exception e) {
throw new ReportGenerationException("todo");
}
}
}