private void doDisplayReport( HttpServletRequest request, HttpServletResponse response )
throws ServletException, IOException {
String categoryString = request.getParameter( "category" );
TestRecorderFilter filter = TestRecorderFilter.instance();
Category category = filter.getTestDefinitions().getCategories().getCategory( categoryString );
FileReader reader = null;
try {
if ( category == null ) {
String msg = "No category was found for name( " + categoryString + " )";
forward( request, response, msg, Constants.ERROR_PAGE, true );
return;
}
Writer wrtr = response.getWriter();
File reportFile = new File( category.getReportDirPath(), "/html/junit-noframes.html" );
if ( !reportFile.exists() ) {
String msg = "No JUnit report was found for category( " + category.getName() + " ), file( " +
reportFile.getAbsolutePath() + " )";
forward( request, response, msg, Constants.ERROR_PAGE, true );
return;
}
// output an html page
char[] buf = new char[1024];
reader = new FileReader( reportFile );
int size;
while ( true ) {
size = reader.read( buf, 0, 1024 );
if ( size == -1 ) {
break;
}
wrtr.write( buf, 0, size );
}
}
catch ( Exception e ) {
String msg = "ERROR: failed to display JUnit report, exception( " + e.getMessage() +
" ), category( " + category.getName() + " )";
forward( request, response, msg, Constants.ERROR_PAGE, true, e );
}
finally {
if ( reader != null ) {
reader.close();