Simplify equals() implementation in PerTargetInstantiationModelPointcut
For equivalence, we only need to compare the preInstantiationPointcut fields since they include the declaredPointcut fields. In addition, we should not compare the aspectInstanceFactory fields since LazySingletonAspectInstanceFactoryDecorator does not implement equals(). See gh-31238
This commit is contained in:
parent
f7496a393d
commit
08237da4b4
|
@ -302,10 +302,12 @@ final class InstantiationModelAwarePointcutAdvisorImpl
|
|||
|
||||
@Override
|
||||
public boolean equals(@Nullable Object other) {
|
||||
// For equivalence, we only need to compare the preInstantiationPointcut fields since
|
||||
// they include the declaredPointcut fields. In addition, we should not compare the
|
||||
// aspectInstanceFactory fields since LazySingletonAspectInstanceFactoryDecorator does
|
||||
// not implement equals().
|
||||
return (this == other || (other instanceof PerTargetInstantiationModelPointcut that &&
|
||||
ObjectUtils.nullSafeEquals(this.declaredPointcut, that.declaredPointcut) &&
|
||||
ObjectUtils.nullSafeEquals(this.preInstantiationPointcut, that.preInstantiationPointcut) &&
|
||||
ObjectUtils.nullSafeEquals(this.aspectInstanceFactory, that.aspectInstanceFactory)));
|
||||
ObjectUtils.nullSafeEquals(this.preInstantiationPointcut, that.preInstantiationPointcut)));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in New Issue