javaee / mojarra

PLEASE NOTE: This project has moved to Eclipse Foundation and will be archived under the JavaEE GitHub Organization. After Feb. 1, 2021, the new location will be github.com/javaee/mojarra. Mojarra - Oracle's implementation of the JavaServer Faces specification
https://github.com/eclipse-ee4j/mojarra
Other
164 stars 58 forks source link

Forward port changes from 2.1.20-01 to 2.2.x #3106

Closed javaserverfaces closed 10 years ago

javaserverfaces commented 10 years ago

Forward port changes from 2.1.20-01 to 2.2.x

javaserverfaces commented 10 years ago

Reported by @manfredriem

javaserverfaces commented 10 years ago

@edburns said: Here is a first cut at a review on this. I'd like to see an action item list of subsequent changes we need after this gets committed. Starting with:

SECTION: Modified Files

M jsf-api/src/main/java/javax/faces/component/UIComponent.java

Fixes https://java.net/jira/browse/JAVASERVERFACES-2913, r=edburns, move Facelet map code up to UIComponent base so subclasses using UIComponent directly function properly

Why is this necessary to revert?

M jsf-ri/src/main/java/com/sun/faces/application/view/FaceletFullStateManagementStrategy.java

M jsf-ri/src/main/java/com/sun/faces/application/view/FaceletViewHandlingStrategy.java

M jsf-ri/src/main/java/com/sun/faces/application/view/JspStateManagementStrategy.java

M jsf-ri/src/main/java/com/sun/faces/context/StateContext.java

M jsf-ri/src/main/java/com/sun/faces/facelets/compiler/UILeaf.java

M jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/ComponentSupport.java M jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/ComponentTagHandlerDelegateImpl.java A jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/IterationIdManager.java

M jsf-ri/src/main/java/com/sun/faces/facelets/tag/jstl/core/ForEachHandler.java

javaserverfaces commented 10 years ago

@manfredriem said: Here is a first cut at a review on this. I'd like to see an action item list of subsequent changes we need after this gets committed. Starting with:

Re-invent a fix to take the place of the performance penalty we are paying by reverting 2494.

SECTION: Modified Files

M jsf-api/src/main/java/javax/faces/component/UIComponent.java

Here you basically reverted setIsInView(), reverting this change: Fixes https://java.net/jira/browse/JAVASERVERFACES-2913, r=edburns, move Facelet map code up to UIComponent base so subclasses using UIComponent directly function properly

Why is this necessary to revert?

M jsf-ri/src/main/java/com/sun/faces/application/view/FaceletFullStateManagementStrategy.java

This is part of the removal of 2494. M jsf-ri/src/main/java/com/sun/faces/application/view/FaceletViewHandlingStrategy.java

I see in getStateManagementStrategy() there is some code from 2.1.20-01. That's fine. in restoreView(), I need to see a comment about why we are calculating the resourceLibraryContracts at this particular point in time. The spec says this must happen in VDL.createView(), but here we are doing it in restoreView(). Why is that necessary?

in locateComponentByClientId() you are using invokeOnComponent() instead of createVisitContext(). Why is this necessary? Won't there be a negative performance impact? This is the most complicated code in the diff so far, and the code you are replacing it with is much simpler. Why is the complicated code no longer necessary?

M jsf-ri/src/main/java/com/sun/faces/application/view/JspStateManagementStrategy.java

these changes look reasonable enough. M jsf-ri/src/main/java/com/sun/faces/context/StateContext.java

This change looks like the heart of Andy's initial work on 2.1.20-01. Is that correct? I see the MostlySingletonSet changes in there. Reasonable enough. M jsf-ri/src/main/java/com/sun/faces/facelets/compiler/UILeaf.java

This looks like more 2494 removal. M jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/ComponentSupport.java M jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/ComponentTagHandlerDelegateImpl.java A jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/IterationIdManager.java

These changes look like more of Andy's initial work on 2.1.20-01. M jsf-ri/src/main/java/com/sun/faces/facelets/tag/jstl/core/ForEachHandler.java

This is that c:forEach stuff that Roger started and I completed, right?

javaserverfaces commented 10 years ago

@manfredriem said: Applied to 2.2 branch,

