Program: 28320
Project: 28320
Buggy source:
/** 
 * Generate a unique id name for each J2EE component.
 */
public String getComponentEnvId(JndiNameEnvironment env){
  String id=null;
  if (env instanceof EjbDescriptor) {
    EjbDescriptor ejbEnv=(EjbDescriptor)env;
    String flattedJndiName=ejbEnv.getJndiName().replace('/','.');
    EjbBundleDescriptor ejbBundle=ejbEnv.getEjbBundleDescriptor();
    Descriptor d=ejbBundle.getModuleDescriptor().getDescriptor();
    if (d instanceof WebBundleDescriptor) {
      WebBundleDescriptor webEnv=(WebBundleDescriptor)d;
      id=webEnv.getApplication().getName() + ID_SEPARATOR + webEnv.getContextRoot();
      _logger.finer("String_Node_Str" + "String_Node_Str" + id);
    }
 else {
      id=ejbEnv.getApplication().getName() + ID_SEPARATOR + ejbBundle.getModuleDescriptor().getArchiveUri()+ ID_SEPARATOR+ ejbEnv.getName()+ ID_SEPARATOR+ flattedJndiName+ ejbEnv.getUniqueId();
    }
  }
 else   if (env instanceof WebBundleDescriptor) {
    WebBundleDescriptor webEnv=(WebBundleDescriptor)env;
    id=webEnv.getApplication().getName() + ID_SEPARATOR + webEnv.getContextRoot();
  }
 else   if (env instanceof ApplicationClientDescriptor) {
    ApplicationClientDescriptor appEnv=(ApplicationClientDescriptor)env;
    id="String_Node_Str" + ID_SEPARATOR + appEnv.getName()+ ID_SEPARATOR+ appEnv.getMainClassName();
  }
 else   if (env instanceof ManagedBeanDescriptor) {
    id=((ManagedBeanDescriptor)env).getGlobalJndiName();
  }
 else   if (env instanceof EjbBundleDescriptor) {
    EjbBundleDescriptor ejbBundle=(EjbBundleDescriptor)env;
    id="String_Node_Str" + ID_SEPARATOR + ejbBundle.getApplication().getName()+ ID_SEPARATOR+ ejbBundle.getModuleName();
  }
  if (_logger.isLoggable(Level.FINE)) {
    _logger.log(Level.FINE,getApplicationName(env) + "String_Node_Str" + id);
  }
  return id;
}

Fixed version (ground truth):
/** 
 * Generate a unique id name for each J2EE component.
 */
public String getComponentEnvId(JndiNameEnvironment env){
  String id=null;
  if (env instanceof EjbDescriptor) {
    EjbDescriptor ejbEnv=(EjbDescriptor)env;
    String flattedJndiName=ejbEnv.getJndiName().replace('/','.');
    EjbBundleDescriptor ejbBundle=ejbEnv.getEjbBundleDescriptor();
    Descriptor d=ejbBundle.getModuleDescriptor().getDescriptor();
    if (d instanceof WebBundleDescriptor) {
      WebBundleDescriptor webEnv=(WebBundleDescriptor)d;
      id=webEnv.getApplication().getName() + ID_SEPARATOR + webEnv.getContextRoot();
      if (_logger.isLoggable(Level.FINER))       _logger.finer("String_Node_Str" + "String_Node_Str" + id);
    }
 else {
      id=ejbEnv.getApplication().getName() + ID_SEPARATOR + ejbBundle.getModuleDescriptor().getArchiveUri()+ ID_SEPARATOR+ ejbEnv.getName()+ ID_SEPARATOR+ flattedJndiName+ ejbEnv.getUniqueId();
    }
  }
 else   if (env instanceof WebBundleDescriptor) {
    WebBundleDescriptor webEnv=(WebBundleDescriptor)env;
    id=webEnv.getApplication().getName() + ID_SEPARATOR + webEnv.getContextRoot();
  }
 else   if (env instanceof ApplicationClientDescriptor) {
    ApplicationClientDescriptor appEnv=(ApplicationClientDescriptor)env;
    id="String_Node_Str" + ID_SEPARATOR + appEnv.getName()+ ID_SEPARATOR+ appEnv.getMainClassName();
  }
 else   if (env instanceof ManagedBeanDescriptor) {
    id=((ManagedBeanDescriptor)env).getGlobalJndiName();
  }
 else   if (env instanceof EjbBundleDescriptor) {
    EjbBundleDescriptor ejbBundle=(EjbBundleDescriptor)env;
    id="String_Node_Str" + ID_SEPARATOR + ejbBundle.getApplication().getName()+ ID_SEPARATOR+ ejbBundle.getModuleName();
  }
  if (_logger.isLoggable(Level.FINE)) {
    _logger.log(Level.FINE,getApplicationName(env) + "String_Node_Str" + id);
  }
  return id;
}