pulse - the web application framework Get pulse at SourceForge.net. Fast, secure and Free Open Source software downloads Ohloh project report for pulse-java

org.torweg.pulse.component.statistics.view
Class TimeAnalysisViewReportController

java.lang.Object
  extended by org.torweg.pulse.bundle.Controller
      extended by org.torweg.pulse.component.statistics.view.AbstractStatisticsController<T,V>
          extended by org.torweg.pulse.component.statistics.view.AbstractStatisticsViewController<TimeAnalysisViewControllerConfiguration,TimeAnalysisViewControllerResultData,TimeAnalysisViewControllerResult>
              extended by org.torweg.pulse.component.statistics.view.TimeAnalysisViewController
                  extended by org.torweg.pulse.component.statistics.view.TimeAnalysisViewGFXController
                      extended by org.torweg.pulse.component.statistics.view.TimeAnalysisViewReportController
All Implemented Interfaces:
IStatisticsPDFReportController<TimeAnalysisViewControllerResult>, Configurable<AbstractStatisticsViewControllerConfiguration>

public class TimeAnalysisViewReportController
extends TimeAnalysisViewGFXController
implements IStatisticsPDFReportController<TimeAnalysisViewControllerResult>

Provides reporting functionality for the statistics time analysis view.

Version:
$Revision: 1568 $
Author:
Daniel Dietz

Nested Class Summary
 
Nested classes/interfaces inherited from class org.torweg.pulse.bundle.Controller
Controller.AlwaysRun
 
Field Summary
 
Fields inherited from class org.torweg.pulse.component.statistics.view.AbstractStatisticsViewController
DEFAULT_CHART_HEIGHT, DEFAULT_CHART_WIDTH, NO_SERVERID
 
Fields inherited from class org.torweg.pulse.component.statistics.view.AbstractStatisticsController
LOGGER
 
Constructor Summary
TimeAnalysisViewReportController()
           
 
Method Summary
 java.util.Map<java.lang.String,java.io.File> buildPDFFileMap(AbstractStatisticsViewControllerResult<?> result)
          Performs the creation of the PDF-file and adds the required PDFOutputEvent to the EventManager.
 TimeAnalysisViewControllerResult buildPDFReportResult(Duration duration, Period resolution, StatisticsServer server, org.hibernate.Session s)
          Returns an TimeAnalysisViewControllerResult as required for the creation the PDF for the given Duration, the given Period and the given StatisticsServer .
 TimeAnalysisViewControllerResult generatePDFReport(ServiceRequest request)
          Generates a PDF-report for the TimeAnalysisViewControllerResult.
 
Methods inherited from class org.torweg.pulse.component.statistics.view.TimeAnalysisViewGFXController
buildTimeAnalysisDataViewChart, loadTimeAnalysisChart
 
Methods inherited from class org.torweg.pulse.component.statistics.view.TimeAnalysisViewController
buildViewResultData, clearSessionData, initView, newResult
 
Methods inherited from class org.torweg.pulse.component.statistics.view.AbstractStatisticsViewController
chartHeightFromCommand, chartWidthFromCommand, determineJFreeChartTimePeriod, durationFromCommand, fetchResultDataFromSession, fileNameForReport, initView, integerFromCommand, loadAggregations, loadStatisticsServer, outputReportPDF, putResultDataInSession, removeResultDataFromSession, resolutionFromCommand, serverIdFromCommand, userIsNotAllowedEvent
 
Methods inherited from class org.torweg.pulse.component.statistics.view.AbstractStatisticsController
getConfiguration, hasRoleForServer, initialize
 
Methods inherited from class org.torweg.pulse.bundle.Controller
getAlwaysRun, isAlwaysRun, setAlwaysRun
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.torweg.pulse.configuration.Configurable
initialize
 

Constructor Detail

TimeAnalysisViewReportController

public TimeAnalysisViewReportController()
Method Detail

generatePDFReport

@RequireToken
@Action(value="generatePDFReportTimeAnalysisView", generate=true)
@Permission(value="generatePDFReportTimeAnalysisView")
@Groups(values="Admin.Report.Site.Statistics")
public final TimeAnalysisViewControllerResult generatePDFReport(ServiceRequest request)
Generates a PDF-report for the TimeAnalysisViewControllerResult. If available the result-data from the current ServiceSession will be used, otherwise the result-data will be (freshly) generated.

Specified by:
generatePDFReport in interface IStatisticsPDFReportController<TimeAnalysisViewControllerResult>
Parameters:
request - the current ServiceRequest
Returns:
an TimeAnalysisViewControllerResult
See Also:
#generatePDFReport(org.torweg.pulse.service.request.ServiceRequest)

buildPDFFileMap

public final java.util.Map<java.lang.String,java.io.File> buildPDFFileMap(AbstractStatisticsViewControllerResult<?> result)
Performs the creation of the PDF-file and adds the required PDFOutputEvent to the EventManager.

Specified by:
buildPDFFileMap in interface IStatisticsPDFReportController<TimeAnalysisViewControllerResult>
Parameters:
result - the current TimeAnalysisViewControllerResult
Returns:
the (modified) TimeAnalysisViewControllerResult for the creation of the PDF

buildPDFReportResult

public final TimeAnalysisViewControllerResult buildPDFReportResult(Duration duration, Period resolution, StatisticsServer server,
                                                                   org.hibernate.Session s)
Returns an TimeAnalysisViewControllerResult as required for the creation the PDF for the given Duration, the given Period and the given StatisticsServer .

NOTE: for request independent creation of the result required for the creation of the PDF.

Specified by:
buildPDFReportResult in interface IStatisticsPDFReportController<TimeAnalysisViewControllerResult>
Parameters:
duration - the Duration
resolution - the Period (null permitted)
server - the StatisticsServer
s - the current HibernateTM-Session
Returns:
an TimeAnalysisViewControllerResult as required for the creation the PDF
See Also:
IStatisticsPDFReportController.buildPDFReportResult(org.torweg.pulse.util.time.Duration, org.torweg.pulse.util.time.Period, org.torweg.pulse.component.statistics.model.StatisticsServer, org.hibernate.Session)