From cab961bfa681fc5fa01e3227eeaff51f3fa3656e Mon Sep 17 00:00:00 2001 From: Ben Alex Date: Sun, 28 Mar 2004 12:08:20 +0000 Subject: [PATCH] Enhanced equals() method. --- .../AbstractAuthenticationToken.java | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/core/src/main/java/org/acegisecurity/providers/AbstractAuthenticationToken.java b/core/src/main/java/org/acegisecurity/providers/AbstractAuthenticationToken.java index 164589c633..eb797e26fc 100644 --- a/core/src/main/java/org/acegisecurity/providers/AbstractAuthenticationToken.java +++ b/core/src/main/java/org/acegisecurity/providers/AbstractAuthenticationToken.java @@ -31,14 +31,23 @@ public abstract class AbstractAuthenticationToken implements Authentication { if (obj instanceof AbstractAuthenticationToken) { AbstractAuthenticationToken test = (AbstractAuthenticationToken) obj; - if (this.getAuthorities().length != test.getAuthorities().length) { - return false; - } + if (!((this.getAuthorities() == null) + && (test.getAuthorities() == null))) { + if ((this.getAuthorities() == null) + || (test.getAuthorities() == null)) { + return false; + } - for (int i = 0; i < this.getAuthorities().length; i++) { - if (!this.getAuthorities()[i].equals(test.getAuthorities()[i])) { + if (this.getAuthorities().length != test.getAuthorities().length) { return false; } + + for (int i = 0; i < this.getAuthorities().length; i++) { + if (!this.getAuthorities()[i].equals( + test.getAuthorities()[i])) { + return false; + } + } } return (this.getPrincipal().equals(test.getPrincipal())