in mail-archive/stats/src/main/java/org/apache/sling/mailarchive/stats/impl/StatsTestServlet.java [58:93]
protected void doPost(SlingHttpServletRequest request, SlingHttpServletResponse response)
throws ServletException, IOException {
final RequestParameter param = request.getRequestParameter(IMPORT_FILE_ATTRIB_NAME);
if(param == null) {
response.sendError(HttpServletResponse.SC_BAD_REQUEST, "Missing required parameter " + IMPORT_FILE_ATTRIB_NAME);
return;
}
InputStream is = null;
final PrintWriter pw = response.getWriter();
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
try {
is = param.getInputStream();
pw.println("Creating stats from supplied mbox file...");
int counter=0;
final Iterator<Message> it = parser.parse(is);
while(it.hasNext()) {
final Message m = it.next();
final String [] to = MailStatsProcessorImpl.toArray(m.getTo());
final String [] cc = MailStatsProcessorImpl.toArray(m.getCc());
for(String from : MailStatsProcessorImpl.toArray(m.getFrom())) {
processor.computeStats(m.getDate(), from.toString(), to, cc);
}
counter++;
}
pw.println(counter + " messages parsed");
} finally {
processor.flush();
pw.flush();
if(is != null) {
is.close();
}
}
}