You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "angela (JIRA)" <ji...@apache.org> on 2015/10/13 09:15:05 UTC
[jira] [Created] (OAK-3510) Troublesome
ExternalIdentityRef.equals(Object) implementation
angela created OAK-3510:
---------------------------
Summary: Troublesome ExternalIdentityRef.equals(Object) implementation
Key: OAK-3510
URL: https://issues.apache.org/jira/browse/OAK-3510
Project: Jackrabbit Oak
Issue Type: Bug
Components: auth-external
Reporter: angela
in the light of OAK-3508 i looked at the {{ExternalIdentifyRef}} class and found the following implementation of {{Object.equals(Object)}}:
{code}
public boolean equals(Object o) {
try {
// assuming that we never compare other types of classes
return this == o || string.equals(((ExternalIdentityRef) o).string);
} catch (Exception e) {
return false;
}
}
{code}
since this class is public and exported as part of a public API, i don't think the assumption made in the code is justified. also i would argue that catching {{Exception}} is bad style as is exception driven development. in this particular case it was IMHO perfectly trivial to just get rid of the catch clause altogether.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)