private void populateFiles( RepositoryDirectory repositoryDirectory, RepositoryDirectoryInterface repositoryDirectoryInterface, String filter ) throws KettleException { if ( getRepository() instanceof RepositoryExtended && !repositoryDirectory.getPath().equals( "/" ) ) { populateFilesLazy( repositoryDirectory, filter ); } else { Date latestDate = null; for ( RepositoryObjectInterface repositoryObject : getRepositoryElements( repositoryDirectoryInterface ) ) { org.pentaho.di.repository.RepositoryObject ro = (org.pentaho.di.repository.RepositoryObject) repositoryObject; String extension = ro.getObjectType().getExtension(); if ( !Util.isFiltered( extension, filter ) ) { RepositoryFile repositoryFile = RepositoryFile.build( ro ); repositoryDirectory.addChild( repositoryFile ); } if ( latestDate == null || ro.getModifiedDate().after( latestDate ) ) { latestDate = ro.getModifiedDate(); } } repositoryDirectory.setDate( latestDate ); } }
public static RepositoryFile build( org.pentaho.di.repository.RepositoryObject repositoryObject ) { RepositoryFile repositoryFile = new RepositoryFile(); repositoryFile.setObjectId( repositoryObject.getObjectId() ); repositoryFile.setName( repositoryObject.getName() ); repositoryFile.setType( repositoryObject.getObjectType().getTypeDescription() ); repositoryFile.setExtension( repositoryObject.getObjectType().getExtension() ); repositoryFile.setDate( repositoryObject.getModifiedDate() ); repositoryFile.setPath( repositoryObject.getRepositoryDirectory().getPath() ); return repositoryFile; }