Program: 47510
Project: 47510
Buggy source:
@GET @Path("String_Node_Str") @Produces(TEXT_PLAIN) public String doIsParameterizable(@PathParam("String_Node_Str") String pathId) throws FileNotFoundException {
  boolean hasParameterUi=false;
  RepositoryFile repositoryFile=repository.getFile(FileResource.idToPath(pathId));
  if (repositoryFile != null) {
    try {
      hasParameterUi=(PentahoSystem.get(IPluginManager.class).getContentGenerator(repositoryFile.getName().substring(repositoryFile.getName().indexOf('.') + 1),"String_Node_Str") != null);
    }
 catch (    NoSuchBeanDefinitionException e) {
    }
  }
  boolean hasParameters=false;
  try {
    IContentGenerator parameterContentGenerator=PentahoSystem.get(IPluginManager.class).getContentGenerator(repositoryFile.getName().substring(repositoryFile.getName().indexOf('.') + 1),"String_Node_Str");
    if (parameterContentGenerator != null) {
      ByteArrayOutputStream outputStream=new ByteArrayOutputStream();
      parameterContentGenerator.setOutputHandler(new SimpleOutputHandler(outputStream,false));
      parameterContentGenerator.setMessagesList(new ArrayList<String>());
      Map<String,IParameterProvider> parameterProviders=new HashMap<String,IParameterProvider>();
      SimpleParameterProvider parameterProvider=new SimpleParameterProvider();
      parameterProvider.setParameter("String_Node_Str",repositoryFile.getPath());
      parameterProviders.put(IParameterProvider.SCOPE_REQUEST,parameterProvider);
      parameterContentGenerator.setParameterProviders(parameterProviders);
      parameterContentGenerator.setSession(PentahoSessionHolder.getSession());
      parameterContentGenerator.createContent();
      if (outputStream.size() > 0) {
        Document document=DocumentHelper.parseText(outputStream.toString());
        hasParameters=document.selectNodes("String_Node_Str").size() > 0;
      }
    }
  }
 catch (  Exception e) {
    logger.error(Messages.getInstance().getString("String_Node_Str",e.getMessage()),e);
  }
  return Boolean.toString(hasParameterUi && hasParameters);
}

Fixed version (ground truth):
@GET @Path("String_Node_Str") @Produces(TEXT_PLAIN) public String doIsParameterizable(@PathParam("String_Node_Str") String pathId) throws FileNotFoundException {
  boolean hasParameterUi=false;
  RepositoryFile repositoryFile=repository.getFile(FileResource.idToPath(pathId));
  if (repositoryFile != null) {
    try {
      hasParameterUi=(PentahoSystem.get(IPluginManager.class).getContentGenerator(repositoryFile.getName().substring(repositoryFile.getName().indexOf('.') + 1),"String_Node_Str") != null);
    }
 catch (    NoSuchBeanDefinitionException e) {
    }
  }
  boolean hasParameters=false;
  try {
    IContentGenerator parameterContentGenerator=PentahoSystem.get(IPluginManager.class).getContentGenerator(repositoryFile.getName().substring(repositoryFile.getName().indexOf('.') + 1),"String_Node_Str");
    if (parameterContentGenerator != null) {
      ByteArrayOutputStream outputStream=new ByteArrayOutputStream();
      parameterContentGenerator.setOutputHandler(new SimpleOutputHandler(outputStream,false));
      parameterContentGenerator.setMessagesList(new ArrayList<String>());
      Map<String,IParameterProvider> parameterProviders=new HashMap<String,IParameterProvider>();
      SimpleParameterProvider parameterProvider=new SimpleParameterProvider();
      parameterProvider.setParameter("String_Node_Str",repositoryFile.getPath());
      parameterProviders.put(IParameterProvider.SCOPE_REQUEST,parameterProvider);
      parameterContentGenerator.setParameterProviders(parameterProviders);
      parameterContentGenerator.setSession(PentahoSessionHolder.getSession());
      parameterContentGenerator.createContent();
      if (outputStream.size() > 0) {
        Document document=DocumentHelper.parseText(outputStream.toString());
        @SuppressWarnings("String_Node_Str") List nodes=document.selectNodes("String_Node_Str");
        for (int i=0; i < nodes.size() && !hasParameters; i++) {
          Element elem=(Element)nodes.get(i);
          Element attrib=(Element)elem.selectSingleNode("String_Node_Str");
          if (attrib == null || !"String_Node_Str".equals(attrib.attributeValue("String_Node_Str"))) {
            hasParameters=true;
          }
        }
      }
    }
  }
 catch (  Exception e) {
    logger.error(Messages.getInstance().getString("String_Node_Str",e.getMessage()),e);
  }
  return Boolean.toString(hasParameterUi && hasParameters);
}