Uploaded image for project: 'Weld'
  1. Weld
  2. WELD-2729

WeldExpressionFactory.equals returns false for two instances wrapping the same delegate


      The WeldExpressionFactory.equals impl is as follows:

      return this == obj || delegate().equals(obj);

      The result is that if 'obj' is another WeldExpressionFactory it returns false, even if obj has an equal delegate. The only state held by WeldExpressionFactory is the delegate, so logically I think two instances wrapping equal delegates are themselves equal.

      This causes https://issues.redhat.com/browse/WFLY-16948 which is basically an issue to fix a failure in this Faces 4 TCK test:


      This is an old test, but started to fail with the Faces 4 TCK, which made the deployment being tested a CDI app. That changed the code paths WildFly uses, which surfaced this issue.

            Unassigned Unassigned
            bstansbe@redhat.com Brian Stansberry
            0 Vote for this issue
            1 Start watching this issue