public static String[] createFilePathList( VariableSpace space, String[] fileName, String[] fileMask, String[] excludeFileMask, String[] fileRequired, boolean[] includeSubdirs, FileTypeFilter[] filters ) { List<FileObject> fileList = createFileList( space, fileName, fileMask, excludeFileMask, fileRequired, includeSubdirs, filters ) .getFiles(); String[] filePaths = new String[ fileList.size() ]; for ( int i = 0; i < filePaths.length; i++ ) { filePaths[ i ] = fileList.get( i ).getName().getURI(); } return filePaths; }
public static String[] createFilePathList( VariableSpace space, String[] fileName, String[] fileMask, String[] excludeFileMask, String[] fileRequired, boolean[] includeSubdirs ) { return createFilePathList( space, fileName, fileMask, excludeFileMask, fileRequired, includeSubdirs, null ); }
public static String[] createFilePathList( VariableSpace space, String[] fileName, String[] fileMask, String[] excludeFileMask, String[] fileRequired ) { boolean[] includeSubdirs = includeSubdirsFalse( fileName.length ); return createFilePathList( space, fileName, fileMask, excludeFileMask, fileRequired, includeSubdirs, null ); }
public static FileInputList createFileList( VariableSpace space, String[] fileName, String[] fileMask, String[] excludeFileMask, String[] fileRequired ) { boolean[] includeSubdirs = includeSubdirsFalse( fileName.length ); return createFileList( space, fileName, fileMask, excludeFileMask, fileRequired, includeSubdirs, null ); }
private void handleMissingFiles() throws KettleException { List<FileObject> nonExistantFiles = data.files.getNonExistantFiles(); if ( nonExistantFiles.size() != 0 ) { String message = FileInputList.getRequiredFilesDescription( nonExistantFiles ); logError( BaseMessages.getString( PKG, "GetSubFolders.Error.MissingFiles", message ) ); throw new KettleException( BaseMessages.getString( PKG, "GetSubFolders.Exception.MissingFiles", message ) ); } List<FileObject> nonAccessibleFiles = data.files.getNonAccessibleFiles(); if ( nonAccessibleFiles.size() != 0 ) { String message = FileInputList.getRequiredFilesDescription( nonAccessibleFiles ); logError( BaseMessages.getString( PKG, "GetSubFolders.Error.NoAccessibleFiles", message ) ); throw new KettleException( BaseMessages .getString( PKG, "GetSubFolders.Exception.NoAccessibleFiles", message ) ); } }
public void check( List<CheckResultInterface> remarks, TransMeta transMeta, StepMeta stepMeta, RowMetaInterface prev, String[] input, String[] output, RowMetaInterface info, VariableSpace space, Repository repository, IMetaStore metaStore ) { CheckResult cr; // See if we get input... if ( input.length > 0 ) { cr = new CheckResult( CheckResult.TYPE_RESULT_ERROR, BaseMessages.getString( PKG, "PropertyInputMeta.CheckResult.NoInputExpected" ), stepMeta ); remarks.add( cr ); } else { cr = new CheckResult( CheckResult.TYPE_RESULT_OK, BaseMessages.getString( PKG, "PropertyInputMeta.CheckResult.NoInput" ), stepMeta ); remarks.add( cr ); } FileInputList fileInputList = getFiles( transMeta ); if ( fileInputList == null || fileInputList.getFiles().size() == 0 ) { cr = new CheckResult( CheckResult.TYPE_RESULT_ERROR, BaseMessages.getString( PKG, "PropertyInputMeta.CheckResult.NoFiles" ), stepMeta ); remarks.add( cr ); } else { cr = new CheckResult( CheckResult.TYPE_RESULT_OK, BaseMessages.getString( PKG, "PropertyInputMeta.CheckResult.FilesOk", "" + fileInputList.getFiles().size() ), stepMeta ); remarks.add( cr ); } }
public static FileInputList createFileList( VariableSpace space, String[] fileName, String[] fileMask, String[] excludeFileMask, String[] fileRequired, boolean[] includeSubdirs ) { return createFileList( space, fileName, fileMask, excludeFileMask, fileRequired, includeSubdirs, null ); }
@Override public void getFields( RowMetaInterface row, String name, RowMetaInterface[] info, StepMeta nextStep, VariableSpace space, Repository repository, IMetaStore metaStore ) throws KettleStepException { FileInputList fileList = getTextFileList( space ); if ( fileList.nrOfFiles() == 0 ) { throw new KettleStepException( BaseMessages .getString( PKG, "XBaseInputMeta.Exception.NoFilesFoundToProcess" ) ); } row.addRowMeta( getOutputFields( fileList, name ) ); }
RowMetaInterface[] infoStep = null; data.files.getFiles().clear(); try { FileObject fileObject = KettleVFS.getFileObject( fileValue, getTransMeta() ); data.files.addFile( fileObject ); if ( meta.inputFiles.passingThruFields ) { StringBuilder sb = new StringBuilder(); sb.append( data.files.nrOfFiles() > 0 ? data.files.nrOfFiles() - 1 : 0 ).append( "_" ).append( fileObject.toString() ); data.passThruFields.put( sb.toString(), fileRow ); if ( data.files.nrOfFiles() == 0 ) { if ( log.isDetailed() ) { logDetailed( BaseMessages.getString( PKG, "BaseFileInputStep.Log.Error.NoFilesSpecified" ) );
private void handleMissingFiles() throws KettleException { if ( meta.isdoNotFailIfNoFile() && data.files.nrOfFiles() == 0 ) { logBasic( BaseMessages.getString( PKG, "GetFileNames.Log.NoFile" ) ); return; } List<FileObject> nonExistantFiles = data.files.getNonExistantFiles(); if ( nonExistantFiles.size() != 0 ) { String message = FileInputList.getRequiredFilesDescription( nonExistantFiles ); logBasic( "ERROR: Missing " + message ); throw new KettleException( "Following required files are missing: " + message ); } List<FileObject> nonAccessibleFiles = data.files.getNonAccessibleFiles(); if ( nonAccessibleFiles.size() != 0 ) { String message = FileInputList.getRequiredFilesDescription( nonAccessibleFiles ); logBasic( "WARNING: Not accessible " + message ); throw new KettleException( "Following required files are not accessible: " + message ); } }
@Override public String[] getFilePaths( final boolean showSamples ) { final StepMeta parentStepMeta = getParentStepMeta(); if ( parentStepMeta != null ) { final TransMeta parentTransMeta = parentStepMeta.getParentTransMeta(); if ( parentTransMeta != null ) { final FileInputList inputList = getFileInputList( parentTransMeta ); if ( inputList != null ) { return inputList.getFileStrings(); } } } return new String[]{}; } }
@Test public void testOpenNextFile_000_ignoreEmpty() { stepMetaInterface.setIgnoreEmptyFile( true ); stepInputFiles.addFile( getFile( "input0.txt" ) ); stepInputFiles.addFile( getFile( "input0.txt" ) ); stepInputFiles.addFile( getFile( "input0.txt" ) ); assertFalse( stepLoadFileInput.openNextFile() ); }
public boolean init( StepMetaInterface smi, StepDataInterface sdi ) { meta = (LDIFInputMeta) smi; data = (LDIFInputData) sdi; if ( super.init( smi, sdi ) ) { if ( !meta.isFileField() ) { data.files = meta.getFiles( this ); if ( data.files.nrOfFiles() == 0 && data.files.nrOfMissingFiles() == 0 ) { logError( BaseMessages.getString( PKG, "LDIFInput.Log.NoFiles" ) ); return false; } try { // Create the output row meta-data data.outputRowMeta = new RowMeta(); meta.getFields( data.outputRowMeta, getStepname(), null, null, this, repository, metaStore ); // Create convert meta-data objects that will contain Date & Number formatters data.convertRowMeta = data.outputRowMeta.cloneToType( ValueMetaInterface.TYPE_STRING ); data.nrInputFields = meta.getInputFields().length; data.multiValueSeparator = environmentSubstitute( meta.getMultiValuedSeparator() ); } catch ( Exception e ) { logError( "Error initializing step: " + e.toString() ); logError( Const.getStackTracker( e ) ); return false; } } data.rownr = 1L; data.totalpreviousfields = 0; return true; } return false; }
private void handleMissingFiles() throws KettleException { List<FileObject> nonExistantFiles = data.files.getNonExistantFiles(); if ( nonExistantFiles.size() != 0 ) { String message = FileInputList.getRequiredFilesDescription( nonExistantFiles ); logError( BaseMessages.getString( PKG, "PropertyInput.Log.RequiredFilesTitle" ), BaseMessages.getString( PKG, "PropertyInput.Log.RequiredFiles", message ) ); throw new KettleException( BaseMessages.getString( PKG, "PropertyInput.Log.RequiredFilesMissing", message ) ); } List<FileObject> nonAccessibleFiles = data.files.getNonAccessibleFiles(); if ( nonAccessibleFiles.size() != 0 ) { String message = FileInputList.getRequiredFilesDescription( nonAccessibleFiles ); logError( BaseMessages.getString( PKG, "PropertyInput.Log.RequiredFilesTitle" ), BaseMessages.getString( PKG, "PropertyInput.Log.RequiredNotAccessibleFiles", message ) ); throw new KettleException( BaseMessages.getString( PKG, "PropertyInput.Log.RequiredNotAccessibleFilesMissing", message ) ); } }
public void check( List<CheckResultInterface> remarks, TransMeta transMeta, StepMeta stepMeta, RowMetaInterface prev, String[] input, String[] output, RowMetaInterface info, VariableSpace space, Repository repository, IMetaStore metaStore ) { CheckResult cr; // See if we get input... if ( input.length > 0 ) { cr = new CheckResult( CheckResult.TYPE_RESULT_ERROR, BaseMessages.getString( PKG, "LDIFInputMeta.CheckResult.NoInputExpected" ), stepMeta ); remarks.add( cr ); } else { cr = new CheckResult( CheckResult.TYPE_RESULT_OK, BaseMessages.getString( PKG, "LDIFInputMeta.CheckResult.NoInput" ), stepMeta ); remarks.add( cr ); } FileInputList fileInputList = getFiles( transMeta ); if ( fileInputList == null || fileInputList.getFiles().size() == 0 ) { cr = new CheckResult( CheckResult.TYPE_RESULT_ERROR, BaseMessages.getString( PKG, "LDIFInputMeta.CheckResult.NoFiles" ), stepMeta ); remarks.add( cr ); } else { cr = new CheckResult( CheckResult.TYPE_RESULT_OK, BaseMessages.getString( PKG, "LDIFInputMeta.CheckResult.FilesOk", "" + fileInputList.getFiles().size() ), stepMeta ); remarks.add( cr ); } }
public FileInputList getFiles( VariableSpace space ) { String[] required = new String[fileName.length]; boolean[] subdirs = new boolean[fileName.length]; // boolean arrays are defaulted to false. for ( int i = 0; i < required.length; i++ ) { required[i] = "Y"; } return FileInputList.createFileList( space, fileName, fileMask, excludeFileMask, required, subdirs ); }