Hello....
I going through the Seam 2 Migration. In the Seam 1.2.1 we had a lot of coupling with JSF and in the SeamApplicationFactory. depending on the JSF version we used to create respective instance of SeamApplication. Now in the new version we have removed the coupling. My first doubt is that the
SeamApplication12.java was doing a lot of stuff like :
getELResolverMethod = application.getClass().getMethod("getELResolver"); addELResolverMethod = application.getClass().getMethod("addELResolver", ELResolver.class); getExpressionFactoryMethod = application.getClass().getMethod("getExpressionFactory"); evaluateExpressionMethod = application.getClass().getMethod("evaluateExpressionGet", FacesContext.class, String.class, Class.class); getResourceBundleMethod = application.getClass().getMethod("getResourceBundle", FacesContext.class, String.class); createComponentMethod = application.getClass().getMethod("createComponent", ValueExpression.class, FacesContext.class, String.class); getELContextListenersMethod = application.getClass().getMethod("getELContextListeners"); addELContextListenerMethod = application.getClass().getMethod("addELContextListener", ELContextListener.class); removeELContextListenerMethod = application.getClass().getMethod("removeELContextListener", ELContextListener.class);
who is doing this part. Now the other problem I am facing is that I have overridden the getExpressionFactory() method in my Application class but it does not get called , though when i debug the application i can see that the instace inside facesContext.getApplication() is of my class only.
Please look in to this if you can help. Let me know if you need any more information.
This is not needed any more as we are linking against the JSF 1.2 API, so we can delegate directly.