Program: 63151
Project: 63151
Buggy source:
/** 
 * Wipe system cache
 * @param type {@link Broadcaster.TYPE}
 * @param event {@link Broadcaster.EVENT}
 * @param name
 * @return if the action success
 * @throws IOException
 */
@RequestMapping(value="String_Node_Str",method={RequestMethod.PUT}) @ResponseBody public void wipeCache(@PathVariable String type,@PathVariable String event,@PathVariable String name) throws IOException {
  Broadcaster.TYPE wipeType=Broadcaster.TYPE.getType(type);
  EVENT wipeEvent=Broadcaster.EVENT.getEvent(event);
  final String log="String_Node_Str" + wipeType + "String_Node_Str"+ wipeEvent+ "String_Node_Str"+ name;
  logger.debug(log);
switch (wipeType) {
case TABLE:
switch (wipeEvent) {
case CREATE:
case UPDATE:
      cubeMgmtService.getMetadataManager().reloadTableCache(name);
    break;
case DROP:
  throw new UnsupportedOperationException(log);
}
break;
case DATA_MODEL:
switch (wipeEvent) {
case CREATE:
case UPDATE:
cubeMgmtService.getMetadataManager().reloadDataModelDesc(name);
break;
case DROP:
throw new UnsupportedOperationException(log);
}
break;
case CUBE:
if ("String_Node_Str".equalsIgnoreCase(name.toUpperCase())) {
cubeMgmtService.cleanDataCache();
break;
}
switch (wipeEvent) {
case CREATE:
case UPDATE:
cubeMgmtService.reloadCubeCache(name);
break;
case DROP:
cubeMgmtService.removeCubeCache(name);
break;
}
break;
case PROJECT:
if ("String_Node_Str".equalsIgnoreCase(name.toUpperCase())) {
projectService.cleanDataCache();
break;
}
switch (wipeEvent) {
case CREATE:
case UPDATE:
projectService.reloadProjectCache(name);
break;
case DROP:
projectService.removeProjectCache(name);
break;
}
break;
default :
throw new UnsupportedOperationException(log);
}
}

Fixed version (ground truth):
/** 
 * Wipe system cache
 * @param type {@link Broadcaster.TYPE}
 * @param event {@link Broadcaster.EVENT}
 * @param name
 * @return if the action success
 * @throws IOException
 */
@RequestMapping(value="String_Node_Str",method={RequestMethod.PUT}) @ResponseBody public void wipeCache(@PathVariable String type,@PathVariable String event,@PathVariable String name) throws IOException {
  Broadcaster.TYPE wipeType=Broadcaster.TYPE.getType(type);
  EVENT wipeEvent=Broadcaster.EVENT.getEvent(event);
  final String log="String_Node_Str" + wipeType + "String_Node_Str"+ wipeEvent+ "String_Node_Str"+ name;
  logger.info(log);
switch (wipeType) {
case TABLE:
switch (wipeEvent) {
case CREATE:
case UPDATE:
      cubeMgmtService.getMetadataManager().reloadTableCache(name);
    break;
case DROP:
  throw new UnsupportedOperationException(log);
}
break;
case DATA_MODEL:
switch (wipeEvent) {
case CREATE:
case UPDATE:
cubeMgmtService.getMetadataManager().reloadDataModelDesc(name);
break;
case DROP:
throw new UnsupportedOperationException(log);
}
break;
case CUBE:
switch (wipeEvent) {
case CREATE:
case UPDATE:
cubeMgmtService.reloadCubeCache(name);
break;
case DROP:
cubeMgmtService.removeCubeCache(name);
break;
}
break;
case INVERTED_INDEX:
switch (wipeEvent) {
case CREATE:
case UPDATE:
cubeMgmtService.getIIDescManager().reloadIIDesc(name);
break;
case DROP:
cubeMgmtService.getIIDescManager().removeIIDescLocal(name);
break;
}
break;
case PROJECT:
switch (wipeEvent) {
case CREATE:
case UPDATE:
projectService.reloadProjectCache(name);
break;
case DROP:
projectService.removeProjectCache(name);
break;
}
break;
default :
throw new UnsupportedOperationException(log);
}
}