Program: 28178
Project: 28178
Buggy source:
/** 
 * Method to compare existing descriptor with other descriptors. If both descriptor is equal then deployment should be failed. scope is nothing but app level,connector level, ejb level etc., which is used later to compare same jndi name is defined at different scope or not.
 * @param name
 * @param descriptor
 * @param scope
 * @return
 */
private boolean isExistsDescriptor(String name,ResourceDescriptor descriptor,String scope){
  if (descriptor != null) {
    CommonResourceValidator commonResourceValidator=allResourceDescriptors.get(name);
    if (commonResourceValidator != null) {
      Descriptor existingDescriptor=commonResourceValidator.getDescriptor();
      if (descriptor instanceof MailSessionDescriptor && existingDescriptor instanceof MailSessionDescriptor) {
        if (!descriptor.equals(existingDescriptor)) {
          allUniqueResource=false;
          return true;
        }
 else {
          DOLUtils.getDefaultLogger().log(Level.SEVERE,"String_Node_Str",new Object[]{descriptor.getName()});
        }
      }
 else       if (descriptor instanceof DataSourceDefinitionDescriptor && existingDescriptor instanceof DataSourceDefinitionDescriptor) {
        if (!descriptor.equals(existingDescriptor)) {
          allUniqueResource=false;
          return true;
        }
 else {
          DOLUtils.getDefaultLogger().log(Level.SEVERE,"String_Node_Str",new Object[]{descriptor.getName()});
        }
      }
 else       if (descriptor instanceof ConnectionFactoryDefinitionDescriptor && existingDescriptor instanceof ConnectionFactoryDefinitionDescriptor) {
        if (!descriptor.equals(existingDescriptor)) {
          allUniqueResource=false;
          return true;
        }
 else {
          DOLUtils.getDefaultLogger().log(Level.SEVERE,"String_Node_Str",new Object[]{descriptor.getName()});
        }
      }
 else       if (descriptor instanceof AdministeredObjectDefinitionDescriptor && existingDescriptor instanceof AdministeredObjectDefinitionDescriptor) {
        if (!descriptor.equals(existingDescriptor)) {
          allUniqueResource=false;
          return true;
        }
 else {
          DOLUtils.getDefaultLogger().log(Level.SEVERE,"String_Node_Str",new Object[]{descriptor.getName()});
        }
      }
      Vector vectorScope=commonResourceValidator.getScope();
      if (vectorScope != null) {
        vectorScope.add(scope);
      }
      commonResourceValidator.setScope(vectorScope);
      allResourceDescriptors.put(name,commonResourceValidator);
    }
 else {
      Vector<String> vectorScope=new Vector<String>();
      vectorScope.add(scope);
      allResourceDescriptors.put(name,new CommonResourceValidator(descriptor,name,vectorScope));
    }
  }
  return false;
}

Fixed version (ground truth):
/** 
 * Method to compare existing descriptor with other descriptors. If both descriptor is equal then deployment should be failed. scope is nothing but app level,connector level, ejb level etc., which is used later to compare same jndi name is defined at different scope or not.
 * @param name
 * @param descriptor
 * @param scope
 * @return
 */
private boolean isExistsDescriptor(String name,ResourceDescriptor descriptor,String scope){
  if (descriptor != null) {
    CommonResourceValidator commonResourceValidator=allResourceDescriptors.get(name);
    if (commonResourceValidator != null) {
      Descriptor existingDescriptor=commonResourceValidator.getDescriptor();
      if (descriptor instanceof MailSessionDescriptor && existingDescriptor instanceof MailSessionDescriptor) {
        if (!descriptor.equals(existingDescriptor)) {
          allUniqueResource=false;
          return true;
        }
 else         if (!(existingDescriptor == descriptor)) {
          DOLUtils.getDefaultLogger().log(Level.SEVERE,"String_Node_Str",new Object[]{descriptor.getName()});
        }
      }
 else       if (descriptor instanceof DataSourceDefinitionDescriptor && existingDescriptor instanceof DataSourceDefinitionDescriptor) {
        if (!descriptor.equals(existingDescriptor)) {
          allUniqueResource=false;
          return true;
        }
 else         if (!(existingDescriptor == descriptor)) {
          DOLUtils.getDefaultLogger().log(Level.SEVERE,"String_Node_Str",new Object[]{descriptor.getName()});
        }
      }
 else       if (descriptor instanceof ConnectionFactoryDefinitionDescriptor && existingDescriptor instanceof ConnectionFactoryDefinitionDescriptor) {
        if (!descriptor.equals(existingDescriptor)) {
          allUniqueResource=false;
          return true;
        }
 else         if (!(existingDescriptor == descriptor)) {
          DOLUtils.getDefaultLogger().log(Level.SEVERE,"String_Node_Str",new Object[]{descriptor.getName()});
        }
      }
 else       if (descriptor instanceof AdministeredObjectDefinitionDescriptor && existingDescriptor instanceof AdministeredObjectDefinitionDescriptor) {
        if (!descriptor.equals(existingDescriptor)) {
          allUniqueResource=false;
          return true;
        }
 else         if (!(existingDescriptor == descriptor)) {
          DOLUtils.getDefaultLogger().log(Level.SEVERE,"String_Node_Str",new Object[]{descriptor.getName()});
        }
      }
      Vector vectorScope=commonResourceValidator.getScope();
      if (vectorScope != null) {
        vectorScope.add(scope);
      }
      commonResourceValidator.setScope(vectorScope);
      allResourceDescriptors.put(name,commonResourceValidator);
    }
 else {
      Vector<String> vectorScope=new Vector<String>();
      vectorScope.add(scope);
      allResourceDescriptors.put(name,new CommonResourceValidator(descriptor,name,vectorScope));
    }
  }
  return false;
}