Package org.pentaho.database.model

Examples of org.pentaho.database.model.IDatabaseConnection


  @Test
  public void testEverything() throws Exception {
    String id = adapter.createDatasource( createDatabaseConnection( "testDatabase" ) );
    assertNotNull( id );
    IDatabaseConnection databaseConnection = adapter.getDatasourceByName( "testDatabase" );
    assertNotNull( databaseConnection );
    assertEquals( EXP_DBMETA_HOSTNAME, databaseConnection.getHostname() );
    IDatabaseConnection databaseConnection1 = adapter.getDatasourceById( id );
    assertEquals( EXP_DBMETA_HOSTNAME, databaseConnection.getHostname() );
    String id1 = adapter.createDatasource( createDatabaseConnection( "testDatabase1" ) );
    assertNotNull( id1 );
    IDatabaseConnection databaseConnection2 = adapter.getDatasourceByName( "testDatabase1" );
    assertNotNull( databaseConnection2 );
    assertEquals( EXP_DBMETA_HOSTNAME, databaseConnection1.getHostname() );
    IDatabaseConnection databaseConnection3 = adapter.getDatasourceById( id1 );
    assertEquals( EXP_DBMETA_HOSTNAME, databaseConnection1.getHostname() );
    List<IDatabaseConnection> databaseConnections = adapter.getDatasources();
    assertEquals( 2, databaseConnections.size() );
    List<String> ids = adapter.getDatasourceIds();
    assertEquals( 2, ids.size() );
    updateDatabaseConnection( databaseConnection );
    String id2 = adapter.updateDatasourceByName( "testDatabase", databaseConnection );
    assertNotNull( id2 );
    IDatabaseConnection updatedDatabaseConnection = adapter.getDatasourceByName( "testDatabase" );
    String id3 = adapter.updateDatasourceById( id, databaseConnection );
    assertNotNull( id3 );
    updatedDatabaseConnection = adapter.getDatasourceById( id3 );
    assertNotNull( updatedDatabaseConnection );
    assertEquals( EXP_UPDATED_DBMETA_HOSTNAME, databaseConnection.getHostname() );

    String id4 = adapter.createDatasource( createDatabaseConnection( "testDatabase3" ) );
    assertNotNull( id4 );
    adapter.deleteDatasourceByName( "testDatabase3" );
    IDatabaseConnection deletedDatabaseConnection = adapter.getDatasourceByName( "testDatabase3" );
    assertNull( deletedDatabaseConnection );
    IDatabaseConnection deletedDatabaseConnection111 = adapter.getDatasourceById( id4 );
    assertNull( deletedDatabaseConnection111 );

    String id5 = adapter.createDatasource( createDatabaseConnection( "testDatabase4" ) );
    assertNotNull( id5 );
    adapter.deleteDatasourceById( id5 );
    IDatabaseConnection deletedDatabaseConnection11 = adapter.getDatasourceByName( "testDatabase4" );
    assertNull( deletedDatabaseConnection11 );
    IDatabaseConnection deletedDatabaseConnection1 = adapter.getDatasourceById( id5 );
    assertNull( deletedDatabaseConnection1 );
  }
View Full Code Here


    doReturn( reservedChars ).when( repo ).getReservedChars();

    IDatasourceMgmtService datasourceMgmtService =
        new JcrBackedDatasourceMgmtService( repo, new DatabaseDialectService() );

    IDatabaseConnection databaseConnection = createDatabaseConnection( EXP_DBMETA_NAME );
    datasourceMgmtService.createDatasource( databaseConnection );

    verify( repo ).createFile( eq( parentFolderId ),
        argThat( isLikeFile( new RepositoryFile.Builder( EXP_DBMETA_NAME + ".kdb" ).build() ) ),
        argThat( hasData( pathPropertyPair( "/databaseMeta/HOST_NAME", EXP_DBMETA_HOSTNAME ) ) ), anyString() );
