private boolean checkContainsFile( String realSourceDirectoryOrFile, FileObject[] filelist, boolean isDirectory ) throws FileSystemException { boolean retval = false; for ( int i = 0; i < filelist.length; i++ ) { FileObject file = filelist[i]; if ( ( file.exists() && file.getType().equals( FileType.FILE ) ) ) { retval = true; } } return retval; }
public boolean includeFile( FileSelectInfo info ) { FileObject fileObject = info.getFile(); try { if ( fileObject == null ) { return false; } if ( fileObject.getType() != FileType.FILE ) { return false; } } catch ( Exception ex ) { // Upon error don't process the file. return false; } finally { if ( fileObject != null ) { try { fileObject.close(); } catch ( IOException ex ) { /* Ignore */ } } } return true; } } );
public boolean includeFile( FileSelectInfo info ) { FileObject fileObject = info.getFile(); try { if ( fileObject == null ) { return false; } if ( fileObject.getType() != FileType.FILE ) { return false; } } catch ( Exception ex ) { // Upon error don't process the file. return false; } finally { if ( fileObject != null ) { try { fileObject.close(); } catch ( IOException ex ) { /* Ignore */ } } } return true; } } );
public boolean includeFile( FileSelectInfo info ) { FileObject fileObject = info.getFile(); try { if ( fileObject == null ) { return false; } if ( fileObject.getType() != FileType.FILE ) { return false; } } catch ( Exception ex ) { // Upon error don't process the file. return false; } finally { if ( fileObject != null ) { try { fileObject.close(); } catch ( IOException ex ) { /* Ignore */ } } } return true; } } );
if ( ( info.getFile().getType() == FileType.FILE && compareonly.equals( "only_files" ) ) || ( info.getFile().getType() == FileType.FOLDER && compareonly.equals( "only_folders" ) ) || ( GetFileWildcard( short_filename ) && compareonly.equals( "specify" ) ) || ( compareonly.equals( "all" ) ) ) { if ( ( info.getFile().getType() == FileType.FILE && compareonly.equals( "only_files" ) ) || ( info.getFile().getType() == FileType.FOLDER && compareonly.equals( "only_folders" ) ) || ( GetFileWildcard( short_filename ) && compareonly.equals( "specify" ) ) || ( compareonly.equals( "all" ) ) ) {
@Override public boolean includeFile( FileSelectInfo info ) { // Never return the parent directory of a file list. if ( info.getDepth() == 0 ) { return false; } FileObject fileObject = info.getFile(); try { if ( fileObject != null && filter.isFileTypeAllowed( fileObject.getType() ) ) { return true; } return false; } catch ( IOException ex ) { // Upon error don't process the file. return false; } } } );
@Before public void init() throws FileSystemException { fileSelectInfoMock = Mockito.mock( FileSelectInfo.class ); fileSelector = new JobEntryZipFile .ZipJobEntryPatternFileSelector( Pattern.compile( PATTERN ), Pattern.compile( EXCLUDE_PATTERN ) ); fileObjectMock = Mockito.mock( FileObject.class ); fileNameMock = Mockito.mock( FileName.class ); Mockito.when( fileSelectInfoMock.getFile() ).thenReturn( fileObjectMock ); Mockito.when( fileObjectMock.getType() ).thenReturn( FileType.FILE ); Mockito.when( fileObjectMock.getName() ).thenReturn( fileNameMock ); Mockito.when( fileNameMock.getBaseName() ).thenReturn( PATTERN_FILE_NAME ); }
public boolean includeFile( FileSelectInfo fileInfo ) throws Exception { boolean include; // Only include files in the sub-folders... // When we include sub-folders we match the whole filename, not just the base-name // if ( fileInfo.getFile().getType().equals( FileType.FILE ) ) { include = true; if ( pattern != null ) { String name = fileInfo.getFile().getName().getBaseName(); include = pattern.matcher( name ).matches(); } if ( include && patternExclude != null ) { String name = fileInfo.getFile().getName().getBaseName(); include = !patternExclude.matcher( name ).matches(); } } else { include = false; } return include; } }
public boolean includeFile( FileSelectInfo info ) { boolean returncode = false; try { if ( !info.getFile().toString().equals( sourceFolder ) ) { // Pass over the Base folder itself String short_filename = info.getFile().getName().getBaseName(); if ( info.getFile().getParent().equals( info.getBaseFolder() ) || ( !info.getFile().getParent().equals( info.getBaseFolder() ) && includeSubfolders ) ) { if ( ( info.getFile().getType() == FileType.FILE && fileWildcard == null ) || ( info.getFile().getType() == FileType.FILE && fileWildcard != null && GetFileWildcard( short_filename, fileWildcard ) ) ) { returncode = true; } } } } catch ( Exception e ) { logError( "Error while finding files ... in [" + info.getFile().toString() + "]. Exception :" + e.getMessage() ); returncode = false; } return returncode; }
@Override public String[] getJobNames( ObjectId id_directory, boolean includeDeleted ) throws KettleException { try { List<String> list = new ArrayList<String>(); RepositoryDirectoryInterface tree = loadRepositoryDirectoryTree(); RepositoryDirectoryInterface directory = tree.findDirectory( id_directory ); String folderName = calcDirectoryName( directory ); FileObject folder = KettleVFS.getFileObject( folderName ); for ( FileObject child : folder.getChildren() ) { if ( child.getType().equals( FileType.FILE ) ) { if ( !child.isHidden() || !repositoryMeta.isHidingHiddenFiles() ) { String name = child.getName().getBaseName(); if ( name.endsWith( EXT_JOB ) ) { String jobName = name.substring( 0, name.length() - 4 ); list.add( jobName ); } } } } return list.toArray( new String[list.size()] ); } catch ( Exception e ) { throw new KettleException( "Unable to get list of transformations names in folder with id : " + id_directory, e ); } }
@Override public String[] getTransformationNames( ObjectId id_directory, boolean includeDeleted ) throws KettleException { try { List<String> list = new ArrayList<String>(); RepositoryDirectoryInterface tree = loadRepositoryDirectoryTree(); RepositoryDirectoryInterface directory = tree.findDirectory( id_directory ); String folderName = calcDirectoryName( directory ); FileObject folder = KettleVFS.getFileObject( folderName ); for ( FileObject child : folder.getChildren() ) { if ( child.getType().equals( FileType.FILE ) ) { if ( !child.isHidden() || !repositoryMeta.isHidingHiddenFiles() ) { String name = child.getName().getBaseName(); if ( name.endsWith( EXT_TRANSFORMATION ) ) { String transName = name.substring( 0, name.length() - 4 ); list.add( transName ); } } } } return list.toArray( new String[list.size()] ); } catch ( Exception e ) { throw new KettleException( "Unable to get list of transformations names in folder with id : " + id_directory, e ); } }
@Test public void testDifferentFileType() throws Exception { Mockito.when( fileObjectMock.getType() ).thenReturn( FileType.IMAGINARY ); boolean includeFile = fileSelector.includeFile( fileSelectInfoMock ); Assert.assertFalse( includeFile ); } }
private ObjectId[] getRootObjectIDs( String extension ) throws KettleException { try { // Get all the files in the root directory with a certain extension... // List<ObjectId> list = new ArrayList<ObjectId>(); String folderName = repositoryMeta.getBaseDirectory(); FileObject folder = KettleVFS.getFileObject( folderName ); for ( FileObject child : folder.getChildren() ) { if ( child.getType().equals( FileType.FILE ) ) { if ( !child.isHidden() || !repositoryMeta.isHidingHiddenFiles() ) { String name = child.getName().getBaseName(); if ( name.endsWith( extension ) ) { list.add( new StringObjectId( name ) ); } } } } return list.toArray( new ObjectId[list.size()] ); } catch ( Exception e ) { throw new KettleException( "Unable to get root object ids for extension [" + extension + "]", e ); } }
public boolean includeFile( FileSelectInfo info ) { boolean returncode = false; try { if ( !info.getFile().toString().equals( sourceFolder ) ) { // Pass over the Base folder itself String short_filename = info.getFile().getName().getBaseName(); if ( info.getFile().getParent().equals( info.getBaseFolder() ) || ( ( !info.getFile().getParent().equals( info.getBaseFolder() ) && meta.isIncludeSubFolders() ) ) ) { if ( ( info.getFile().getType() == FileType.FILE && fileWildcard == null ) || ( info.getFile().getType() == FileType.FILE && fileWildcard != null && GetFileWildcard( short_filename, fileWildcard ) ) ) { returncode = true; } } } } catch ( Exception e ) { logError( BaseMessages.getString( PKG, "Mail.Error.FindingFiles", info.getFile().toString(), e .getMessage() ) ); returncode = false; } return returncode; }
@Override public boolean includeFile( FileSelectInfo info ) { // Never return the parent directory of a file list. if ( info.getDepth() == 0 ) { return false; } FileObject fileObject = info.getFile(); try { if ( fileObject != null && filter.isFileTypeAllowed( fileObject.getType() ) ) { String name = info.getFile().getName().getBaseName(); boolean matches = true; if ( !Utils.isEmpty( onemask ) ) { matches = Pattern.matches( onemask, name ); } boolean excludematches = false; if ( !Utils.isEmpty( excludeonemask ) ) { excludematches = Pattern.matches( excludeonemask, name ); } return ( matches && !excludematches ); } return false; } catch ( IOException ex ) { // Upon error don't process the file. return false; } } } );
@Override public List<RepositoryElementMetaInterface> getTransformationObjects( ObjectId idDirectory, boolean includeDeleted ) throws KettleException { try { List<RepositoryElementMetaInterface> list = new ArrayList<RepositoryElementMetaInterface>(); RepositoryDirectoryInterface tree = loadRepositoryDirectoryTree(); RepositoryDirectoryInterface directory = tree.findDirectory( idDirectory ); String folderName = calcDirectoryName( directory ); FileObject folder = KettleVFS.getFileObject( folderName ); for ( FileObject child : folder.getChildren() ) { if ( child.getType().equals( FileType.FILE ) ) { if ( !child.isHidden() || !repositoryMeta.isHidingHiddenFiles() ) { String name = child.getName().getBaseName(); if ( name.endsWith( EXT_TRANSFORMATION ) ) { String transName = name.substring( 0, name.length() - 4 ); ObjectId id = new StringObjectId( calcObjectId( directory, transName, EXT_TRANSFORMATION ) ); Date date = new Date( child.getContent().getLastModifiedTime() ); list.add( new RepositoryObject( id, transName, directory, "-", date, RepositoryObjectType.TRANSFORMATION, "", false ) ); } } } } return list; } catch ( Exception e ) { throw new KettleException( "Unable to get list of transformations in folder with id : " + idDirectory, e ); } }
@Override public List<RepositoryElementMetaInterface> getJobObjects( ObjectId id_directory, boolean includeDeleted ) throws KettleException { try { List<RepositoryElementMetaInterface> list = new ArrayList<RepositoryElementMetaInterface>(); RepositoryDirectoryInterface tree = loadRepositoryDirectoryTree(); RepositoryDirectoryInterface directory = tree.findDirectory( id_directory ); String folderName = calcDirectoryName( directory ); FileObject folder = KettleVFS.getFileObject( folderName ); for ( FileObject child : folder.getChildren() ) { if ( child.getType().equals( FileType.FILE ) ) { if ( !child.isHidden() || !repositoryMeta.isHidingHiddenFiles() ) { String name = child.getName().getBaseName(); if ( name.endsWith( EXT_JOB ) ) { String jobName = name.substring( 0, name.length() - 4 ); ObjectId id = new StringObjectId( calcObjectId( directory, jobName, EXT_JOB ) ); Date date = new Date( child.getContent().getLastModifiedTime() ); list.add( new RepositoryObject( id, jobName, directory, "-", date, RepositoryObjectType.JOB, "", false ) ); } } } } return list; } catch ( Exception e ) { throw new KettleException( "Unable to get list of jobs in folder with id : " + id_directory, e ); } }
/** * Prepare file-dependent data for fill additional fields. */ protected void fillFileAdditionalFields( D data, FileObject file ) throws FileSystemException { data.shortFilename = file.getName().getBaseName(); data.path = KettleVFS.getFilename( file.getParent() ); data.hidden = file.isHidden(); data.extension = file.getName().getExtension(); data.uriName = file.getName().getURI(); data.rootUriName = file.getName().getRootURI(); if ( file.getType().hasContent() ) { data.lastModificationDateTime = new Date( file.getContent().getLastModifiedTime() ); data.size = file.getContent().getSize(); } else { data.lastModificationDateTime = null; data.size = null; } } }
public RepositoryDirectoryInterface loadRepositoryDirectoryTree( RepositoryDirectoryInterface dir ) throws KettleException { try { String folderName = calcDirectoryName( dir ); FileObject folder = KettleVFS.getFileObject( folderName ); for ( FileObject child : folder.getChildren() ) { if ( child.getType().equals( FileType.FOLDER ) ) { if ( !child.isHidden() || !repositoryMeta.isHidingHiddenFiles() ) { if ( !".meta".equals( child.getName().getBaseName() ) ) { RepositoryDirectory subDir = new RepositoryDirectory( dir, child.getName().getBaseName() ); subDir.setObjectId( new StringObjectId( calcObjectId( subDir ) ) ); dir.addSubdirectory( subDir ); loadRepositoryDirectoryTree( subDir ); } } } } return dir; } catch ( Exception e ) { throw new KettleException( "Unable to load the directory tree from this file repository", e ); } }
fileObject = KettleVFS.getFileObject( Context.toString( ArgList[0] ) ); if ( fileObject.exists() ) { if ( fileObject.getType() == FileType.FILE ) { if ( !fileObject.delete() ) { Context.reportRuntimeError( "We can not delete file [" + Context.toString( ArgList[0] ) + "]!" );