MyFaces Core
  1. MyFaces Core
  2. MYFACES-2959

Version 1.1.8 not compatible using JSP 1.2 because of using apache commons-el 1.0

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Minor Minor
    • Resolution: Unresolved
    • Affects Version/s: 1.1.8
    • Fix Version/s: None
    • Component/s: General
    • Labels:
      None
    • Environment:
      SAP NetWeaver J2EE Engine 7.0 (WebAs Java)

      Description

      According to the requirement specifrication, MyFaces 1.1 is supposed to support java 1.3 or later, JSP 1.2, JSTL 1.0, and a Java Servlet 2.3 implementation. Unfortunately, the FacesConfigurator is using the javax.servlet.jsp.el package, which is only available since JSP 2.0.

      Following classes to use wrongly javax.servlet.jsp.el.

      • org.apache.myfaces.shared_impl.util.ClassUtils
      • org.apache.myfaces.shared_impl.util._Coercions
      • org.apache.myfaces.config.ManagedBeanBuilder
      • org.apache.myfaces.el.ELParserHelper
      • org.apache.myfaces.el.MethodBindingImpl
      • org.apache.myfaces.el.ValueBindingImpl

      Issue is related to the fact, that the apache commons-el 1.0 package is used, which requires the JSP 2.0 interfaces. This issue can be solved by reworking in two ways

      1) Rework the interfaces for commons-el to remove the dependency for JSP 2.0

      2) or by Adding the missing classes manually. You need to remove the annotations within the source code and compile it using Java 1.3

      • ELException
      • Expression
      • ExpressionEvalutator
      • FunctionMapper
      • VariableResolver

      The corresponding exception thrown within my j2ee container below

      Error occured in invoking event "contextInitialized()" on listener class org.apache.myfaces.webapp.StartupServletContextListener. The error is: java.lang.NoClassDefFoundError: javax/servlet/jsp/el/ELException
      at org.apache.myfaces.config.FacesConfigurator.feedStandardConfig(FacesConfigurator.java:308)
      at org.apache.myfaces.config.FacesConfigurator.configure(FacesConfigurator.java:276)
      at org.apache.myfaces.webapp.StartupServletContextListener.initFaces(StartupServletContextListener.java:82)
      at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:65)
      at com.sap.engine.services.servlets_jsp.server.runtime.context.WebEvents.contextInitialized(WebEvents.java:45)
      at com.sap.engine.services.servlets_jsp.server.container.ApplicationThreadInitializer.run(ApplicationThreadInitializer.java:112)
      at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
      at java.security.AccessController.doPrivileged(Native Method)
      at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:104)
      at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:176)

        Activity

        Hide
        Mike Kienenberger added a comment -

        Provide Patch just marks the issue as having a patch.
        You need to go under "More Actions" and pick "Attach Files".
        Please make sure they are in the form of a unified diff, and you also will need to grant us license to use them (option in attach files)

        As for the more acceptable approach, I'm not really sure as I haven't looked into the issue in any depth.
        This would be a perfect question to take the dev@myfaces mailing list: Describe the problem, describe your two possible solutions, see what people think.
        If you already have one of the possible solutions finished, attach that one to the issue, and ask for comments on it. Sometimes the best solution is the one that's already available

        Show
        Mike Kienenberger added a comment - Provide Patch just marks the issue as having a patch. You need to go under "More Actions" and pick "Attach Files". Please make sure they are in the form of a unified diff, and you also will need to grant us license to use them (option in attach files) As for the more acceptable approach, I'm not really sure as I haven't looked into the issue in any depth. This would be a perfect question to take the dev@myfaces mailing list: Describe the problem, describe your two possible solutions, see what people think. If you already have one of the possible solutions finished, attach that one to the issue, and ask for comments on it. Sometimes the best solution is the one that's already available
        Hide
        Andreas Halbig added a comment -

        How? Do I need to upload somehwere the modified classes? I tried to use the "Provide Patch" button, but nothing happens beside the status change.

        What is an acceptable approach

        1) Modifying the problematic myfaces classes by including a renamed copy of "ELException"

        or

        2) Including the missing classes like "ELException" to myFaces?

        Cheers,

        Andreas

        Show
        Andreas Halbig added a comment - How? Do I need to upload somehwere the modified classes? I tried to use the "Provide Patch" button, but nothing happens beside the status change. What is an acceptable approach 1) Modifying the problematic myfaces classes by including a renamed copy of "ELException" or 2) Including the missing classes like "ELException" to myFaces? Cheers, Andreas
        Hide
        Mike Kienenberger added a comment -

        I don't think we need to say we won't fix it at all.
        I think it's probably a better resolution to say that we won't fix it without a patch.

        Andreas, if you have a working patch for MyFaces 1.1.x which doesn't break anything else, please submit a patch for it.

        Show
        Mike Kienenberger added a comment - I don't think we need to say we won't fix it at all. I think it's probably a better resolution to say that we won't fix it without a patch. Andreas, if you have a working patch for MyFaces 1.1.x which doesn't break anything else, please submit a patch for it.
        Hide
        Andreas Halbig added a comment -

        HI, I think you are wrong. I am working with the J2EE Solution of SAP and they are currently not so far to support the requirements of the newer version of myFaces. Companies are often years behind the current version and not everyone is constantly updating their environments. There are definitely many people, who are still working on their legacy system and they would appreciate to have a working myFaces solution available. However, under the bottom line you have to keep in mind that myFaces has advertised the minimum technical requirements, but is not able to fulfill it. I have pointed out the issue and it cost just 30 minutes to make it working again, so I would appreciate if this project is focusing on having working solutions published. Regards

        Show
        Andreas Halbig added a comment - HI, I think you are wrong. I am working with the J2EE Solution of SAP and they are currently not so far to support the requirements of the newer version of myFaces. Companies are often years behind the current version and not everyone is constantly updating their environments. There are definitely many people, who are still working on their legacy system and they would appreciate to have a working myFaces solution available. However, under the bottom line you have to keep in mind that myFaces has advertised the minimum technical requirements, but is not able to fulfill it. I have pointed out the issue and it cost just 30 minutes to make it working again, so I would appreciate if this project is focusing on having working solutions published. Regards
        Hide
        Leonardo Uribe added a comment -

        Since at the time this is written (5 feb 2011) I don't think there is much interest about do this. java 1.3 has reached its End Of Life long time ago, and 1.1.x branch is only released for maintenance errors.

        Show
        Leonardo Uribe added a comment - Since at the time this is written (5 feb 2011) I don't think there is much interest about do this. java 1.3 has reached its End Of Life long time ago, and 1.1.x branch is only released for maintenance errors.

          People

          • Assignee:
            Jakob Korherr
            Reporter:
            Andreas Halbig
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:

              Time Tracking

              Estimated:
              Original Estimate - 2h
              2h
              Remaining:
              Remaining Estimate - 2h
              2h
              Logged:
              Time Spent - Not Specified
              Not Specified

                Development