You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Patrice DUROUX (Jira)" <ji...@apache.org> on 2019/10/25 19:09:00 UTC

[jira] [Created] (OGNL-259) trouble with Enum subclassing

Patrice DUROUX created OGNL-259:
-----------------------------------

             Summary: trouble with Enum subclassing
                 Key: OGNL-259
                 URL: https://issues.apache.org/jira/browse/OGNL-259
             Project: Commons OGNL
          Issue Type: Bug
            Reporter: Patrice DUROUX


Hi,

I found the following problem using Struts (2.5.20) based on OGNL (3.1.21) and same result forcing OGNL (3.1.25, as 3.2.x series seem to be not compatible with this version of Struts).

The situation can be summarize  with the following 2 enums:
{code:java}
enum Normal { A, B; }
enum Strange {A {}, B{}; } // mainly for implementing abstract method(s)
{code}
and the following expressions are:
{noformat}
@Normal@A==@Normal@A // true
@Normal@A!=@Normal@A // false
@Normal@A==@Normal@B // false
@Normal@A!=@Normal@B // true{noformat}
whereas the following expressions are:
{noformat}
@Strange@A==@Strange@A // true
@Strange@A!=@Strange@A // false
@Strange@A==@Strange@B // false (with warn log)
@Strange@A!=@Strange@B // false (with warn log){noformat}
and the origin of the wrong test value was discover activating WARN log level in Struts (using struts.devMode).

Thanks,

Patrice



--
This message was sent by Atlassian Jira
(v8.3.4#803005)