@Override public Repository connect( String repositoryName ) throws KettleException { IPentahoSession session = PentahoSessionHolder.getSession(); if ( session == null ) { logger.debug( "No active Pentaho Session, attempting to load PDI repository unauthenticated." ); throw new KettleException( "Attempting to create PDI Repository with no Active PentahoSession. " + "This is not allowed." ); } ICacheManager cacheManager = PentahoSystem.getCacheManager( session ); String sessionName = session.getName(); Repository repository = (Repository) cacheManager.getFromRegionCache( REGION, sessionName ); if ( repository == null ) { logger.debug( "Repository not cached for user: " + sessionName + ". Creating new Repository." ); repository = delegate.connect( repositoryName ); if ( !cacheManager.cacheEnabled( REGION ) ) { cacheManager.addCacheRegion( REGION ); } cacheManager.putInRegionCache( REGION, sessionName, repository ); } else { logger.debug( "Repository was cached for user: " + sessionName ); } return repository; } }
private void putInRegionCacheWasCalled( int wishedTimes ) { verify( ICacheManagerMock, times( wishedTimes ) ).putInRegionCache( eq( IDBDatasourceService.JDBC_DATASOURCE ), anyString(), anyObject() ); }
@Override protected DataSource retrieve( String dsName ) throws DBDatasourceServiceException { DataSource ds; try { ds = getJndiDataSource( dsName ); if ( ds != null ) { cacheManager.putInRegionCache( IDBDatasourceService.JDBC_DATASOURCE, dsName, ds ); } } catch ( DBDatasourceServiceException dse ) { throw new DBDatasourceServiceException( Messages.getInstance().getErrorString( "DatasourceService.ERROR_0003_UNABLE_TO_GET_JNDI_DATASOURCE" ), dse ); //$NON-NLS-1$ } return ds; }
final SpringSecurityRolePrincipal ssRolePrincipal = new SpringSecurityRolePrincipal( tenatedRoleString ); cacheManager.putInRegionCache( ROLE_CACHE_REGION, role, ssRolePrincipal );
@Test public void testRetrieveDatabaseConnection() throws Exception { when( mgmtService.getDatasourceByName( testName ) ).thenReturn( connection ); when( connection.getAccessType() ).thenReturn( DatabaseAccessType.ODBC ); service.retrieve( testName ); verify( service ).resolveDatabaseConnection( connection ); verify( cacheManager ).putInRegionCache( IDBDatasourceService.JDBC_DATASOURCE, testName, databaseConnectionDataSource ); }
@Test public void testRetrieveJNDIConnection_3() throws Exception { service = spy( getPreparedService( mgmtService, cacheManager, null, null ) ); when( mgmtService.getDatasourceByName( testName ) ).thenReturn( connection ); when( connection.getAccessType() ).thenReturn( DatabaseAccessType.JNDI ); service.retrieve( testName ); verify( service, times( 2 ) ).getJndiDataSource( anyString() ); verify( cacheManager, never() ).putInRegionCache( IDBDatasourceService.JDBC_DATASOURCE, testName, jndiDataSource ); }
@Test public void testRetrieveJNDIConnection_1() throws Exception { when( mgmtService.getDatasourceByName( testName ) ).thenReturn( connection ); when( connection.getAccessType() ).thenReturn( DatabaseAccessType.JNDI ); service.retrieve( testName ); verify( service ).getJndiDataSource( testName ); verify( cacheManager ).putInRegionCache( IDBDatasourceService.JDBC_DATASOURCE, testName, jndiDataSource ); }
@Test public void testRetrieveJNDIConnection_2() throws Exception { when( mgmtService.getDatasourceByName( testName ) ).thenReturn( null ); service.retrieve( testName ); verify( service ).getJndiDataSource( testName ); verify( cacheManager ).putInRegionCache( IDBDatasourceService.JDBC_DATASOURCE, testName, jndiDataSource ); }
@Test public void testRetrieveJNDIConnection_4() throws Exception { service = spy( getPreparedService( mgmtService, cacheManager, null, null ) ); when( mgmtService.getDatasourceByName( testName ) ).thenReturn( connection ); when( service.getJndiDataSource( testName ) ).thenThrow( DBDatasourceServiceException.class ).thenCallRealMethod(); when( connection.getAccessType() ).thenReturn( DatabaseAccessType.JNDI ); service.retrieve( testName ); verify( service, times( 2 ) ).getJndiDataSource( anyString() ); verify( cacheManager, never() ).putInRegionCache( IDBDatasourceService.JDBC_DATASOURCE, testName, jndiDataSource ); }
final Principal user = new UserPrincipal( principalName ); if ( cacheManager != null ) { cacheManager.putInRegionCache( USER_CACHE_REGION, principalName, user ); cacheManager.putInRegionCache( ROLE_CACHE_REGION, principalName, roleToCache );
cacheManager.putInRegionCache( LOGICAL_ROLE_BINDINGS_REGION, stringCollectionEntry.getKey(), stringCollectionEntry.getValue() ); cacheManager.putInRegionCache( LOGICAL_ROLE_BINDINGS_REGION, roleId, Collections.emptyList() );
cacheManager.putInRegionCache( LOGICAL_ROLE_BINDINGS_REGION, roleId, logicalRoleNames );
cacheManager.putInRegionCache( IDBDatasourceService.JDBC_POOL, databaseConnection.getName(), pool ); return ( poolingDataSource ); } catch ( Exception e ) {
@Override protected DataSource retrieve( String dsName ) throws DBDatasourceServiceException { DataSource ds = null; try { IDatasourceMgmtService datasourceMgmtSvc = getDatasourceMgmtService(); IDatabaseConnection databaseConnection = datasourceMgmtSvc.getDatasourceByName( dsName ); if ( databaseConnection != null ) { ds = resolveDatabaseConnection( databaseConnection ); if ( ds != null ) { cacheManager.putInRegionCache( IDBDatasourceService.JDBC_DATASOURCE, dsName, ds ); } } else { throw new DBDatasourceServiceException( Messages.getInstance().getErrorString( "DatasourceService.ERROR_0002_UNABLE_TO_GET_DATASOURCE" ) ); //$NON-NLS-1$ } } catch ( DatasourceMgmtServiceException daoe ) { throw new DBDatasourceServiceException( Messages.getInstance().getErrorString( "DatasourceService.ERROR_0002_UNABLE_TO_GET_DATASOURCE" ), daoe ); //$NON-NLS-1$ } return ds; }
cacheManager.putInRegionCache( IDBDatasourceService.JDBC_DATASOURCE, dsName, ds );
cacheManager.putInRegionCache( IDBDatasourceService.JDBC_DATASOURCE, dsName, ds );