use of org.pentaho.di.trans.steps.textfileinput.TextFileFilter in project pentaho-kettle by pentaho.
the class TextFileInputDialog method getData.
/**
* Read the data from the TextFileInputMeta object and show it in this dialog.
*
* @param meta
* The TextFileInputMeta object to obtain the data from.
*/
public void getData(TextFileInputMeta meta) {
wAccFilenames.setSelection(meta.isAcceptingFilenames());
wPassThruFields.setSelection(meta.isPassingThruFields());
if (meta.getAcceptingField() != null) {
wAccField.setText(meta.getAcceptingField());
}
if (meta.getAcceptingStep() != null) {
wAccStep.setText(meta.getAcceptingStep().getName());
}
if (meta.getFileName() != null) {
wFilenameList.removeAll();
for (int i = 0; i < meta.getFileName().length; i++) {
wFilenameList.add(meta.getFileName()[i], meta.getFileMask()[i], meta.getExludeFileMask()[i], meta.getRequiredFilesDesc(meta.getFileRequired()[i]), meta.getRequiredFilesDesc(meta.getIncludeSubFolders()[i]));
}
wFilenameList.removeEmptyRows();
wFilenameList.setRowNums();
wFilenameList.optWidth(true);
}
if (meta.getFileType() != null) {
wFiletype.setText(meta.getFileType());
}
if (meta.getSeparator() != null) {
wSeparator.setText(meta.getSeparator());
}
if (meta.getEnclosure() != null) {
wEnclosure.setText(meta.getEnclosure());
}
if (meta.getEscapeCharacter() != null) {
wEscape.setText(meta.getEscapeCharacter());
}
wHeader.setSelection(meta.hasHeader());
wNrHeader.setText("" + meta.getNrHeaderLines());
wFooter.setSelection(meta.hasFooter());
wNrFooter.setText("" + meta.getNrFooterLines());
wWraps.setSelection(meta.isLineWrapped());
wNrWraps.setText("" + meta.getNrWraps());
wLayoutPaged.setSelection(meta.isLayoutPaged());
wNrLinesPerPage.setText("" + meta.getNrLinesPerPage());
wNrLinesDocHeader.setText("" + meta.getNrLinesDocHeader());
if (meta.getFileCompression() != null) {
wCompression.setText(meta.getFileCompression());
}
wNoempty.setSelection(meta.noEmptyLines());
wInclFilename.setSelection(meta.includeFilename());
wInclRownum.setSelection(meta.includeRowNumber());
wRownumByFile.setSelection(meta.isRowNumberByFile());
wDateLenient.setSelection(meta.isDateFormatLenient());
wAddResult.setSelection(meta.isAddResultFile());
if (meta.getFilenameField() != null) {
wInclFilenameField.setText(meta.getFilenameField());
}
if (meta.getRowNumberField() != null) {
wInclRownumField.setText(meta.getRowNumberField());
}
if (meta.getFileFormat() != null) {
wFormat.setText(meta.getFileFormat());
}
wLimit.setText("" + meta.getRowLimit());
logDebug("getting fields info...");
getFieldsData(meta, false);
if (meta.getEncoding() != null) {
wEncoding.setText(meta.getEncoding());
}
// Error handling fields...
wErrorIgnored.setSelection(meta.isErrorIgnored());
wSkipBadFiles.setSelection(meta.isSkipBadFiles());
wSkipErrorLines.setSelection(meta.isErrorLineSkipped());
if (meta.getFileErrorField() != null) {
wBadFileField.setText(meta.getFileErrorField());
}
if (meta.getFileErrorMessageField() != null) {
wBadFileMessageField.setText(meta.getFileErrorMessageField());
}
if (meta.getErrorCountField() != null) {
wErrorCount.setText(meta.getErrorCountField());
}
if (meta.getErrorFieldsField() != null) {
wErrorFields.setText(meta.getErrorFieldsField());
}
if (meta.getErrorTextField() != null) {
wErrorText.setText(meta.getErrorTextField());
}
if (meta.getWarningFilesDestinationDirectory() != null) {
wWarnDestDir.setText(meta.getWarningFilesDestinationDirectory());
}
if (meta.getWarningFilesExtension() != null) {
wWarnExt.setText(meta.getWarningFilesExtension());
}
if (meta.getErrorFilesDestinationDirectory() != null) {
wErrorDestDir.setText(meta.getErrorFilesDestinationDirectory());
}
if (meta.getErrorLineFilesExtension() != null) {
wErrorExt.setText(meta.getErrorLineFilesExtension());
}
if (meta.getLineNumberFilesDestinationDirectory() != null) {
wLineNrDestDir.setText(meta.getLineNumberFilesDestinationDirectory());
}
if (meta.getLineNumberFilesExtension() != null) {
wLineNrExt.setText(meta.getLineNumberFilesExtension());
}
for (int i = 0; i < meta.getFilter().length; i++) {
TableItem item = wFilter.table.getItem(i);
TextFileFilter filter = meta.getFilter()[i];
if (filter.getFilterString() != null) {
item.setText(1, filter.getFilterString());
}
if (filter.getFilterPosition() >= 0) {
item.setText(2, "" + filter.getFilterPosition());
}
item.setText(3, filter.isFilterLastLine() ? BaseMessages.getString(PKG, "System.Combo.Yes") : BaseMessages.getString(PKG, "System.Combo.No"));
item.setText(4, filter.isFilterPositive() ? BaseMessages.getString(PKG, "System.Combo.Yes") : BaseMessages.getString(PKG, "System.Combo.No"));
}
// Date locale
wDateLocale.setText(meta.getDateFormatLocale().toString());
wFields.removeEmptyRows();
wFields.setRowNums();
wFields.optWidth(true);
wFilter.removeEmptyRows();
wFilter.setRowNums();
wFilter.optWidth(true);
if (meta.getShortFileNameField() != null) {
wShortFileFieldName.setText(meta.getShortFileNameField());
}
if (meta.getPathField() != null) {
wPathFieldName.setText(meta.getPathField());
}
if (meta.isHiddenField() != null) {
wIsHiddenName.setText(meta.isHiddenField());
}
if (meta.getLastModificationDateField() != null) {
wLastModificationTimeName.setText(meta.getLastModificationDateField());
}
if (meta.getUriField() != null) {
wUriName.setText(meta.getUriField());
}
if (meta.getRootUriField() != null) {
wRootUriName.setText(meta.getRootUriField());
}
if (meta.getExtensionField() != null) {
wExtensionFieldName.setText(meta.getExtensionField());
}
if (meta.getSizeField() != null) {
wSizeFieldName.setText(meta.getSizeField());
}
setFlags();
wStepname.selectAll();
wStepname.setFocus();
}
use of org.pentaho.di.trans.steps.textfileinput.TextFileFilter in project pentaho-kettle by pentaho.
the class TextFileInputDialog method getInfo.
private void getInfo(TextFileInputMeta meta) {
// return value
stepname = wStepname.getText();
// copy info to TextFileInputMeta class (input)
meta.setAcceptingFilenames(wAccFilenames.getSelection());
meta.setPassingThruFields(wPassThruFields.getSelection());
meta.setAcceptingField(wAccField.getText());
meta.setAcceptingStepName(wAccStep.getText());
meta.setAcceptingStep(transMeta.findStep(wAccStep.getText()));
meta.setFileType(wFiletype.getText());
meta.setFileFormat(wFormat.getText());
meta.setSeparator(wSeparator.getText());
meta.setEnclosure(wEnclosure.getText());
meta.setEscapeCharacter(wEscape.getText());
meta.setRowLimit(Const.toLong(wLimit.getText(), 0L));
meta.setFilenameField(wInclFilenameField.getText());
meta.setRowNumberField(wInclRownumField.getText());
meta.setAddResultFile(wAddResult.getSelection());
meta.setIncludeFilename(wInclFilename.getSelection());
meta.setIncludeRowNumber(wInclRownum.getSelection());
meta.setRowNumberByFile(wRownumByFile.getSelection());
meta.setHeader(wHeader.getSelection());
meta.setNrHeaderLines(Const.toInt(wNrHeader.getText(), 1));
meta.setFooter(wFooter.getSelection());
meta.setNrFooterLines(Const.toInt(wNrFooter.getText(), 1));
meta.setLineWrapped(wWraps.getSelection());
meta.setNrWraps(Const.toInt(wNrWraps.getText(), 1));
meta.setLayoutPaged(wLayoutPaged.getSelection());
meta.setNrLinesPerPage(Const.toInt(wNrLinesPerPage.getText(), 80));
meta.setNrLinesDocHeader(Const.toInt(wNrLinesDocHeader.getText(), 0));
meta.setFileCompression(wCompression.getText());
meta.setDateFormatLenient(wDateLenient.getSelection());
meta.setNoEmptyLines(wNoempty.getSelection());
meta.setEncoding(wEncoding.getText());
int nrfiles = wFilenameList.getItemCount();
int nrfields = wFields.nrNonEmpty();
int nrfilters = wFilter.nrNonEmpty();
meta.allocate(nrfiles, nrfields, nrfilters);
meta.setFileName(wFilenameList.getItems(0));
meta.setFileMask(wFilenameList.getItems(1));
meta.setExcludeFileMask(wFilenameList.getItems(2));
meta.setFileRequired(wFilenameList.getItems(3));
meta.setIncludeSubFolders(wFilenameList.getItems(4));
for (int i = 0; i < nrfields; i++) {
TextFileInputField field = new TextFileInputField();
TableItem item = wFields.getNonEmpty(i);
field.setName(item.getText(1));
field.setType(ValueMetaFactory.getIdForValueMeta(item.getText(2)));
field.setFormat(item.getText(3));
field.setPosition(Const.toInt(item.getText(4), -1));
field.setLength(Const.toInt(item.getText(5), -1));
field.setPrecision(Const.toInt(item.getText(6), -1));
field.setCurrencySymbol(item.getText(7));
field.setDecimalSymbol(item.getText(8));
field.setGroupSymbol(item.getText(9));
field.setNullString(item.getText(10));
field.setIfNullValue(item.getText(11));
field.setTrimType(ValueMetaString.getTrimTypeByDesc(item.getText(12)));
field.setRepeated(BaseMessages.getString(PKG, "System.Combo.Yes").equalsIgnoreCase(item.getText(13)));
// CHECKSTYLE:Indentation:OFF
meta.getInputFields()[i] = field;
}
for (int i = 0; i < nrfilters; i++) {
TableItem item = wFilter.getNonEmpty(i);
TextFileFilter filter = new TextFileFilter();
// CHECKSTYLE:Indentation:OFF
meta.getFilter()[i] = filter;
filter.setFilterString(item.getText(1));
filter.setFilterPosition(Const.toInt(item.getText(2), -1));
filter.setFilterLastLine(BaseMessages.getString(PKG, "System.Combo.Yes").equalsIgnoreCase(item.getText(3)));
filter.setFilterPositive(BaseMessages.getString(PKG, "System.Combo.Yes").equalsIgnoreCase(item.getText(4)));
}
// Error handling fields...
meta.setErrorIgnored(wErrorIgnored.getSelection());
meta.setSkipBadFiles(wSkipBadFiles.getSelection());
meta.setFileErrorField(wBadFileField.getText());
meta.setFileErrorMessageField(wBadFileMessageField.getText());
meta.setErrorLineSkipped(wSkipErrorLines.getSelection());
meta.setErrorCountField(wErrorCount.getText());
meta.setErrorFieldsField(wErrorFields.getText());
meta.setErrorTextField(wErrorText.getText());
meta.setWarningFilesDestinationDirectory(wWarnDestDir.getText());
meta.setWarningFilesExtension(wWarnExt.getText());
meta.setErrorFilesDestinationDirectory(wErrorDestDir.getText());
meta.setErrorLineFilesExtension(wErrorExt.getText());
meta.setLineNumberFilesDestinationDirectory(wLineNrDestDir.getText());
meta.setLineNumberFilesExtension(wLineNrExt.getText());
// Date format Locale
Locale locale = EnvUtil.createLocale(wDateLocale.getText());
if (!locale.equals(Locale.getDefault())) {
meta.setDateFormatLocale(locale);
} else {
meta.setDateFormatLocale(Locale.getDefault());
}
meta.setShortFileNameField(wShortFileFieldName.getText());
meta.setPathField(wPathFieldName.getText());
meta.setIsHiddenField(wIsHiddenName.getText());
meta.setLastModificationDateField(wLastModificationTimeName.getText());
meta.setUriField(wUriName.getText());
meta.setRootUriField(wRootUriName.getText());
meta.setExtensionField(wExtensionFieldName.getText());
meta.setSizeField(wSizeFieldName.getText());
}
Aggregations