1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.myfaces.view.facelets.tag.jsf;
20
21 import java.io.Serializable;
22 import java.util.logging.Level;
23 import java.util.logging.Logger;
24
25 import javax.el.ELException;
26 import javax.faces.context.FacesContext;
27 import javax.faces.event.ComponentSystemEvent;
28 import javax.faces.event.ComponentSystemEventListener;
29
30
31
32
33
34
35
36
37
38 public class ClearBindingValueExpressionListener implements ComponentSystemEventListener, Serializable
39 {
40
41
42
43
44 private static final long serialVersionUID = -6066524284031941519L;
45
46 public ClearBindingValueExpressionListener()
47 {
48 super();
49 }
50
51 public void processEvent(ComponentSystemEvent event)
52 {
53 try
54 {
55 event.getComponent().getValueExpression("binding").setValue(
56 FacesContext.getCurrentInstance().getELContext(), null);
57 }
58 catch(ELException e)
59 {
60 Logger log = Logger.getLogger(ClearBindingValueExpressionListener.class.getName());
61 if (log.isLoggable(Level.FINE))
62 {
63 log.log(Level.FINE, "Cannot reset binding for: " + event.getComponent().getClientId(), e);
64 }
65 }
66 catch(NullPointerException e)
67 {
68 Logger log = Logger.getLogger(ClearBindingValueExpressionListener.class.getName());
69 if (log.isLoggable(Level.FINE))
70 {
71 log.log(Level.FINE, "Cannot reset binding for: " + event.getComponent().getClientId(), e);
72 }
73 }
74 }
75
76 }