@Deprecated public void setFilterFileType( int filtertypevalue ) { this.fileTypeFilter = FileInputList.FileTypeFilter.getByOrdinal( filtertypevalue ); }
@Override public FileInputList.FileTypeFilter getTestObject() { FileInputList.FileTypeFilter[] filters = FileInputList.FileTypeFilter.values(); return filters[new Random().nextInt( filters.length )]; }
@Override public String getXML() { StringBuilder retval = new StringBuilder( 300 ); retval.append( " <filter>" ).append( Const.CR ); retval.append( " " ).append( XMLHandler.addTagValue( "filterfiletype", fileTypeFilter.toString() ) ); retval.append( " </filter>" ).append( Const.CR ); retval.append( " " ).append( XMLHandler.addTagValue( "doNotFailIfNoFile", doNotFailIfNoFile ) ); retval.append( " " ).append( XMLHandler.addTagValue( "rownum", includeRowNumber ) ); retval.append( " " ).append( XMLHandler.addTagValue( "isaddresult", isaddresult ) ); retval.append( " " ).append( XMLHandler.addTagValue( "filefield", filefield ) ); retval.append( " " ).append( XMLHandler.addTagValue( "rownum_field", rowNumberField ) ); retval.append( " " ).append( XMLHandler.addTagValue( "filename_Field", dynamicFilenameField ) ); retval.append( " " ).append( XMLHandler.addTagValue( "wildcard_Field", dynamicWildcardField ) ); retval .append( " " ).append( XMLHandler.addTagValue( "exclude_wildcard_Field", dynamicExcludeWildcardField ) ); retval.append( " " ).append( XMLHandler.addTagValue( "dynamic_include_subfolders", dynamicIncludeSubFolders ) ); retval.append( " " ).append( XMLHandler.addTagValue( "limit", rowLimit ) ); retval.append( " <file>" ).append( Const.CR ); for ( int i = 0; i < fileName.length; i++ ) { retval.append( " " ).append( XMLHandler.addTagValue( "name", fileName[i] ) ); retval.append( " " ).append( XMLHandler.addTagValue( "filemask", fileMask[i] ) ); retval.append( " " ).append( XMLHandler.addTagValue( "exclude_filemask", excludeFileMask[i] ) ); retval.append( " " ).append( XMLHandler.addTagValue( "file_required", fileRequired[i] ) ); retval.append( " " ).append( XMLHandler.addTagValue( "include_subfolders", includeSubFolders[i] ) ); parentStepMeta.getParentTransMeta().getNamedClusterEmbedManager().registerUrl( fileName[i] ); } retval.append( " </file>" ).append( Const.CR ); return retval.toString(); }
wFilterFileType.select( in.getFileTypeFilter().ordinal() ); } else { wFilterFileType.select( 0 );
int nrfiles = rep.countNrStepAttributes( id_step, "file_name" ); fileTypeFilter = FileInputList.FileTypeFilter.getByName( rep.getStepAttributeString( id_step, "filterfiletype" ) ); doNotFailIfNoFile = rep.getStepAttributeBoolean( id_step, "doNotFailIfNoFile" ); dynamicFilenameField = rep.getStepAttributeString( id_step, "filename_Field" );
Node filternode = XMLHandler.getSubNode( stepnode, "filter" ); Node filterfiletypenode = XMLHandler.getSubNode( filternode, "filterfiletype" ); fileTypeFilter = FileInputList.FileTypeFilter.getByName( XMLHandler.getNodeValue( filterfiletypenode ) ); doNotFailIfNoFile = "Y".equalsIgnoreCase( XMLHandler.getTagValue( stepnode, "doNotFailIfNoFile" ) ); includeRowNumber = "Y".equalsIgnoreCase( XMLHandler.getTagValue( stepnode, "rownum" ) );
@Override public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_transformation, ObjectId id_step ) throws KettleException { try { rep.saveStepAttribute( id_transformation, id_step, "filterfiletype", fileTypeFilter.toString() ); rep.saveStepAttribute( id_transformation, id_step, "doNotFailIfNoFile", doNotFailIfNoFile ); rep.saveStepAttribute( id_transformation, id_step, "rownum", includeRowNumber ); rep.saveStepAttribute( id_transformation, id_step, "isaddresult", isaddresult ); rep.saveStepAttribute( id_transformation, id_step, "filefield", filefield ); rep.saveStepAttribute( id_transformation, id_step, "filename_Field", dynamicFilenameField ); rep.saveStepAttribute( id_transformation, id_step, "wildcard_Field", dynamicWildcardField ); rep.saveStepAttribute( id_transformation, id_step, "exclude_wildcard_Field", dynamicExcludeWildcardField ); rep.saveStepAttribute( id_transformation, id_step, "dynamic_include_subfolders", dynamicIncludeSubFolders ); rep.saveStepAttribute( id_transformation, id_step, "rownum_field", rowNumberField ); rep.saveStepAttribute( id_transformation, id_step, "limit", rowLimit ); for ( int i = 0; i < fileName.length; i++ ) { rep.saveStepAttribute( id_transformation, id_step, i, "file_name", fileName[i] ); rep.saveStepAttribute( id_transformation, id_step, i, "file_mask", fileMask[i] ); rep.saveStepAttribute( id_transformation, id_step, i, "exclude_file_mask", excludeFileMask[i] ); rep.saveStepAttribute( id_transformation, id_step, i, "file_required", fileRequired[i] ); rep.saveStepAttribute( id_transformation, id_step, i, "include_subfolders", includeSubFolders[i] ); } } catch ( Exception e ) { throw new KettleException( "Unable to save step information to the repository for id_step=" + id_step, e ); } }
@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; } } } );
private void getInfo( GetFileNamesMeta in ) { stepname = wStepname.getText(); // return value int nrfiles = wFilenameList.getItemCount(); in.allocate( nrfiles ); in.setFileName( wFilenameList.getItems( 0 ) ); in.setFileMask( wFilenameList.getItems( 1 ) ); in.setExcludeFileMask( wFilenameList.getItems( 2 ) ); in.setFileRequired( wFilenameList.getItems( 3 ) ); in.setIncludeSubFolders( wFilenameList.getItems( 4 ) ); in.setFilterFileType( FileInputList.FileTypeFilter.getByOrdinal( wFilterFileType.getSelectionIndex() ) ); in.setIncludeRowNumber( wInclRownum.getSelection() ); in.setAddResultFile( wAddResult.getSelection() ); in.setDynamicFilenameField( wFilenameField.getText() ); in.setDynamicWildcardField( wWildcardField.getText() ); in.setDynamicExcludeWildcardField( wExcludeWildcardField.getText() ); in.setFileField( wFileField.getSelection() ); in.setRowNumberField( wInclRownumField.getText() ); in.setRowLimit( Const.toLong( wLimit.getText(), 0L ) ); in.setDynamicIncludeSubFolders( wIncludeSubFolder.getSelection() ); in.setdoNotFailIfNoFile( wdoNotFailIfNoFile.getSelection() ); }
@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; } } } );
public static FileTypeFilter getByName( String name ) { for ( FileTypeFilter filter : FileTypeFilter.values() ) { if ( filter.name.equals( name ) ) { return filter; } } return ONLY_FILES; } }
@Override public boolean validateTestObject( FileInputList.FileTypeFilter testObject, Object actual ) { if ( !( actual instanceof FileInputList.FileTypeFilter ) ) { return false; } return testObject.equals( actual ); } }