Program: 143728
Project: 143728
Buggy source:
private static void createFieldHTML(Field field,Form form,StringBuffer html,TextualCSS css,int startY,int endY,boolean enableAnchoring,IServiceProvider sp){
  boolean addWrapperDiv=enableAnchoring && needsWrapperDivForAnchoring(field);
  if (addWrapperDiv) {
    String wrapperId=ComponentFactory.getWebID(form,field) + WRAPPER_SUFFIX;
    TextualStyle wrapperStyle=css.addStyle('#' + wrapperId);
    wrapperStyle.setProperty("String_Node_Str","String_Node_Str");
    html.append("String_Node_Str");
    html.append(getWicketIDParameter(form,field,"String_Node_Str",WRAPPER_SUFFIX));
    html.append(getJavaScriptIDParameter(form,field,"String_Node_Str",WRAPPER_SUFFIX));
    html.append("String_Node_Str");
  }
  TextualStyle styleObj=css.addStyle('#' + ComponentFactory.getWebID(form,field));
  Insets padding=(Insets)DEFAULT_FIELD_PADDING.clone();
  Insets border=(Insets)DEFAULT_FIELD_BORDER_SIZE.clone();
  if (field.getDisplayType() == Field.COMBOBOX) {
    padding=DEFAULT_LABEL_PADDING;
  }
  BorderAndPadding ins=applyBaseComponentProperties(field,form,styleObj,padding,border,sp);
  FixedStyleSheet ss=ComponentFactory.getCSSStyleForForm(sp,form);
  String cssClass="String_Node_Str";
switch (field.getDisplayType()) {
case Field.PASSWORD:
{
      if (ins == null) {
        ins=new BorderAndPadding(DEFAULT_FIELD_BORDER_SIZE,DEFAULT_FIELD_PADDING);
      }
      html.append("String_Node_Str");
      html.append(getWicketIDParameter(form,field));
      html.append(getDataProviderIDParameter(field));
      html.append(getCSSClassParameter("String_Node_Str"));
      html.append("String_Node_Str");
      if (field.getSelectOnEnter()) {
        html.append("String_Node_Str");
      }
      html.append("String_Node_Str");
    }
  break;
case Field.RTF_AREA:
{
  applyScrolling(styleObj,field);
  html.append("String_Node_Str");
  html.append(getWicketIDParameter(form,field));
  html.append(getCSSClassParameter("String_Node_Str"));
  html.append("String_Node_Str");
}
break;
case Field.HTML_AREA:
if (!field.getEditable()) {
applyScrolling(styleObj,field);
html.append("String_Node_Str");
html.append(getWicketIDParameter(form,field));
html.append(getCSSClassParameter("String_Node_Str"));
html.append("String_Node_Str");
break;
}
case Field.TEXT_AREA:
{
if (ins == null) {
ins=new BorderAndPadding(DEFAULT_FIELD_BORDER_SIZE,DEFAULT_FIELD_PADDING);
}
applyScrolling(styleObj,field);
html.append("String_Node_Str");
html.append(getWicketIDParameter(form,field));
html.append(getDataProviderIDParameter(field));
html.append(getCSSClassParameter("String_Node_Str"));
html.append("String_Node_Str");
}
break;
case Field.CHECKS:
case Field.RADIOS:
boolean isRadio=(field.getDisplayType() == Field.RADIOS);
String selector=(isRadio ? "String_Node_Str" : "String_Node_Str");
IValueList val=null;
ValueList valuelist=null;
if (field.getValuelistID() > 0 && sp != null) {
Pair<String,Integer> fieldFormat=ComponentFactory.getFieldFormat(field,sp.getFlattenedSolution().getDataproviderLookup(sp.getFoundSetManager(),form),sp);
valuelist=sp.getFlattenedSolution().getValueList(field.getValuelistID());
if (valuelist != null) val=ComponentFactory.getRealValueList(sp,valuelist,true,fieldFormat.getRight(),fieldFormat.getLeft(),field.getDataProviderID());
}
boolean addSingle=ComponentFactory.isSingleValue(valuelist,val);
if (field.getValuelistID() > 0 && !addSingle && !isRadio) cssClass="String_Node_Str";
if (ss != null) {
cssClass="String_Node_Str";
String lookUpValue=selector;
javax.swing.text.Style s=ss.getRule(lookUpValue);
if (s.getAttributeCount() == 0) {
if ((field.getStyleClass() != null) && (field.getStyleClass().trim().length() > 0)) {
lookUpValue+='.' + field.getStyleClass().trim();
s=ss.getRule(lookUpValue);
if (s.getAttributeCount() > 0) cssClass=selector;
}
}
 else {
cssClass=selector;
}
}
if ((field.getValuelistID() > 0 || isRadio) && !addSingle) {
applyScrolling(styleObj,field);
html.append("String_Node_Str");
html.append(getWicketIDParameter(form,field));
html.append(getDataProviderIDParameter(field));
html.append(getCSSClassParameter(cssClass));
html.append("String_Node_Str");
}
 else {
html.append("String_Node_Str");
html.append(getCSSClassParameter(cssClass));
html.append(getWicketIDParameter(form,field));
html.append("String_Node_Str");
html.append("String_Node_Str");
html.append("String_Node_Str" + (isRadio ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
html.append(getWicketIDParameter(form,field,"String_Node_Str","String_Node_Str"));
html.append(getDataProviderIDParameter(field));
if (isRadio) {
html.append("String_Node_Str");
}
 else {
html.append("String_Node_Str");
}
html.append("String_Node_Str");
html.append("String_Node_Str");
html.append(ComponentFactory.getWebID(form,field));
html.append("String_Node_Str" + (isRadio ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
html.append("String_Node_Str");
html.append(getWicketIDParameter(form,field,"String_Node_Str","String_Node_Str"));
html.append("String_Node_Str");
html.append("String_Node_Str");
html.append("String_Node_Str");
}
break;
case Field.COMBOBOX:
{
ins=null;
html.append("String_Node_Str");
html.append(getWicketIDParameter(form,field));
html.append(getDataProviderIDParameter(field));
html.append(getCSSClassParameter("String_Node_Str"));
html.append("String_Node_Str");
}
break;
case Field.CALENDAR:
{
html.append("String_Node_Str");
html.append(getWicketIDParameter(form,field));
html.append(getDataProviderIDParameter(field));
html.append(getCSSClassParameter("String_Node_Str"));
html.append("String_Node_Str");
html.append("String_Node_Str");
TextualStyle inline=new TextualStyle();
inline.setProperty("String_Node_Str","String_Node_Str");
inline.setProperty("String_Node_Str","String_Node_Str");
inline.setProperty("String_Node_Str","String_Node_Str");
inline.setProperty("String_Node_Str","String_Node_Str");
inline.setProperty("String_Node_Str","String_Node_Str");
inline.setProperty("String_Node_Str","String_Node_Str");
html.append(inline.toString());
html.append("String_Node_Str");
inline.remove("String_Node_Str");
inline.remove("String_Node_Str");
html.append(inline.toString());
html.append("String_Node_Str");
html.append(inline.toString());
html.append("String_Node_Str");
inline=new TextualStyle();
inline.setProperty("String_Node_Str","String_Node_Str");
inline.setProperty("String_Node_Str","String_Node_Str");
inline.setProperty("String_Node_Str","String_Node_Str");
inline.setProperty("String_Node_Str","String_Node_Str");
inline.setProperty("String_Node_Str","String_Node_Str");
inline.setProperty("String_Node_Str","String_Node_Str");
inline.copy("String_Node_Str",styleObj);
inline.copy("String_Node_Str",styleObj);
inline.copy("String_Node_Str",styleObj);
html.append(inline.toString());
html.append("String_Node_Str");
}
break;
case Field.IMAGE_MEDIA:
{
applyScrolling(styleObj,field);
html.append("String_Node_Str");
html.append(getWicketIDParameter(form,field));
html.append(getCSSClassParameter("String_Node_Str"));
html.append('>');
TextualStyle inline2=new TextualStyle();
inline2.setProperty("String_Node_Str","String_Node_Str");
inline2.setProperty("String_Node_Str","String_Node_Str");
inline2.setProperty("String_Node_Str","String_Node_Str");
inline2.setProperty("String_Node_Str","String_Node_Str");
inline2.setProperty("String_Node_Str","String_Node_Str");
inline2.setProperty("String_Node_Str","String_Node_Str");
html.append("String_Node_Str");
html.append(inline2.toString());
html.append("String_Node_Str");
html.append("String_Node_Str");
inline2.setProperty("String_Node_Str","String_Node_Str");
html.append(inline2.toString());
html.append("String_Node_Str");
html.append("String_Node_Str");
inline2.setProperty("String_Node_Str","String_Node_Str");
html.append(inline2.toString());
html.append("String_Node_Str");
TextualStyle inline=new TextualStyle();
inline.setProperty("String_Node_Str","String_Node_Str");
inline.setProperty("String_Node_Str","String_Node_Str");
inline.setProperty("String_Node_Str","String_Node_Str");
if (field.getOnActionMethodID() < 1) {
inline.setProperty("String_Node_Str","String_Node_Str");
}
html.append("String_Node_Str");
html.append(inline.toString());
html.append(getWicketIDParameter(form,field));
html.append(getJavaScriptIDParameter(form,field));
html.append("String_Node_Str");
if (field.getName() != null) html.append(field.getName());
html.append("String_Node_Str");
html.append("String_Node_Str");
html.append("String_Node_Str");
html.append("String_Node_Str");
html.append("String_Node_Str");
html.append("String_Node_Str");
}
break;
case Field.TYPE_AHEAD:
default :
case Field.TEXT_FIELD:
{
if (ins == null) {
ins=new BorderAndPadding(DEFAULT_FIELD_BORDER_SIZE,DEFAULT_FIELD_PADDING);
}
html.append("String_Node_Str");
html.append(getWicketIDParameter(form,field));
html.append(getDataProviderIDParameter(field));
html.append(getCSSClassParameter("String_Node_Str"));
html.append("String_Node_Str");
if (field.getSelectOnEnter()) {
html.append("String_Node_Str");
}
html.append("String_Node_Str");
}
break;
}
applyTextProperties(field,styleObj);
if (addWrapperDiv) {
html.append("String_Node_Str");
styleObj.setProperty("String_Node_Str","String_Node_Str");
styleObj.setProperty("String_Node_Str","String_Node_Str");
styleObj.setProperty("String_Node_Str","String_Node_Str");
}
 else {
applyLocationAndSize(field,styleObj,ins,startY,endY,form.getSize().width,enableAnchoring);
}
}

Fixed version (ground truth):
private static void createFieldHTML(Field field,Form form,StringBuffer html,TextualCSS css,int startY,int endY,boolean enableAnchoring,IServiceProvider sp){
  boolean addWrapperDiv=enableAnchoring && needsWrapperDivForAnchoring(field);
  if (addWrapperDiv) {
    String wrapperId=ComponentFactory.getWebID(form,field) + WRAPPER_SUFFIX;
    TextualStyle wrapperStyle=css.addStyle('#' + wrapperId);
    wrapperStyle.setProperty("String_Node_Str","String_Node_Str");
    html.append("String_Node_Str");
    html.append(getWicketIDParameter(form,field,"String_Node_Str",WRAPPER_SUFFIX));
    html.append(getJavaScriptIDParameter(form,field,"String_Node_Str",WRAPPER_SUFFIX));
    html.append("String_Node_Str");
  }
  TextualStyle styleObj=css.addStyle('#' + ComponentFactory.getWebID(form,field));
  Insets padding=(Insets)DEFAULT_FIELD_PADDING.clone();
  Insets border=(Insets)DEFAULT_FIELD_BORDER_SIZE.clone();
  if (field.getDisplayType() == Field.COMBOBOX) {
    padding=DEFAULT_LABEL_PADDING;
  }
  BorderAndPadding ins=applyBaseComponentProperties(field,form,styleObj,padding,border,sp);
  FixedStyleSheet ss=ComponentFactory.getCSSStyleForForm(sp,form);
  String cssClass="String_Node_Str";
switch (field.getDisplayType()) {
case Field.PASSWORD:
{
      if (ins == null) {
        ins=new BorderAndPadding(DEFAULT_FIELD_BORDER_SIZE,DEFAULT_FIELD_PADDING);
      }
      html.append("String_Node_Str");
      html.append(getWicketIDParameter(form,field));
      html.append(getDataProviderIDParameter(field));
      html.append(getCSSClassParameter("String_Node_Str"));
      html.append("String_Node_Str");
      if (field.getSelectOnEnter()) {
        html.append("String_Node_Str");
      }
      html.append("String_Node_Str");
    }
  break;
case Field.RTF_AREA:
{
  applyScrolling(styleObj,field);
  html.append("String_Node_Str");
  html.append(getWicketIDParameter(form,field));
  html.append(getCSSClassParameter("String_Node_Str"));
  html.append("String_Node_Str");
}
break;
case Field.HTML_AREA:
if (!field.getEditable()) {
applyScrolling(styleObj,field);
html.append("String_Node_Str");
html.append(getWicketIDParameter(form,field));
html.append(getCSSClassParameter("String_Node_Str"));
html.append("String_Node_Str");
break;
}
case Field.TEXT_AREA:
{
if (ins == null) {
ins=new BorderAndPadding(DEFAULT_FIELD_BORDER_SIZE,DEFAULT_FIELD_PADDING);
}
applyScrolling(styleObj,field);
html.append("String_Node_Str");
html.append(getWicketIDParameter(form,field));
html.append(getDataProviderIDParameter(field));
html.append(getCSSClassParameter("String_Node_Str"));
html.append("String_Node_Str");
}
break;
case Field.CHECKS:
case Field.RADIOS:
boolean isRadio=(field.getDisplayType() == Field.RADIOS);
String selector=(isRadio ? "String_Node_Str" : "String_Node_Str");
IValueList val=null;
ValueList valuelist=null;
if (field.getValuelistID() > 0 && sp != null) {
Pair<String,Integer> fieldFormat=ComponentFactory.getFieldFormat(field,sp.getFlattenedSolution().getDataproviderLookup(sp.getFoundSetManager(),form),sp);
valuelist=sp.getFlattenedSolution().getValueList(field.getValuelistID());
if (valuelist != null) val=ComponentFactory.getRealValueList(sp,valuelist,true,fieldFormat.getRight(),fieldFormat.getLeft(),field.getDataProviderID());
}
boolean addSingle=ComponentFactory.isSingleValue(valuelist,val);
if (ss != null) {
cssClass="String_Node_Str";
String lookUpValue=selector;
javax.swing.text.Style s=ss.getRule(lookUpValue);
if (s.getAttributeCount() == 0) {
if ((field.getStyleClass() != null) && (field.getStyleClass().trim().length() > 0)) {
lookUpValue+='.' + field.getStyleClass().trim();
s=ss.getRule(lookUpValue);
if (s.getAttributeCount() > 0) cssClass=selector;
}
}
 else {
cssClass=selector;
}
}
if ((field.getValuelistID() > 0 || isRadio) && !addSingle) {
applyScrolling(styleObj,field);
html.append("String_Node_Str");
html.append(getWicketIDParameter(form,field));
html.append(getDataProviderIDParameter(field));
html.append(getCSSClassParameter(cssClass));
html.append("String_Node_Str");
}
 else {
html.append("String_Node_Str");
html.append(getCSSClassParameter(cssClass));
html.append(getWicketIDParameter(form,field));
html.append("String_Node_Str");
html.append("String_Node_Str");
html.append("String_Node_Str" + (isRadio ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
html.append(getWicketIDParameter(form,field,"String_Node_Str","String_Node_Str"));
html.append(getDataProviderIDParameter(field));
if (isRadio) {
html.append("String_Node_Str");
}
 else {
html.append("String_Node_Str");
}
html.append("String_Node_Str");
html.append("String_Node_Str");
html.append(ComponentFactory.getWebID(form,field));
html.append("String_Node_Str" + (isRadio ? "String_Node_Str" : "String_Node_Str") + "String_Node_Str");
html.append("String_Node_Str");
html.append(getWicketIDParameter(form,field,"String_Node_Str","String_Node_Str"));
html.append("String_Node_Str");
html.append("String_Node_Str");
html.append("String_Node_Str");
}
break;
case Field.COMBOBOX:
{
ins=null;
html.append("String_Node_Str");
html.append(getWicketIDParameter(form,field));
html.append(getDataProviderIDParameter(field));
html.append(getCSSClassParameter("String_Node_Str"));
html.append("String_Node_Str");
}
break;
case Field.CALENDAR:
{
html.append("String_Node_Str");
html.append(getWicketIDParameter(form,field));
html.append(getDataProviderIDParameter(field));
html.append(getCSSClassParameter("String_Node_Str"));
html.append("String_Node_Str");
html.append("String_Node_Str");
TextualStyle inline=new TextualStyle();
inline.setProperty("String_Node_Str","String_Node_Str");
inline.setProperty("String_Node_Str","String_Node_Str");
inline.setProperty("String_Node_Str","String_Node_Str");
inline.setProperty("String_Node_Str","String_Node_Str");
inline.setProperty("String_Node_Str","String_Node_Str");
inline.setProperty("String_Node_Str","String_Node_Str");
html.append(inline.toString());
html.append("String_Node_Str");
inline.remove("String_Node_Str");
inline.remove("String_Node_Str");
html.append(inline.toString());
html.append("String_Node_Str");
html.append(inline.toString());
html.append("String_Node_Str");
inline=new TextualStyle();
inline.setProperty("String_Node_Str","String_Node_Str");
inline.setProperty("String_Node_Str","String_Node_Str");
inline.setProperty("String_Node_Str","String_Node_Str");
inline.setProperty("String_Node_Str","String_Node_Str");
inline.setProperty("String_Node_Str","String_Node_Str");
inline.setProperty("String_Node_Str","String_Node_Str");
inline.copy("String_Node_Str",styleObj);
inline.copy("String_Node_Str",styleObj);
inline.copy("String_Node_Str",styleObj);
html.append(inline.toString());
html.append("String_Node_Str");
}
break;
case Field.IMAGE_MEDIA:
{
applyScrolling(styleObj,field);
html.append("String_Node_Str");
html.append(getWicketIDParameter(form,field));
html.append(getCSSClassParameter("String_Node_Str"));
html.append('>');
TextualStyle inline2=new TextualStyle();
inline2.setProperty("String_Node_Str","String_Node_Str");
inline2.setProperty("String_Node_Str","String_Node_Str");
inline2.setProperty("String_Node_Str","String_Node_Str");
inline2.setProperty("String_Node_Str","String_Node_Str");
inline2.setProperty("String_Node_Str","String_Node_Str");
inline2.setProperty("String_Node_Str","String_Node_Str");
html.append("String_Node_Str");
html.append(inline2.toString());
html.append("String_Node_Str");
html.append("String_Node_Str");
inline2.setProperty("String_Node_Str","String_Node_Str");
html.append(inline2.toString());
html.append("String_Node_Str");
html.append("String_Node_Str");
inline2.setProperty("String_Node_Str","String_Node_Str");
html.append(inline2.toString());
html.append("String_Node_Str");
TextualStyle inline=new TextualStyle();
inline.setProperty("String_Node_Str","String_Node_Str");
inline.setProperty("String_Node_Str","String_Node_Str");
inline.setProperty("String_Node_Str","String_Node_Str");
if (field.getOnActionMethodID() < 1) {
inline.setProperty("String_Node_Str","String_Node_Str");
}
html.append("String_Node_Str");
html.append(inline.toString());
html.append(getWicketIDParameter(form,field));
html.append(getJavaScriptIDParameter(form,field));
html.append("String_Node_Str");
if (field.getName() != null) html.append(field.getName());
html.append("String_Node_Str");
html.append("String_Node_Str");
html.append("String_Node_Str");
html.append("String_Node_Str");
html.append("String_Node_Str");
html.append("String_Node_Str");
}
break;
case Field.TYPE_AHEAD:
default :
case Field.TEXT_FIELD:
{
if (ins == null) {
ins=new BorderAndPadding(DEFAULT_FIELD_BORDER_SIZE,DEFAULT_FIELD_PADDING);
}
html.append("String_Node_Str");
html.append(getWicketIDParameter(form,field));
html.append(getDataProviderIDParameter(field));
html.append(getCSSClassParameter("String_Node_Str"));
html.append("String_Node_Str");
if (field.getSelectOnEnter()) {
html.append("String_Node_Str");
}
html.append("String_Node_Str");
}
break;
}
applyTextProperties(field,styleObj);
if (addWrapperDiv) {
html.append("String_Node_Str");
styleObj.setProperty("String_Node_Str","String_Node_Str");
styleObj.setProperty("String_Node_Str","String_Node_Str");
styleObj.setProperty("String_Node_Str","String_Node_Str");
}
 else {
applyLocationAndSize(field,styleObj,ins,startY,endY,form.getSize().width,enableAnchoring);
}
}