Program: 70557
Project: 70557
Buggy source:
private void updateUI(Trigger trigger){
  if (trigger == null) {
    initUI();
    return;
  }
switch (getTriggerIndex()) {
case INDEX_1_URL_REDIRECT:
    ActionValue value=trigger.getAction().getValue();
  if (value instanceof MultiURLValues) {
    this.slValues.topControl=multiHyperlinksComposite;
    MultiURLValues urlValues=(MultiURLValues)trigger.getAction().getValue();
    multiHyperlinksComposite.populateUIValues(urlValues);
  }
 else   if (value instanceof URLValue) {
    ChartAdapter.beginIgnoreNotifications();
    MultiURLValues muv=MultiURLValuesImpl.create();
    URLValue uv=(URLValue)value;
    org.eclipse.birt.chart.model.component.Label l=LabelImpl.create();
    l.setCaption(TextImpl.create(uv.getBaseUrl()));
    uv.setLabel(l);
    muv.getURLValues().add(uv);
    muv.setTooltip(uv.getTooltip());
    muv.eAdapters().addAll(value.eAdapters());
    trigger.getAction().setValue(muv);
    multiHyperlinksComposite.populateUIValues(muv);
    ChartAdapter.endIgnoreNotifications();
  }
 else {
    this.slValues.topControl=cmpURL;
    URLValue urlValue=(URLValue)trigger.getAction().getValue();
    sBaseURL=urlValue.getBaseUrl();
    txtBaseParm.setText((urlValue.getBaseParameterName().length() > 0) ? urlValue.getBaseParameterName() : "String_Node_Str");
    txtValueParm.setText((urlValue.getValueParameterName().length() > 0) ? urlValue.getValueParameterName() : "String_Node_Str");
    txtSeriesParm.setText((urlValue.getSeriesParameterName().length() > 0) ? urlValue.getSeriesParameterName() : "String_Node_Str");
  }
break;
case INDEX_2_TOOLTIP:
this.slValues.topControl=cmpTooltip;
TooltipValue tooltipValue=(TooltipValue)trigger.getAction().getValue();
txtTooltipText.setText((tooltipValue.getText() != null) ? tooltipValue.getText() : "String_Node_Str");
break;
case INDEX_3_TOOGLE_VISABILITY:
this.slValues.topControl=cmpVisiblity;
break;
case INDEX_4_SCRIPT:
this.slValues.topControl=cmpScript;
ScriptValue scriptValue=(ScriptValue)trigger.getAction().getValue();
txtScript.setText((scriptValue.getScript().length() > 0) ? scriptValue.getScript() : "String_Node_Str");
break;
case INDEX_5_HIGHLIGHT:
this.slValues.topControl=cmpHighlight;
break;
case INDEX_6_CALLBACK:
this.slValues.topControl=cmpCallback;
break;
case INDEX_7_TOOGLE_DATAPOINT:
this.slValues.topControl=cmpDPVisibility;
break;
default :
this.slValues.topControl=cmpDefault;
break;
}
grpValue.layout();
}

Fixed version (ground truth):
private void updateUI(Trigger trigger){
  if (trigger == null) {
    initUI();
    return;
  }
switch (getTriggerIndex()) {
case INDEX_1_URL_REDIRECT:
    this.slValues.topControl=multiHyperlinksComposite;
  ActionValue value=trigger.getAction().getValue();
if (value instanceof MultiURLValues) {
  MultiURLValues urlValues=(MultiURLValues)trigger.getAction().getValue();
  multiHyperlinksComposite.populateUIValues(urlValues);
}
 else if (value instanceof URLValue) {
  ChartAdapter.beginIgnoreNotifications();
  MultiURLValues muv=MultiURLValuesImpl.create();
  URLValue uv=(URLValue)value;
  org.eclipse.birt.chart.model.component.Label l=LabelImpl.create();
  l.setCaption(TextImpl.create(uv.getBaseUrl()));
  uv.setLabel(l);
  muv.getURLValues().add(uv);
  muv.setTooltip(uv.getTooltip());
  muv.eAdapters().addAll(value.eAdapters());
  trigger.getAction().setValue(muv);
  multiHyperlinksComposite.populateUIValues(muv);
  ChartAdapter.endIgnoreNotifications();
}
 else {
  this.slValues.topControl=cmpURL;
  URLValue urlValue=(URLValue)trigger.getAction().getValue();
  sBaseURL=urlValue.getBaseUrl();
  txtBaseParm.setText((urlValue.getBaseParameterName().length() > 0) ? urlValue.getBaseParameterName() : "String_Node_Str");
  txtValueParm.setText((urlValue.getValueParameterName().length() > 0) ? urlValue.getValueParameterName() : "String_Node_Str");
  txtSeriesParm.setText((urlValue.getSeriesParameterName().length() > 0) ? urlValue.getSeriesParameterName() : "String_Node_Str");
}
break;
case INDEX_2_TOOLTIP:
this.slValues.topControl=cmpTooltip;
TooltipValue tooltipValue=(TooltipValue)trigger.getAction().getValue();
txtTooltipText.setText((tooltipValue.getText() != null) ? tooltipValue.getText() : "String_Node_Str");
break;
case INDEX_3_TOOGLE_VISABILITY:
this.slValues.topControl=cmpVisiblity;
break;
case INDEX_4_SCRIPT:
this.slValues.topControl=cmpScript;
ScriptValue scriptValue=(ScriptValue)trigger.getAction().getValue();
txtScript.setText((scriptValue.getScript().length() > 0) ? scriptValue.getScript() : "String_Node_Str");
break;
case INDEX_5_HIGHLIGHT:
this.slValues.topControl=cmpHighlight;
break;
case INDEX_6_CALLBACK:
this.slValues.topControl=cmpCallback;
break;
case INDEX_7_TOOGLE_DATAPOINT:
this.slValues.topControl=cmpDPVisibility;
break;
default :
this.slValues.topControl=cmpDefault;
break;
}
grpValue.layout();
}