From a853d4215946c4b43be0d9bb343be8326163b4ab Mon Sep 17 00:00:00 2001 From: Ben Morrise Date: Mon, 19 Jun 2017 13:10:50 -0400 Subject: [PATCH] Revert "[BACKLOG-16814] Base classes for input steps (#4033)" (#4035) This reverts commit dd82086b3d9a3f305a8a856c87287dafac93d4cb. --- .../steps/fileinput/BaseFileInputStep.java | 6 +- .../fileinput/BaseFileInputStepMeta.java | 18 +- .../fileinput/text/TextFileInputMeta.java | 30 +-- .../fileinput/text/TextFileInputReader.java | 4 +- .../fileinput/text/TextFileInputUtils.java | 16 +- .../fileinput/text/BaseTextParsingTest.java | 4 +- .../TextFileInputMetaNewInjectionTest.java | 28 +-- .../fileinput/text/TextFileInputMetaTest.java | 4 +- .../fileinput/text/TextFileInputTest.java | 4 +- .../trans/steps/xmloutput/XMLOutputMeta.java | 1 + .../di/ui/trans/step/BaseFileStepDialog.java | 187 ------------------ .../text/TextFileCSVImportProgressDialog.java | 14 +- .../fileinput/text/TextFileInputDialog.java | 24 +-- .../text/TextFileInputDialogTest.java | 4 +- 14 files changed, 78 insertions(+), 266 deletions(-) delete mode 100644 ui/src/org/pentaho/di/ui/trans/step/BaseFileStepDialog.java diff --git a/engine/src/org/pentaho/di/trans/steps/fileinput/BaseFileInputStep.java b/engine/src/org/pentaho/di/trans/steps/fileinput/BaseFileInputStep.java index a99cfdbe4569..508ac48b0bc0 100644 --- a/engine/src/org/pentaho/di/trans/steps/fileinput/BaseFileInputStep.java +++ b/engine/src/org/pentaho/di/trans/steps/fileinput/BaseFileInputStep.java @@ -2,7 +2,7 @@ * * Pentaho Data Integration * - * Copyright (C) 2002-2017 by Pentaho : http://www.pentaho.com + * Copyright (C) 2002-2016 by Pentaho : http://www.pentaho.com * ******************************************************************************* * @@ -244,8 +244,8 @@ protected void prepareToRowProcessing() throws KettleException { data.dataErrorLineHandler ); // Count the number of repeat fields... - for ( int i = 0; i < meta.inputFields.length; i++ ) { - if ( meta.inputFields[i].isRepeated() ) { + for ( int i = 0; i < meta.inputFiles.inputFields.length; i++ ) { + if ( meta.inputFiles.inputFields[i].isRepeated() ) { data.nr_repeats++; } } diff --git a/engine/src/org/pentaho/di/trans/steps/fileinput/BaseFileInputStepMeta.java b/engine/src/org/pentaho/di/trans/steps/fileinput/BaseFileInputStepMeta.java index d4b85968a1d4..ecfc3e35a9e0 100644 --- a/engine/src/org/pentaho/di/trans/steps/fileinput/BaseFileInputStepMeta.java +++ b/engine/src/org/pentaho/di/trans/steps/fileinput/BaseFileInputStepMeta.java @@ -2,7 +2,7 @@ * * Pentaho Data Integration * - * Copyright (C) 2002-2017 by Pentaho : http://www.pentaho.com + * Copyright (C) 2002-2016 by Pentaho : http://www.pentaho.com * ******************************************************************************* * @@ -37,15 +37,14 @@ import org.pentaho.di.trans.TransMeta; import org.pentaho.di.trans.step.BaseStepMeta; import org.pentaho.di.trans.step.StepMeta; -import org.pentaho.di.trans.step.StepMetaInterface; /** * Base meta for file-based input steps. * * @author Alexander Buloichik */ -public abstract class BaseFileInputStepMeta - extends BaseStepMeta implements StepMetaInterface { +public abstract class BaseFileInputStepMeta> + extends BaseStepMeta { private static Class PKG = BaseFileInputStepMeta.class; // for i18n purposes, needed by Translator2!! public static final String[] RequiredFilesCode = new String[] { "N", "Y" }; @@ -60,11 +59,6 @@ public abstract class BaseFileInputStepMeta implements Cloneable { /** Array of filenames */ @Injection( name = "FILENAME", group = "FILENAME_LINES" ) @@ -111,6 +105,10 @@ public static class InputFiles implements Cloneable { @Injection( name = "ACCEPT_FILE_FIELD" ) public String acceptingField; + /** The fields to import... */ + @InjectionDeep + public F[] inputFields; + /** The add filenames to result filenames flag */ @Injection( name = "ADD_FILES_TO_RESULT" ) public boolean isaddresult; diff --git a/engine/src/org/pentaho/di/trans/steps/fileinput/text/TextFileInputMeta.java b/engine/src/org/pentaho/di/trans/steps/fileinput/text/TextFileInputMeta.java index 9af0e5203e13..9a153d6f6826 100644 --- a/engine/src/org/pentaho/di/trans/steps/fileinput/text/TextFileInputMeta.java +++ b/engine/src/org/pentaho/di/trans/steps/fileinput/text/TextFileInputMeta.java @@ -73,7 +73,7 @@ @InjectionSupported( localizationPrefix = "TextFileInput.Injection.", groups = { "FILENAME_LINES", "FIELDS", "FILTERS" } ) public class TextFileInputMeta extends - BaseFileInputStepMeta + BaseFileInputStepMeta> implements StepMetaInterface { private static Class PKG = TextFileInputMeta.class; // for i18n purposes, needed by Translator2!! TODO: check i18n // for base @@ -231,8 +231,8 @@ public void setDateFormatLocale( String locale ) { public TextFileInputMeta() { additionalOutputFields = new BaseFileInputStepMeta.AdditionalOutputFields(); - inputFiles = new BaseFileInputStepMeta.InputFiles(); - inputFields = new BaseFileInputField[0]; + inputFiles = new BaseFileInputStepMeta.InputFiles<>(); + inputFiles.inputFields = new BaseFileInputField[0]; } /** @@ -384,7 +384,7 @@ public void loadXML( Node stepnode, List databases, IMetaStore met field.setTrimType( ValueMetaString.getTrimTypeByCode( XMLHandler.getTagValue( fnode, "trim_type" ) ) ); field.setRepeated( YES.equalsIgnoreCase( XMLHandler.getTagValue( fnode, "repeat" ) ) ); - inputFields[i] = field; + inputFiles.inputFields[i] = field; } // Is there a limit on the number of rows we process? @@ -436,7 +436,7 @@ public Object clone() { TextFileInputMeta retval = (TextFileInputMeta) super.clone(); int nrfiles = inputFiles.fileName.length; - int nrfields = inputFields.length; + int nrfields = inputFiles.inputFields.length; int nrfilters = filter.length; retval.allocate( nrfiles, nrfields, nrfilters ); @@ -448,7 +448,7 @@ public Object clone() { System.arraycopy( inputFiles.includeSubFolders, 0, retval.inputFiles.includeSubFolders, 0, nrfiles ); for ( int i = 0; i < nrfields; i++ ) { - retval.inputFields[i] = (BaseFileInputField) inputFields[i].clone(); + retval.inputFiles.inputFields[i] = (BaseFileInputField) inputFiles.inputFields[i].clone(); } for ( int i = 0; i < nrfilters; i++ ) { @@ -461,7 +461,7 @@ public Object clone() { public void allocate( int nrfiles, int nrfields, int nrfilters ) { allocateFiles( nrfiles ); - inputFields = new BaseFileInputField[nrfields]; + inputFiles.inputFields = new BaseFileInputField[nrfields]; filter = new TextFileFilter[nrfilters]; } @@ -534,7 +534,7 @@ public void setDefault() { } for ( int i = 0; i < nrfields; i++ ) { - inputFields[i] = new BaseFileInputField( "field" + ( i + 1 ), 1, -1 ); + inputFiles.inputFields[i] = new BaseFileInputField( "field" + ( i + 1 ), 1, -1 ); } content.dateFormatLocale = Locale.getDefault(); @@ -560,8 +560,8 @@ public void getFields( RowMetaInterface row, String name, RowMetaInterface[] inf } } - for ( int i = 0; i < inputFields.length; i++ ) { - BaseFileInputField field = inputFields[i]; + for ( int i = 0; i < inputFiles.inputFields.length; i++ ) { + BaseFileInputField field = inputFiles.inputFields[i]; int type = field.getType(); if ( type == ValueMetaInterface.TYPE_NONE ) { @@ -756,8 +756,8 @@ public String getXML() { retval.append( " " ).append( Const.CR ); retval.append( " " ).append( Const.CR ); - for ( int i = 0; i < inputFields.length; i++ ) { - BaseFileInputField field = inputFields[i]; + for ( int i = 0; i < inputFiles.inputFields.length; i++ ) { + BaseFileInputField field = inputFiles.inputFields[i]; retval.append( " " ).append( Const.CR ); retval.append( " " ).append( XMLHandler.addTagValue( "name", field.getName() ) ); @@ -940,7 +940,7 @@ public void readRep( Repository rep, IMetaStore metaStore, ObjectId id_step, Lis field.setTrimType( ValueMetaString.getTrimTypeByCode( rep.getStepAttributeString( id_step, i, "field_trim_type" ) ) ); field.setRepeated( rep.getStepAttributeBoolean( id_step, i, "field_repeat" ) ); - inputFields[i] = field; + inputFiles.inputFields[i] = field; } errorHandling.errorIgnored = rep.getStepAttributeBoolean( id_step, "error_ignored" ); @@ -1040,8 +1040,8 @@ public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_transform rep.saveStepAttribute( id_transformation, id_step, i, "filter_is_positive", filter[i].isFilterPositive() ); } - for ( int i = 0; i < inputFields.length; i++ ) { - BaseFileInputField field = inputFields[i]; + for ( int i = 0; i < inputFiles.inputFields.length; i++ ) { + BaseFileInputField field = inputFiles.inputFields[i]; rep.saveStepAttribute( id_transformation, id_step, i, "field_name", field.getName() ); rep.saveStepAttribute( id_transformation, id_step, i, "field_type", field.getTypeDesc() ); diff --git a/engine/src/org/pentaho/di/trans/steps/fileinput/text/TextFileInputReader.java b/engine/src/org/pentaho/di/trans/steps/fileinput/text/TextFileInputReader.java index 91d6e6cff47b..e556dec7484c 100644 --- a/engine/src/org/pentaho/di/trans/steps/fileinput/text/TextFileInputReader.java +++ b/engine/src/org/pentaho/di/trans/steps/fileinput/text/TextFileInputReader.java @@ -333,8 +333,8 @@ public boolean readRow() throws KettleException { data.previous_row = data.outputRowMeta.cloneRow( r ); } else { // int repnr = 0; - for ( int i = 0; i < meta.inputFields.length; i++ ) { - if ( meta.inputFields[i].isRepeated() ) { + for ( int i = 0; i < meta.inputFiles.inputFields.length; i++ ) { + if ( meta.inputFiles.inputFields[i].isRepeated() ) { if ( r[i] == null ) { // if it is empty: take the previous value! diff --git a/engine/src/org/pentaho/di/trans/steps/fileinput/text/TextFileInputUtils.java b/engine/src/org/pentaho/di/trans/steps/fileinput/text/TextFileInputUtils.java index 764f0a6871d4..00f01421a9ee 100644 --- a/engine/src/org/pentaho/di/trans/steps/fileinput/text/TextFileInputUtils.java +++ b/engine/src/org/pentaho/di/trans/steps/fileinput/text/TextFileInputUtils.java @@ -234,8 +234,8 @@ public static final String[] guessStringsFromLine( VariableSpace space, LogChann } } else { // Fixed file format: Simply get the strings at the required positions... - for ( int i = 0; i < inf.inputFields.length; i++ ) { - BaseFileInputField field = inf.inputFields[i]; + for ( int i = 0; i < inf.inputFiles.inputFields.length; i++ ) { + BaseFileInputField field = inf.inputFiles.inputFields[i]; int length = line.length(); @@ -349,7 +349,7 @@ public static final Object[] convertLineToRow( LogChannelInterface log, TextFile Object[] r = RowDataUtil.allocateRowData( outputRowMeta.size() ); // over-allocate a bit in the row producing // steps... - int nrfields = info.inputFields.length; + int nrfields = info.inputFiles.inputFields.length; int fieldnr; Long errorCount = null; @@ -373,7 +373,7 @@ public static final Object[] convertLineToRow( LogChannelInterface log, TextFile String[] strings = convertLineToStrings( log, textFileLine.line, info, delimiter, enclosure, escapeCharacter ); int shiftFields = ( passThruFields == null ? 0 : nrPassThruFields ); for ( fieldnr = 0; fieldnr < nrfields; fieldnr++ ) { - BaseFileInputField f = info.inputFields[fieldnr]; + BaseFileInputField f = info.inputFiles.inputFields[fieldnr]; int valuenr = shiftFields + fieldnr; ValueMetaInterface valueMeta = outputRowMeta.getValueMeta( valuenr ); ValueMetaInterface convertMeta = convertRowMeta.getValueMeta( valuenr ); @@ -449,7 +449,7 @@ public static final Object[] convertLineToRow( LogChannelInterface log, TextFile // Support for trailing nullcols! // Should be OK at allocation time, but it doesn't hurt :-) if ( fieldnr < nrfields ) { - for ( int i = fieldnr; i < info.inputFields.length; i++ ) { + for ( int i = fieldnr; i < info.inputFiles.inputFields.length; i++ ) { r[shiftFields + i] = null; } } @@ -538,7 +538,7 @@ public static final Object[] convertLineToRow( LogChannelInterface log, TextFile public static final String[] convertLineToStrings( LogChannelInterface log, String line, TextFileInputMeta inf, String delimiter, String enclosure, String escapeCharacters ) throws KettleException { - String[] strings = new String[inf.inputFields.length]; + String[] strings = new String[inf.inputFiles.inputFields.length]; int fieldnr; String pol; // piece of line @@ -742,8 +742,8 @@ public static final String[] convertLineToStrings( LogChannelInterface log, Stri // it will still use the old behavior. The *only* way to get the new behavior is if content.length = "Bytes" and // the encoding is specified. boolean charBased = ( inf.content.length == null || inf.content.length.equalsIgnoreCase( "Characters" ) || inf.getEncoding() == null ); // Default to classic behavior - for ( int i = 0; i < inf.inputFields.length; i++ ) { - BaseFileInputField field = inf.inputFields[i]; + for ( int i = 0; i < inf.inputFiles.inputFields.length; i++ ) { + BaseFileInputField field = inf.inputFiles.inputFields[i]; int length; int fPos = field.getPosition(); diff --git a/engine/test-src/org/pentaho/di/trans/steps/fileinput/text/BaseTextParsingTest.java b/engine/test-src/org/pentaho/di/trans/steps/fileinput/text/BaseTextParsingTest.java index 8040bf7c353a..502f293fd2b1 100644 --- a/engine/test-src/org/pentaho/di/trans/steps/fileinput/text/BaseTextParsingTest.java +++ b/engine/test-src/org/pentaho/di/trans/steps/fileinput/text/BaseTextParsingTest.java @@ -2,7 +2,7 @@ * * Pentaho Data Integration * - * Copyright (C) 2016-2017 by Pentaho : http://www.pentaho.com + * Copyright (C) 2016 by Pentaho : http://www.pentaho.com * ******************************************************************************* * @@ -76,7 +76,7 @@ protected void initByURL( String url ) throws Exception { * TODO: move to BaseParsingTest after CSV moving to BaseFileInput */ protected void setFields( BaseFileInputField... fields ) throws Exception { - meta.inputFields = fields; + meta.inputFiles.inputFields = fields; meta.getFields( data.outputRowMeta, meta.getName(), null, null, new Variables(), null, null ); data.convertRowMeta = data.outputRowMeta.cloneToType( ValueMetaInterface.TYPE_STRING ); } diff --git a/engine/test-src/org/pentaho/di/trans/steps/fileinput/text/TextFileInputMetaNewInjectionTest.java b/engine/test-src/org/pentaho/di/trans/steps/fileinput/text/TextFileInputMetaNewInjectionTest.java index df2fdccecde2..f3b56cab96e6 100644 --- a/engine/test-src/org/pentaho/di/trans/steps/fileinput/text/TextFileInputMetaNewInjectionTest.java +++ b/engine/test-src/org/pentaho/di/trans/steps/fileinput/text/TextFileInputMetaNewInjectionTest.java @@ -289,19 +289,19 @@ public boolean get() { ///////////////////////////// check( "FIELD_NAME", new StringGetter() { public String get() { - return meta.inputFields[0].getName(); + return meta.inputFiles.inputFields[0].getName(); } } ); check( "FIELD_POSITION", new IntGetter() { public int get() { - return meta.inputFields[0].getPosition(); + return meta.inputFiles.inputFields[0].getPosition(); } } ); check( "FIELD_LENGTH", new IntGetter() { public int get() { - return meta.inputFields[0].getLength(); + return meta.inputFiles.inputFields[0].getLength(); } } ); @@ -314,62 +314,62 @@ public int get() { check( "FIELD_IGNORE", new BooleanGetter() { public boolean get() { - return meta.inputFields[0].isIgnored(); + return meta.inputFiles.inputFields[0].isIgnored(); } } ); check( "FIELD_FORMAT", new StringGetter() { public String get() { - return meta.inputFields[0].getFormat(); + return meta.inputFiles.inputFields[0].getFormat(); } } ); ValueMetaInterface mftt = new ValueMetaString( "f" ); injector.setProperty( meta, "FIELD_TRIM_TYPE", setValue( mftt, "left" ), "f" ); - assertEquals( 1, meta.inputFields[0].getTrimType() ); + assertEquals( 1, meta.inputFiles.inputFields[0].getTrimType() ); injector.setProperty( meta, "FIELD_TRIM_TYPE", setValue( mftt, "right" ), "f" ); - assertEquals( 2, meta.inputFields[0].getTrimType() ); + assertEquals( 2, meta.inputFiles.inputFields[0].getTrimType() ); skipPropertyTest( "FIELD_TRIM_TYPE" ); check( "FIELD_PRECISION", new IntGetter() { public int get() { - return meta.inputFields[0].getPrecision(); + return meta.inputFiles.inputFields[0].getPrecision(); } } ); check( "FIELD_CURRENCY", new StringGetter() { public String get() { - return meta.inputFields[0].getCurrencySymbol(); + return meta.inputFiles.inputFields[0].getCurrencySymbol(); } } ); check( "FIELD_DECIMAL", new StringGetter() { public String get() { - return meta.inputFields[0].getDecimalSymbol(); + return meta.inputFiles.inputFields[0].getDecimalSymbol(); } } ); check( "FIELD_GROUP", new StringGetter() { public String get() { - return meta.inputFields[0].getGroupSymbol(); + return meta.inputFiles.inputFields[0].getGroupSymbol(); } } ); check( "FIELD_REPEAT", new BooleanGetter() { public boolean get() { - return meta.inputFields[0].isRepeated(); + return meta.inputFiles.inputFields[0].isRepeated(); } } ); check( "FIELD_NULL_STRING", new StringGetter() { public String get() { - return meta.inputFields[0].getNullString(); + return meta.inputFiles.inputFields[0].getNullString(); } } ); check( "FIELD_IF_NULL", new StringGetter() { public String get() { - return meta.inputFields[0].getIfNullValue(); + return meta.inputFiles.inputFields[0].getIfNullValue(); } } ); diff --git a/engine/test-src/org/pentaho/di/trans/steps/fileinput/text/TextFileInputMetaTest.java b/engine/test-src/org/pentaho/di/trans/steps/fileinput/text/TextFileInputMetaTest.java index 0c5b084b03ac..869da4957aee 100644 --- a/engine/test-src/org/pentaho/di/trans/steps/fileinput/text/TextFileInputMetaTest.java +++ b/engine/test-src/org/pentaho/di/trans/steps/fileinput/text/TextFileInputMetaTest.java @@ -2,7 +2,7 @@ * * Pentaho Data Integration * - * Copyright (C) 2002-2017 by Pentaho : http://www.pentaho.com + * Copyright (C) 2002-2016 by Pentaho : http://www.pentaho.com * ******************************************************************************* * @@ -60,7 +60,7 @@ public void setUp() throws Exception { @Test public void whenExportingResourcesWeGetFileObjectsOnlyFromFilesWithNotNullAndNotEmptyFileNames() throws Exception { - inputMeta.inputFiles = new BaseFileInputStepMeta.InputFiles(); + inputMeta.inputFiles = new BaseFileInputStepMeta.InputFiles<>(); inputMeta.inputFiles.fileName = new String[] { FILE_NAME_NULL, FILE_NAME_EMPTY, FILE_NAME_VALID_PATH }; inputMeta.inputFiles.fileMask = new String[] { StringUtil.EMPTY_STRING, StringUtil.EMPTY_STRING, StringUtil.EMPTY_STRING }; diff --git a/engine/test-src/org/pentaho/di/trans/steps/fileinput/text/TextFileInputTest.java b/engine/test-src/org/pentaho/di/trans/steps/fileinput/text/TextFileInputTest.java index 69967a58c556..1a5eaa1919ae 100644 --- a/engine/test-src/org/pentaho/di/trans/steps/fileinput/text/TextFileInputTest.java +++ b/engine/test-src/org/pentaho/di/trans/steps/fileinput/text/TextFileInputTest.java @@ -201,7 +201,7 @@ public void testErrorHandlerLineNumber() throws Exception { TextFileInputMeta meta = createMetaObject( field( "col1" ) ); - meta.inputFields[0].setType( 1 ); + meta.inputFiles.inputFields[0].setType( 1 ); meta.content.lineWrapped = false; meta.content.nrWraps = 1; meta.errorHandling.errorIgnored = true; @@ -223,7 +223,7 @@ private TextFileInputMeta createMetaObject( BaseFileInputField... fields ) { meta.content.footer = false; meta.content.nrFooterLines = -1; - meta.inputFields = fields; + meta.inputFiles.inputFields = fields; return meta; } diff --git a/plugins/kettle-xml-plugin/src/org/pentaho/di/trans/steps/xmloutput/XMLOutputMeta.java b/plugins/kettle-xml-plugin/src/org/pentaho/di/trans/steps/xmloutput/XMLOutputMeta.java index c48b7695c5b8..119c43ce5299 100644 --- a/plugins/kettle-xml-plugin/src/org/pentaho/di/trans/steps/xmloutput/XMLOutputMeta.java +++ b/plugins/kettle-xml-plugin/src/org/pentaho/di/trans/steps/xmloutput/XMLOutputMeta.java @@ -859,6 +859,7 @@ public String exportResources( VariableSpace space, Map> extends BaseStepDialog implements - StepDialogInterface { - protected final Class PKG = getClass(); - - protected T input; - protected ModifyListener lsMod; - - public BaseFileStepDialog( Shell parent, T in, TransMeta transMeta, String sname ) { - super( parent, (BaseStepMeta) in, transMeta, sname ); - input = in; - } - - @Override - public String open() { - Shell parent = getParent(); - Display display = parent.getDisplay(); - - shell = new Shell( parent, SWT.DIALOG_TRIM | SWT.RESIZE | SWT.MAX | SWT.MIN ); - props.setLook( shell ); - setShellImage( shell, input ); - - lsMod = new ModifyListener() { - public void modifyText( ModifyEvent e ) { - input.setChanged(); - } - }; - changed = input.hasChanged(); - - createUI(); - - // Detect X or ALT-F4 or something that kills this window... - shell.addShellListener( new ShellAdapter() { - public void shellClosed( ShellEvent e ) { - cancel(); - } - } ); - - getData( input ); - setSize(); - - shell.open(); - while ( !shell.isDisposed() ) { - if ( !display.readAndDispatch() ) { - display.sleep(); - } - } - return stepname; - } - - protected void cancel() { - stepname = null; - input.setChanged( changed ); - dispose(); - } - - protected void ok() { - if ( Utils.isEmpty( wStepname.getText() ) ) { - return; - } - - getInfo( input, false ); - dispose(); - } - - protected abstract void createUI(); - - /** - * Read the data from the meta object and show it in this dialog. - * - * @param meta - * The meta object to obtain the data from. - */ - protected abstract void getData( T meta ); - - /** - * Fill meta object from UI options. - * - * @param meta - * meta object - * @param preview - * flag for preview or real options should be used. Currently, only one option is differ for preview - EOL - * chars. It uses as "mixed" for be able to preview any file. - */ - protected abstract void getInfo( T meta, boolean preview ); - - /** - * Class for apply layout settings to SWT controls. - */ - public static class FD { - private final Control control; - private final FormData fd; - - public FD( Control control ) { - this.control = control; - fd = new FormData(); - } - - public FD width( int width ) { - fd.width = width; - return this; - } - - public FD height( int height ) { - fd.height = height; - return this; - } - - public FD top( int numerator, int offset ) { - fd.top = new FormAttachment( numerator, offset ); - return this; - } - - public FD top( Control control, int offset ) { - fd.top = new FormAttachment( control, offset ); - return this; - } - - public FD bottom( int numerator, int offset ) { - fd.bottom = new FormAttachment( numerator, offset ); - return this; - } - - public FD bottom( Control control, int offset ) { - fd.bottom = new FormAttachment( control, offset ); - return this; - } - - public FD left( int numerator, int offset ) { - fd.left = new FormAttachment( numerator, offset ); - return this; - } - - public FD right( int numerator, int offset ) { - fd.right = new FormAttachment( numerator, offset ); - return this; - } - - public FD right( Control control, int offset ) { - fd.right = new FormAttachment( control, offset ); - return this; - } - - public void apply() { - control.setLayoutData( fd ); - } - } -} diff --git a/ui/src/org/pentaho/di/ui/trans/steps/fileinput/text/TextFileCSVImportProgressDialog.java b/ui/src/org/pentaho/di/ui/trans/steps/fileinput/text/TextFileCSVImportProgressDialog.java index 7789c6a3838e..cdd717999bdd 100644 --- a/ui/src/org/pentaho/di/ui/trans/steps/fileinput/text/TextFileCSVImportProgressDialog.java +++ b/ui/src/org/pentaho/di/ui/trans/steps/fileinput/text/TextFileCSVImportProgressDialog.java @@ -2,7 +2,7 @@ * * Pentaho Data Integration * - * Copyright (C) 2002-2017 by Pentaho : http://www.pentaho.com + * Copyright (C) 2002-2016 by Pentaho : http://www.pentaho.com * ******************************************************************************* * @@ -152,7 +152,7 @@ private String doScan( IProgressMonitor monitor ) throws KettleException { DecimalFormatSymbols dfs = new DecimalFormatSymbols(); - int nrfields = meta.inputFields.length; + int nrfields = meta.inputFiles.inputFields.length; RowMetaInterface outputRowMeta = new RowMeta(); meta.getFields( outputRowMeta, null, null, null, transMeta, null, null ); @@ -192,7 +192,7 @@ private String doScan( IProgressMonitor monitor ) throws KettleException { int[][] numberLength = new int[nrfields][Const.getNumberFormats().length]; // remember the length? for ( int i = 0; i < nrfields; i++ ) { - BaseFileInputField field = meta.inputFields[i]; + BaseFileInputField field = meta.inputFiles.inputFields[i]; if ( log.isDebug() ) { debug = "init field #" + i; @@ -200,8 +200,8 @@ private String doScan( IProgressMonitor monitor ) throws KettleException { if ( replaceMeta ) { // Clear previous info... - field.setName( meta.inputFields[i].getName() ); - field.setType( meta.inputFields[i].getType() ); + field.setName( meta.inputFiles.inputFields[i].getName() ); + field.setType( meta.inputFiles.inputFields[i].getType() ); field.setFormat( "" ); field.setLength( -1 ); field.setPrecision( -1 ); @@ -240,7 +240,7 @@ private String doScan( IProgressMonitor monitor ) throws KettleException { TextFileInputMeta strinfo = (TextFileInputMeta) meta.clone(); for ( int i = 0; i < nrfields; i++ ) { - strinfo.inputFields[i].setType( ValueMetaInterface.TYPE_STRING ); + strinfo.inputFiles.inputFields[i].setType( ValueMetaInterface.TYPE_STRING ); } // Sample rows... @@ -346,7 +346,7 @@ private String doScan( IProgressMonitor monitor ) throws KettleException { message.append( BaseMessages.getString( PKG, "TextFileCSVImportProgressDialog.Info.HorizontalLine" ) ); for ( int i = 0; i < nrfields; i++ ) { - BaseFileInputField field = meta.inputFields[i]; + BaseFileInputField field = meta.inputFiles.inputFields[i]; StringEvaluator evaluator = evaluators.get( i ); List evaluationResults = evaluator.getStringEvaluationResults(); diff --git a/ui/src/org/pentaho/di/ui/trans/steps/fileinput/text/TextFileInputDialog.java b/ui/src/org/pentaho/di/ui/trans/steps/fileinput/text/TextFileInputDialog.java index 0ee9f7993d73..2e33e5b41b0b 100644 --- a/ui/src/org/pentaho/di/ui/trans/steps/fileinput/text/TextFileInputDialog.java +++ b/ui/src/org/pentaho/di/ui/trans/steps/fileinput/text/TextFileInputDialog.java @@ -2084,7 +2084,7 @@ public void widgetSelected( SelectionEvent e ) { } ); setButtonPositions( new Button[] { wGet, wMinWidth }, margin, null ); - final int FieldsRows = input.inputFields.length; + final int FieldsRows = input.inputFiles.inputFields.length; ColumnInfo[] colinf = new ColumnInfo[] { new ColumnInfo( BaseMessages.getString( PKG, "TextFileInputDialog.NameColumn.Column" ), @@ -2397,8 +2397,8 @@ public void getData( TextFileInputMeta meta ) { } private void getFieldsData( TextFileInputMeta in, boolean insertAtTop ) { - for ( int i = 0; i < in.inputFields.length; i++ ) { - BaseFileInputField field = in.inputFields[i]; + for ( int i = 0; i < in.inputFiles.inputFields.length; i++ ) { + BaseFileInputField field = in.inputFiles.inputFields[i]; TableItem item; @@ -2585,7 +2585,7 @@ private void getInfo( TextFileInputMeta meta, boolean preview ) { field.setRepeated( BaseMessages.getString( PKG, "System.Combo.Yes" ).equalsIgnoreCase( item.getText( 13 ) ) ); // CHECKSTYLE:Indentation:OFF - meta.inputFields[i] = field; + meta.inputFiles.inputFields[i] = field; } for ( int i = 0; i < nrfilters; i++ ) { @@ -2672,7 +2672,7 @@ private void getCSV() { if ( textFileList.nrOfFiles() > 0 ) { int clearFields = meta.content.header ? SWT.YES : SWT.NO; - int nrInputFields = meta.inputFields.length; + int nrInputFields = meta.inputFiles.inputFields.length; if ( nrInputFields > 0 ) { MessageBox mb = new MessageBox( shell, SWT.YES | SWT.NO | SWT.CANCEL | SWT.ICON_QUESTION ); @@ -2757,7 +2757,7 @@ private void getCSV() { // if ( clearFields == SWT.NO ) { getFieldsData( previousMeta, true ); - wFields.table.setSelection( previousMeta.inputFields.length, wFields.table.getItemCount() + wFields.table.setSelection( previousMeta.inputFiles.inputFields.length, wFields.table.getItemCount() - 1 ); } @@ -3087,8 +3087,8 @@ private Vector getFields( TextFileInputMeta info, L int prevEnd = 0; int dummynr = 1; - for ( int i = 0; i < info.inputFields.length; i++ ) { - BaseFileInputField f = info.inputFields[i]; + for ( int i = 0; i < info.inputFiles.inputFields.length; i++ ) { + BaseFileInputField f = info.inputFiles.inputFields[i]; // See if positions are skipped, if this is the case, add dummy fields... if ( f.getPosition() != prevEnd ) { // gap @@ -3116,12 +3116,12 @@ private Vector getFields( TextFileInputMeta info, L prevEnd = field.getPosition() + field.getLength(); } - if ( info.inputFields.length == 0 ) { + if ( info.inputFiles.inputFields.length == 0 ) { BaseFileInputField field = new BaseFileInputField( "Field1", 0, maxsize ); fields.add( field ); } else { // Take the last field and see if it reached until the maximum... - BaseFileInputField f = info.inputFields[info.inputFields.length - 1]; + BaseFileInputField f = info.inputFiles.inputFields[info.inputFiles.inputFields.length - 1]; int pos = f.getPosition(); int len = f.getLength(); @@ -3169,8 +3169,8 @@ public void setMinimalWidth() { } } - for ( int i = 0; i < input.inputFields.length; i++ ) { - input.inputFields[i].setTrimType( ValueMetaInterface.TRIM_TYPE_BOTH ); + for ( int i = 0; i < input.inputFiles.inputFields.length; i++ ) { + input.inputFiles.inputFields[i].setTrimType( ValueMetaInterface.TRIM_TYPE_BOTH ); } wFields.optWidth( true ); diff --git a/ui/test-src/org/pentaho/di/ui/trans/steps/fileinput/text/TextFileInputDialogTest.java b/ui/test-src/org/pentaho/di/ui/trans/steps/fileinput/text/TextFileInputDialogTest.java index d051b3de44cd..9496d147a8c3 100644 --- a/ui/test-src/org/pentaho/di/ui/trans/steps/fileinput/text/TextFileInputDialogTest.java +++ b/ui/test-src/org/pentaho/di/ui/trans/steps/fileinput/text/TextFileInputDialogTest.java @@ -2,7 +2,7 @@ * * Pentaho Data Integration * - * Copyright (C) 2016-2017 by Pentaho : http://www.pentaho.com + * Copyright (C) 2016 by Pentaho : http://www.pentaho.com * ******************************************************************************* * @@ -119,7 +119,7 @@ public void testMinimalWidth_PDI_14253() throws Exception { TextFileInputMeta meta = new TextFileInputMeta(); meta.content.lineWrapped = false; - meta.inputFields = new BaseFileInputField[]{ + meta.inputFiles.inputFields = new BaseFileInputField[]{ new BaseFileInputField( "col1", -1, -1 ), new BaseFileInputField( "col2", -1, -1 ) };