Search in sources :

Example 1 with TextFileFilter

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();
}
Also used : TableItem(org.eclipse.swt.widgets.TableItem) TextFileFilter(org.pentaho.di.trans.steps.textfileinput.TextFileFilter)

Example 2 with TextFileFilter

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());
}
Also used : Locale(java.util.Locale) TableItem(org.eclipse.swt.widgets.TableItem) TextFileFilter(org.pentaho.di.trans.steps.textfileinput.TextFileFilter) TextFileInputField(org.pentaho.di.trans.steps.textfileinput.TextFileInputField)

Aggregations

TableItem (org.eclipse.swt.widgets.TableItem)2 TextFileFilter (org.pentaho.di.trans.steps.textfileinput.TextFileFilter)2 Locale (java.util.Locale)1 TextFileInputField (org.pentaho.di.trans.steps.textfileinput.TextFileInputField)1