Program: 124297
Project: 124297
Buggy source:
@Override protected void createColumns(final TableViewerCreator<TreeSchemaTableEntry> tableViewerCreator,Table table){
  TableViewerCreatorColumn column=new TableViewerCreatorColumn(tableViewerCreator);
  column.setTitle("String_Node_Str");
  column.setId(ID_COLUMN_XPATH);
  column.setWeight(20);
  column.setModifiable(true);
  column.setBeanPropertyAccessors(new IBeanPropertyAccessors<TreeSchemaTableEntry,Object>(){
    public Object get(    TreeSchemaTableEntry bean){
      return bean.getXPath();
    }
    public void set(    TreeSchemaTableEntry bean,    Object value){
      if (isValidName) {
        bean.setName((String)value);
        XmlMapData mapperData=XmlMapUtil.getXmlMapData(bean.getTreeNode());
        XmlMapUtil.updateXPathAndExpression(mapperData,bean.getTreeNode(),bean.getName(),XmlMapUtil.getXPathLength(bean.getXPath()),true);
        if (!bean.getTreeNode().getChildren().isEmpty()) {
          refresh();
        }
      }
    }
  }
);
  final TextCellEditor cellEditor=new TextCellEditor(tableViewerCreator.getTable());
  cellEditor.addListener(new DialogErrorForCellEditorListener(cellEditor,column){
    @Override public void newValidValueTyped(    int itemIndex,    Object previousValue,    Object newValue,    CELL_EDITOR_STATE state){
    }
    @Override public String validateValue(    String newValue,    int beanPosition){
      return validateXPath(newValue,beanPosition);
    }
  }
);
  column.setCellEditor(cellEditor);
  column.setColumnCellModifier(new ColumnCellModifier(column){
    @Override public Object getValue(    Object bean){
      TreeSchemaTableEntry entry=(TreeSchemaTableEntry)bean;
      return entry.getName();
    }
    @Override public boolean modify(    Object bean,    Object value){
      return false;
    }
  }
);
  column=new TableViewerCreatorColumn(tableViewerCreator);
  column.setTitle("String_Node_Str");
  column.setToolTipHeader("String_Node_Str");
  column.setId(ID_COLUMN_KEY);
  column.setDisplayedValue("String_Node_Str");
  column.setWeight(10);
  column.setModifiable(true);
  CheckboxTableEditorContent checkbox=new CheckboxTableEditorContent();
  column.setTableEditorContent(checkbox);
  column.setBeanPropertyAccessors(new IBeanPropertyAccessors<TreeSchemaTableEntry,Boolean>(){
    public Boolean get(    TreeSchemaTableEntry bean){
      return bean.isKey();
    }
    public void set(    TreeSchemaTableEntry bean,    Boolean value){
      bean.setKey(value);
    }
  }
);
  String[] arrayTalendTypes=new String[0];
  try {
    arrayTalendTypes=MetadataTalendType.getTalendTypesLabels();
  }
 catch (  NoClassDefFoundError e) {
    ExceptionHandler.process(e);
  }
catch (  ExceptionInInitializerError e) {
    ExceptionHandler.process(e);
  }
  column=new TableViewerCreatorColumn(tableViewerCreator);
  column.setTitle("String_Node_Str");
  column.setToolTipHeader("String_Node_Str");
  column.setId(ID_COLUMN_TYPE);
  column.setBeanPropertyAccessors(getTalendTypeAccessor());
  column.setModifiable(true);
  column.setWeight(20);
  ComboBoxCellEditor typeComboEditor=new ComboBoxCellEditor(tableViewerCreator.getTable(),arrayTalendTypes,SWT.READ_ONLY);
  CCombo typeCombo=(CCombo)typeComboEditor.getControl();
  CellEditorValueAdapter comboValueAdapter=new JavaTypeComboValueAdapter<TreeSchemaTableEntry>(JavaTypesManager.getDefaultJavaType(),getNullableAccessor());
  typeCombo.setEditable(false);
  column.setCellEditor(typeComboEditor,comboValueAdapter);
  column=new TableViewerCreatorColumn(tableViewerCreator);
  column.setTitle("String_Node_Str");
  column.setToolTipHeader("String_Node_Str");
  column.setId(ID_COLUMN_NULLABLE);
  column.setBeanPropertyAccessors(getNullableAccessor());
  column.setWeight(20);
  column.setDisplayedValue("String_Node_Str");
  column.setModifiable(true);
  column.setTableColumnSelectionListener(new CheckColumnSelectionListener(column,tableViewerCreator));
  column.setImageHeader(ImageProvider.getImage(EImage.CHECKED_ICON));
  CheckboxTableEditorContent nullableCheckbox=new CheckboxTableEditorContent();
  column.setTableEditorContent(nullableCheckbox);
  column=new TableViewerCreatorColumn(tableViewerCreator);
  column.setTitle("String_Node_Str");
  column.setId(ID_COLUMN_PATTERN);
  column.setWeight(20);
  column.setBeanPropertyAccessors(new IBeanPropertyAccessors<TreeSchemaTableEntry,String>(){
    public String get(    TreeSchemaTableEntry bean){
      return bean.getPattern();
    }
    public void set(    TreeSchemaTableEntry bean,    String value){
      bean.setPattern(value);
    }
  }
);
  final ColumnCellModifier columnCellModifier=new ColumnCellModifier(column){
    public boolean canModify(    Object bean){
      boolean typeIsDate=currentBeanHasJavaDateType(bean) && !isReadOnly();
      return typeIsDate;
    }
  }
;
  column.setColorProvider(new IColumnColorProvider(){
    public Color getBackgroundColor(    Object bean){
      if (!columnCellModifier.canModify(bean)) {
        return READONLY_CELL_BG_COLOR;
      }
      return null;
    }
    public Color getForegroundColor(    Object bean){
      return null;
    }
  }
);
  column.setLabelProvider(new IColumnLabelProvider(){
    public String getLabel(    Object bean){
      if (!currentBeanHasJavaDateType(bean)) {
        return "String_Node_Str";
      }
      return null;
    }
  }
);
  column.setColumnCellModifier(columnCellModifier);
  JavaSimpleDateFormatProposalProvider proposalProvider=new JavaSimpleDateFormatProposalProvider();
  TextCellEditorWithProposal patternCellEditor=new TextCellEditorWithProposal(tableViewerCreator.getTable(),column);
  ContentProposalAdapterExtended contentProposalAdapter=patternCellEditor.getContentProposalAdapter();
  contentProposalAdapter.setFilterStyle(ContentProposalAdapterExtended.FILTER_NONE);
  contentProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapterExtended.PROPOSAL_INSERT);
  patternCellEditor.setContentProposalProvider(proposalProvider);
  column.setCellEditor(patternCellEditor,CellEditorValueAdapterFactory.getNullToEmptyStringTextAdapater());
  tableViewerCreator.setCellModifier(new XmlCellModifier(tableViewerCreator));
}

