Skip to content

Commit 3898dd1

Browse files
committed
Update SerializablePrincipal.java
https://github.com/picketbox/picketbox/blob/eaed8ecb93e6ce002eb50d2f515df032e2013839/picketbox-infinispan/src/main/java/org/jboss/security/authentication/JBossCachedAuthenticationManager.java#L74 JBossCachedAuthenticationManager.domainCache() will use Principal as map key, so the implement class of Principal should implement method equals() and hashCode();
1 parent a8ae49c commit 3898dd1

File tree

1 file changed

+31
-1
lines changed

1 file changed

+31
-1
lines changed

modules/federation/src/main/java/org/picketlink/identity/federation/core/SerializablePrincipal.java

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,34 @@ public SerializablePrincipal(String name) {
3939
public String getName() {
4040
return name;
4141
}
42-
}
42+
43+
/**
44+
* Compare this SerializablePrincipal's name against another Principal.
45+
* @return true if name equals another.getName();
46+
*/
47+
@Override
48+
public boolean equals(Object another)
49+
{
50+
if (!(another instanceof Principal))
51+
return false;
52+
String anotherName = ((Principal) another).getName();
53+
boolean equals = false;
54+
if (name == null)
55+
equals = anotherName == null;
56+
else
57+
equals = name.equals(anotherName);
58+
return equals;
59+
}
60+
61+
@Override
62+
public int hashCode()
63+
{
64+
return (name == null ? 0 : name.hashCode());
65+
}
66+
67+
@Override
68+
public String toString()
69+
{
70+
return name;
71+
}
72+
}

0 commit comments

Comments
 (0)