@Override protected DataSource resolveDatabaseConnection( IDatabaseConnection databaseConnection ) throws DBDatasourceServiceException { return PooledDatasourceHelper.convert( databaseConnection ); }
@Override protected DataSource resolveDatabaseConnection( IDatabaseConnection databaseConnection ) throws DBDatasourceServiceException { return PooledDatasourceHelper.setupPooledDataSource( databaseConnection ); } }
public BaseDatasourceService() { cacheManager = getCacheManager(); // if no cache manager implementation is available we'll use the simple one }
@Test public void testStartupIsSetupDataSourceForConnectionNotCalled() throws ObjectFactoryException, DatasourceMgmtServiceException { stubGetListOfDatabaseConnectionsMethod( DatabaseAccessType.NATIVE ); stubIsPortUsedByServerMethod( true ); // to avoid NullPointerException stubAddCacheRegionsMethod(); // call real methods callRealSetupDataSourceForConnection(); callRealStartup(); // calling testing method callStartup(); // check if setupDataSourceForConnection wasn't called isSetupDataSourceForConnectionWasCalled( 0 ); }
@Test public void testStartupJNDINotCalledIsPortUsedByServer() throws ObjectFactoryException, DatasourceMgmtServiceException { stubGetListOfDatabaseConnectionsMethod( DatabaseAccessType.JNDI ); stubIsPortUsedByServerMethod( false ); // to avoid NullPointerException stubAddCacheRegionsMethod(); // call real methods callRealSetupDataSourceForConnection(); callRealStartup(); // calling testing method callStartup(); // check isPortUsedByServer wasn't called verify( nonPooledDatasourceSystemListenerSpy, never() ).isPortUsedByServer( any( IDatabaseConnection.class ) ); }
@Parameterized.Parameters public static Collection services() { return Arrays.asList( new Object[][] { { new JndiDatasourceService(), "test0" }, { new NonPooledOrJndiDatasourceService(), "test1" }, { new PooledOrJndiDatasourceService(), "test2" } } ); }
public static Connection getConnection( String jndiName ) throws DBDatasourceServiceException, SQLException { JndiDatasourceService jndiService = new JndiDatasourceService(); DataSource ds = jndiService.getDataSource( jndiName ); return ds.getConnection(); }
@Parameterized.Parameters public static Collection<Object[]> services() { return Arrays.asList( new Object[][] { { new PooledDatasourceService(), new NonPooledDatasourceService(), "test1" }, { new PooledOrJndiDatasourceService(), new NonPooledOrJndiDatasourceService(), "test3" } } ); }
protected DataSource getJndiDataSource( final String dsName ) throws DBDatasourceServiceException { return PooledDatasourceHelper.getJndiDataSource( dsName ); }
@Override protected DataSource resolveDatabaseConnection( IDatabaseConnection databaseConnection ) throws DBDatasourceServiceException { return databaseConnection.isUsingConnectionPool() ? getPooledDatasourceService().getDataSource( requestedDatasourceName ) : getNonPooledDatasourceService().getDataSource( requestedDatasourceName ); }
@Override protected ICacheManager addCacheRegions( ) { ICacheManager cacheManager = super.addCacheRegions(); if ( !cacheManager.cacheEnabled( IDBDatasourceService.JDBC_POOL ) ) { cacheManager.addCacheRegion( IDBDatasourceService.JDBC_POOL ); } return cacheManager; }
@VisibleForTesting protected DataSource setupDataSourceForConnection( IDatabaseConnection databaseConnection ) { DataSource ds = null; try { ds = getDataSource( databaseConnection ); } catch ( DBDatasourceServiceException e ) { Logger.error( this, "Error retrieving DataSource", e ); } return ds; }
private void callStartup() { nonPooledDatasourceSystemListenerSpy.startup( mock( IPentahoSession.class ) ); }
public DataSource getDataSource( String dsName ) throws DBDatasourceServiceException { DataSource dataSource = null; if ( cacheManager != null ) { if ( !cacheManager.cacheEnabled( IDBDatasourceService.JDBC_DATASOURCE ) ) { cacheManager.addCacheRegion( IDBDatasourceService.JDBC_DATASOURCE ); } Object foundDs = cacheManager.getFromRegionCache( IDBDatasourceService.JDBC_DATASOURCE, dsName ); if ( foundDs != null ) { dataSource = (DataSource) foundDs; } else { dataSource = retrieve( dsName ); } } return dataSource; }
@Before public void init() { mgmtService = mock( IDatasourceMgmtService.class ); connection = mock( IDatabaseConnection.class ); cacheManager = mock( ICacheManager.class ); jndiDataSource = mock( DataSource.class ); databaseConnectionDataSource = mock( DataSource.class ); service = spy( getPreparedService( mgmtService, cacheManager, jndiDataSource, databaseConnectionDataSource ) ); }
@Test public void testStartupIsSetupDataSourceForConnectionCalled() throws ObjectFactoryException, DatasourceMgmtServiceException { stubGetListOfDatabaseConnectionsMethod( DatabaseAccessType.NATIVE ); stubIsPortUsedByServerMethod( false ); // to avoid NullPointerException stubAddCacheRegionsMethod(); // call real methods callRealSetupDataSourceForConnection(); callRealStartup(); // calling testing method callStartup(); // check if setupDataSourceForConnection was called isSetupDataSourceForConnectionWasCalled( 1 ); }
@Parameterized.Parameters public static Collection services() { return Arrays.asList( new Object[][] { { new NonPooledDatasourceService(), "test1" }, { new PooledDatasourceService(), "test2" }, { new PooledOrJndiDatasourceService(), "test3" }, { new NonPooledOrJndiDatasourceService(), "test4" } } ); }
@Override protected DataSource resolveDatabaseConnection( IDatabaseConnection databaseConnection ) throws DBDatasourceServiceException { return PooledDatasourceHelper.convert( databaseConnection ); }
@Override protected DataSource resolveDatabaseConnection( IDatabaseConnection databaseConnection ) throws DBDatasourceServiceException { return PooledDatasourceHelper.setupPooledDataSource( databaseConnection ); }
protected DataSource getDataSource( IDatabaseConnection connection ) throws DBDatasourceServiceException { return PooledDatasourceHelper.convert( connection ); }