public static MasterReport loadMasterReport( String sourceFilename ) throws Exception { ResourceManager manager = new ResourceManager(); manager.registerDefaults(); FileObject fileObject = KettleVFS.getFileObject( sourceFilename ); URL url = new URL( fileObject.getName().getURI() ); Resource resource = manager.createDirectly( url, MasterReport.class ); MasterReport report = (MasterReport) resource.getResource(); return report; }
public ResourceManager getResourceManager() { if ( resourceManager == null ) { resourceManager = new ResourceManager(); resourceManager.registerDefaults(); } return resourceManager; }
public ResourceManager( final ResourceManager parent, final ResourceManagerBackend backend ) { if ( backend == null ) { throw new NullPointerException(); } if ( parent == null ) { throw new NullPointerException(); } this.backend = backend; this.bundleCache = parent.getBundleCache(); this.dataCache = parent.getDataCache(); this.factoryCache = parent.getFactoryCache(); registerDefaults(); }
public ResourceManager( final ResourceManagerBackend resourceManagerBackend ) { if ( resourceManagerBackend == null ) { throw new NullPointerException(); } this.backend = resourceManagerBackend; this.bundleCache = new NullResourceBundleDataCache(); this.dataCache = new NullResourceDataCache(); this.factoryCache = new NullResourceFactoryCache(); registerDefaults(); }
try { final ResourceManager mgr = new ResourceManager(); mgr.registerDefaults(); final ResourceKey key = mgr.createKey( target ); final Resource resource = mgr.create( key, null, DatabaseConnectionCollection.class );
public void initialize() { try { final ResourceManager resourceManager = new ResourceManager(); resourceManager.registerDefaults(); final Resource resource = resourceManager.createDirectly( "res://fonts.xml", FontMetricsCollection.class ); this.fontMetricsCollection = (FontMetricsCollection) resource.getResource(); } catch ( ResourceException e ) { throw new IllegalStateException( e ); } }
public static MasterReport parseLocalReport( final String name, Class<?> context ) throws ResourceException { final URL file = context.getResource( name ); if ( file == null ) { throw new ResourceException( "Unable to locate report '" + name + "' near class " + context ); } final ResourceManager mgr = new ResourceManager(); mgr.registerDefaults(); return (MasterReport) mgr.createDirectly( file, MasterReport.class ).getResource(); }
static List<LogicalPageBox> loadPages( String file, int expectedPages ) throws Exception { ResourceManager resourceManager = new ResourceManager(); resourceManager.registerDefaults(); Resource resource = resourceManager .createDirectly( LayoutValidationUtils.class.getResource( "pagination/" + file ), MasterReport.class ); MasterReport report = (MasterReport) resource.getResource(); int[] pages = new int[ expectedPages ]; for ( int i = 0; i < expectedPages; i++ ) { pages[ i ] = i; } return DebugReportRunner.layoutPagesStrict( report, expectedPages, pages ); }
public static MasterReport parseReport( final Object file ) throws ResourceException { final ResourceManager manager = new ResourceManager(); manager.registerDefaults(); final Resource resource = manager.createDirectly( file, MasterReport.class ); return (MasterReport) resource.getResource(); }
public static MasterReport parseGoldenSampleReport( final String name ) throws ResourceException { final File file = GoldTestBase.locateGoldenSampleReport( name ); if ( file == null ) { throw new ResourceException( "Unable to locate report '" + name + "' in the golden samples." ); } final ResourceManager mgr = new ResourceManager(); mgr.registerDefaults(); return (MasterReport) mgr.createDirectly( file, MasterReport.class ).getResource(); }
@Test public void testIsLimitNotReachedForNumberOfRowsEqualQueryLimit() throws Exception { //When data source enforce limit itself // report with 148 rows final URL url = getClass().getResource( "report1.prpt" ); assertNotNull( url ); final ResourceManager resourceManager = new ResourceManager(); resourceManager.registerDefaults(); final Resource directly = resourceManager.createDirectly( url, MasterReport.class ); final MasterReport report = (MasterReport) directly.getResource(); report.setQueryLimit( 148 ); final AbstractReportProcessor reportProcessor = new DummyReportProcessor( report ); reportProcessor.prepareReportProcessing(); assertEquals( reportProcessor.isQueryLimitReached(), false ); }
public static MasterReport saveAndLoad( MasterReport report ) throws Exception { 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 ); return (MasterReport) resource.getResource(); } }
@Test public void testIsLimitNotReachedForNumberOfRowsLessQueryLimit() throws Exception { //When data source enforce limit itself // report with 148 rows final URL url = getClass().getResource( "report1.prpt" ); assertNotNull( url ); final ResourceManager resourceManager = new ResourceManager(); resourceManager.registerDefaults(); final Resource directly = resourceManager.createDirectly( url, MasterReport.class ); final MasterReport report = (MasterReport) directly.getResource(); report.setQueryLimit( 149 ); final AbstractReportProcessor reportProcessor = new DummyReportProcessor( report ); reportProcessor.prepareReportProcessing(); assertEquals( reportProcessor.isQueryLimitReached(), false ); }
@Test public void testIsLimitReachedForNumberOfRowsGreaterQueryLimit() throws Exception { //When data source enforce limit itself // report with 148 rows final URL url = getClass().getResource( "report1.prpt" ); assertNotNull( url ); final ResourceManager resourceManager = new ResourceManager(); resourceManager.registerDefaults(); final Resource directly = resourceManager.createDirectly( url, MasterReport.class ); final MasterReport report = (MasterReport) directly.getResource(); report.setQueryLimit( 147 ); final AbstractReportProcessor reportProcessor = new DummyReportProcessor( report ); reportProcessor.prepareReportProcessing(); assertEquals( reportProcessor.isQueryLimitReached(), true ); }
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(); }
public void testDataSchemaForPlainTables() throws ReportDataFactoryException { final DefaultTableModel model = new DefaultTableModel(); model.addColumn( "Test" ); final ResourceManager mgr = new ResourceManager(); mgr.registerDefaults(); final DataSchemaDefinition schemaDefinition = DataSchemaUtility.parseDefaults( mgr ); final DataSchemaCompiler compiler = new DataSchemaCompiler( schemaDefinition, new DefaultDataAttributeContext(), mgr ); final DataSchema compiledSchema = compiler.compile( model ); final DataAttributes attributes = compiledSchema.getAttributes( "Test" ); assertNotNull( attributes ); assertEquals( "Test", attributes.getMetaAttribute( MetaAttributeNames.Formatting.NAMESPACE, MetaAttributeNames.Formatting.LABEL, String.class, new DefaultDataAttributeContext() ) ); }
} else { final ResourceManager resourceManager = new ResourceManager(); resourceManager.registerDefaults();
public void testCode() throws ReportDataFactoryException { final ResourceManager mgr = new ResourceManager(); mgr.registerDefaults(); final DataSchemaDefinition schemaDef = DataSchemaUtility.parseDefaults( mgr ); final DefaultDataAttributeContext context = new DefaultDataAttributeContext(); final DataSchemaCompiler compiler = new DataSchemaCompiler( schemaDef, context, mgr ); final DataSchema schema = compiler.compile( queryData() ); final DataAttributes number = schema.getAttributes( "number" ); assertEquals( "Label number", number.getMetaAttribute( MetaAttributeNames.Formatting.NAMESPACE, MetaAttributeNames.Formatting.LABEL, String.class, context ) ); assertEquals( "number", number.getMetaAttribute( MetaAttributeNames.Core.NAMESPACE, MetaAttributeNames.Core.NAME, String.class, context ) ); assertEquals( Boolean.TRUE, number.getMetaAttribute( MetaAttributeNames.Style.NAMESPACE, MetaAttributeNames.Style.ITALIC, Boolean.class, context ) ); } }
public void testDataSchemaForPlainIndexTables() throws ReportDataFactoryException { final DefaultTableModel model = new DefaultTableModel(); model.addColumn( "Test" ); model.addColumn( "Test2" ); final ResourceManager mgr = new ResourceManager(); mgr.registerDefaults(); final DataSchemaDefinition schemaDefinition = DataSchemaUtility.parseDefaults( mgr ); final DataSchemaCompiler compiler = new DataSchemaCompiler( schemaDefinition, new DefaultDataAttributeContext(), mgr ); final DataSchema compiledSchema = compiler.compile( new IndexedTableModel( model ) ); final DataAttributes attributes = compiledSchema.getAttributes( "::column::0" ); assertNotNull( attributes ); assertEquals( "Test", attributes.getMetaAttribute( MetaAttributeNames.Formatting.NAMESPACE, MetaAttributeNames.Formatting.LABEL, String.class, new DefaultDataAttributeContext() ) ); final DataAttributes attributes2 = compiledSchema.getAttributes( "::column::1" ); assertNotNull( attributes2 ); assertEquals( "Test2", attributes2.getMetaAttribute( MetaAttributeNames.Formatting.NAMESPACE, MetaAttributeNames.Formatting.LABEL, String.class, new DefaultDataAttributeContext() ) ); } }
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 ); } }