report.setDataFactory( dataFactory );
return; report.setDataFactory( new TableDataFactory( "default", createData() ) ); //$NON-NLS-1$ try { HtmlReportUtil.createStreamHTML( report, System.getProperty( "user.home" ) //$NON-NLS-1$
/** * Done parsing. * * @throws org.xml.sax.SAXException * if there is a parsing error. */ protected void doneParsing() throws SAXException { if ( dataFactoryReadHandler == null ) { return; } final Object maybeReport = getRootHandler().getHelperObject( ReportParserUtil.HELPER_OBJ_REPORT_NAME ); if ( maybeReport instanceof MasterReport == false ) { return; } final MasterReport report = (MasterReport) maybeReport; final DataFactory dataFactory = dataFactoryReadHandler.getDataFactory(); if ( dataFactory != null ) { report.setDataFactory( dataFactory ); } }
/** * Done parsing. * * @throws org.xml.sax.SAXException * if there is a parsing error. */ protected void doneParsing() throws SAXException { if ( dataFactoryReadHandler != null ) { final DataFactory dataFactory = dataFactoryReadHandler.getDataFactory(); if ( dataFactory != null ) { report.setDataFactory( dataFactory ); } } try { final GroupList clone = (GroupList) groupList.clone(); clone.installIntoReport( report ); } catch ( CloneNotSupportedException e ) { throw new ParseException( "Failed to add group-list to report", getLocator() ); } report.setAttribute( AttributeNames.Internal.NAMESPACE, AttributeNames.Internal.FILEFORMAT, "simple-xml" ); }
@Test( expected = ReportInterruptedException.class ) public void testInterruptedNew() throws Exception { final MasterReport report = new MasterReport(); final DefaultTableModel model = new DefaultTableModel( 500, 10 ); report.setDataFactory( new TableDataFactory( "default", model ) ); final AbstractReportProcessor reportProcessor = new DummyReportProcessor( report ); final ReportProgressListener reportProgressListener = mock( ReportProgressListener.class ); doAnswer( new Answer() { @Override public Object answer( final InvocationOnMock invocation ) throws Throwable { reportProcessor.cancel(); return null; } } ).when( reportProgressListener ).reportProcessingUpdate( any( ReportProgressEvent.class ) ); reportProcessor.addReportProgressListener( reportProgressListener ); reportProcessor.processReport(); }
report.setDataFactory( new TableDataFactory( "default", model ) ); final AbstractReportProcessor reportProcessor = new DummyReportProcessor( report );
@PerfTest( duration = PerfBenchmarkingTest.MAX_DURATION, threads = PerfBenchmarkingTest.MAX_THREADS, rampUp = PerfBenchmarkingTest.MAX_RAMPUP, warmUp = PerfBenchmarkingTest.MAX_WARMUP ) @Test public void perfDataSource() throws Exception { if ( !isExecutePerformanceTest ) { return; } final MasterReport master = new MasterReport(); final TableDataFactory tableDataFactory = new TableDataFactory(); tableDataFactory.addTable( "fruit", createFruitTableModel() ); master.setQuery( "Query Fruit" ); master.setDataFactory( tableDataFactory ); final CompoundDataFactory cdf = new CompoundDataFactory(); cdf.add( tableDataFactory ); master.setDataFactory( cdf ); final CachingDataFactory caDf = new CachingDataFactory( cdf, true ); master.setDataFactory( caDf ); final CompoundDataFactory ccdf = new CascadingDataFactory(); ccdf.add( caDf ); ccdf.add( tableDataFactory ); master.setDataFactory( ccdf ); // assertTrue(ccdf.isQueryExecutable("Query Fruit", new StaticDataRow())); }
@Test public void testIsQueryLimitNotReachedForUnsetQueryLimit() throws Exception { final MasterReport report = new MasterReport(); final DefaultTableModel model = new DefaultTableModel( 500, 10 ); report.setDataFactory( new TableDataFactory( "default", model ) ); final AbstractReportProcessor reportProcessor = new DummyReportProcessor( report ); reportProcessor.prepareReportProcessing(); assertEquals( reportProcessor.isQueryLimitReached(), false ); }
protected MasterReport createCrosstabReport( final TableModel tableModel ) { Expression dummy = create( "dummy", null, null ); if ( dummy instanceof AggregationFunction == false ) { return null; } AggregationFunction function = (AggregationFunction) dummy; final MasterReport report = new MasterReport(); report.setPageDefinition( new SimplePageDefinition( PageSize.A3, PageFormat.LANDSCAPE, new Insets( 0, 0, 0, 0 ) ) ); report.setDataFactory( new TableDataFactory( "query", tableModel ) ); report.setQuery( "query" ); final ContextAwareDataSchemaModel dataSchemaModel = new DesignTimeDataSchemaModel( report ); final CrosstabBuilder builder = new CrosstabBuilder( dataSchemaModel ); builder.addRowDimension( ROW_DIMENSION_A ); builder.addRowDimension( ROW_DIMENSION_B ); builder.addColumnDimension( COLUMN_DIMENSION_A ); builder.addColumnDimension( COLUMN_DIMENSION_B ); builder.addDetails( VALUE, function.getClass() ); report.setRootGroup( builder.create() ); return report; }
@Test public void testIsQueryLimitNotReachedForNumberOfRowsEqualQueryLimit() throws Exception { final MasterReport report = new MasterReport(); final DefaultTableModel model = new DefaultTableModel( 500, 10 ); report.setDataFactory( new TableDataFactory( "default", model ) ); report.setQueryLimit( 500 ); final AbstractReportProcessor reportProcessor = new DummyReportProcessor( report ); reportProcessor.prepareReportProcessing(); assertEquals( reportProcessor.isQueryLimitReached(), false ); }
public static DataFactory loadAndSaveOnReport( final DataFactory dataFactory ) throws IOException, BundleWriterException, ContentIOException, ResourceException { final MasterReport report = new MasterReport(); report.setDataFactory( dataFactory ); 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(); return r2.getDataFactory(); }
@Test public void testIsQueryLimitReachedForNumberOfRowsGreaterQueryLimit() throws Exception { final MasterReport report = new MasterReport(); final DefaultTableModel model = new DefaultTableModel( 501, 10 ); report.setDataFactory( new TableDataFactory( "default", model ) ); report.setQueryLimit( 500 ); final AbstractReportProcessor reportProcessor = new DummyReportProcessor( report ); reportProcessor.prepareReportProcessing(); assertEquals( reportProcessor.isQueryLimitReached(), true ); }
@Test public void testIsQueryLimitNotReachedForUnlimitedQueryLimit() throws Exception { final MasterReport report = new MasterReport(); final DefaultTableModel model = new DefaultTableModel( 500, 10 ); report.setDataFactory( new TableDataFactory( "default", model ) ); report.setQueryLimit( -1 ); final AbstractReportProcessor reportProcessor = new DummyReportProcessor( report ); reportProcessor.prepareReportProcessing(); assertEquals( reportProcessor.isQueryLimitReached(), false ); }
@Test public void testIsQueryLimitNotReachedForZeroQueryLimit() throws Exception { final MasterReport report = new MasterReport(); final DefaultTableModel model = new DefaultTableModel( 500, 10 ); report.setDataFactory( new TableDataFactory( "default", model ) ); report.setQueryLimit( 0 ); final AbstractReportProcessor reportProcessor = new DummyReportProcessor( report ); reportProcessor.prepareReportProcessing(); assertEquals( reportProcessor.isQueryLimitReached(), false ); }
@Test public void testIsQueryLimitNotReachedForNumberOfRowsLessQueryLimit() throws Exception { final MasterReport report = new MasterReport(); final DefaultTableModel model = new DefaultTableModel( 499, 10 ); report.setDataFactory( new TableDataFactory( "default", model ) ); report.setQueryLimit( 500 ); final AbstractReportProcessor reportProcessor = new DummyReportProcessor( report ); reportProcessor.prepareReportProcessing(); assertEquals( reportProcessor.isQueryLimitReached(), false ); }
protected MasterReport createRelationalReport( final TableModel tableModel, final String... additionalFields ) { final MasterReport report = new MasterReport(); report.setPageDefinition( new SimplePageDefinition( PageSize.A3, PageFormat.LANDSCAPE, new Insets( 0, 0, 0, 0 ) ) ); report.setDataFactory( new TableDataFactory( "query", tableModel ) ); report.setQuery( "query" ); final DesignTimeDataSchemaModel dataSchemaModel = new DesignTimeDataSchemaModel( report ); final RelationalReportBuilder builder = new RelationalReportBuilder( dataSchemaModel ); builder.addGroup( ROW_DIMENSION_A ); builder.addGroup( ROW_DIMENSION_B ); builder.addGroup( COLUMN_DIMENSION_A ); builder.addGroup( COLUMN_DIMENSION_B ); builder.addDetails( VALUE, null, Color.lightGray ); builder.addDetails( "relational", null, Color.yellow ); for ( int i = 0; i < additionalFields.length; i++ ) { String additionalField = additionalFields[i]; builder.addDetails( additionalField, null, null ); } report.setRootGroup( builder.create() ); return report; }
public void testDataFactoryInspection() { CompoundDataFactory cdf = new CompoundDataFactory(); cdf.add( new TableDataFactory( "query1", new DefaultTableModel() ) ); cdf.add( new TableDataFactory( "query2", new DefaultTableModel() ) ); MasterReport report = new MasterReport(); report.setDataFactory( cdf ); final int[] callCount = new int[1]; final TestStructureVisitor v = new TestStructureVisitor( callCount ); v.inspect( report ); assertEquals( 2, callCount[0] ); } }
public void testRunWithInvalidQuery() throws ReportDataFactoryException { final CompoundDataFactory cdf = new CompoundDataFactory(); cdf.add( new TableDataFactory( "query", new DefaultTableModel() ) ); cdf.add( new TableDataFactory( "query", new DefaultTableModel() ) ); final DataFactory tableDataFactory1 = cdf.getReference( 0 ); final DataFactory tableDataFactory2 = cdf.getReference( 1 ); final MasterReport report = new MasterReport(); report.setDataFactory( cdf ); report.setQuery( "default" ); assertFalse( DesignTimeUtil.isSelectedDataSource( report, tableDataFactory2, "query" ) ); assertFalse( DesignTimeUtil.isSelectedDataSource( report, tableDataFactory1, "query" ) ); }
public void testRunWithValidQuery() throws ReportDataFactoryException { final CompoundDataFactory cdf = new CompoundDataFactory(); cdf.add( new TableDataFactory( "query", new DefaultTableModel() ) ); cdf.add( new TableDataFactory( "query", new DefaultTableModel() ) ); final DataFactory tableDataFactory1 = cdf.getReference( 0 ); final DataFactory tableDataFactory2 = cdf.getReference( 1 ); final MasterReport report = new MasterReport(); report.setDataFactory( cdf ); report.setQuery( "query" ); assertFalse( DesignTimeUtil.isSelectedDataSource( report, tableDataFactory2, "query" ) ); assertTrue( DesignTimeUtil.isSelectedDataSource( report, tableDataFactory1, "query" ) ); } }
public void testSelectDefault() throws ReportProcessingException { final DefaultTableModel tableModel = new DefaultTableModel( new String[] { "key", "value" }, 1 ); tableModel.setValueAt( "key-entry", 0, 0 ); tableModel.setValueAt( "value-entry", 0, 1 ); final DefaultListParameter listParameter = new DefaultListParameter( "test", "key", "value", "name", false, true, String.class ); listParameter.setParameterAutoSelectFirstValue( true ); listParameter.setMandatory( true ); final DefaultParameterDefinition definition = new DefaultParameterDefinition(); definition.addParameterDefinition( listParameter ); final MasterReport report = new MasterReport(); report.setParameterDefinition( definition ); report.setDataFactory( new TableDataFactory( "test", tableModel ) ); final DefaultParameterContext paramContext = new DefaultParameterContext( report ); final DefaultReportParameterValidator validator = new DefaultReportParameterValidator(); final ValidationResult result = validator.validate( new ValidationResult(), definition, paramContext ); assertTrue( result.isEmpty() ); } }