eclipse-ee4j / mojarra

Mojarra, a Jakarta Faces implementation
Other
161 stars 110 forks source link

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

Closed ren-zhijun-oracle closed 10 years ago

ren-zhijun-oracle commented 10 years ago

Forward port changes from 2.1.20-01 to 2.2.x

ren-zhijun-oracle commented 6 years ago
ren-zhijun-oracle commented 10 years ago

@javaserverfaces Commented Reported by @manfredriem

ren-zhijun-oracle commented 10 years ago

@javaserverfaces Commented @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

ren-zhijun-oracle commented 10 years ago

@javaserverfaces Commented @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?

ren-zhijun-oracle commented 10 years ago

@javaserverfaces Commented @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.

ren-zhijun-oracle commented 10 years ago

@javaserverfaces Commented File: changebundle.txt Attached By: @manfredriem

ren-zhijun-oracle commented 10 years ago

@javaserverfaces Commented File: newfiles.zip Attached By: @manfredriem

ren-zhijun-oracle commented 10 years ago

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

ren-zhijun-oracle commented 7 years ago

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

ren-zhijun-oracle commented 10 years ago

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