svn commit -m "Fixes https://java.net/jira/browse/JAVASERVERFACES-3102, r=edburns, forward port changes from 2.1.20-01 to 2.2 branch." Sending jsf-api/src/main/java/javax/faces/component/UIComponent.java Sending jsf-ri/src/main/java/com/sun/faces/application/resource Sending jsf-ri/src/main/java/com/sun/faces/application/view/FaceletFullStateManagementStrategy.java Sending jsf-ri/src/main/java/com/sun/faces/application/view/FaceletViewHandlingStrategy.java Sending jsf-ri/src/main/java/com/sun/faces/application/view/JspStateManagementStrategy.java Sending jsf-ri/src/main/java/com/sun/faces/context/StateContext.java Sending jsf-ri/src/main/java/com/sun/faces/facelets/compiler/UILeaf.java Sending jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/ComponentSupport.java Sending jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/ComponentTagHandlerDelegateImpl.java Adding jsf-ri/src/main/java/com/sun/faces/facelets/tag/jsf/IterationIdManager.java Sending jsf-ri/src/main/java/com/sun/faces/facelets/tag/jstl/core/ForEachHandler.java Adding jsf-ri/src/main/java/com/sun/faces/util/MostlySingletonSet.java Sending jsf-ri/systest/src/com/sun/faces/facelets Sending jsf-ri/systest/src/com/sun/faces/facelets/FaceletsTestCase.java Sending jsf-ri/systest/web/facelets Sending jsf-ri/systest/web/facelets/forEach.xhtml Sending test/agnostic/dynamic Sending test/agnostic/dynamic/nbactions.xml Adding test/agnostic/dynamic/src/main/webapp/moveContainerComponent.xhtml Sending test/agnostic/facelets/cc/pom.xml Adding test/agnostic/facelets/core/src/main/java/com/sun/faces/test/agnostic/facelets/core/ForEachBean.java Sending test/agnostic/facelets/core/src/main/webapp/WEB-INF/glassfish-web.xml Adding test/agnostic/facelets/core/src/main/webapp/forEach Adding test/agnostic/facelets/core/src/main/webapp/forEach/false_false_false_false_false_false_false_false_false.xhtml Adding test/agnostic/facelets/core/src/main/webapp/forEach/false_false_false_false_false_false_false_false_true.xhtml Adding test/agnostic/facelets/core/src/main/webapp/forEach/false_false_false_false_false_false_false_true_false.xhtml Adding test/agnostic/facelets/core/src/main/webapp/forEach/false_false_false_false_false_false_false_true_true.xhtml Adding test/agnostic/facelets/core/src/main/webapp/forEach/false_false_false_false_false_false_true_false_false.xhtml Adding test/agnostic/facelets/core/src/main/webapp/forEach/false_false_false_false_false_false_true_false_true.xhtml Adding test/agnostic/facelets/core/src/main/webapp/forEach/false_false_false_false_false_false_true_true_false.xhtml Adding test/agnostic/facelets/core/src/main/webapp/forEach/false_false_false_false_false_false_true_true_true.xhtml Adding test/agnostic/facelets/core/src/main/webapp/forEach/false_false_false_false_false_true_false_false_false.xhtml Adding test/agnostic/facelets/core/src/main/webapp/forEach/false_false_false_false_false_true_false_false_true.xhtml Adding test/agnostic/facelets/core/src/main/webapp/forEach/false_false_false_false_false_true_false_true_false.xhtml Adding test/agnostic/facelets/core/src/main/webapp/forEach/false_false_false_false_false_true_false_true_true.xhtml Adding test/agnostic/facelets/core/src/main/webapp/forEach/false_false_false_false_false_true_true_false_false.xhtml Adding test/agnostic/facelets/core/src/main/webapp/forEach/false_false_false_false_false_true_true_false_true.xhtml Adding test/agnostic/facelets/core/src/main/webapp/forEach/false_false_false_false_false_true_true_true_false.xhtml Adding test/agnostic/facelets/core/src/main/webapp/forEach/false_false_false_false_false_true_true_true_true.xhtml Adding test/agnostic/facelets/core/src/main/webapp/forEach/false_false_false_false_true_true_true_true_false.xhtml Adding test/agnostic/facelets/core/src/main/webapp/forEach/false_false_false_true_false_true_false_true_true.xhtml Adding test/agnostic/facelets/core/src/main/webapp/forEach/false_false_true_false_false_false_true_true_false.xhtml Adding test/agnostic/facelets/core/src/main/webapp/forEach/false_true_false_false_false_true_false_true_false.xhtml Adding test/agnostic/facelets/core/src/main/webapp/forEach/includedDynamically01.xhtml Adding test/agnostic/facelets/core/src/main/webapp/forEach/includedDynamically02.xhtml Adding test/agnostic/facelets/core/src/main/webapp/forEach/includedLiterally.xhtml Adding test/agnostic/facelets/core/src/main/webapp/forEach/includedLiterallyWithParam.xhtml Adding test/agnostic/facelets/core/src/main/webapp/forEach/index.xhtml Adding test/agnostic/facelets/core/src/main/webapp/forEach/true_false_false_false_false_false_false_false_false.xhtml Adding test/agnostic/facelets/core/src/main/webapp/forEach/true_true_true_true_true_true_true_true_true.xhtml Adding test/agnostic/facelets/core/src/test/java/com/sun/faces/test/agnostic/facelets/core/ForEachIT.java Sending test/agnostic/lifecycle/pom.xml Deleting test/agnostic/scope/view Sending test/glassfish/request_char_encoding Sending test/glassfish/request_char_encoding/nbactions.xml Sending test/glassfish/request_char_encoding/pom.xml Sending test/glassfish/request_char_encoding/src/main/webapp Sending test/glassfish/request_char_encoding/src/main/webapp/WEB-INF Sending test/glassfish/request_char_encoding/src/main/webapp/WEB-INF/glassfish-web.xml Sending test/glassfish/request_char_encoding/src/main/webapp/duke.waving.gif Sending test/glassfish/request_char_encoding/src/test/java/com/sun/faces/test/glassfish/request_char_encoding Sending test/glassfish/request_char_encoding/src/test/java/com/sun/faces/test/glassfish/request_char_encoding/Issue2217IT.java Sending test/javaee6 Adding test/unit/src/test/java/com/sun/faces/util/MostlySingletonTest.java Sending test/web-profile/adf/basic/src/main/webapp/WEB-INF Sending test/web-profile/adf/basic/src/main/webapp/WEB-INF/web.xml Adding test/weblogic12c Adding test/weblogic12c/pom.xml Adding test/weblogic12c/request_char_encoding Adding test/weblogic12c/request_char_encoding/nbactions.xml Adding test/weblogic12c/request_char_encoding/pom.xml Adding test/weblogic12c/request_char_encoding/src Adding test/weblogic12c/request_char_encoding/src/main Adding test/weblogic12c/request_char_encoding/src/main/java Adding test/weblogic12c/request_char_encoding/src/main/java/com Adding test/weblogic12c/request_char_encoding/src/main/java/com/sun Adding test/weblogic12c/request_char_encoding/src/main/java/com/sun/faces Adding test/weblogic12c/request_char_encoding/src/main/java/com/sun/faces/test Adding test/weblogic12c/request_char_encoding/src/main/java/com/sun/faces/test/Bean.java Adding test/weblogic12c/request_char_encoding/src/main/java/com/sun/faces/test/Foo.java Adding test/weblogic12c/request_char_encoding/src/main/java/com/sun/faces/test/FooConverterBase.java Adding test/weblogic12c/request_char_encoding/src/main/java/com/sun/faces/test/FooConverterByClass.java Adding test/weblogic12c/request_char_encoding/src/main/java/com/sun/faces/test/FooConverterById.java Adding test/weblogic12c/request_char_encoding/src/main/java/hello1 Adding test/weblogic12c/request_char_encoding/src/main/java/hello1/Hello.java Adding test/weblogic12c/request_char_encoding/src/main/webapp Adding test/weblogic12c/request_char_encoding/src/main/webapp/WEB-INF Adding test/weblogic12c/request_char_encoding/src/main/webapp/WEB-INF/web.xml Adding test/weblogic12c/request_char_encoding/src/main/webapp/WEB-INF/weblogic.xml Adding test/weblogic12c/request_char_encoding/src/main/webapp/duke.waving.gif Adding test/weblogic12c/request_char_encoding/src/main/webapp/index.xhtml Adding test/weblogic12c/request_char_encoding/src/main/webapp/response.xhtml Adding test/weblogic12c/request_char_encoding/src/test Adding test/weblogic12c/request_char_encoding/src/test/java Adding test/weblogic12c/request_char_encoding/src/test/java/com Adding test/weblogic12c/request_char_encoding/src/test/java/com/sun Adding test/weblogic12c/request_char_encoding/src/test/java/com/sun/faces Adding test/weblogic12c/request_char_encoding/src/test/java/com/sun/faces/test Adding test/weblogic12c/request_char_encoding/src/test/java/com/sun/faces/test/weblogic12c Adding test/weblogic12c/request_char_encoding/src/test/java/com/sun/faces/test/weblogic12c/request_char_encoding Adding test/weblogic12c/request_char_encoding/src/test/java/com/sun/faces/test/weblogic12c/request_char_encoding/Issue2217IT.java Transmitting file data ..................................................................... Committed revision 12712.

javaserverfaces commented 10 years ago

File: changebundle.txt Attached By: @manfredriem

javaserverfaces commented 10 years ago

File: newfiles.zip Attached By: @manfredriem

javaserverfaces commented 10 years ago

Issue-Links: blocks JAVASERVERFACES-3033 is related to JAVASERVERFACES-3699 JAVASERVERFACES-3024 JAVASERVERFACES-3698

javaserverfaces commented 7 years ago

This issue was imported from java.net JIRA JAVASERVERFACES-3102

javaserverfaces commented 10 years ago

Marked as fixed on Thursday, December 12th 2013, 6:32:18 am