Program: 31645
Project: 31645
Buggy source:
private Object convertItemValue(Map<String,MetaItem> metaWarehouse,String itemKey,String itemValueStr) throws ShifuException {
  MetaItem itemMeta=metaWarehouse.get(itemKey);
  if (itemMeta == null) {
    return null;
  }
  itemValueStr=itemValueStr.trim();
  if (itemMeta.getType().equals("String_Node_Str")) {
    return itemValueStr;
  }
 else   if (itemMeta.getType().equals("String_Node_Str")) {
    try {
      return Double.parseDouble(itemValueStr);
    }
 catch (    NumberFormatException e) {
      LOG.error("String_Node_Str",itemKey,itemValueStr);
      throw new ShifuException(ShifuErrorCode.ERROR_GRID_SEARCH_FILE_CONFIG);
    }
  }
 else   if (itemMeta.getType().equals("String_Node_Str")) {
    return itemValueStr.equalsIgnoreCase("String_Node_Str");
  }
 else   if (itemMeta.getType().equals("String_Node_Str")) {
    if (itemKey.equals("String_Node_Str") && itemMeta.getElementType().equals("String_Node_Str") && itemValueStr.matches("String_Node_Str")) {
      List<Integer> itemValue=new ArrayList<Integer>();
      itemValueStr=itemValueStr.substring(1,itemValueStr.length() - 1);
      String[] splits=itemValueStr.split("String_Node_Str");
      for (      String valueSplit : splits) {
        itemValue.add(Integer.parseInt(valueSplit));
      }
      return itemValue;
    }
 else     if (itemKey.equals("String_Node_Str") && itemMeta.getElementType().equals("String_Node_Str") && itemValueStr.matches("String_Node_Str")) {
      List<String> itemValue=new ArrayList<String>();
      itemValueStr=itemValueStr.substring(1,itemValueStr.length() - 1);
      String[] splits=itemValueStr.split("String_Node_Str");
      for (      String valueSplit : splits) {
        itemValue.add(valueSplit.trim());
      }
      return itemValue;
    }
  }
  throw new ShifuException(ShifuErrorCode.ERROR_GRID_SEARCH_FILE_CONFIG);
}

Fixed version (ground truth):
private Object convertItemValue(Map<String,MetaItem> metaWarehouse,String itemKey,String itemValueStr) throws ShifuException {
  MetaItem itemMeta=metaWarehouse.get(getItemKeyInMeta(itemKey));
  if (itemMeta == null) {
    return null;
  }
  itemValueStr=itemValueStr.trim();
  if (itemMeta.getType().equals("String_Node_Str")) {
    return itemValueStr;
  }
 else   if (itemMeta.getType().equals("String_Node_Str")) {
    try {
      return Double.parseDouble(itemValueStr);
    }
 catch (    NumberFormatException e) {
      LOG.error("String_Node_Str",itemKey,itemValueStr);
      throw new ShifuException(ShifuErrorCode.ERROR_GRID_SEARCH_FILE_CONFIG);
    }
  }
 else   if (itemMeta.getType().equals("String_Node_Str")) {
    return itemValueStr.equalsIgnoreCase("String_Node_Str");
  }
 else   if (itemMeta.getType().equals("String_Node_Str")) {
    if (itemKey.equals("String_Node_Str") && itemMeta.getElementType().equals("String_Node_Str") && itemValueStr.matches("String_Node_Str")) {
      List<Integer> itemValue=new ArrayList<Integer>();
      itemValueStr=itemValueStr.substring(1,itemValueStr.length() - 1);
      String[] splits=itemValueStr.split("String_Node_Str");
      for (      String valueSplit : splits) {
        itemValue.add(Integer.parseInt(valueSplit));
      }
      return itemValue;
    }
 else     if (itemKey.equals("String_Node_Str") && itemMeta.getElementType().equals("String_Node_Str") && itemValueStr.matches("String_Node_Str")) {
      List<String> itemValue=new ArrayList<String>();
      itemValueStr=itemValueStr.substring(1,itemValueStr.length() - 1);
      String[] splits=itemValueStr.split("String_Node_Str");
      for (      String valueSplit : splits) {
        itemValue.add(valueSplit.trim());
      }
      return itemValue;
    }
  }
  throw new ShifuException(ShifuErrorCode.ERROR_GRID_SEARCH_FILE_CONFIG);
}