Program: 47757
Project: 47757
Buggy source:
public String open(){
  Shell parent=getParent();
  Display display=parent.getDisplay();
  shell=new Shell(parent,SWT.DIALOG_TRIM | SWT.RESIZE | SWT.MIN| SWT.MAX);
  props.setLook(shell);
  setShellImage(shell,m_currentMeta);
  ModifyListener lsMod=new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      m_currentMeta.setChanged();
    }
  }
;
  changed=m_currentMeta.hasChanged();
  FormLayout formLayout=new FormLayout();
  formLayout.marginWidth=Const.FORM_MARGIN;
  formLayout.marginHeight=Const.FORM_MARGIN;
  shell.setLayout(formLayout);
  shell.setText(Messages.getString("String_Node_Str"));
  int middle=props.getMiddlePct();
  int margin=Const.MARGIN;
  m_stepnameLabel=new Label(shell,SWT.RIGHT);
  m_stepnameLabel.setText(Messages.getString("String_Node_Str"));
  props.setLook(m_stepnameLabel);
  FormData fd=new FormData();
  fd.left=new FormAttachment(0,0);
  fd.right=new FormAttachment(middle,-margin);
  fd.top=new FormAttachment(0,margin);
  m_stepnameLabel.setLayoutData(fd);
  m_stepnameText=new Text(shell,SWT.SINGLE | SWT.LEFT | SWT.BORDER);
  m_stepnameText.setText(stepname);
  props.setLook(m_stepnameText);
  m_stepnameText.addModifyListener(lsMod);
  fd=new FormData();
  fd.left=new FormAttachment(middle,0);
  fd.top=new FormAttachment(0,margin);
  fd.right=new FormAttachment(100,0);
  m_stepnameText.setLayoutData(fd);
  m_wTabFolder=new CTabFolder(shell,SWT.BORDER);
  props.setLook(m_wTabFolder,Props.WIDGET_STYLE_TAB);
  m_wTabFolder.setSimple(false);
  m_wConfigTab=new CTabItem(m_wTabFolder,SWT.NONE);
  m_wConfigTab.setText(Messages.getString("String_Node_Str"));
  Composite wConfigComp=new Composite(m_wTabFolder,SWT.NONE);
  props.setLook(wConfigComp);
  FormLayout configLayout=new FormLayout();
  configLayout.marginWidth=3;
  configLayout.marginHeight=3;
  wConfigComp.setLayout(configLayout);
  Label zookeeperLab=new Label(wConfigComp,SWT.RIGHT);
  zookeeperLab.setText(Messages.getString("String_Node_Str"));
  zookeeperLab.setToolTipText(Messages.getString("String_Node_Str"));
  props.setLook(zookeeperLab);
  fd=new FormData();
  fd.left=new FormAttachment(0,0);
  fd.top=new FormAttachment(0,margin);
  fd.right=new FormAttachment(middle,-margin);
  zookeeperLab.setLayoutData(fd);
  m_zookeeperQuorumText=new TextVar(transMeta,wConfigComp,SWT.SINGLE | SWT.LEFT | SWT.BORDER);
  props.setLook(m_zookeeperQuorumText);
  m_zookeeperQuorumText.addModifyListener(lsMod);
  m_zookeeperQuorumText.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      m_zookeeperQuorumText.setToolTipText(transMeta.environmentSubstitute(m_zookeeperQuorumText.getText()));
    }
  }
);
  fd=new FormData();
  fd.right=new FormAttachment(100,0);
  fd.top=new FormAttachment(0,0);
  fd.left=new FormAttachment(middle,0);
  m_zookeeperQuorumText.setLayoutData(fd);
  Label coreConfigLab=new Label(wConfigComp,SWT.RIGHT);
  coreConfigLab.setText(Messages.getString("String_Node_Str"));
  coreConfigLab.setToolTipText(Messages.getString("String_Node_Str"));
  props.setLook(coreConfigLab);
  fd=new FormData();
  fd.left=new FormAttachment(0,0);
  fd.top=new FormAttachment(m_zookeeperQuorumText,margin);
  fd.right=new FormAttachment(middle,-margin);
  coreConfigLab.setLayoutData(fd);
  m_coreConfigBut=new Button(wConfigComp,SWT.PUSH | SWT.CENTER);
  props.setLook(m_coreConfigBut);
  m_coreConfigBut.setText(Messages.getString("String_Node_Str"));
  fd=new FormData();
  fd.right=new FormAttachment(100,0);
  fd.top=new FormAttachment(m_zookeeperQuorumText,0);
  m_coreConfigBut.setLayoutData(fd);
  m_coreConfigBut.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      FileDialog dialog=new FileDialog(shell,SWT.OPEN);
      String[] extensions=null;
      String[] filterNames=null;
      extensions=new String[2];
      filterNames=new String[2];
      extensions[0]="String_Node_Str";
      filterNames[0]=Messages.getString("String_Node_Str");
      extensions[1]="String_Node_Str";
      filterNames[1]=Messages.getString("String_Node_Str");
      dialog.setFilterExtensions(extensions);
      if (dialog.open() != null) {
        m_coreConfigText.setText(dialog.getFilterPath() + System.getProperty("String_Node_Str") + dialog.getFileName());
      }
    }
  }
);
  m_coreConfigText=new TextVar(transMeta,wConfigComp,SWT.SINGLE | SWT.LEFT | SWT.BORDER);
  props.setLook(m_coreConfigText);
  m_coreConfigText.addModifyListener(lsMod);
  m_coreConfigText.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      m_coreConfigText.setToolTipText(transMeta.environmentSubstitute(m_coreConfigText.getText()));
    }
  }
);
  fd=new FormData();
  fd.left=new FormAttachment(middle,0);
  fd.top=new FormAttachment(m_zookeeperQuorumText,margin);
  fd.right=new FormAttachment(m_coreConfigBut,-margin);
  m_coreConfigText.setLayoutData(fd);
  Label defaultConfigLab=new Label(wConfigComp,SWT.RIGHT);
  defaultConfigLab.setText(Messages.getString("String_Node_Str"));
  defaultConfigLab.setToolTipText(Messages.getString("String_Node_Str"));
  props.setLook(defaultConfigLab);
  fd=new FormData();
  fd.left=new FormAttachment(0,0);
  fd.top=new FormAttachment(m_coreConfigText,margin);
  fd.right=new FormAttachment(middle,-margin);
  defaultConfigLab.setLayoutData(fd);
  m_defaultConfigBut=new Button(wConfigComp,SWT.PUSH | SWT.CENTER);
  props.setLook(m_defaultConfigBut);
  m_defaultConfigBut.setText(Messages.getString("String_Node_Str"));
  fd=new FormData();
  fd.right=new FormAttachment(100,0);
  fd.top=new FormAttachment(m_coreConfigText,0);
  m_defaultConfigBut.setLayoutData(fd);
  m_defaultConfigBut.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      FileDialog dialog=new FileDialog(shell,SWT.OPEN);
      String[] extensions=null;
      String[] filterNames=null;
      extensions=new String[2];
      filterNames=new String[2];
      extensions[0]="String_Node_Str";
      filterNames[0]=Messages.getString("String_Node_Str");
      extensions[1]="String_Node_Str";
      filterNames[1]=Messages.getString("String_Node_Str");
      dialog.setFilterExtensions(extensions);
      if (dialog.open() != null) {
        m_defaultConfigText.setText(dialog.getFilterPath() + System.getProperty("String_Node_Str") + dialog.getFileName());
      }
    }
  }
);
  m_defaultConfigText=new TextVar(transMeta,wConfigComp,SWT.SINGLE | SWT.LEFT | SWT.BORDER);
  props.setLook(m_defaultConfigText);
  m_defaultConfigText.addModifyListener(lsMod);
  m_defaultConfigText.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      m_defaultConfigText.setToolTipText(transMeta.environmentSubstitute(m_defaultConfigText.getText()));
    }
  }
);
  fd=new FormData();
  fd.left=new FormAttachment(middle,0);
  fd.top=new FormAttachment(m_coreConfigText,margin);
  fd.right=new FormAttachment(m_defaultConfigBut,-margin);
  m_defaultConfigText.setLayoutData(fd);
  Label tableNameLab=new Label(wConfigComp,SWT.RIGHT);
  tableNameLab.setText(Messages.getString("String_Node_Str"));
  tableNameLab.setToolTipText(Messages.getString("String_Node_Str"));
  props.setLook(tableNameLab);
  fd=new FormData();
  fd.left=new FormAttachment(0,0);
  fd.top=new FormAttachment(m_defaultConfigText,margin);
  fd.right=new FormAttachment(middle,-margin);
  tableNameLab.setLayoutData(fd);
  m_mappedTableNamesBut=new Button(wConfigComp,SWT.PUSH | SWT.CENTER);
  props.setLook(m_mappedTableNamesBut);
  m_mappedTableNamesBut.setText(Messages.getString("String_Node_Str"));
  fd=new FormData();
  fd.right=new FormAttachment(100,0);
  fd.top=new FormAttachment(m_defaultConfigText,0);
  m_mappedTableNamesBut.setLayoutData(fd);
  m_mappedTableNamesCombo=new CCombo(wConfigComp,SWT.BORDER);
  props.setLook(m_mappedTableNamesCombo);
  m_mappedTableNamesCombo.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      m_currentMeta.setChanged();
      m_mappedTableNamesCombo.setToolTipText(transMeta.environmentSubstitute(m_mappedTableNamesCombo.getText()));
    }
  }
);
  m_mappedTableNamesCombo.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      setupMappingNamesForTable(true);
    }
    public void widgetDefaultSelected(    SelectionEvent e){
      setupMappingNamesForTable(true);
    }
  }
);
  m_mappedTableNamesCombo.addFocusListener(new FocusListener(){
    public void focusGained(    FocusEvent e){
    }
    public void focusLost(    FocusEvent e){
      setupMappingNamesForTable(true);
    }
  }
);
  fd=new FormData();
  fd.left=new FormAttachment(middle,0);
  fd.top=new FormAttachment(m_defaultConfigText,margin);
  fd.right=new FormAttachment(m_mappedTableNamesBut,-margin);
  m_mappedTableNamesCombo.setLayoutData(fd);
  m_mappedTableNamesBut.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      setupMappedTableNames();
    }
  }
);
  Label mappingNameLab=new Label(wConfigComp,SWT.RIGHT);
  mappingNameLab.setText(Messages.getString("String_Node_Str"));
  mappingNameLab.setToolTipText(Messages.getString("String_Node_Str"));
  props.setLook(mappingNameLab);
  fd=new FormData();
  fd.left=new FormAttachment(0,0);
  fd.top=new FormAttachment(m_mappedTableNamesCombo,margin);
  fd.right=new FormAttachment(middle,-margin);
  mappingNameLab.setLayoutData(fd);
  m_mappingNamesBut=new Button(wConfigComp,SWT.PUSH | SWT.CENTER);
  props.setLook(m_mappingNamesBut);
  m_mappingNamesBut.setText(Messages.getString("String_Node_Str"));
  fd=new FormData();
  fd.right=new FormAttachment(100,0);
  fd.top=new FormAttachment(m_mappedTableNamesCombo,0);
  m_mappingNamesBut.setLayoutData(fd);
  m_mappingNamesBut.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      setupMappingNamesForTable(false);
    }
  }
);
  m_mappingNamesCombo=new CCombo(wConfigComp,SWT.BORDER);
  props.setLook(m_mappingNamesCombo);
  m_mappingNamesCombo.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      m_currentMeta.setChanged();
      m_mappingNamesCombo.setToolTipText(transMeta.environmentSubstitute(m_mappingNamesCombo.getText()));
    }
  }
);
  fd=new FormData();
  fd.left=new FormAttachment(middle,0);
  fd.top=new FormAttachment(m_mappedTableNamesCombo,margin);
  fd.right=new FormAttachment(m_mappingNamesBut,-margin);
  m_mappingNamesCombo.setLayoutData(fd);
  Label keyStartLab=new Label(wConfigComp,SWT.RIGHT);
  keyStartLab.setText(Messages.getString("String_Node_Str"));
  keyStartLab.setToolTipText(Messages.getString("String_Node_Str"));
  props.setLook(keyStartLab);
  fd=new FormData();
  fd.left=new FormAttachment(0,0);
  fd.top=new FormAttachment(m_mappingNamesCombo,margin);
  fd.right=new FormAttachment(middle,-margin);
  keyStartLab.setLayoutData(fd);
  m_keyStartText=new TextVar(transMeta,wConfigComp,SWT.SINGLE | SWT.LEFT | SWT.BORDER);
  m_keyStartText.setToolTipText(Messages.getString("String_Node_Str"));
  m_keyStartText.addModifyListener(lsMod);
  props.setLook(m_keyStartText);
  fd=new FormData();
  fd.right=new FormAttachment(100,0);
  fd.left=new FormAttachment(middle,0);
  fd.top=new FormAttachment(m_mappingNamesCombo,margin);
  m_keyStartText.setLayoutData(fd);
  Label keyStopLab=new Label(wConfigComp,SWT.RIGHT);
  keyStopLab.setText(Messages.getString("String_Node_Str"));
  keyStopLab.setToolTipText(Messages.getString("String_Node_Str"));
  props.setLook(keyStopLab);
  fd=new FormData();
  fd.left=new FormAttachment(0,0);
  fd.top=new FormAttachment(m_keyStartText,margin);
  fd.right=new FormAttachment(middle,-margin);
  keyStopLab.setLayoutData(fd);
  m_keyStopText=new TextVar(transMeta,wConfigComp,SWT.SINGLE | SWT.LEFT | SWT.BORDER);
  m_keyStopText.setToolTipText(Messages.getString("String_Node_Str"));
  m_keyStopText.addModifyListener(lsMod);
  props.setLook(m_keyStopText);
  fd=new FormData();
  fd.right=new FormAttachment(100,0);
  fd.left=new FormAttachment(middle,0);
  fd.top=new FormAttachment(m_keyStartText,margin);
  m_keyStopText.setLayoutData(fd);
  Label scannerCacheLab=new Label(wConfigComp,SWT.RIGHT);
  scannerCacheLab.setText(Messages.getString("String_Node_Str"));
  scannerCacheLab.setToolTipText(Messages.getString("String_Node_Str"));
  props.setLook(scannerCacheLab);
  fd=new FormData();
  fd.left=new FormAttachment(0,0);
  fd.top=new FormAttachment(m_keyStopText,margin);
  fd.right=new FormAttachment(middle,-margin);
  scannerCacheLab.setLayoutData(fd);
  m_scanCacheText=new TextVar(transMeta,wConfigComp,SWT.SINGLE | SWT.LEFT | SWT.BORDER);
  m_scanCacheText.setToolTipText(Messages.getString("String_Node_Str"));
  props.setLook(m_scanCacheText);
  fd=new FormData();
  fd.right=new FormAttachment(100,0);
  fd.left=new FormAttachment(middle,0);
  fd.top=new FormAttachment(m_keyStopText,margin);
  m_scanCacheText.setLayoutData(fd);
  m_getKeyInfoBut=new Button(wConfigComp,SWT.PUSH);
  m_getKeyInfoBut.setText("String_Node_Str");
  props.setLook(m_getKeyInfoBut);
  fd=new FormData();
  fd.right=new FormAttachment(100,0);
  fd.bottom=new FormAttachment(100,-margin * 2);
  m_getKeyInfoBut.setLayoutData(fd);
  m_getKeyInfoBut.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      checkKeyInformation(false,true);
    }
  }
);
  Group keyGroup=new Group(wConfigComp,SWT.SHADOW_ETCHED_IN);
  FormLayout keyLayout=new FormLayout();
  keyGroup.setLayout(keyLayout);
  props.setLook(keyGroup);
  m_keyInfo=new Label(keyGroup,SWT.RIGHT);
  m_keyInfo.setText("String_Node_Str");
  props.setLook(m_keyInfo);
  fd=new FormData();
  fd.top=new FormAttachment(0,margin);
  fd.left=new FormAttachment(0,0);
  fd.right=new FormAttachment(100,-margin);
  m_keyInfo.setLayoutData(fd);
  fd=new FormData();
  fd.right=new FormAttachment(m_getKeyInfoBut,-margin);
  fd.left=new FormAttachment(middle,0);
  fd.bottom=new FormAttachment(100,-margin * 2);
  keyGroup.setLayoutData(fd);
  ColumnInfo[] colinf=new ColumnInfo[]{new ColumnInfo(Messages.getString("String_Node_Str"),ColumnInfo.COLUMN_TYPE_TEXT,false),new ColumnInfo(Messages.getString("String_Node_Str"),ColumnInfo.COLUMN_TYPE_TEXT,false),new ColumnInfo(Messages.getString("String_Node_Str"),ColumnInfo.COLUMN_TYPE_TEXT,false),new ColumnInfo(Messages.getString("String_Node_Str"),ColumnInfo.COLUMN_TYPE_TEXT,false),new ColumnInfo(Messages.getString("String_Node_Str"),ColumnInfo.COLUMN_TYPE_TEXT,false),new ColumnInfo(Messages.getString("String_Node_Str"),ColumnInfo.COLUMN_TYPE_FORMAT,3),new ColumnInfo(Messages.getString("String_Node_Str"),ColumnInfo.COLUMN_TYPE_TEXT,false)};
  colinf[0].setReadOnly(true);
  colinf[1].setReadOnly(true);
  colinf[2].setReadOnly(true);
  colinf[3].setReadOnly(true);
  colinf[4].setReadOnly(true);
  colinf[5].setReadOnly(true);
  colinf[5].setComboValuesSelectionListener(new ComboValuesSelectionListener(){
    public String[] getComboValues(    TableItem tableItem,    int rowNr,    int colNr){
      String[] comboValues=new String[]{};
      int type=ValueMeta.getType(tableItem.getText(colNr - 1));
switch (type) {
case ValueMetaInterface.TYPE_DATE:
        comboValues=Const.getDateFormats();
      break;
case ValueMetaInterface.TYPE_INTEGER:
case ValueMetaInterface.TYPE_BIGNUMBER:
case ValueMetaInterface.TYPE_NUMBER:
    comboValues=Const.getNumberFormats();
  break;
default :
break;
}
return comboValues;
}
}
);
m_fieldsView=new TableView(transMeta,wConfigComp,SWT.FULL_SELECTION | SWT.MULTI,colinf,1,lsMod,props);
fd=new FormData();
fd.top=new FormAttachment(m_scanCacheText,margin * 2);
fd.bottom=new FormAttachment(m_getKeyInfoBut,-margin * 2);
fd.left=new FormAttachment(0,0);
fd.right=new FormAttachment(100,0);
m_fieldsView.setLayoutData(fd);
fd=new FormData();
fd.left=new FormAttachment(0,0);
fd.top=new FormAttachment(0,0);
fd.right=new FormAttachment(100,0);
fd.bottom=new FormAttachment(100,0);
wConfigComp.setLayoutData(fd);
wConfigComp.layout();
m_wConfigTab.setControl(wConfigComp);
m_editorTab=new CTabItem(m_wTabFolder,SWT.NONE);
m_editorTab.setText(Messages.getString("String_Node_Str"));
m_mappingEditor=new MappingEditor(shell,m_wTabFolder,this,SWT.FULL_SELECTION | SWT.MULTI,false,props,transMeta);
fd=new FormData();
fd.top=new FormAttachment(0,0);
fd.left=new FormAttachment(0,0);
m_mappingEditor.setLayoutData(fd);
fd=new FormData();
fd.left=new FormAttachment(0,0);
fd.top=new FormAttachment(0,0);
fd.bottom=new FormAttachment(100,-margin * 2);
fd.right=new FormAttachment(100,0);
m_mappingEditor.setLayoutData(fd);
m_mappingEditor.layout();
m_editorTab.setControl(m_mappingEditor);
m_wFilterTab=new CTabItem(m_wTabFolder,SWT.NONE);
m_wFilterTab.setText(Messages.getString("String_Node_Str"));
Composite wFilterComp=new Composite(m_wTabFolder,SWT.NONE);
props.setLook(wFilterComp);
FormLayout filterLayout=new FormLayout();
filterLayout.marginWidth=3;
filterLayout.marginHeight=3;
wFilterComp.setLayout(filterLayout);
m_matchAllBut=new Button(wFilterComp,SWT.RADIO);
m_matchAllBut.setText(Messages.getString("String_Node_Str"));
props.setLook(m_matchAllBut);
fd=new FormData();
fd.top=new FormAttachment(0,0);
fd.left=new FormAttachment(0,0);
m_matchAllBut.setLayoutData(fd);
m_matchAllBut.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent e){
m_currentMeta.setChanged();
}
}
);
m_matchAnyBut=new Button(wFilterComp,SWT.RADIO);
m_matchAnyBut.setText(Messages.getString("String_Node_Str"));
props.setLook(m_matchAnyBut);
fd=new FormData();
fd.top=new FormAttachment(0,0);
fd.left=new FormAttachment(m_matchAllBut,0);
fd.right=new FormAttachment(100,-margin);
m_matchAnyBut.setLayoutData(fd);
m_matchAnyBut.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent e){
m_currentMeta.setChanged();
}
}
);
m_matchAllBut.setSelection(true);
final ColumnInfo[] colinf2=new ColumnInfo[]{new ColumnInfo(Messages.getString("String_Node_Str") + "String_Node_Str",ColumnInfo.COLUMN_TYPE_CCOMBO,false),new ColumnInfo(Messages.getString("String_Node_Str"),ColumnInfo.COLUMN_TYPE_TEXT,false),new ColumnInfo(Messages.getString("String_Node_Str"),ColumnInfo.COLUMN_TYPE_CCOMBO,false),new ColumnInfo(Messages.getString("String_Node_Str"),ColumnInfo.COLUMN_TYPE_TEXT,false),new ColumnInfo(Messages.getString("String_Node_Str"),ColumnInfo.COLUMN_TYPE_CCOMBO,false),new ColumnInfo(Messages.getString("String_Node_Str"),ColumnInfo.COLUMN_TYPE_CCOMBO,false)};
colinf2[0].setReadOnly(false);
colinf2[1].setReadOnly(false);
colinf2[2].setReadOnly(true);
colinf2[3].setReadOnly(false);
colinf2[4].setReadOnly(false);
colinf2[5].setReadOnly(true);
m_filterAliasCI=colinf2[0];
m_filterAliasCI.setComboValues(new String[]{"String_Node_Str"});
colinf2[2].setComboValues(ColumnFilter.getAllOperators());
colinf2[5].setComboValues(new String[]{"String_Node_Str","String_Node_Str"});
colinf2[2].setComboValuesSelectionListener(new ComboValuesSelectionListener(){
public String[] getComboValues(TableItem tableItem,int rowNr,int colNr){
String[] comboValues=colinf2[2].getComboValues();
String alias=tableItem.getText(1);
HBaseValueMeta vm=null;
if (!Const.isEmpty(alias)) {
vm=setFilterTableTypeColumn(tableItem);
}
if (vm != null) {
if (vm.isNumeric() || vm.isDate() || vm.isBoolean()) {
comboValues=ColumnFilter.getNumericOperators();
}
 else if (vm.isString()) {
comboValues=ColumnFilter.getStringOperators();
}
 else {
comboValues=new String[1];
comboValues[0]="String_Node_Str";
}
}
 else {
comboValues=ColumnFilter.getAllOperators();
}
return comboValues;
}
}
);
colinf2[4].setComboValuesSelectionListener(new ComboValuesSelectionListener(){
public String[] getComboValues(TableItem tableItem,int rowNr,int colNr){
String[] comboValues=new String[]{};
String alias=tableItem.getText(1);
HBaseValueMeta vm=null;
if (!Const.isEmpty(alias)) {
vm=setFilterTableTypeColumn(tableItem);
}
int type=ValueMeta.getType(tableItem.getText(2));
switch (type) {
case ValueMetaInterface.TYPE_DATE:
comboValues=Const.getDateFormats();
break;
case ValueMetaInterface.TYPE_INTEGER:
case ValueMetaInterface.TYPE_BIGNUMBER:
case ValueMetaInterface.TYPE_NUMBER:
comboValues=Const.getNumberFormats();
break;
default :
break;
}
return comboValues;
}
}
);
m_filtersView=new TableView(transMeta,wFilterComp,SWT.FULL_SELECTION | SWT.MULTI,colinf2,1,lsMod,props);
fd=new FormData();
fd.top=new FormAttachment(m_matchAllBut,margin * 2);
fd.bottom=new FormAttachment(100,-margin * 2);
fd.left=new FormAttachment(0,0);
fd.right=new FormAttachment(100,0);
m_filtersView.setLayoutData(fd);
fd=new FormData();
fd.left=new FormAttachment(0,0);
fd.top=new FormAttachment(0,0);
fd.right=new FormAttachment(100,0);
fd.bottom=new FormAttachment(100,0);
wFilterComp.setLayoutData(fd);
wFilterComp.layout();
m_wFilterTab.setControl(wFilterComp);
fd=new FormData();
fd.left=new FormAttachment(0,0);
fd.top=new FormAttachment(m_stepnameText,margin);
fd.right=new FormAttachment(100,0);
fd.bottom=new FormAttachment(100,-50);
m_wTabFolder.setLayoutData(fd);
wOK=new Button(shell,SWT.PUSH);
wOK.setText(Messages.getString("String_Node_Str"));
wCancel=new Button(shell,SWT.PUSH);
wCancel.setText(Messages.getString("String_Node_Str"));
setButtonPositions(new Button[]{wOK,wCancel},margin,m_wTabFolder);
lsCancel=new Listener(){
public void handleEvent(Event e){
cancel();
}
}
;
lsOK=new Listener(){
public void handleEvent(Event e){
ok();
}
}
;
wCancel.addListener(SWT.Selection,lsCancel);
wOK.addListener(SWT.Selection,lsOK);
lsDef=new SelectionAdapter(){
public void widgetDefaultSelected(SelectionEvent e){
ok();
}
}
;
m_stepnameText.addSelectionListener(lsDef);
shell.addShellListener(new ShellAdapter(){
public void shellClosed(ShellEvent e){
cancel();
}
}
);
m_wTabFolder.setSelection(0);
setSize();
getData();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
return stepname;
}