Fixed version (ground truth):
@Override protected void createColumns(final TableViewerCreator<TreeSchemaTableEntry> tableViewerCreator,Table table){
  TableViewerCreatorColumn column=new TableViewerCreatorColumn(tableViewerCreator);
  column.setTitle("String_Node_Str");
  column.setId(ID_COLUMN_XPATH);
  column.setWeight(20);
  column.setModifiable(true);
  column.setBeanPropertyAccessors(new IBeanPropertyAccessors<TreeSchemaTableEntry,Object>(){
    public Object get(    TreeSchemaTableEntry bean){
      return bean.getXPath();
    }
    public void set(    TreeSchemaTableEntry bean,    Object value){
      if (isValidName) {
        bean.setName((String)value);
        XmlMapData mapperData=XmlMapUtil.getXmlMapData(bean.getTreeNode());
        XmlMapUtil.updateXPathAndExpression(mapperData,bean.getTreeNode(),bean.getName(),XmlMapUtil.getXPathLength(bean.getXPath()),true);
        if (!bean.getTreeNode().getChildren().isEmpty()) {
          refresh();
        }
      }
    }
  }
);
  final TextCellEditor cellEditor=new TextCellEditor(tableViewerCreator.getTable());
  cellEditor.addListener(new DialogErrorForCellEditorListener(cellEditor,column){
    @Override public void newValidValueTyped(    int itemIndex,    Object previousValue,    Object newValue,    CELL_EDITOR_STATE state){
    }
    @Override public String validateValue(    String newValue,    int beanPosition){
      return validateXPath(newValue,beanPosition);
    }
  }
);
  column.setCellEditor(cellEditor);
  column.setColumnCellModifier(new ColumnCellModifier(column){
    @Override public Object getValue(    Object bean){
      TreeSchemaTableEntry entry=(TreeSchemaTableEntry)bean;
      return entry.getName();
    }
    @Override public boolean modify(    Object bean,    Object value){
      return false;
    }
  }
);
  column=new TableViewerCreatorColumn(tableViewerCreator);
  column.setTitle("String_Node_Str");
  column.setToolTipHeader("String_Node_Str");
  column.setId(ID_COLUMN_KEY);
  column.setDisplayedValue("String_Node_Str");
  column.setWeight(10);
  column.setModifiable(true);
  CheckboxTableEditorContent checkbox=new CheckboxTableEditorContent();
  column.setTableEditorContent(checkbox);
  column.setBeanPropertyAccessors(new IBeanPropertyAccessors<TreeSchemaTableEntry,Boolean>(){
    public Boolean get(    TreeSchemaTableEntry bean){
      return bean.isKey();
    }
    public void set(    TreeSchemaTableEntry bean,    Boolean value){
      bean.setKey(value);
    }
  }
);
  column=new TableViewerCreatorColumn(tableViewerCreator);
  column.setTitle("String_Node_Str");
  column.setToolTipHeader("String_Node_Str");
  column.setId(ID_COLUMN_TYPE);
  column.setBeanPropertyAccessors(getTalendTypeAccessor());
  column.setModifiable(true);
  column.setWeight(20);
  TreeSchemaJavaTypeComboValueAdapter comboValueAdapter=new TreeSchemaJavaTypeComboValueAdapter<TreeSchemaTableEntry>(JavaTypesManager.getDefaultJavaType(),getNullableAccessor());
  ComboBoxCellEditor typeComboEditor=new ComboBoxCellEditor(tableViewerCreator.getTable(),comboValueAdapter.getTalendTypesLabels(),SWT.READ_ONLY);
  CCombo typeCombo=(CCombo)typeComboEditor.getControl();
  typeCombo.setEditable(false);
  column.setCellEditor(typeComboEditor,comboValueAdapter);
  column=new TableViewerCreatorColumn(tableViewerCreator);
  column.setTitle("String_Node_Str");
  column.setToolTipHeader("String_Node_Str");
  column.setId(ID_COLUMN_NULLABLE);
  column.setBeanPropertyAccessors(getNullableAccessor());
  column.setWeight(20);
  column.setDisplayedValue("String_Node_Str");
  column.setModifiable(true);
  column.setTableColumnSelectionListener(new CheckColumnSelectionListener(column,tableViewerCreator));
  column.setImageHeader(ImageProvider.getImage(EImage.CHECKED_ICON));
  CheckboxTableEditorContent nullableCheckbox=new CheckboxTableEditorContent();
  column.setTableEditorContent(nullableCheckbox);
  column=new TableViewerCreatorColumn(tableViewerCreator);
  column.setTitle("String_Node_Str");
  column.setId(ID_COLUMN_PATTERN);
  column.setWeight(20);
  column.setBeanPropertyAccessors(new IBeanPropertyAccessors<TreeSchemaTableEntry,String>(){
    public String get(    TreeSchemaTableEntry bean){
      return bean.getPattern();
    }
    public void set(    TreeSchemaTableEntry bean,    String value){
      bean.setPattern(value);
    }
  }
);
  final ColumnCellModifier columnCellModifier=new ColumnCellModifier(column){
    public boolean canModify(    Object bean){
      boolean typeIsDate=currentBeanHasJavaDateType(bean) && !isReadOnly();
      return typeIsDate;
    }
  }
;
  column.setColorProvider(new IColumnColorProvider(){
    public Color getBackgroundColor(    Object bean){
      if (!columnCellModifier.canModify(bean)) {
        return READONLY_CELL_BG_COLOR;
      }
      return null;
    }
    public Color getForegroundColor(    Object bean){
      return null;
    }
  }
);
  column.setLabelProvider(new IColumnLabelProvider(){
    public String getLabel(    Object bean){
      if (!currentBeanHasJavaDateType(bean)) {
        return "String_Node_Str";
      }
      return null;
    }
  }
);
  column.setColumnCellModifier(columnCellModifier);
  JavaSimpleDateFormatProposalProvider proposalProvider=new JavaSimpleDateFormatProposalProvider();
  TextCellEditorWithProposal patternCellEditor=new TextCellEditorWithProposal(tableViewerCreator.getTable(),column);
  ContentProposalAdapterExtended contentProposalAdapter=patternCellEditor.getContentProposalAdapter();
  contentProposalAdapter.setFilterStyle(ContentProposalAdapterExtended.FILTER_NONE);
  contentProposalAdapter.setProposalAcceptanceStyle(ContentProposalAdapterExtended.PROPOSAL_INSERT);
  patternCellEditor.setContentProposalProvider(proposalProvider);
  column.setCellEditor(patternCellEditor,CellEditorValueAdapterFactory.getNullToEmptyStringTextAdapater());
  tableViewerCreator.setCellModifier(new XmlCellModifier(tableViewerCreator));
}