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();