-
Notifications
You must be signed in to change notification settings - Fork 604
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Switch to the EL-RI (Eclipse Foundation ) #13425
Comments
i compared the tomcat-el-api v10.0.12 and jakarta.el-api v4.0.0 using japicmp. No binary incompatibilities found. |
I ran the EL 3.0 FULL bucket using the Jakarta EL API. 3 Failures occurred. Two of the tests I added myself, but it matches the other test. They are seem related the parameters of a method. [RESOLVED] testCatchExeptionOnLessParam_EE9_FEATURES
junit.framework.AssertionFailedError: 2021-10-15-14:11:40:496 The response did not contain "[SUCCESS]". Full output is:"
junit.framework.AssertionFailedError: 2021-10-15-14:11:40:555 The response did not contain "[SUCCESS]". Full output is:" |
I also ran the JSF 2.3 Bucket and found 2 failures. [RESOLVED] testEL30LambdaExpressions_EE9_FEATURES junit.framework.AssertionFailedError: 2021-10-15-14:23:25:864 The response did not contain: CatchExeptionOnLessParam_EL3.0_Test 4: --> Pass another argument. Only [1] arguments were provided for a lambda expression that requires at least [2] [RESOLVED] testJSP23ResolutionVariableProperties_EE9_FEATURES junit.framework.AssertionFailedError: 2021-10-15-14:23:35:283 Expected 200 status code was not returned! expected:<200> but was:<500> |
I think these errors are due to subtle differences between the two APIs. I think it might be best to keep this as they are, but we can reopen this issue at a later point. |
Reading more closely, two lambda test look for the following string: Line 65 in 2fd4a88
The Eclipse EL API just gives a different wording of the error: This new wording applies to both open-liberty/dev/com.ibm.ws.jsp.2.3_fat/fat/src/com/ibm/ws/jsp23/fat/tests/JSPTests.java Line 435 in b116677
As for the Varargs Tests, I think the EL are related to the implementation. Tomcat updated their code recently, but Jakarta EL hasn't. I think this is a valid issue. It also could use spec clarification. I can work with the community to changing varargs handling. testJSP23ResolutionVariableProperties_EE9_FEATURES fails because of a wrong look up Tomcat has a field called Line 126 in 2fd4a88
|
We've decided not to do this. We've always pulled the API and IMPL from Tomcat similar to how we pull the API and IMPL for Faces from Apache MyFaces. Our concern is we'll need a fix for something in the IMPL (fix in the API implementation) and we would not be able to get it from the Eclipse API jar for some reason. I think it is safest to stick with pulling the API and IMPL from the same location for the Expression Language. |
See Tom's comment in PR #13275
There are few small API differences between the Eclipse EE4J (Jakarta) & Tomcat APIs, so we decided to enable the Tomcat EL API in Liberty instead.
A number of access control warnings are thrown when using the Jakarta API.
I created this issue in the el-ri project and provided potential patch.
Additionally, there one test that failed in tests and needs to be investigated:
open-liberty/dev/com.ibm.ws.jsp.2.3_fat/fat/src/com/ibm/ws/jsp23/fat/tests/JSPTests.java
Line 715 in 9974f20
This issue is a follow up to pull in the jakarta api later if possible.
Update #1 -- See this comment for addressing FAT failures:
#13425 (comment)
Update #2 -- Issues opened in the EE4J EL API community
One is regarding the security manager and the other is for varargs handling (which tomcat had recently updated and we pulled in -- #17444)
Once those two issues are resolved and included in a release, I think we can pull the API into Liberty .
The text was updated successfully, but these errors were encountered: