private RepositoryFileTree loadRepositoryFileTreeFolders( String path, int depth, boolean includeAcls, boolean showHidden ) { RepositoryRequest repoRequest = new RepositoryRequest(); repoRequest.setDepth( depth ); repoRequest.setIncludeAcls( includeAcls ); repoRequest.setChildNodeFilter( "*" ); repoRequest.setTypes( FILES_TYPE_FILTER.FOLDERS ); repoRequest.setPath( path ); repoRequest.setShowHidden( showHidden ); readWriteLock.readLock().lock(); RepositoryFileTree result; try { result = pur.getTree( repoRequest ); } finally { readWriteLock.readLock().unlock(); } return result; } }
private RepositoryFileTree loadRepositoryFileTree( String path, String filter, int depth, boolean showHidden, boolean includeAcls, FILES_TYPE_FILTER types ) { RepositoryRequest repoRequest = new RepositoryRequest(); repoRequest.setPath( Utils.isEmpty( path ) ? "/" : path ); repoRequest.setChildNodeFilter( filter == null ? "*" : filter ); repoRequest.setDepth( depth ); repoRequest.setShowHidden( showHidden ); repoRequest.setIncludeAcls( includeAcls ); repoRequest.setTypes( types == null ? FILES_TYPE_FILTER.FILES_FOLDERS : types ); readWriteLock.readLock().lock(); RepositoryFileTree fileTree; try { fileTree = pur.getTree( repoRequest ); } finally { readWriteLock.readLock().unlock(); } return fileTree; }
private List<RepositoryFile> getAllURChildrenFiles() { RepositoryRequest repositoryRequest = new RepositoryRequest(); repositoryRequest.setShowHidden( showHidden ); repositoryRequest.setTypes( RepositoryRequest.FILES_TYPE_FILTER.FOLDERS ); repositoryRequest.setPath( this.self.getId().toString() ); List<RepositoryFile> children = repository.getChildren( repositoryRequest ); // Special case: /etc should not be returned from a directory listing. RepositoryFile etcFile = null; if ( this.isRoot() ) { etcFile = repository.getFile( ClientRepositoryPaths.getEtcFolderPath() ); } // Filter for Folders only doesn't appear to work Iterator<RepositoryFile> iterator = children.iterator(); while ( iterator.hasNext() ) { RepositoryFile next = iterator.next(); if ( !next.isFolder() ) { iterator.remove(); } // Special case: /etc should not be returned from a directory listing. if ( this.isRoot() && next.equals( etcFile ) ) { iterator.remove(); } } return children; }
repoRequest.setIncludeAcls( false ); repoRequest.setTypes( FILES_TYPE_FILTER.FILES_FOLDERS ); repoRequest.setPath( path ); repoRequest.setShowHidden( false );
public void populateFilesLazy( RepositoryDirectory repositoryDirectory, String filter ) { RepositoryRequest repositoryRequest = new RepositoryRequest(); repositoryRequest.setPath( repositoryDirectory.getPath() ); repositoryRequest.setDepth( 1 ); repositoryRequest.setShowHidden( true ); repositoryRequest.setTypes( RepositoryRequest.FILES_TYPE_FILTER.FILES ); repositoryRequest.setChildNodeFilter( filter ); RepositoryFileTree tree = getRepository().getUnderlyingRepository().getTree( repositoryRequest ); for ( RepositoryFileTree repositoryFileTree : tree.getChildren() ) { org.pentaho.platform.api.repository2.unified.RepositoryFile repositoryFile = repositoryFileTree.getFile(); RepositoryFile repositoryFile1 = RepositoryFile.build( repositoryDirectory.getPath(), repositoryFile, isAdmin() ); repositoryDirectory.addChild( repositoryFile1 ); } }