<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import=" org.jfree.data.category.DefaultCategoryDataset, org.jfree.chart.*, org.jfree.chart.*, org.jfree.chart.plot.*, org.jfree.chart.*, java.awt.*, java.util.Set, java.util.List, org.deegree.test.services.wpvs.TestResultData, java.text.DecimalFormat "%> deegree Services Test Interface <%@ include file="menu.html" %>
<% String appState = (String) request.getAttribute( "applicationState" ); if ( appState != null && appState.equals( "wait" ) ) { out.println( "The requests are being processed......\n" ); out.println( "The results will be found under " + "Status." ); out.println( "This may take some time depending on the number of requests, please be patient." ); @SuppressWarnings("unchecked") List partialRes = (List) request.getAttribute( "partialResults" ); Object threadsObj = request.getAttribute( "threads" ); int threads = 0; if ( threadsObj != null ) threads = (Integer) threadsObj; Object requestsObj = request.getAttribute( "requests" ); int requests = 0; if ( requestsObj != null ) requests = (Integer) requestsObj; int totalNoRequests = threads * requests; if ( partialRes != null ) { out.println( "

" ); out.println( "

" ); for ( int i = 0; i < partialRes.size(); i++ ) { int threadNo = partialRes.get(i).getThreadNumber(); int requestNo = partialRes.get(i).getRequestNumber() + 1; double timeElapsed = partialRes.get(i).getTimeElapsed() / 1000.0; int currentRequest = i + 1; out.println( "Request " + requestNo + " / thread " + threadNo + " .........." + timeElapsed + " sec (" + currentRequest + "/" + totalNoRequests + ")
" ); } out.println( "

" ); } //Integer nrTests = (Integer) request.getAttribute( "totalNrTests" ); //Integer complTests = (Integer) request.getAttribute( "completedTests" ); //if ( complTests != null ) { // out.println( "
" ); //out.println( "" ); //int totalUnits = 10; //int usedUnits = complTests * 10 / nrTests; //out.println( "" ); //for ( int i = 0; i < totalUnits; i++ ) { //if ( i < usedUnits ) //out.println( "" ); //else //out.println( "" ); //} //out.println( "" ); //out.println( "
  
" ); //out.println( "
" ); //} //out.println(); } else if ( appState != null && appState.equals( "ready" ) ) { @SuppressWarnings("unchecked") List resultData = (List) request.getAttribute( "resultData" ); @SuppressWarnings("unchecked") List imgLinks = (List) request.getAttribute( "imgLinks" ); boolean showImg = ( Boolean ) request.getAttribute( "showImage" ); int n = imgLinks.size(); out.println( "
" ); out.println( "" ); out.println( "
" ); out.println( "
" ); out.println( "" ); out.println( "" ); out.println( "" ); out.println( "" ); out.println( "" ); out.println( "" ); out.println( "" ); out.println( "" ); out.println( "" ); out.println( "" ); out.println( "
" ); out.println( "Average time:" ); long sumTime = 0; for ( int i = 0; i < n; i++ ) sumTime += resultData.get(i).getTimeElapsed(); DecimalFormat format1 = new DecimalFormat( "###.###" ); String output1 = format1.format( ( (double) ( sumTime / n ) ) / 1000 ); out.println( output1 + " sec" ); out.println( "
" ); out.println( "Minimum time:" ); long min = Long.MAX_VALUE; for ( int i = 0; i < n; i++ ) if ( resultData.get(i).getTimeElapsed() < min ) min = resultData.get(i).getTimeElapsed(); DecimalFormat format2 = new DecimalFormat( "###.###" ); String output2 = format2.format( ( (double) min ) / 1000 ); out.println( output2 + " sec" ); out.println( "
" ); out.println( "Maximum time:" ); long max = Long.MIN_VALUE; for ( int i = 0; i < n; i++ ) if ( resultData.get(i).getTimeElapsed() > max ) max = resultData.get(i).getTimeElapsed(); DecimalFormat format3 = new DecimalFormat( "###.###" ); String output3 = format3.format( ( (double) max ) / 1000 ); out.println( output3 + " sec" ); out.println( "
" ); out.println( "
" ); if ( showImg ) { out.println( "

" ); out.println( "Note: Each thumbnail is annotated with " + "(thread # / request # / processing time)
" ); out.println( "" ); DefaultCategoryDataset dataset = new DefaultCategoryDataset(); out.println( "" ); //outputting five columns per row for ( int i = 0; i < n; i++ ) { if ( i % 5 == 0 && i != 0) out.println( "" ); out.println( "" ); double timeElapsed = resultData.get(i).getTimeElapsed(); dataset.addValue( timeElapsed, new Integer( resultData.get(i).getRequestNumber() + 1), new Integer( resultData.get(i).getThreadNumber() ) ); } out.println( "" ); out.println( "
" ); out.println( "
" ); out.println( "" ); out.println( "" ); out.println( "" ); out.println( "" ); out.println( "" ); out.println( "" ); out.println( "" ); out.println( "
" ); out.print( resultData.get(i).getThreadNumber() + " / " + resultData.get(i).getRequestNumber() + "/ " + ( (double) resultData.get(i).getTimeElapsed() / 1000 ) + " sec" ); out.println( "
" ); out.println( "" + "" ); out.println( "
" ); out.println( "
" ); out.println( "
" ); out.println( "
" ); } } %>