public Repository connectRepository( String repositoryName, String username, String password ) throws KettleException { // Verify that the repository exists on the slave server... // RepositoriesMeta repositoriesMeta = new RepositoriesMeta(); repositoriesMeta.getLog().setLogLevel( log.getLogLevel() ); try { repositoriesMeta.readData(); } catch ( Exception e ) { throw new KettleException( "Unable to get a list of repositories to locate repository '" + repositoryName + "'" ); } return connectRepository( repositoriesMeta, repositoryName, username, password ); }
public boolean checkDuplicate( String name ) { return repositoriesMeta.findRepository( name ) != null; }
public RepositoriesMeta clone() { RepositoriesMeta meta = new RepositoriesMeta(); meta.clear(); for ( DatabaseMeta dbMeta : databases ) { meta.addDatabase( dbMeta ); } for ( RepositoryMeta repMeta : repositories ) { meta.addRepository( repMeta.clone() ); } return meta; }
public void removeDatabase( String name ) { int index = repositoriesMeta.indexOfDatabase( repositoriesMeta.searchDatabase( name ) ); if ( index != -1 ) { repositoriesMeta.removeDatabase( index ); } save(); }
public DatabaseMeta searchDatabase( String name ) { for ( int i = 0; i < nrDatabases(); i++ ) { if ( getDatabase( i ).getName().equalsIgnoreCase( name ) ) { return getDatabase( i ); } } return null; }
doReturn( getClass().getResource( "repositories.xml" ).getPath() ).when( repoMeta ).getKettleUserRepositoriesFile(); doReturn( log ).when( repoMeta ).newLogChannel(); repoMeta.readData(); + " <hides_hidden_files>N</hides_hidden_files>" + Const.CR + " </repository> </repositories>" + Const.CR; assertEquals( repositoriesXml, repoMeta.getXML() ); RepositoriesMeta clone = repoMeta.clone(); assertEquals( repositoriesXml, repoMeta.getXML() ); assertNotSame( clone, repoMeta ); assertEquals( 1, repoMeta.nrRepositories() ); RepositoryMeta repository = repoMeta.getRepository( 0 ); assertEquals( "Test Repository", repository.getName() ); assertEquals( "Test Repository Description", repository.getDescription() ); + " <hides_hidden_files>N</hides_hidden_files>" + Const.CR + " </repository>", repository.getXML() ); assertSame( repository, repoMeta.searchRepository( "Test Repository" ) ); assertSame( repository, repoMeta.findRepositoryById( "KettleFileRepository" ) ); assertSame( repository, repoMeta.findRepository( "Test Repository" ) ); assertNull( repoMeta.findRepository( "not found" ) ); assertNull( repoMeta.findRepositoryById( "not found" ) ); assertEquals( 0, repoMeta.indexOfRepository( repository ) ); repoMeta.removeRepository( 0 ); assertEquals( 0, repoMeta.nrRepositories() ); assertNull( repoMeta.searchRepository( "Test Repository" ) ); repoMeta.addRepository( 0, repository ); assertEquals( 1, repoMeta.nrRepositories() );
private Repository openRepository( String repositoryName, String user, String pass ) throws KettleException { if ( Utils.isEmpty( repositoryName ) ) { return null; } RepositoriesMeta repositoriesMeta = new RepositoriesMeta(); repositoriesMeta.readData(); RepositoryMeta repositoryMeta = repositoriesMeta.findRepository( repositoryName ); if ( repositoryMeta == null ) { throw new KettleException( "Unable to find repository: " + repositoryName ); } PluginRegistry registry = PluginRegistry.getInstance(); Repository repository = registry.loadClass( RepositoryPluginType.class, repositoryMeta, Repository.class ); repository.init( repositoryMeta ); repository.connect( user, pass ); return repository; }
RepositoriesMeta reps_info = null; try { reps_info = new RepositoriesMeta(); reps_info.readData(); int nrRepositories = reps_info.nrRepositories(); if ( nrRepositories == 0 ) { displayMsg( BaseMessages.getString( PKG, "System.Dialog.Error.Title" ), BaseMessages.getString( RepositoryMeta ri = reps_info.getRepository( i ); available[i] = ri.getName(); true ); } finally { reps_info.clear();
repositoriesMeta = new RepositoriesMeta(); try { repositoriesMeta.readData(); } catch ( Exception e ) { displayMsg( BaseMessages.getString( PKG, "JobExportRepository.Error.NoRepsDefined" ), BaseMessages repositoriesMeta.findRepository( jobMeta.environmentSubstitute( wRepositoryname.getText() ) ); repositoryMeta = null; repositoriesMeta.clear();
private void connectRep( LogChannelInterface log, String realrepName, String realusername, String realpassword ) throws Exception { this.repsinfo = new RepositoriesMeta(); this.repsinfo.getLog().setLogLevel( log.getLogLevel() ); try { this.repsinfo.readData(); } catch ( Exception e ) { logError( BaseMessages.getString( PKG, "JobExportRepository.Error.NoRep" ) ); throw new Exception( BaseMessages.getString( PKG, "JobExportRepository.Error.NoRep" ) ); } this.repositoryMeta = this.repsinfo.findRepository( realrepName ); if ( this.repositoryMeta == null ) { logError( BaseMessages.getString( PKG, "JobExportRepository.Error.NoRepSystem" ) ); throw new Exception( BaseMessages.getString( PKG, "JobExportRepository.Error.NoRepSystem" ) ); } this.repository = PluginRegistry.getInstance().loadClass( RepositoryPluginType.class, this.repositoryMeta, Repository.class ); this.repository.init( repositoryMeta ); try { this.repository.connect( realusername, realpassword ); } catch ( Exception e ) { logError( BaseMessages.getString( PKG, "JobExportRepository.Error.CanNotConnectRep" ) ); throw new Exception( BaseMessages.getString( PKG, "JobExportRepository.Error.CanNotConnectRep" ), e ); } }
RepositoriesMeta repositoriesMeta = new RepositoriesMeta(); try { repositoriesMeta.readData(); } catch ( Exception e ) { log.error( Messages.getInstance().getString( "RepositorySyncWebService.UNABLE_TO_READ_DATA" ), e ); //$NON-NLS-1$ "RepositorySyncWebService.UNABLE_TO_READ_DATA" ), e ); //$NON-NLS-1$ RepositoryMeta repositoryMeta = repositoriesMeta.findRepository( repositoryId ); if ( repositoryMeta == null ) { try { "RepositorySyncWebService.UNABLE_TO_LOAD_PLUGIN" ) ); //$NON-NLS-1$ repositoriesMeta.addRepository( repositoryMeta ); repositoriesMeta.writeData(); return RepositorySyncStatus.REGISTERED; } catch ( KettleException e ) {
public RepositoriesHelper( RepositoriesModel model, Document document, Shell shell ) { this.props = PropsUI.getInstance(); this.input = new RepositoriesMeta(); this.repository = null; this.model = model; try { try { this.input.readData(); if ( input.getErrorMessage() != null && input.getErrorMessage().length() > 0 ) { throw new KettleException( input.getErrorMessage() ); for ( int i = 0; i < this.input.nrRepositories(); i++ ) { repositoryList.add( this.input.getRepository( i ) );
public RepositoryMeta searchRepository( String name ) { for ( int i = 0; i < nrRepositories(); i++ ) { String repName = getRepository( i ).getName(); if ( repName != null && repName.equalsIgnoreCase( name ) ) { return getRepository( i ); } } return null; }
@Override public Repository connect( String repositoryName ) throws KettleException { RepositoriesMeta repositoriesMeta = new RepositoriesMeta(); boolean singleDiServerInstance = "true".equals( PentahoSystem.getSystemSetting( SINGLE_DI_SERVER_INSTANCE, "true" ) ); //$NON-NLS-1$ //$NON-NLS-2$ repositoriesMeta.readDataFromInputStream( sbis ); } else { repositoriesMeta.readData(); // Read from the default $HOME/.kettle/repositories.xml file. try { if ( singleDiServerInstance ) { repositoryMeta = repositoriesMeta.findRepository( SINGLE_DI_SERVER_INSTANCE ); } else { repositoryMeta = repositoriesMeta.findRepository( repositoryName );
public void render() { repositoriesMeta = new RepositoriesMeta(); try { if ( repositoriesMeta.readData() && repositoriesMeta.nrRepositories() > 0 ) { renderConnectDropdown(); } else { renderConnectButton(); } } catch ( KettleException e ) { log.logError( BaseMessages.getString( "RepositoryConnectMenu.ErrorLoadingRepositories" ), e ); } }
public String getXML() { String retval = ""; retval += "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + Const.CR; retval += "<repositories>" + Const.CR; for ( int i = 0; i < nrDatabases(); i++ ) { DatabaseMeta conn = getDatabase( i ); retval += conn.getXML(); } for ( int i = 0; i < nrRepositories(); i++ ) { RepositoryMeta ri = getRepository( i ); retval += ri.getXML(); } retval += " </repositories>" + Const.CR; return retval; }
@Test public void testNothingToRead() throws Exception { doReturn( "filedoesnotexist.xml" ).when( repoMeta ).getKettleUserRepositoriesFile(); assertTrue( repoMeta.readData() ); assertEquals( 0, repoMeta.nrDatabases() ); assertEquals( 0, repoMeta.nrRepositories() ); }
public boolean clearDefaultRepository() { for ( int i = 0; i < repositoriesMeta.nrRepositories(); i++ ) { repositoriesMeta.getRepository( i ).setDefault( false ); } try { repositoriesMeta.writeData(); } catch ( KettleException ke ) { log.logError( "Unable to set default repository", ke ); return false; } return true; }
public boolean deleteRepository( String name ) { RepositoryMeta repositoryMeta = repositoriesMeta.findRepository( name ); int index = repositoriesMeta.indexOfRepository( repositoryMeta ); if ( index != -1 ) { repositoriesMeta.removeRepository( index ); save(); Spoon spoon = spoonSupplier.get(); Runnable execute = () -> { if ( spoon.getRepositoryName() != null && spoon.getRepositoryName().equals( repositoryMeta.getName() ) ) { spoon.closeRepository(); setConnectedRepository( null ); } fireListeners(); }; if ( spoon.getShell() != null ) { spoon.getShell().getDisplay().asyncExec( execute ); } else { execute.run(); } } return true; }
@Test public void testReadData_closeInput() throws Exception { String repositoriesFile = getClass().getResource( "repositories.xml" ).getPath(); LogChannel log = mock( LogChannel.class ); when( repoMeta.getKettleUserRepositoriesFile() ).thenReturn( repositoriesFile ); when( repoMeta.newLogChannel() ).thenReturn( log ); repoMeta.readData(); RandomAccessFile fos = null; try { File file = new File( repositoriesFile ); if ( file.exists() ) { fos = new RandomAccessFile( file, "rw" ); } } catch ( FileNotFoundException | SecurityException e ) { fail( "the file with properties should be unallocated" ); } finally { if ( fos != null ) { fos.close(); } } }