You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by we...@apache.org on 2006/03/21 12:21:39 UTC
svn commit: r387496 - in
/incubator/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component:
Pager.java UIData.java
Author: weber
Date: Tue Mar 21 03:21:32 2006
New Revision: 387496
URL: http://svn.apache.org/viewcvs?rev=387496&view=rev
Log:
force StateChangeEvent when paging done
Modified:
incubator/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Pager.java
incubator/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/UIData.java
Modified: incubator/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Pager.java
URL: http://svn.apache.org/viewcvs/incubator/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Pager.java?rev=387496&r1=387495&r2=387496&view=diff
==============================================================================
--- incubator/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Pager.java (original)
+++ incubator/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Pager.java Tue Mar 21 03:21:32 2006
@@ -19,7 +19,6 @@
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.myfaces.tobago.event.PageActionEvent;
-import org.apache.myfaces.tobago.event.SheetStateChangeEvent;
import javax.faces.context.FacesContext;
import javax.faces.el.EvaluationException;
@@ -99,7 +98,7 @@
}
sheet.setFirst(first);
sheet.getSheetState(facesContext).setFirst(first);
- sheet.queueEvent(new SheetStateChangeEvent(sheet));
+// sheet.queueEvent(new SheetStateChangeEvent(sheet));
} else {
if (LOG.isDebugEnabled()) {
LOG.debug("aobj[0] instanceof '" + aobj[0] + "'");
Modified: incubator/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/UIData.java
URL: http://svn.apache.org/viewcvs/incubator/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/UIData.java?rev=387496&r1=387495&r2=387496&view=diff
==============================================================================
--- incubator/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/UIData.java (original)
+++ incubator/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/UIData.java Tue Mar 21 03:21:32 2006
@@ -436,25 +436,20 @@
public void broadcast(FacesEvent facesEvent) throws AbortProcessingException {
super.broadcast(facesEvent);
if (facesEvent instanceof SheetStateChangeEvent) {
- MethodBinding methodBinding = getStateChangeListener();
- Object[] objects = new Object[]{(SheetStateChangeEvent) facesEvent};
- invokeMethodBinding(methodBinding, objects);
+ invokeMethodBinding(getStateChangeListener(), facesEvent);
} else if (facesEvent instanceof PageActionEvent) {
- PageActionEvent pageEvent = (PageActionEvent) facesEvent;
- Object[] objects = new Object[]{pageEvent};
- invokeMethodBinding(new Pager(), objects);
+ invokeMethodBinding(new Pager(), facesEvent);
+ invokeMethodBinding(getStateChangeListener(), new SheetStateChangeEvent(this));
} else if (facesEvent instanceof SortActionEvent) {
- SortActionEvent sortEvent = (SortActionEvent) facesEvent;
- getSheetState(getFacesContext()).updateSortState(sortEvent);
- MethodBinding methodBinding = getSortActionListener();
- Object[] objects = new Object[]{sortEvent};
- invokeMethodBinding(methodBinding, objects);
+ getSheetState(getFacesContext()).updateSortState((SortActionEvent) facesEvent);
+ invokeMethodBinding(getSortActionListener(), facesEvent);
}
}
- private void invokeMethodBinding(MethodBinding methodBinding, Object[] objects) {
- if (methodBinding != null) {
+ private void invokeMethodBinding(MethodBinding methodBinding, FacesEvent event) {
+ if (methodBinding != null && event != null) {
try {
+ Object[] objects = new Object [] { event };
methodBinding.invoke(getFacesContext(), objects);
} catch (EvaluationException e) {
Throwable cause = e.getCause();