diff --git a/core/src/main/java/org/springframework/security/acls/domain/BasePermission.java b/core/src/main/java/org/springframework/security/acls/domain/BasePermission.java index ed5c9efb67..d545ed91a5 100644 --- a/core/src/main/java/org/springframework/security/acls/domain/BasePermission.java +++ b/core/src/main/java/org/springframework/security/acls/domain/BasePermission.java @@ -141,11 +141,15 @@ public final class BasePermission implements Permission { } public boolean equals(Object arg0) { - if (!(arg0 instanceof BasePermission)) { + if (arg0 == null) { return false; } - BasePermission rhs = (BasePermission) arg0; + if (!(arg0 instanceof Permission)) { + return false; + } + + Permission rhs = (Permission) arg0; return (this.mask == rhs.getMask()); } diff --git a/core/src/main/java/org/springframework/security/acls/domain/CumulativePermission.java b/core/src/main/java/org/springframework/security/acls/domain/CumulativePermission.java index 76e41b6dae..29c676b270 100644 --- a/core/src/main/java/org/springframework/security/acls/domain/CumulativePermission.java +++ b/core/src/main/java/org/springframework/security/acls/domain/CumulativePermission.java @@ -47,12 +47,18 @@ public class CumulativePermission implements Permission { return this; } + public boolean equals(Object arg0) { - if (!(arg0 instanceof CumulativePermission)) { + if (arg0 == null) + { + return false; + } + + if (!(arg0 instanceof Permission)) { return false; } - CumulativePermission rhs = (CumulativePermission) arg0; + Permission rhs = (Permission) arg0; return (this.mask == rhs.getMask()); } diff --git a/core/src/test/java/org/springframework/security/acls/domain/PermissionTests.java b/core/src/test/java/org/springframework/security/acls/domain/PermissionTests.java index ad87f86bb5..130546bb41 100644 --- a/core/src/test/java/org/springframework/security/acls/domain/PermissionTests.java +++ b/core/src/test/java/org/springframework/security/acls/domain/PermissionTests.java @@ -14,8 +14,14 @@ */ package org.springframework.security.acls.domain; -import junit.framework.TestCase; - +import org.apache.commons.lang.ArrayUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; +import static org.junit.Assert.fail; +import org.junit.Test; import org.springframework.security.acls.Permission; @@ -25,27 +31,32 @@ import org.springframework.security.acls.Permission; * @author Ben Alex * @version $Id${date} */ -public class PermissionTests extends TestCase { +public class PermissionTests { + private static final Log LOGGER = LogFactory.getLog(PermissionTests.class); + //~ Methods ======================================================================================================== - public void testExpectedIntegerValues() { + @Test + public void expectedIntegerValues() { assertEquals(1, BasePermission.READ.getMask()); assertEquals(16, BasePermission.ADMINISTRATION.getMask()); assertEquals(7, - new CumulativePermission().set(BasePermission.READ).set(BasePermission.WRITE).set(BasePermission.CREATE) - .getMask()); + new CumulativePermission().set(BasePermission.READ).set(BasePermission.WRITE).set(BasePermission.CREATE) + .getMask()); assertEquals(17, - new CumulativePermission().set(BasePermission.READ).set(BasePermission.ADMINISTRATION).getMask()); + new CumulativePermission().set(BasePermission.READ).set(BasePermission.ADMINISTRATION).getMask()); } - public void testFromInteger() { + @Test + public void fromInteger() { Permission permission = BasePermission.buildFromMask(7); System.out.println("7 = " + permission.toString()); permission = BasePermission.buildFromMask(4); System.out.println("4 = " + permission.toString()); } - public void testStringConversion() { + @Test + public void stringConversion() { System.out.println("R = " + BasePermission.READ.toString()); assertEquals("BasePermission[...............................R=1]", BasePermission.READ.toString()); @@ -54,29 +65,37 @@ public class PermissionTests extends TestCase { System.out.println("R = " + new CumulativePermission().set(BasePermission.READ).toString()); assertEquals("CumulativePermission[...............................R=1]", - new CumulativePermission().set(BasePermission.READ).toString()); + new CumulativePermission().set(BasePermission.READ).toString()); System.out.println("A = " + new CumulativePermission().set(BasePermission.ADMINISTRATION).toString()); assertEquals("CumulativePermission[...........................A....=16]", - new CumulativePermission().set(BasePermission.ADMINISTRATION).toString()); + new CumulativePermission().set(BasePermission.ADMINISTRATION).toString()); System.out.println("RA = " - + new CumulativePermission().set(BasePermission.ADMINISTRATION).set(BasePermission.READ).toString()); + + new CumulativePermission().set(BasePermission.ADMINISTRATION).set(BasePermission.READ).toString()); assertEquals("CumulativePermission[...........................A...R=17]", - new CumulativePermission().set(BasePermission.ADMINISTRATION).set(BasePermission.READ).toString()); + new CumulativePermission().set(BasePermission.ADMINISTRATION).set(BasePermission.READ).toString()); System.out.println("R = " - + new CumulativePermission().set(BasePermission.ADMINISTRATION).set(BasePermission.READ) - .clear(BasePermission.ADMINISTRATION).toString()); + + new CumulativePermission().set(BasePermission.ADMINISTRATION).set(BasePermission.READ) + .clear(BasePermission.ADMINISTRATION).toString()); assertEquals("CumulativePermission[...............................R=1]", - new CumulativePermission().set(BasePermission.ADMINISTRATION).set(BasePermission.READ) - .clear(BasePermission.ADMINISTRATION).toString()); + new CumulativePermission().set(BasePermission.ADMINISTRATION).set(BasePermission.READ) + .clear(BasePermission.ADMINISTRATION).toString()); System.out.println("0 = " - + new CumulativePermission().set(BasePermission.ADMINISTRATION).set(BasePermission.READ) - .clear(BasePermission.ADMINISTRATION).clear(BasePermission.READ).toString()); + + new CumulativePermission().set(BasePermission.ADMINISTRATION).set(BasePermission.READ) + .clear(BasePermission.ADMINISTRATION).clear(BasePermission.READ).toString()); assertEquals("CumulativePermission[................................=0]", - new CumulativePermission().set(BasePermission.ADMINISTRATION).set(BasePermission.READ) - .clear(BasePermission.ADMINISTRATION).clear(BasePermission.READ).toString()); + new CumulativePermission().set(BasePermission.ADMINISTRATION).set(BasePermission.READ) + .clear(BasePermission.ADMINISTRATION).clear(BasePermission.READ).toString()); } + + + + + + + + }