Program: 117492
Project: 117492
Buggy source:
@SuppressWarnings("String_Node_Str") @Override protected Component resolveComponent(String id,DisplayMode mode,String critery){
  if (DisplayMode.VIEW.equals(mode)) {
    if ("String_Node_Str".equals(critery)) {
      return new OClassViewPanel(id,(IModel<OClass>)getModel());
    }
 else     if ("String_Node_Str".equals(critery)) {
      return new Label(id,getModel());
    }
 else {
      return new Label(id,getModel());
    }
  }
 else   if (DisplayMode.EDIT.equals(mode)) {
    if ("String_Node_Str".equals(critery)) {
      return new TextField<V>(id,getModel()).setType(String.class).add((IValidator<V>)OSchemaNamesValidator.INSTANCE).setRequired(true);
    }
 else     if ("String_Node_Str".equals(critery)) {
      return new DropDownChoice<OType>(id,(IModel<OType>)getModel(),Arrays.asList(OType.values())).setRequired(true).add(new OnChangeAjaxBehavior(){
        @Override protected void onUpdate(        AjaxRequestTarget target){
          target.add(OPropertyMetaPanel.this.getMetaContext().getContextComponent());
        }
      }
);
    }
 else     if ("String_Node_Str".equals(critery)) {
      return new DropDownChoice<OType>(id,(IModel<OType>)getModel(),Arrays.asList(OType.values())).setNullValid(true);
    }
 else     if ("String_Node_Str".equals(critery)) {
      return new DropDownChoice<OClass>(id,(IModel<OClass>)getModel(),new ListClassesModel(),new IChoiceRenderer<OClass>(){
        /** 
 */
        private static final long serialVersionUID=1L;
        @Override public Object getDisplayValue(        OClass object){
          return new OClassNamingModel(object).getObject();
        }
        @Override public String getIdValue(        OClass object,        int index){
          return object.getName();
        }
      }
).setNullValid(true);
    }
 else     if ("String_Node_Str".equals(critery)) {
      return new DropDownChoice<String>(id,(IModel<String>)getModel(),Lists.newArrayList(OSQLEngine.getCollateNames()));
    }
 else     if ("String_Node_Str".equals(critery) || "String_Node_Str".equals(critery) || "String_Node_Str".equals(critery)) {
      return new CheckBox(id,(IModel<Boolean>)getModel());
    }
 else     if ("String_Node_Str".equals(critery) || "String_Node_Str".equals(critery)) {
      return new TextField<V>(id,getModel());
    }
 else {
      final CustomAttributes customAttr=CustomAttributes.fromString(critery);
      if (customAttr != null) {
switch (customAttr) {
case CALCULABLE:
case DISPLAYABLE:
          return new CheckBox(id,(IModel<Boolean>)getModel());
case CALC_SCRIPT:
        return new TextArea<V>(id,getModel());
case ORDER:
      return new TextField<V>(id,getModel()).setType(Integer.class);
case TAB:
    return new TextField<V>(id,getModel());
case VISUALIZATION_TYPE:
  return new DropDownChoice<String>(id,(IModel<String>)getModel(),new LoadableDetachableModel<List<String>>(){
    @Override protected List<String> load(){
      OType type=getMetaComponentEnteredValue(OPropertyPrototyper.TYPE);
      UIComponentsRegistry registry=OrienteerWebApplication.get().getUIComponentsRegistry();
      return registry.getComponentsOptions(type);
    }
  }
){
    private static final long serialVersionUID=1L;
    @Override protected void onConfigure(){
      super.onConfigure();
      List<?> choices=getChoices();
      setVisible(choices != null && choices.size() > 0);
    }
  }
;
}
}
return resolveComponent(id,DisplayMode.VIEW,critery);
}
}
 else return null;
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") @Override protected Component resolveComponent(String id,DisplayMode mode,String critery){
  if (DisplayMode.VIEW.equals(mode)) {
    if ("String_Node_Str".equals(critery)) {
      return new OClassViewPanel(id,(IModel<OClass>)getModel());
    }
 else     if ("String_Node_Str".equals(critery)) {
      return new Label(id,getModel());
    }
 else {
      return new Label(id,getModel());
    }
  }
 else   if (DisplayMode.EDIT.equals(mode)) {
    if ("String_Node_Str".equals(critery)) {
      return new TextField<V>(id,getModel()).setType(String.class).add((IValidator<V>)OSchemaNamesValidator.INSTANCE).setRequired(true);
    }
 else     if ("String_Node_Str".equals(critery)) {
      return new DropDownChoice<OType>(id,(IModel<OType>)getModel(),Arrays.asList(OType.values())).setRequired(true).add(new AjaxFormSubmitBehavior("String_Node_Str"){
        @Override protected void onSubmit(        AjaxRequestTarget target){
          target.add(OPropertyMetaPanel.this.getMetaContext().getContextComponent());
        }
        @Override public boolean getDefaultProcessing(){
          return false;
        }
      }
);
    }
 else     if ("String_Node_Str".equals(critery)) {
      return new DropDownChoice<OType>(id,(IModel<OType>)getModel(),Arrays.asList(OType.values())).setNullValid(true);
    }
 else     if ("String_Node_Str".equals(critery)) {
      return new DropDownChoice<OClass>(id,(IModel<OClass>)getModel(),new ListClassesModel(),new IChoiceRenderer<OClass>(){
        /** 
 */
        private static final long serialVersionUID=1L;
        @Override public Object getDisplayValue(        OClass object){
          return new OClassNamingModel(object).getObject();
        }
        @Override public String getIdValue(        OClass object,        int index){
          return object.getName();
        }
      }
).setNullValid(true);
    }
 else     if ("String_Node_Str".equals(critery)) {
      return new DropDownChoice<String>(id,(IModel<String>)getModel(),Lists.newArrayList(OSQLEngine.getCollateNames()));
    }
 else     if ("String_Node_Str".equals(critery) || "String_Node_Str".equals(critery) || "String_Node_Str".equals(critery)) {
      return new CheckBox(id,(IModel<Boolean>)getModel());
    }
 else     if ("String_Node_Str".equals(critery) || "String_Node_Str".equals(critery)) {
      return new TextField<V>(id,getModel());
    }
 else {
      final CustomAttributes customAttr=CustomAttributes.fromString(critery);
      if (customAttr != null) {
switch (customAttr) {
case CALCULABLE:
case DISPLAYABLE:
          return new CheckBox(id,(IModel<Boolean>)getModel());
case CALC_SCRIPT:
        return new TextArea<V>(id,getModel());
case ORDER:
      return new TextField<V>(id,getModel()).setType(Integer.class);
case TAB:
    return new TextField<V>(id,getModel());
case VISUALIZATION_TYPE:
  return new DropDownChoice<String>(id,(IModel<String>)getModel(),new LoadableDetachableModel<List<String>>(){
    @Override protected List<String> load(){
      OType type=getMetaComponentEnteredValue(OPropertyPrototyper.TYPE);
      UIComponentsRegistry registry=OrienteerWebApplication.get().getUIComponentsRegistry();
      return registry.getComponentsOptions(type);
    }
  }
){
    private static final long serialVersionUID=1L;
    @Override protected void onConfigure(){
      super.onConfigure();
      List<?> choices=getChoices();
      setVisible(choices != null && choices.size() > 0);
    }
  }
;
}
}
return resolveComponent(id,DisplayMode.VIEW,critery);
}
}
 else return null;
}