Search in sources :

Example 36 with BaseFileField

use of org.pentaho.di.trans.steps.file.BaseFileField in project pentaho-kettle by pentaho.

the class TextFileInputDialog method getFixed.

private void getFixed() {
    TextFileInputMeta info = new TextFileInputMeta();
    getInfo(info, true);
    Shell sh = new Shell(shell, SWT.DIALOG_TRIM | SWT.RESIZE | SWT.MAX | SWT.MIN);
    try {
        List<String> rows = getFirst(50, false);
        fields = getFields(info, rows);
        final TextFileImportWizardPage1 page1 = new TextFileImportWizardPage1("1", props, rows, fields);
        page1.createControl(sh);
        final TextFileImportWizardPage2 page2 = new TextFileImportWizardPage2("2", props, rows, fields);
        page2.createControl(sh);
        Wizard wizard = new Wizard() {

            public boolean performFinish() {
                wFields.clearAll(false);
                for (TextFileInputFieldInterface field1 : fields) {
                    BaseFileField field = (BaseFileField) field1;
                    if (!field.isIgnored() && field.getLength() > 0) {
                        TableItem item = new TableItem(wFields.table, SWT.NONE);
                        item.setText(1, field.getName());
                        item.setText(2, "" + field.getTypeDesc());
                        item.setText(3, "" + field.getFormat());
                        item.setText(4, "" + field.getPosition());
                        item.setText(5, field.getLength() < 0 ? "" : "" + field.getLength());
                        item.setText(6, field.getPrecision() < 0 ? "" : "" + field.getPrecision());
                        item.setText(7, "" + field.getCurrencySymbol());
                        item.setText(8, "" + field.getDecimalSymbol());
                        item.setText(9, "" + field.getGroupSymbol());
                        item.setText(10, "" + field.getNullString());
                        item.setText(11, "" + field.getIfNullValue());
                        item.setText(12, "" + field.getTrimTypeDesc());
                        item.setText(13, field.isRepeated() ? BaseMessages.getString(PKG, "System.Combo.Yes") : BaseMessages.getString(PKG, "System.Combo.No"));
                    }
                }
                int size = wFields.table.getItemCount();
                if (size == 0) {
                    new TableItem(wFields.table, SWT.NONE);
                }
                wFields.removeEmptyRows();
                wFields.setRowNums();
                wFields.optWidth(true);
                input.setChanged();
                return true;
            }
        };
        wizard.addPage(page1);
        wizard.addPage(page2);
        WizardDialog wd = new WizardDialog(shell, wizard);
        WizardDialog.setDefaultImage(GUIResource.getInstance().getImageWizard());
        wd.setMinimumPageSize(700, 375);
        wd.updateSize();
        wd.open();
    } catch (Exception e) {
        new ErrorDialog(shell, BaseMessages.getString(PKG, "TextFileInputDialog.ErrorShowingFixedWizard.DialogTitle"), BaseMessages.getString(PKG, "TextFileInputDialog.ErrorShowingFixedWizard.DialogMessage"), e);
    }
}
Also used : TableItem(org.eclipse.swt.widgets.TableItem) BaseFileField(org.pentaho.di.trans.steps.file.BaseFileField) ErrorDialog(org.pentaho.di.ui.core.dialog.ErrorDialog) ValueMetaString(org.pentaho.di.core.row.value.ValueMetaString) KettleException(org.pentaho.di.core.exception.KettleException) IOException(java.io.IOException) Shell(org.eclipse.swt.widgets.Shell) TextFileInputMeta(org.pentaho.di.trans.steps.fileinput.text.TextFileInputMeta) TextFileInputFieldInterface(org.pentaho.di.core.gui.TextFileInputFieldInterface) Wizard(org.eclipse.jface.wizard.Wizard) WizardDialog(org.eclipse.jface.wizard.WizardDialog)

Aggregations

BaseFileField (org.pentaho.di.trans.steps.file.BaseFileField)36 Test (org.junit.Test)19 ValueMetaString (org.pentaho.di.core.row.value.ValueMetaString)12 KettleException (org.pentaho.di.core.exception.KettleException)9 KettleFileException (org.pentaho.di.core.exception.KettleFileException)7 ValueMetaInterface (org.pentaho.di.core.row.ValueMetaInterface)5 ArrayList (java.util.ArrayList)4 KettleStepException (org.pentaho.di.core.exception.KettleStepException)4 KettleXMLException (org.pentaho.di.core.exception.KettleXMLException)4 TableItem (org.eclipse.swt.widgets.TableItem)3 RowMetaInterface (org.pentaho.di.core.row.RowMetaInterface)3 Shell (org.eclipse.swt.widgets.Shell)2 TextFileInputFieldInterface (org.pentaho.di.core.gui.TextFileInputFieldInterface)2 RowMeta (org.pentaho.di.core.row.RowMeta)2 Variables (org.pentaho.di.core.variables.Variables)2 TextFileInputMeta (org.pentaho.di.trans.steps.fileinput.text.TextFileInputMeta)2 ByteArrayInputStream (java.io.ByteArrayInputStream)1 ByteArrayOutputStream (java.io.ByteArrayOutputStream)1 IOException (java.io.IOException)1 OutputStream (java.io.OutputStream)1