org.pentaho.di.ui.spoon.dialog.SearchFieldsProgressDialog.java Source code

Java tutorial

Introduction

Here is the source code for org.pentaho.di.ui.spoon.dialog.SearchFieldsProgressDialog.java

Source

/*! ******************************************************************************
 *
 * Pentaho Data Integration
 *
 * Copyright (C) 2002-2017 by Hitachi Vantara : http://www.pentaho.com
 *
 *******************************************************************************
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 ******************************************************************************/

package org.pentaho.di.ui.spoon.dialog;

import java.lang.reflect.InvocationTargetException;

import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.operation.IRunnableWithProgress;
import org.pentaho.di.core.ProgressMonitorAdapter;
import org.pentaho.di.core.exception.KettleStepException;
import org.pentaho.di.core.row.RowMetaInterface;
import org.pentaho.di.i18n.BaseMessages;
import org.pentaho.di.trans.TransMeta;
import org.pentaho.di.trans.step.StepMeta;

/**
 *
 *
 * @author Matt
 * @since 10-mrt-2005
 */
public class SearchFieldsProgressDialog implements IRunnableWithProgress {
    private static Class<?> PKG = SearchFieldsProgressDialog.class; // for i18n purposes, needed by Translator2!!

    private StepMeta stepInfo;
    private boolean before;
    private TransMeta transMeta;
    private RowMetaInterface fields;

    public SearchFieldsProgressDialog(TransMeta transMeta, StepMeta stepMeta, boolean before) {
        this.transMeta = transMeta;
        this.stepInfo = stepMeta;
        this.before = before;
        this.fields = null;
    }

    public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
        int size = transMeta.findNrPrevSteps(stepInfo);

        try {
            if (before) {
                monitor.beginTask(
                        BaseMessages.getString(PKG, "SearchFieldsProgressDialog.Dialog.SearchInputFields.Message"),
                        size); // Searching
                                                                                                                                             // for
                                                                                                                                             // input
                                                                                                                                             // fields...
                fields = transMeta.getPrevStepFields(stepInfo, new ProgressMonitorAdapter(monitor));
            } else {
                monitor.beginTask(
                        BaseMessages.getString(PKG, "SearchFieldsProgressDialog.Dialog.SearchOutputFields.Message"),
                        size); // Searching
                                                                                                                                              // for
                                                                                                                                              // output
                                                                                                                                              // fields...
                fields = transMeta.getStepFields(stepInfo, new ProgressMonitorAdapter(monitor));
            }
        } catch (KettleStepException kse) {
            throw new InvocationTargetException(kse, BaseMessages.getString(PKG,
                    "SearchFieldsProgressDialog.Log.UnableToGetFields", stepInfo.toString(), kse.getMessage()));
        }

        monitor.done();
    }

    /**
     * @return Returns the before.
     */
    public boolean isBefore() {
        return before;
    }

    /**
     * @param before
     *          The before to set.
     */
    public void setBefore(boolean before) {
        this.before = before;
    }

    /**
     * @return Returns the fields.
     */
    public RowMetaInterface getFields() {
        return fields;
    }

    /**
     * @param fields
     *          The fields to set.
     */
    public void setFields(RowMetaInterface fields) {
        this.fields = fields;
    }

    /**
     * @return Returns the stepInfo.
     */
    public StepMeta getStepInfo() {
        return stepInfo;
    }

    /**
     * @param stepInfo
     *          The stepInfo to set.
     */
    public void setStepInfo(StepMeta stepInfo) {
        this.stepInfo = stepInfo;
    }

    /**
     * @return Returns the transMeta.
     */
    public TransMeta getTransMeta() {
        return transMeta;
    }

    /**
     * @param transMeta
     *          The transMeta to set.
     */
    public void setTransMeta(TransMeta transMeta) {
        this.transMeta = transMeta;
    }
}