Program: 47437
Project: 47437
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;
  if (hasParameterUi) {
    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);
            if (elem.attributeValue("String_Node_Str").equalsIgnoreCase("String_Node_Str")) {
              hasParameters=true;
              continue;
            }
            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(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;
  if (hasParameterUi) {
    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);
            if (elem.attributeValue("String_Node_Str").equalsIgnoreCase("String_Node_Str") && elem.attributeValue("String_Node_Str").equalsIgnoreCase("String_Node_Str")) {
              hasParameters=true;
              continue;
            }
            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(hasParameters);
}