private static void getAllTransformations( RepositoryDirectoryInterface repositoryObject, List<RepositoryElementMetaInterface> objectsTransformations ) throws KettleException { //test if has sub-directories if ( repositoryObject.getChildren() != null && repositoryObject.getChildren().size() > 0 ) { for ( RepositoryDirectoryInterface subDirectory : repositoryObject.getChildren() ) { getAllTransformations( subDirectory, objectsTransformations ); } } //getting all the transformations repositoryObject.getRepositoryObjects().stream() .filter( e -> RepositoryObjectType.TRANSFORMATION.equals( e.getObjectType() ) ) .forEach( objectsTransformations::add ); }
private RepositoryDirectoryInterface copyFrom( RepositoryDirectoryInterface folders, RepositoryDirectoryInterface withFiles ) { if ( folders.getName().equals( withFiles.getName() ) ) { for ( RepositoryDirectoryInterface dir2 : withFiles.getChildren() ) { for ( RepositoryDirectoryInterface dir1 : folders.getChildren() ) { copyFrom( dir1, dir2 ); } } folders.setRepositoryObjects( withFiles.getRepositoryObjects() ); } return folders; }
private List<RepositoryElementMetaInterface> getRepositoryObjects( RepositoryDirectoryInterface directory, String nameMask, String excludeNameMask ) throws KettleException { List<RepositoryElementMetaInterface> list = new ArrayList<RepositoryElementMetaInterface>(); if ( directory.getRepositoryObjects() != null ) { for ( RepositoryElementMetaInterface object : directory.getRepositoryObjects() ) { boolean add = false; if ( Utils.isEmpty( nameMask ) || object.getName().matches( nameMask ) ) { add = true; } if ( !Utils.isEmpty( excludeNameMask ) && object.getName().matches( excludeNameMask ) ) { add = false; } if ( add ) { list.add( object ); } } } if ( directory.getChildren() != null ) { for ( RepositoryDirectoryInterface subdir : directory.getChildren() ) { list.addAll( getRepositoryObjects( subdir, nameMask, excludeNameMask ) ); } } return list; }
private List<RepositoryElementMetaInterface> getRepositoryObjects( Repository repository, RepositoryDirectoryInterface directory, boolean subdirs, String nameMask, String excludeNameMask ) throws KettleException { List<RepositoryElementMetaInterface> list = new ArrayList<RepositoryElementMetaInterface>(); List<RepositoryElementMetaInterface> objects = new ArrayList<RepositoryElementMetaInterface>(); if ( meta.getObjectTypeSelection().areTransformationsSelected() ) { objects.addAll( repository.getTransformationObjects( directory.getObjectId(), false ) ); } if ( meta.getObjectTypeSelection().areJobsSelected() ) { objects.addAll( repository.getJobObjects( directory.getObjectId(), false ) ); } for ( RepositoryElementMetaInterface object : objects ) { boolean add = false; if ( Utils.isEmpty( nameMask ) || object.getName().matches( nameMask ) ) { add = true; } if ( !Utils.isEmpty( excludeNameMask ) && object.getName().matches( excludeNameMask ) ) { add = false; } if ( add ) { list.add( object ); } } if ( subdirs ) { for ( RepositoryDirectoryInterface child : directory.getChildren() ) { list.addAll( getRepositoryObjects( repository, child, subdirs, nameMask, excludeNameMask ) ); } } return list; }
public void populateChildren() { if ( kidDirectoryCache == null || !populated ) { kidDirectoryCache = new UIRepositoryDirectories(); } for ( RepositoryDirectoryInterface child : rd.getChildren() ) { try { kidDirectoryCache.add( UIObjectRegistry.getInstance().constructUIRepositoryDirectory( child, this, rep ) ); } catch ( UIObjectCreationException e ) { kidDirectoryCache.add( new UIRepositoryDirectory( child, this, rep ) ); } } populated = true; }
private void populateFolders( RepositoryDirectory repositoryDirectory, RepositoryDirectoryInterface repositoryDirectoryInterface ) { if ( getRepository() instanceof RepositoryExtended ) { populateFoldersLazy( repositoryDirectory ); } else { List<RepositoryDirectoryInterface> children = repositoryDirectoryInterface.getChildren(); repositoryDirectory.setHasChildren( !Utils.isEmpty( children ) ); if ( !Utils.isEmpty( children ) ) { for ( RepositoryDirectoryInterface child : children ) { repositoryDirectory.addChild( RepositoryDirectory.build( repositoryDirectory.getPath(), child ) ); } } } }
parentDirectory.setChildren( refreshedParentDir.getChildren() ); String[] path = Const.splitPath( directoryPath, RepositoryDirectory.DIRECTORY_SEPARATOR );
List<RepositoryDirectoryInterface> children = dir.getChildren(); Collections.sort( children, new Comparator<RepositoryDirectoryInterface>() { @Override
private synchronized void deleteDirectoryRecursively( RepositoryDirectoryInterface dir ) throws KettleException { String[] trans = repository.getTransformationNames( dir.getObjectId(), false ); // TODO : include or exclude deleted // objects? String[] jobs = repository.getJobNames( dir.getObjectId(), false ); // TODO : include or exclude deleted objects? for ( String transformation : trans ) { ObjectId id = repository.getTransformationID( transformation, dir ); repository.deleteTransformation( id ); } for ( String job : jobs ) { ObjectId id = repository.getJobId( job, dir ); repository.deleteJob( id ); } for ( RepositoryDirectoryInterface subDir : dir.getChildren() ) { deleteDirectoryRecursively( subDir ); } repository.directoryDelegate.deleteDirectory( dir.getObjectId() ); }