View Full Code Here

    doReturn( f ).when( repo )
        .updateFile( any( RepositoryFile.class ), any( NodeRepositoryFileData.class ), anyString() );
    IDatasourceMgmtService datasourceMgmtService =
        new JcrBackedDatasourceMgmtService( repo, new DatabaseDialectService() );

    IDatabaseConnection databaseConnection = createDatabaseConnection( EXP_DBMETA_NAME );
    updateDatabaseConnection( databaseConnection );
    datasourceMgmtService.updateDatasourceByName( EXP_DBMETA_NAME, databaseConnection );

    verify( repo ).updateFile( argThat( isLikeFile( new RepositoryFile.Builder( EXP_DBMETA_NAME + ".kdb" ).build() ) ),
        argThat( hasData( pathPropertyPair( "/databaseMeta/HOST_NAME", EXP_UPDATED_DBMETA_HOSTNAME ) ) ), anyString() );
View Full Code Here

    doReturn( new NodeRepositoryFileData( rootNode ) ).when( repo ).getDataForRead( eq( fileId ),
        eq( NodeRepositoryFileData.class ) );

    IDatasourceMgmtService datasourceMgmtService =
        new JcrBackedDatasourceMgmtService( repo, new DatabaseDialectService() );
    IDatabaseConnection conn = datasourceMgmtService.getDatasourceByName( EXP_DBMETA_NAME );

    assertEquals( EXP_HOST_NAME, conn.getHostname() );
  }
View Full Code Here

    assertEquals( EXP_HOST_NAME, conn.getHostname() );
  }

  private IDatabaseConnection createDatabaseConnection( final String dbName ) throws Exception {
    IDatabaseConnection dbConnection = new DatabaseConnection();
    dbConnection.setName( dbName );
    dbConnection.setHostname( EXP_DBMETA_HOSTNAME );
    dbConnection.setDatabaseType( mockDatabaseType( "Hypersonic" ) );
    dbConnection.setAccessType( DatabaseAccessType.NATIVE );
    dbConnection.setDatabasePort( EXP_DBMETA_PORT );
    return dbConnection;
  }
View Full Code Here

    IDatabaseConnection deletedDatabaseConnection1 = adapter.getDatasourceById( id5 );
    assertNull( deletedDatabaseConnection1 );
  }

  private IDatabaseConnection createDatabaseConnection( final String dbName ) throws Exception {
    IDatabaseConnection dbConnection = new DatabaseConnection();
    dbConnection.setName( dbName );
    dbConnection.setHostname( EXP_DBMETA_HOSTNAME );
    dbConnection.setDatabaseType( mockDatabaseType( "Hypersonic" ) );
    dbConnection.setAccessType( DatabaseAccessType.NATIVE );
    dbConnection.setDatabasePort( EXP_DBMETA_PORT );
    return dbConnection;
  }
