2727import java .util .Date ;
2828import java .util .Iterator ;
2929import java .util .List ;
30- import java .util .Map ;
3130import java .util .logging .Level ;
3231import 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-
3833import jakarta .el .ELException ;
3934import jakarta .el .ExpressionFactory ;
4035import jakarta .faces .FacesException ;
4136import jakarta .faces .application .ProjectStage ;
4237import jakarta .faces .component .Doctype ;
38+ import jakarta .faces .component .TransientStateHelper ;
4339import jakarta .faces .component .UIComponent ;
4440import jakarta .faces .context .FacesContext ;
4541import jakarta .faces .view .facelets .Facelet ;
4642import jakarta .faces .view .facelets .FaceletContext ;
4743import jakarta .faces .view .facelets .FaceletException ;
4844import 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