@PerfTest( duration = PerfBenchmarkingTest.MAX_DURATION, threads = PerfBenchmarkingTest.MAX_THREADS, rampUp = PerfBenchmarkingTest.MAX_RAMPUP, warmUp = PerfBenchmarkingTest.MAX_WARMUP ) // @Required(max = 45000, average = 55000) @Test public void perfMultipleEmbeddedSubReports() throws Exception { if ( !isExecutePerformanceTest ) { return; } final SubReport sr = new SubReport(); sr.getReportHeader().addSubReport( new SubReport() ); sr.getReportHeader().addSubReport( new SubReport() ); final MasterReport report = new MasterReport(); report.getReportHeader().addSubReport( sr ); report.getReportHeader().addSubReport( new SubReport() ); report.getReportHeader().addSubReport( new SubReport() ); DebugReportRunner.executeAll( report ); }
@Test public void testNoneInlineSubReportDetection() { SubReport srInner = new SubReport(); SubReport sr = new SubReport(); sr.getReportHeader().addSubReport( srInner ); MasterReport report = new MasterReport(); report.getReportHeader().addSubReport( sr ); ReportStructureValidator v = new ReportStructureValidator(); Assert.assertTrue( v.isValidForFastProcessing( report ) ); }
@Test public void testDeepInlineSubReportDetection() { SubReport srInner = new SubReport(); SubReport sr = new SubReport(); sr.getReportHeader().addElement( srInner ); MasterReport report = new MasterReport(); report.getReportHeader().addSubReport( sr ); ReportStructureValidator v = new ReportStructureValidator(); Assert.assertFalse( v.isValidForFastProcessing( report ) ); }
@Test public void testDeepSubBandInlineSubReportDetection() { SubReport srInner = new SubReport(); Band band = new Band(); band.addElement( srInner ); SubReport sr = new SubReport(); sr.getReportHeader().addElement( band ); MasterReport report = new MasterReport(); report.getReportHeader().addSubReport( sr ); ReportStructureValidator v = new ReportStructureValidator(); Assert.assertFalse( v.isValidForFastProcessing( report ) ); }
protected void runSaveAndLoadForSubReports( final String[][] queriesAndResults ) throws Exception { if ( queriesAndResults.length == 0 ) { return; } for ( int i = 0; i < queriesAndResults.length; i++ ) { final String query = queriesAndResults[i][0]; final String resultFile = queriesAndResults[i][1]; final DataFactory dataFactory = createDataFactory( query ); SubReport subReport = new SubReport(); subReport.setDataFactory( dataFactory ); final MasterReport report = new MasterReport(); report.getReportHeader().addSubReport( subReport ); final MemoryByteArrayOutputStream bout = new MemoryByteArrayOutputStream(); BundleWriter.writeReportToZipStream( report, bout ); final ResourceManager mgr = new ResourceManager(); mgr.registerDefaults(); final Resource resource = mgr.createDirectly( bout.toByteArray(), MasterReport.class ); final MasterReport r2 = (MasterReport) resource.getResource(); final SubReport sr2 = r2.getReportHeader().getSubReport( 0 ); final DataFactory e2 = sr2.getDataFactory(); assertNotNull( e2 ); // cannot assert equals, as this is not implemented ... initializeDataFactory( e2 ); final String queryResult = performQueryTest( e2 ); compareLineByLine( resultFile, queryResult ); } }