Closed ren-zhijun-oracle closed 10 years ago
@javaserverfaces Commented Reported by @manfredriem
@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:
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
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
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
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 @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.
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 @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 File: changebundle.txt Attached By: @manfredriem
@javaserverfaces Commented File: newfiles.zip Attached By: @manfredriem
@javaserverfaces Commented Issue-Links: blocks JAVASERVERFACES-3033 is related to JAVASERVERFACES-3699 JAVASERVERFACES-3024 JAVASERVERFACES-3698
@javaserverfaces Commented This issue was imported from java.net JIRA JAVASERVERFACES-3102
@javaserverfaces Commented Marked as fixed on Thursday, December 12th 2013, 6:32:18 am
Forward port changes from 2.1.20-01 to 2.2.x