use of org.pentaho.di.core.gui.TextFileInputFieldInterface 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);
}
}
Aggregations