1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.myfaces.custom.conversation;
20
21 import javax.faces.context.FacesContext;
22 import javax.faces.el.EvaluationException;
23 import javax.faces.el.VariableResolver;
24
25 public class ConversationVariableResolver extends VariableResolver
26 {
27 private final VariableResolver original;
28
29 public ConversationVariableResolver(VariableResolver original)
30 {
31 this.original = original;
32 }
33
34 public Object resolveVariable(FacesContext context, String name) throws EvaluationException
35 {
36 ConversationManager conversationManager = ConversationManager.getInstance(context);
37 if (conversationManager.hasConversationContext())
38 {
39 Object bean = conversationManager.getConversationContext().findBean(name);
40 if (bean != null)
41 {
42 return bean;
43 }
44 }
45
46 return original.resolveVariable(context, name);
47 }
48
49 }