Fixed version (ground truth):
public String open(){
  Shell parent=getParent();
  Display display=parent.getDisplay();
  shell=new Shell(parent,SWT.DIALOG_TRIM | SWT.RESIZE | SWT.MIN| SWT.MAX);
  props.setLook(shell);
  setShellImage(shell,m_currentMeta);
  ModifyListener lsMod=new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      m_currentMeta.setChanged();
    }
  }
;
  changed=m_currentMeta.hasChanged();
  FormLayout formLayout=new FormLayout();
  formLayout.marginWidth=Const.FORM_MARGIN;
  formLayout.marginHeight=Const.FORM_MARGIN;
  shell.setLayout(formLayout);
  shell.setText(Messages.getString("String_Node_Str"));
  int middle=props.getMiddlePct();
  int margin=Const.MARGIN;
  m_stepnameLabel=new Label(shell,SWT.RIGHT);
  m_stepnameLabel.setText(Messages.getString("String_Node_Str"));
  props.setLook(m_stepnameLabel);
  FormData fd=new FormData();
  fd.left=new FormAttachment(0,0);
  fd.right=new FormAttachment(middle,-margin);
  fd.top=new FormAttachment(0,margin);
  m_stepnameLabel.setLayoutData(fd);
  m_stepnameText=new Text(shell,SWT.SINGLE | SWT.LEFT | SWT.BORDER);
  m_stepnameText.setText(stepname);
  props.setLook(m_stepnameText);
  m_stepnameText.addModifyListener(lsMod);
  fd=new FormData();
  fd.left=new FormAttachment(middle,0);
  fd.top=new FormAttachment(0,margin);
  fd.right=new FormAttachment(100,0);
  m_stepnameText.setLayoutData(fd);
  m_wTabFolder=new CTabFolder(shell,SWT.BORDER);
  props.setLook(m_wTabFolder,Props.WIDGET_STYLE_TAB);
  m_wTabFolder.setSimple(false);
  m_wConfigTab=new CTabItem(m_wTabFolder,SWT.NONE);
  m_wConfigTab.setText(Messages.getString("String_Node_Str"));
  Composite wConfigComp=new Composite(m_wTabFolder,SWT.NONE);
  props.setLook(wConfigComp);
  FormLayout configLayout=new FormLayout();
  configLayout.marginWidth=3;
  configLayout.marginHeight=3;
  wConfigComp.setLayout(configLayout);
  Label zookeeperLab=new Label(wConfigComp,SWT.RIGHT);
  zookeeperLab.setText(Messages.getString("String_Node_Str"));
  zookeeperLab.setToolTipText(Messages.getString("String_Node_Str"));
  props.setLook(zookeeperLab);
  fd=new FormData();
  fd.left=new FormAttachment(0,0);
  fd.top=new FormAttachment(0,margin);
  fd.right=new FormAttachment(middle,-margin);
  zookeeperLab.setLayoutData(fd);
  m_zookeeperQuorumText=new TextVar(transMeta,wConfigComp,SWT.SINGLE | SWT.LEFT | SWT.BORDER);
  props.setLook(m_zookeeperQuorumText);
  m_zookeeperQuorumText.addModifyListener(lsMod);
  m_zookeeperQuorumText.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      m_zookeeperQuorumText.setToolTipText(transMeta.environmentSubstitute(m_zookeeperQuorumText.getText()));
    }
  }
);
  fd=new FormData();
  fd.right=new FormAttachment(100,0);
  fd.top=new FormAttachment(0,0);
  fd.left=new FormAttachment(middle,0);
  m_zookeeperQuorumText.setLayoutData(fd);
  Label coreConfigLab=new Label(wConfigComp,SWT.RIGHT);
  coreConfigLab.setText(Messages.getString("String_Node_Str"));
  coreConfigLab.setToolTipText(Messages.getString("String_Node_Str"));
  props.setLook(coreConfigLab);
  fd=new FormData();
  fd.left=new FormAttachment(0,0);
  fd.top=new FormAttachment(m_zookeeperQuorumText,margin);
  fd.right=new FormAttachment(middle,-margin);
  coreConfigLab.setLayoutData(fd);
  m_coreConfigBut=new Button(wConfigComp,SWT.PUSH | SWT.CENTER);
  props.setLook(m_coreConfigBut);
  m_coreConfigBut.setText(Messages.getString("String_Node_Str"));
  fd=new FormData();
  fd.right=new FormAttachment(100,0);
  fd.top=new FormAttachment(m_zookeeperQuorumText,0);
  m_coreConfigBut.setLayoutData(fd);
  m_coreConfigBut.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      FileDialog dialog=new FileDialog(shell,SWT.OPEN);
      String[] extensions=null;
      String[] filterNames=null;
      extensions=new String[2];
      filterNames=new String[2];
      extensions[0]="String_Node_Str";
      filterNames[0]=Messages.getString("String_Node_Str");
      extensions[1]="String_Node_Str";
      filterNames[1]=Messages.getString("String_Node_Str");
      dialog.setFilterExtensions(extensions);
      if (dialog.open() != null) {
        m_coreConfigText.setText(dialog.getFilterPath() + System.getProperty("String_Node_Str") + dialog.getFileName());
      }
    }
  }
);
  m_coreConfigText=new TextVar(transMeta,wConfigComp,SWT.SINGLE | SWT.LEFT | SWT.BORDER);
  props.setLook(m_coreConfigText);
  m_coreConfigText.addModifyListener(lsMod);
  m_coreConfigText.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      m_coreConfigText.setToolTipText(transMeta.environmentSubstitute(m_coreConfigText.getText()));
    }
  }
);
  fd=new FormData();
  fd.left=new FormAttachment(middle,0);
  fd.top=new FormAttachment(m_zookeeperQuorumText,margin);
  fd.right=new FormAttachment(m_coreConfigBut,-margin);
  m_coreConfigText.setLayoutData(fd);
  Label defaultConfigLab=new Label(wConfigComp,SWT.RIGHT);
  defaultConfigLab.setText(Messages.getString("String_Node_Str"));
  defaultConfigLab.setToolTipText(Messages.getString("String_Node_Str"));
  props.setLook(defaultConfigLab);
  fd=new FormData();
  fd.left=new FormAttachment(0,0);
  fd.top=new FormAttachment(m_coreConfigText,margin);
  fd.right=new FormAttachment(middle,-margin);
  defaultConfigLab.setLayoutData(fd);
  m_defaultConfigBut=new Button(wConfigComp,SWT.PUSH | SWT.CENTER);
  props.setLook(m_defaultConfigBut);
  m_defaultConfigBut.setText(Messages.getString("String_Node_Str"));
  fd=new FormData();
  fd.right=new FormAttachment(100,0);
  fd.top=new FormAttachment(m_coreConfigText,0);
  m_defaultConfigBut.setLayoutData(fd);
  m_defaultConfigBut.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      FileDialog dialog=new FileDialog(shell,SWT.OPEN);
      String[] extensions=null;
      String[] filterNames=null;
      extensions=new String[2];
      filterNames=new String[2];
      extensions[0]="String_Node_Str";
      filterNames[0]=Messages.getString("String_Node_Str");
      extensions[1]="String_Node_Str";
      filterNames[1]=Messages.getString("String_Node_Str");
      dialog.setFilterExtensions(extensions);
      if (dialog.open() != null) {
        m_defaultConfigText.setText(dialog.getFilterPath() + System.getProperty("String_Node_Str") + dialog.getFileName());
      }
    }
  }
);
  m_defaultConfigText=new TextVar(transMeta,wConfigComp,SWT.SINGLE | SWT.LEFT | SWT.BORDER);
  props.setLook(m_defaultConfigText);
  m_defaultConfigText.addModifyListener(lsMod);
  m_defaultConfigText.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      m_defaultConfigText.setToolTipText(transMeta.environmentSubstitute(m_defaultConfigText.getText()));
    }
  }
);
  fd=new FormData();
  fd.left=new FormAttachment(middle,0);
  fd.top=new FormAttachment(m_coreConfigText,margin);
  fd.right=new FormAttachment(m_defaultConfigBut,-margin);
  m_defaultConfigText.setLayoutData(fd);
  Label tableNameLab=new Label(wConfigComp,SWT.RIGHT);
  tableNameLab.setText(Messages.getString("String_Node_Str"));
  tableNameLab.setToolTipText(Messages.getString("String_Node_Str"));
  props.setLook(tableNameLab);
  fd=new FormData();
  fd.left=new FormAttachment(0,0);
  fd.top=new FormAttachment(m_defaultConfigText,margin);
  fd.right=new FormAttachment(middle,-margin);
  tableNameLab.setLayoutData(fd);
  m_mappedTableNamesBut=new Button(wConfigComp,SWT.PUSH | SWT.CENTER);
  props.setLook(m_mappedTableNamesBut);
  m_mappedTableNamesBut.setText(Messages.getString("String_Node_Str"));
  fd=new FormData();
  fd.right=new FormAttachment(100,0);
  fd.top=new FormAttachment(m_defaultConfigText,0);
  m_mappedTableNamesBut.setLayoutData(fd);
  m_mappedTableNamesCombo=new CCombo(wConfigComp,SWT.BORDER);
  props.setLook(m_mappedTableNamesCombo);
  m_mappedTableNamesCombo.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      m_currentMeta.setChanged();
      m_mappedTableNamesCombo.setToolTipText(transMeta.environmentSubstitute(m_mappedTableNamesCombo.getText()));
    }
  }
);
  m_mappedTableNamesCombo.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      setupMappingNamesForTable(true);
    }
    public void widgetDefaultSelected(    SelectionEvent e){
      setupMappingNamesForTable(true);
    }
  }
);
  m_mappedTableNamesCombo.addFocusListener(new FocusListener(){
    public void focusGained(    FocusEvent e){
    }
    public void focusLost(    FocusEvent e){
      setupMappingNamesForTable(true);
    }
  }
);
  fd=new FormData();
  fd.left=new FormAttachment(middle,0);
  fd.top=new FormAttachment(m_defaultConfigText,margin);
  fd.right=new FormAttachment(m_mappedTableNamesBut,-margin);
  m_mappedTableNamesCombo.setLayoutData(fd);
  m_mappedTableNamesBut.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      setupMappedTableNames();
    }
  }
);
  Label mappingNameLab=new Label(wConfigComp,SWT.RIGHT);
  mappingNameLab.setText(Messages.getString("String_Node_Str"));
  mappingNameLab.setToolTipText(Messages.getString("String_Node_Str"));
  props.setLook(mappingNameLab);
  fd=new FormData();
  fd.left=new FormAttachment(0,0);
  fd.top=new FormAttachment(m_mappedTableNamesCombo,margin);
  fd.right=new FormAttachment(middle,-margin);
  mappingNameLab.setLayoutData(fd);
  m_mappingNamesBut=new Button(wConfigComp,SWT.PUSH | SWT.CENTER);
  props.setLook(m_mappingNamesBut);
  m_mappingNamesBut.setText(Messages.getString("String_Node_Str"));
  fd=new FormData();
  fd.right=new FormAttachment(100,0);
  fd.top=new FormAttachment(m_mappedTableNamesCombo,0);
  m_mappingNamesBut.setLayoutData(fd);
  m_mappingNamesBut.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      setupMappingNamesForTable(false);
    }
  }
);
  m_mappingNamesCombo=new CCombo(wConfigComp,SWT.BORDER);
  props.setLook(m_mappingNamesCombo);
  m_mappingNamesCombo.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      m_currentMeta.setChanged();
      m_mappingNamesCombo.setToolTipText(transMeta.environmentSubstitute(m_mappingNamesCombo.getText()));
    }
  }
);
  fd=new FormData();
  fd.left=new FormAttachment(middle,0);
  fd.top=new FormAttachment(m_mappedTableNamesCombo,margin);
  fd.right=new FormAttachment(m_mappingNamesBut,-margin);
  m_mappingNamesCombo.setLayoutData(fd);
  Label keyStartLab=new Label(wConfigComp,SWT.RIGHT);
  keyStartLab.setText(Messages.getString("String_Node_Str"));
  keyStartLab.setToolTipText(Messages.getString("String_Node_Str"));
  props.setLook(keyStartLab);
  fd=new FormData();
  fd.left=new FormAttachment(0,0);
  fd.top=new FormAttachment(m_mappingNamesCombo,margin);
  fd.right=new FormAttachment(middle,-margin);
  keyStartLab.setLayoutData(fd);
  m_keyStartText=new TextVar(transMeta,wConfigComp,SWT.SINGLE | SWT.LEFT | SWT.BORDER);
  m_keyStartText.setToolTipText(Messages.getString("String_Node_Str"));
  m_keyStartText.addModifyListener(lsMod);
  props.setLook(m_keyStartText);
  fd=new FormData();
  fd.right=new FormAttachment(100,0);
  fd.left=new FormAttachment(middle,0);
  fd.top=new FormAttachment(m_mappingNamesCombo,margin);
  m_keyStartText.setLayoutData(fd);
  Label keyStopLab=new Label(wConfigComp,SWT.RIGHT);
  keyStopLab.setText(Messages.getString("String_Node_Str"));
  keyStopLab.setToolTipText(Messages.getString("String_Node_Str"));
  props.setLook(keyStopLab);
  fd=new FormData();
  fd.left=new FormAttachment(0,0);
  fd.top=new FormAttachment(m_keyStartText,margin);
  fd.right=new FormAttachment(middle,-margin);
  keyStopLab.setLayoutData(fd);
  m_keyStopText=new TextVar(transMeta,wConfigComp,SWT.SINGLE | SWT.LEFT | SWT.BORDER);
  m_keyStopText.setToolTipText(Messages.getString("String_Node_Str"));
  m_keyStopText.addModifyListener(lsMod);
  props.setLook(m_keyStopText);
  fd=new FormData();
  fd.right=new FormAttachment(100,0);
  fd.left=new FormAttachment(middle,0);
  fd.top=new FormAttachment(m_keyStartText,margin);
  m_keyStopText.setLayoutData(fd);
  Label scannerCacheLab=new Label(wConfigComp,SWT.RIGHT);
  scannerCacheLab.setText(Messages.getString("String_Node_Str"));
  scannerCacheLab.setToolTipText(Messages.getString("String_Node_Str"));
  props.setLook(scannerCacheLab);
  fd=new FormData();
  fd.left=new FormAttachment(0,0);
  fd.top=new FormAttachment(m_keyStopText,margin);
  fd.right=new FormAttachment(middle,-margin);
  scannerCacheLab.setLayoutData(fd);
  m_scanCacheText=new TextVar(transMeta,wConfigComp,SWT.SINGLE | SWT.LEFT | SWT.BORDER);
  m_scanCacheText.setToolTipText(Messages.getString("String_Node_Str"));
  props.setLook(m_scanCacheText);
  fd=new FormData();
  fd.right=new FormAttachment(100,0);
  fd.left=new FormAttachment(middle,0);
  fd.top=new FormAttachment(m_keyStopText,margin);
  m_scanCacheText.setLayoutData(fd);
  m_getKeyInfoBut=new Button(wConfigComp,SWT.PUSH);
  m_getKeyInfoBut.setText("String_Node_Str");
  props.setLook(m_getKeyInfoBut);
  fd=new FormData();
  fd.right=new FormAttachment(100,0);
  fd.bottom=new FormAttachment(100,-margin * 2);
  m_getKeyInfoBut.setLayoutData(fd);
  m_getKeyInfoBut.addSelectionListener(new SelectionAdapter(){
    public void widgetSelected(    SelectionEvent e){
      checkKeyInformation(false,true);
    }
  }
);
  Group keyGroup=new Group(wConfigComp,SWT.SHADOW_ETCHED_IN);
  FormLayout keyLayout=new FormLayout();
  keyGroup.setLayout(keyLayout);
  props.setLook(keyGroup);
  m_keyInfo=new Label(keyGroup,SWT.RIGHT);
  m_keyInfo.setText("String_Node_Str");
  props.setLook(m_keyInfo);
  fd=new FormData();
  fd.top=new FormAttachment(0,margin);
  fd.left=new FormAttachment(0,0);
  fd.right=new FormAttachment(100,-margin);
  m_keyInfo.setLayoutData(fd);
  fd=new FormData();
  fd.right=new FormAttachment(m_getKeyInfoBut,-margin);
  fd.left=new FormAttachment(middle,0);
  fd.bottom=new FormAttachment(100,-margin * 2);
  keyGroup.setLayoutData(fd);
  ColumnInfo[] colinf=new ColumnInfo[]{new ColumnInfo(Messages.getString("String_Node_Str"),ColumnInfo.COLUMN_TYPE_TEXT,false),new ColumnInfo(Messages.getString("String_Node_Str"),ColumnInfo.COLUMN_TYPE_TEXT,false),new ColumnInfo(Messages.getString("String_Node_Str"),ColumnInfo.COLUMN_TYPE_TEXT,false),new ColumnInfo(Messages.getString("String_Node_Str"),ColumnInfo.COLUMN_TYPE_TEXT,false),new ColumnInfo(Messages.getString("String_Node_Str"),ColumnInfo.COLUMN_TYPE_TEXT,false),new ColumnInfo(Messages.getString("String_Node_Str"),ColumnInfo.COLUMN_TYPE_FORMAT,3),new ColumnInfo(Messages.getString("String_Node_Str"),ColumnInfo.COLUMN_TYPE_TEXT,false)};
  colinf[0].setReadOnly(true);
  colinf[1].setReadOnly(true);
  colinf[2].setReadOnly(true);
  colinf[3].setReadOnly(true);
  colinf[4].setReadOnly(true);
  colinf[5].setReadOnly(true);
  colinf[5].setComboValuesSelectionListener(new ComboValuesSelectionListener(){
    public String[] getComboValues(    TableItem tableItem,    int rowNr,    int colNr){
      String[] comboValues=new String[]{};
      int type=ValueMeta.getType(tableItem.getText(colNr - 1));
switch (type) {
case ValueMetaInterface.TYPE_DATE:
        comboValues=Const.getDateFormats();
      break;
case ValueMetaInterface.TYPE_INTEGER:
case ValueMetaInterface.TYPE_BIGNUMBER:
case ValueMetaInterface.TYPE_NUMBER:
    comboValues=Const.getNumberFormats();
  break;
default :
break;
}
return comboValues;
}
}
);
m_fieldsView=new TableView(transMeta,wConfigComp,SWT.FULL_SELECTION | SWT.MULTI,colinf,1,lsMod,props);
fd=new FormData();
fd.top=new FormAttachment(m_scanCacheText,margin * 2);
fd.bottom=new FormAttachment(m_getKeyInfoBut,-margin * 2);
fd.left=new FormAttachment(0,0);
fd.right=new FormAttachment(100,0);
m_fieldsView.setLayoutData(fd);
fd=new FormData();
fd.left=new FormAttachment(0,0);
fd.top=new FormAttachment(0,0);
fd.right=new FormAttachment(100,0);
fd.bottom=new FormAttachment(100,0);
wConfigComp.setLayoutData(fd);
wConfigComp.layout();
m_wConfigTab.setControl(wConfigComp);
m_editorTab=new CTabItem(m_wTabFolder,SWT.NONE);
m_editorTab.setText(Messages.getString("String_Node_Str"));
m_mappingEditor=new MappingEditor(shell,m_wTabFolder,this,null,SWT.FULL_SELECTION | SWT.MULTI,false,props,transMeta);
fd=new FormData();
fd.top=new FormAttachment(0,0);
fd.left=new FormAttachment(0,0);
m_mappingEditor.setLayoutData(fd);
fd=new FormData();
fd.left=new FormAttachment(0,0);
fd.top=new FormAttachment(0,0);
fd.bottom=new FormAttachment(100,-margin * 2);
fd.right=new FormAttachment(100,0);
m_mappingEditor.setLayoutData(fd);
m_mappingEditor.layout();
m_editorTab.setControl(m_mappingEditor);
m_wFilterTab=new CTabItem(m_wTabFolder,SWT.NONE);
m_wFilterTab.setText(Messages.getString("String_Node_Str"));
Composite wFilterComp=new Composite(m_wTabFolder,SWT.NONE);
props.setLook(wFilterComp);
FormLayout filterLayout=new FormLayout();
filterLayout.marginWidth=3;
filterLayout.marginHeight=3;
wFilterComp.setLayout(filterLayout);
m_matchAllBut=new Button(wFilterComp,SWT.RADIO);
m_matchAllBut.setText(Messages.getString("String_Node_Str"));
props.setLook(m_matchAllBut);
fd=new FormData();
fd.top=new FormAttachment(0,0);
fd.left=new FormAttachment(0,0);
m_matchAllBut.setLayoutData(fd);
m_matchAllBut.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent e){
m_currentMeta.setChanged();
}
}
);
m_matchAnyBut=new Button(wFilterComp,SWT.RADIO);
m_matchAnyBut.setText(Messages.getString("String_Node_Str"));
props.setLook(m_matchAnyBut);
fd=new FormData();
fd.top=new FormAttachment(0,0);
fd.left=new FormAttachment(m_matchAllBut,0);
fd.right=new FormAttachment(100,-margin);
m_matchAnyBut.setLayoutData(fd);
m_matchAnyBut.addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent e){
m_currentMeta.setChanged();
}
}
);
m_matchAllBut.setSelection(true);
final ColumnInfo[] colinf2=new ColumnInfo[]{new ColumnInfo(Messages.getString("String_Node_Str") + "String_Node_Str",ColumnInfo.COLUMN_TYPE_CCOMBO,false),new ColumnInfo(Messages.getString("String_Node_Str"),ColumnInfo.COLUMN_TYPE_TEXT,false),new ColumnInfo(Messages.getString("String_Node_Str"),ColumnInfo.COLUMN_TYPE_CCOMBO,false),new ColumnInfo(Messages.getString("String_Node_Str"),ColumnInfo.COLUMN_TYPE_TEXT,false),new ColumnInfo(Messages.getString("String_Node_Str"),ColumnInfo.COLUMN_TYPE_CCOMBO,false),new ColumnInfo(Messages.getString("String_Node_Str"),ColumnInfo.COLUMN_TYPE_CCOMBO,false)};
colinf2[0].setReadOnly(false);
colinf2[1].setReadOnly(false);
colinf2[2].setReadOnly(true);
colinf2[3].setReadOnly(false);
colinf2[4].setReadOnly(false);
colinf2[5].setReadOnly(true);
m_filterAliasCI=colinf2[0];
m_filterAliasCI.setComboValues(new String[]{"String_Node_Str"});
colinf2[2].setComboValues(ColumnFilter.getAllOperators());
colinf2[5].setComboValues(new String[]{"String_Node_Str","String_Node_Str"});
colinf2[2].setComboValuesSelectionListener(new ComboValuesSelectionListener(){
public String[] getComboValues(TableItem tableItem,int rowNr,int colNr){
String[] comboValues=colinf2[2].getComboValues();
String alias=tableItem.getText(1);
HBaseValueMeta vm=null;
if (!Const.isEmpty(alias)) {
vm=setFilterTableTypeColumn(tableItem);
}
if (vm != null) {
if (vm.isNumeric() || vm.isDate() || vm.isBoolean()) {
comboValues=ColumnFilter.getNumericOperators();
}
 else if (vm.isString()) {
comboValues=ColumnFilter.getStringOperators();
}
 else {
comboValues=new String[1];
comboValues[0]="String_Node_Str";
}
}
 else {
comboValues=ColumnFilter.getAllOperators();
}
return comboValues;
}
}
);
colinf2[4].setComboValuesSelectionListener(new ComboValuesSelectionListener(){
public String[] getComboValues(TableItem tableItem,int rowNr,int colNr){
String[] comboValues=new String[]{};
String alias=tableItem.getText(1);
HBaseValueMeta vm=null;
if (!Const.isEmpty(alias)) {
vm=setFilterTableTypeColumn(tableItem);
}
int type=ValueMeta.getType(tableItem.getText(2));
switch (type) {
case ValueMetaInterface.TYPE_DATE:
comboValues=Const.getDateFormats();
break;
case ValueMetaInterface.TYPE_INTEGER:
case ValueMetaInterface.TYPE_BIGNUMBER:
case ValueMetaInterface.TYPE_NUMBER:
comboValues=Const.getNumberFormats();
break;
default :
break;
}
return comboValues;
}
}
);
m_filtersView=new TableView(transMeta,wFilterComp,SWT.FULL_SELECTION | SWT.MULTI,colinf2,1,lsMod,props);
fd=new FormData();
fd.top=new FormAttachment(m_matchAllBut,margin * 2);
fd.bottom=new FormAttachment(100,-margin * 2);
fd.left=new FormAttachment(0,0);
fd.right=new FormAttachment(100,0);
m_filtersView.setLayoutData(fd);
fd=new FormData();
fd.left=new FormAttachment(0,0);
fd.top=new FormAttachment(0,0);
fd.right=new FormAttachment(100,0);
fd.bottom=new FormAttachment(100,0);
wFilterComp.setLayoutData(fd);
wFilterComp.layout();
m_wFilterTab.setControl(wFilterComp);
fd=new FormData();
fd.left=new FormAttachment(0,0);
fd.top=new FormAttachment(m_stepnameText,margin);
fd.right=new FormAttachment(100,0);
fd.bottom=new FormAttachment(100,-50);
m_wTabFolder.setLayoutData(fd);
wOK=new Button(shell,SWT.PUSH);
wOK.setText(Messages.getString("String_Node_Str"));
wCancel=new Button(shell,SWT.PUSH);
wCancel.setText(Messages.getString("String_Node_Str"));
setButtonPositions(new Button[]{wOK,wCancel},margin,m_wTabFolder);
lsCancel=new Listener(){
public void handleEvent(Event e){
cancel();
}
}
;
lsOK=new Listener(){
public void handleEvent(Event e){
ok();
}
}
;
wCancel.addListener(SWT.Selection,lsCancel);
wOK.addListener(SWT.Selection,lsOK);
lsDef=new SelectionAdapter(){
public void widgetDefaultSelected(SelectionEvent e){
ok();
}
}
;
m_stepnameText.addSelectionListener(lsDef);
shell.addShellListener(new ShellAdapter(){
public void shellClosed(ShellEvent e){
cancel();
}
}
);
m_wTabFolder.setSelection(0);
setSize();
getData();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
return stepname;
}