View Full Code Here

      List<org.pentaho.database.model.DatabaseConnection> datasourceList = manifest.getDatasourceList();
      if ( datasourceList != null ) {
        IDatasourceMgmtService datasourceMgmtSvc = PentahoSystem.get( IDatasourceMgmtService.class );
        for ( org.pentaho.database.model.DatabaseConnection databaseConnection : datasourceList ) {
          try {
            IDatabaseConnection existingDBConnection =
                datasourceMgmtSvc.getDatasourceByName( databaseConnection.getName() );
            if ( existingDBConnection != null && existingDBConnection.getName() != null ) {
              databaseConnection.setId( existingDBConnection.getId() );
              datasourceMgmtSvc.updateDatasourceByName( databaseConnection.getName(), databaseConnection );
            } else {
              datasourceMgmtSvc.createDatasource( databaseConnection );
            }
          } catch ( Exception e ) {
View Full Code Here

    return rootNode;
  }

  public IDatabaseConnection databaseMetaToDatabaseConnection( final DatabaseMeta databaseMeta) {
   
    IDatabaseConnection databaseConnection = new DatabaseConnection();
    databaseConnection.setDatabaseType( databaseTypeHelper
        .getDatabaseTypeByShortName( databaseMeta.getDatabaseTypeDesc() ));
    databaseConnection.setName( databaseMeta.getName() );
    if ( databaseMeta.getObjectId() != null ) {
      databaseConnection.setId( databaseMeta.getObjectId().getId() );
    }
    String accessType = databaseMeta.getAccessTypeDesc();

    // This is a special case with some PDI connections
    if(accessType != null && accessType.contains( "Native")) {
      accessType = DatabaseAccessType.NATIVE.getName();
    } else if(accessType != null && accessType.equals(", ")) {
      accessType = DatabaseAccessType.JNDI.getName();
    }
   
    databaseConnection.setAccessType( accessType != null
      ? DatabaseAccessType.getAccessTypeByName( accessType ) : null );
    databaseConnection.setHostname(databaseMeta.getHostname() );
    databaseConnection.setDatabaseName( databaseMeta.getDatabaseName() );
    databaseConnection.setDatabasePort( databaseMeta.getDatabasePortNumberString() );
    databaseConnection.setUsername( databaseMeta.getUsername() );
    databaseConnection.setPassword( databaseMeta.getPassword() );
    databaseConnection.setInformixServername( databaseMeta.getServername() );
    databaseConnection.setDataTablespace( databaseMeta.getDataTablespace() );
    databaseConnection.setIndexTablespace( databaseMeta.getIndexTablespace() );
    databaseConnection.setConnectSql( databaseMeta.getConnectSQL() );
    databaseConnection.setInitialPoolSize( databaseMeta.getInitialPoolSize() );
    databaseConnection.setMaximumPoolSize( databaseMeta.getMaximumPoolSize() );
    databaseConnection.setUsingConnectionPool( databaseMeta.isUsingConnectionPool() );
    databaseConnection.setForcingIdentifiersToLowerCase( databaseMeta.isForcingIdentifiersToLowerCase() );
    databaseConnection.setForcingIdentifiersToUpperCase( databaseMeta.isForcingIdentifiersToUpperCase() );
    databaseConnection.setQuoteAllFields( databaseMeta.isQuoteAllFields() );
    databaseConnection.setUsingDoubleDecimalAsSchemaTableSeparator( databaseMeta.isUsingDoubleDecimalAsSchemaTableSeparator() );
   
    Map<String,String> attributeMap = new HashMap<String, String>();
   
    for(Entry<Object, Object> entry:databaseMeta.getAttributes().entrySet()) {
      attributeMap.put( (String)entry.getKey(), (String)entry.getValue() );
    }
    databaseConnection.setAttributes(attributeMap);
   
    Map<String,String> connectionPoolingMap = new HashMap<String, String>();
    for(Entry<Object, Object> entry:databaseMeta.getConnectionPoolingProperties().entrySet()) {
      connectionPoolingMap.put( (String)entry.getKey(), (String)entry.getValue() );
    }
    databaseConnection.setConnectionPoolingProperties(connectionPoolingMap);
   
    databaseConnection.setExtraOptions(databaseMeta.getExtraOptions());

    return databaseConnection;

  }
View Full Code Here

  }
 
  public IDatabaseConnection dataNodeToDatabaseConnection( final Serializable id, final String name,
      final DataNode rootNode ) {
    IDatabaseConnection databaseConnection = new DatabaseConnection();
    String databaseType = getString( rootNode, PROP_TYPE );
    databaseConnection.setDatabaseType( databaseType != null ? databaseTypeHelper
        .getDatabaseTypeByShortName( databaseType ) : null );
    databaseConnection.setName( name );
    if ( id != null ) {
      databaseConnection.setId( id.toString() );
    }
    String accessType = getString( rootNode, PROP_CONTYPE );

    // This is a special case with some PDI connections
    if(accessType != null && accessType.contains( "Native")) {
      accessType = DatabaseAccessType.NATIVE.getName();
    } else if(accessType != null && accessType.equals(", ")) {
      accessType = DatabaseAccessType.JNDI.getName();
    }
   
    databaseConnection.setAccessType( accessType != null
      ? DatabaseAccessType.getAccessTypeByName( accessType ) : null );
    databaseConnection.setHostname( getString( rootNode, PROP_HOST_NAME ) );
    databaseConnection.setDatabaseName( getString( rootNode, PROP_DATABASE_NAME ) );
    databaseConnection.setDatabasePort( getString( rootNode, PROP_PORT ) );
    databaseConnection.setUsername( getString( rootNode, PROP_USERNAME ) );
    databaseConnection.setPassword( Encr.decryptPasswordOptionallyEncrypted(getString(rootNode, PROP_PASSWORD)));
    databaseConnection.setInformixServername( getString( rootNode, PROP_SERVERNAME ) );
    databaseConnection.setDataTablespace( getString( rootNode, PROP_DATA_TBS ) );
    databaseConnection.setIndexTablespace( getString( rootNode, PROP_INDEX_TBS ) );
    databaseConnection.setConnectSql( getString( rootNode, PROP_CONNECT_SQL ) );
    databaseConnection.setInitialPoolSize( getInt( rootNode, PROP_INITIAL_POOL_SIZE ) );
    databaseConnection.setMaximumPoolSize( getInt( rootNode, PROP_MAX_POOL_SIZE ) );
    databaseConnection.setUsingConnectionPool( getBoolean( rootNode, PROP_IS_POOLING ) );
    databaseConnection.setForcingIdentifiersToLowerCase( getBoolean( rootNode, PROP_IS_FORCING_TO_LOWER ) );
    databaseConnection.setForcingIdentifiersToUpperCase( getBoolean( rootNode, PROP_IS_FORCING_TO_UPPER ) );
    databaseConnection.setQuoteAllFields( getBoolean( rootNode, PROP_IS_QUOTE_FIELDS ) );
    databaseConnection.setUsingDoubleDecimalAsSchemaTableSeparator( getBoolean( rootNode, PROP_IS_DECIMAL_SEPERATOR ) );

    // Also, load all the properties we can find...
    DataNode attrNode = rootNode.getNode( NODE_ATTRIBUTES );
    if ( attrNode != null ) {
      for ( DataProperty property : attrNode.getProperties() ) {
        String code = property.getName();
        String attribute = property.getString();
        databaseConnection.getAttributes()
            .put( code, ( attribute == null || attribute.length() == 0 ) ? "" : attribute ); //$NON-NLS-1$
      }
    }

    // Also, load any pooling params
    attrNode = rootNode.getNode( NODE_POOLING_PROPS );
    if ( attrNode != null ) {
      for ( DataProperty property : attrNode.getProperties() ) {
        String code = property.getName();
        String attribute = property.getString();
        databaseConnection.getConnectionPoolingProperties().put( code,
            ( attribute == null || attribute.length() == 0 ) ? "" : attribute ); //$NON-NLS-1$
      }
    }

    // Load extra options
    attrNode = rootNode.getNode( NODE_EXTRA_OPTIONS );
    if ( attrNode != null ) {
      for ( DataProperty property : attrNode.getProperties() ) {
        String code = property.getName();
        String attribute = property.getString();
        databaseConnection.getExtraOptions().put( code,
            ( attribute == null || attribute.length() == 0 ) ? "" : attribute ); //$NON-NLS-1$
      }
    }

    return databaseConnection;
View Full Code Here

  private IDatabaseConnection getDatasource( RepositoryFile file ) throws DatasourceMgmtServiceException {
    try {
      if ( file != null ) {
        NodeRepositoryFileData data = repository.getDataForRead( file.getId(), NodeRepositoryFileData.class );
        IDatabaseConnection databaseConnection =
            databaseHelper.dataNodeToDatabaseConnection( file.getId(), file.getTitle(), data.getNode() );
        // IPasswordService passwordService = PentahoSystem.get(IPasswordService.class,
        // PentahoSessionHolder.getSession());
        // databaseMeta.setPassword(passwordService.decrypt(databaseMeta.getPassword()));
        return databaseConnection;
View Full Code Here

TOP

Related Classes of org.pentaho.database.model.IDatabaseConnection

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.