Kettle 组件配置面板 2010 年11 月 廖 佳 北京邮电大学计算机学院TSEG jliao422@gmail.com 1. JobEntry 配置面板具体实现 1.1. JobEntries 对应Dialog 的接口和基类 1.1.1. JobEntryDialogInterface 接口 public interface JobEntryDialogInterface{ //用户双击时弹出配置面板 public JobEntryInterface open(); } 1.1.2. JobEntryDialog 基类 public class JobEntryDialog extends Dialog { //当前配置面板对应组件 protected JobEntryInterface jobEntryInt; protected Repository rep; //当前配置面板对应Job元数据 protected JobMeta jobMeta; protected Shell shell; protected PropsUI props; protected Shell parent; ... } 1.2. 配置面板具体实现JobEntry DeleteFileDialog 下图为一个Job 流程,首先创建一个文件然后再删除这个文件。下面的配置面板是删除文件组件的配置面板,对应输入有: 1、Job entry name:组件名称 2、File name:需要删除的文件名 3、Fail if file doesn’t exist:如果文件不存在操作是否失败 还有若干标签和按钮部件。 1.2.1. JobEntryDeleteFileDialog 类成员变量 //对应第一行标签及输入框(红色方框内) private Label wlName; private Text wName; //对应第二行标签、按钮及输入框 private Label wlFilename; private Button wbFilename; private TextVar wFilename; //对应第三行标签及checkbox private Label wlAbortExists; private Button wAbortExists; //对应第四行确认和取消按钮 private Button wOK, wCancel; private Listener lsOK, lsCancel; //储存对应的JobEntry,用于参数传递 private JobEntryDeleteFile jobEntry; private Shell shell; //默认监听器 private SelectionAdapter lsDef; 1.2.2. JobEntryDeleteFileDialog 类open() 主要实现在方法open()中。添加按钮、文本框等图形界面,同时添加对应的监听器。 //组件名输入框 wName=new Text(shell, SWT.SINGLE | SWT.LEFT | SWT.BORDER); wName.addModifyListener(lsMod); //浏览要删除文件的按钮 wbFilename=new Button(shell, SWT.PUSH| SWT.CENTER); wbFilename.setText(Messages.getString("System.Button.Browse")); wbFilename.addSelectionListener( new SelectionAdapter(){ ... ...