Skip to content

Commit 6fd2256

Browse files
committed
Implement correct fix for #5059 as per #5625
1 parent f573326 commit 6fd2256

1 file changed

Lines changed: 10 additions & 10 deletions

File tree

impl/src/main/java/com/sun/faces/facelets/impl/DefaultFacelet.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,26 +27,26 @@
2727
import java.util.Date;
2828
import java.util.Iterator;
2929
import java.util.List;
30-
import java.util.Map;
3130
import java.util.logging.Level;
3231
import java.util.logging.Logger;
3332

34-
import com.sun.faces.facelets.tag.faces.ComponentSupport;
35-
import com.sun.faces.util.FacesLogger;
36-
import com.sun.faces.util.Util;
37-
3833
import jakarta.el.ELException;
3934
import jakarta.el.ExpressionFactory;
4035
import jakarta.faces.FacesException;
4136
import jakarta.faces.application.ProjectStage;
4237
import jakarta.faces.component.Doctype;
38+
import jakarta.faces.component.TransientStateHelper;
4339
import jakarta.faces.component.UIComponent;
4440
import jakarta.faces.context.FacesContext;
4541
import jakarta.faces.view.facelets.Facelet;
4642
import jakarta.faces.view.facelets.FaceletContext;
4743
import jakarta.faces.view.facelets.FaceletException;
4844
import jakarta.faces.view.facelets.FaceletHandler;
4945

46+
import com.sun.faces.facelets.tag.faces.ComponentSupport;
47+
import com.sun.faces.util.FacesLogger;
48+
import com.sun.faces.util.Util;
49+
5050
/**
5151
* Default Facelet implementation.
5252
*
@@ -150,7 +150,7 @@ private void refresh(UIComponent c) {
150150
while (--sz >= 0) {
151151
UIComponent cc = (UIComponent) cl.get(sz);
152152
if (!cc.isTransient()) {
153-
token = (ApplyToken) cc.getAttributes().get(APPLIED_KEY);
153+
token = (ApplyToken) cc.getTransientStateHelper().getTransient(APPLIED_KEY);
154154
if (token != null && token.time < createTime && token.alias.equals(alias)) {
155155
if (log.isLoggable(Level.INFO)) {
156156
DateFormat df = SimpleDateFormat.getTimeInstance();
@@ -171,7 +171,7 @@ private void refresh(UIComponent c) {
171171
for (Iterator itr = col.iterator(); itr.hasNext();) {
172172
fc = (UIComponent) itr.next();
173173
if (!fc.isTransient()) {
174-
token = (ApplyToken) fc.getAttributes().get(APPLIED_KEY);
174+
token = (ApplyToken) fc.getTransientStateHelper().getTransient(APPLIED_KEY);
175175
if (token != null && token.time < createTime && token.alias.equals(alias)) {
176176
if (log.isLoggable(Level.INFO)) {
177177
DateFormat df = SimpleDateFormat.getTimeInstance();
@@ -193,9 +193,9 @@ private void markApplied(UIComponent parent) {
193193
while (itr.hasNext()) {
194194
UIComponent c = (UIComponent) itr.next();
195195
if (!c.isTransient()) {
196-
Map<String, Object> attr = c.getAttributes();
197-
if (!attr.containsKey(APPLIED_KEY)) {
198-
attr.put(APPLIED_KEY, token);
196+
TransientStateHelper state = c.getTransientStateHelper();
197+
if (state.getTransient(APPLIED_KEY) == null) {
198+
state.putTransient(APPLIED_KEY, token);
199199
}
200200
}
201201
}

0 commit comments

Comments
 (0)