Adjust the code to the latest changes in RAP core - event system rework
diff --git a/bundles/org.eclipse.rap.nebula.widgets.grid/src/org/eclipse/nebula/widgets/grid/internal/gridcolumnkit/GridColumnLCA.java b/bundles/org.eclipse.rap.nebula.widgets.grid/src/org/eclipse/nebula/widgets/grid/internal/gridcolumnkit/GridColumnLCA.java
index 7f14837..fd8035e 100644
--- a/bundles/org.eclipse.rap.nebula.widgets.grid/src/org/eclipse/nebula/widgets/grid/internal/gridcolumnkit/GridColumnLCA.java
+++ b/bundles/org.eclipse.rap.nebula.widgets.grid/src/org/eclipse/nebula/widgets/grid/internal/gridcolumnkit/GridColumnLCA.java
@@ -35,7 +35,6 @@
 import org.eclipse.rap.rwt.lifecycle.WidgetLCAUtil;
 import org.eclipse.rap.rwt.lifecycle.WidgetUtil;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.graphics.Font;
 import org.eclipse.swt.internal.widgets.ItemLCAUtil;
 import org.eclipse.swt.widgets.Widget;
@@ -58,7 +57,7 @@
   private static final String PROP_FOOTER_FONT = "footerFont";
   private static final String PROP_FOOTER_TEXT = "footerText";
   private static final String PROP_FOOTER_IMAGE = "footerImage";
-  private static final String PROP_SELECTION_LISTENER = "selection";
+  private static final String PROP_SELECTION_LISTENER = "Selection";
 
   private static final int ZERO = 0;
   private static final String DEFAULT_ALIGNMENT = "left";
@@ -100,7 +99,7 @@
     preserveProperty( column, PROP_FOOTER_FONT, column.getFooterFont() );
     preserveProperty( column, PROP_FOOTER_TEXT, column.getFooterText() );
     preserveProperty( column, PROP_FOOTER_IMAGE, column.getFooterImage() );
-    preserveListener( column, PROP_SELECTION_LISTENER, SelectionEvent.hasListener( column ) );
+    preserveListener( column, PROP_SELECTION_LISTENER, column.isListening( SWT.Selection ) );
   }
 
   @Override
@@ -121,7 +120,7 @@
     renderFont( column, PROP_FOOTER_FONT, column.getFooterFont() );
     renderProperty( column, PROP_FOOTER_TEXT, column.getFooterText(), "" );
     renderProperty( column, PROP_FOOTER_IMAGE, column.getFooterImage(), null );
-    renderListener( column, PROP_SELECTION_LISTENER, SelectionEvent.hasListener( column ), false );
+    renderListener( column, PROP_SELECTION_LISTENER, column.isListening( SWT.Selection ), false );
   }
 
   @Override
diff --git a/bundles/org.eclipse.rap.nebula.widgets.grid/src/org/eclipse/nebula/widgets/grid/internal/gridkit/GridLCA.java b/bundles/org.eclipse.rap.nebula.widgets.grid/src/org/eclipse/nebula/widgets/grid/internal/gridkit/GridLCA.java
index 3e3238a..05b2094 100644
--- a/bundles/org.eclipse.rap.nebula.widgets.grid/src/org/eclipse/nebula/widgets/grid/internal/gridkit/GridLCA.java
+++ b/bundles/org.eclipse.rap.nebula.widgets.grid/src/org/eclipse/nebula/widgets/grid/internal/gridkit/GridLCA.java
@@ -38,7 +38,6 @@
 import org.eclipse.rap.rwt.lifecycle.WidgetLCAUtil;
 import org.eclipse.rap.rwt.lifecycle.WidgetUtil;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.internal.events.EventLCAUtil;
 import org.eclipse.swt.internal.widgets.CellToolTipUtil;
 import org.eclipse.swt.internal.widgets.ICellToolTipAdapter;
@@ -81,7 +80,8 @@
   private static final String PROP_SORT_COLUMN = "sortColumn";
   private static final String PROP_SCROLLBARS_VISIBLE = "scrollBarsVisible";
   private static final String PROP_SCROLLBARS_SELECTION_LISTENER = "scrollBarsSelection";
-  private static final String PROP_SELECTION_LISTENER = "selection";
+  private static final String PROP_SELECTION_LISTENER = "Selection";
+  private static final String PROP_DEFAULT_SELECTION_LISTENER = "DefaultSelection";
   // TODO: [if] Sync toolTipText in GridItemLCA when it's possible on the client
   private static final String PROP_ENABLE_CELL_TOOLTIP = "enableCellToolTip";
   private static final String PROP_CELL_TOOLTIP_TEXT = "cellToolTipText";
@@ -111,8 +111,8 @@
     readScrollLeft( grid );
     readTopItemIndex( grid );
     readCellToolTipTextRequested( grid );
-    processSelectionEvent( grid, ClientMessageConst.EVENT_WIDGET_SELECTED );
-    processSelectionEvent( grid, ClientMessageConst.EVENT_WIDGET_DEFAULT_SELECTED );
+    processSelectionEvent( grid, ClientMessageConst.EVENT_SELECTION );
+    processSelectionEvent( grid, ClientMessageConst.EVENT_DEFAULT_SELECTION );
     ControlLCAUtil.processEvents( grid );
     ControlLCAUtil.processKeyEvents( grid );
     ControlLCAUtil.processMenuDetect( grid );
@@ -144,8 +144,11 @@
     preserveProperty( grid, PROP_SCROLLBARS_VISIBLE, getScrollBarsVisible( grid ) );
     preserveListener( grid,
                       PROP_SCROLLBARS_SELECTION_LISTENER,
-                      hasScrollBarsSelectionListener( grid ) );
-    preserveListener( grid, PROP_SELECTION_LISTENER, SelectionEvent.hasListener( grid ) );
+                      EventLCAUtil.hasScrollBarsSelectionListener( grid ) );
+    preserveListener( grid, PROP_SELECTION_LISTENER, grid.isListening( SWT.Selection ) );
+    preserveListener( grid,
+                      PROP_DEFAULT_SELECTION_LISTENER,
+                      grid.isListening( SWT.DefaultSelection ) );
     preserveProperty( grid, PROP_ENABLE_CELL_TOOLTIP, CellToolTipUtil.isEnabledFor( grid ) );
     preserveProperty( grid, PROP_CELL_TOOLTIP_TEXT, null );
   }
@@ -177,9 +180,13 @@
                     DEFAULT_SCROLLBARS_VISIBLE );
     renderListener( grid,
                     PROP_SCROLLBARS_SELECTION_LISTENER,
-                    hasScrollBarsSelectionListener( grid ),
+                    EventLCAUtil.hasScrollBarsSelectionListener( grid ),
                     false );
-    renderListener( grid, PROP_SELECTION_LISTENER, SelectionEvent.hasListener( grid ), false );
+    renderListener( grid, PROP_SELECTION_LISTENER, grid.isListening( SWT.Selection ), false );
+    renderListener( grid,
+                    PROP_DEFAULT_SELECTION_LISTENER,
+                    grid.isListening( SWT.DefaultSelection ),
+                    false );
     renderProperty( grid, PROP_ENABLE_CELL_TOOLTIP, CellToolTipUtil.isEnabledFor( grid ), false );
     renderProperty( grid, PROP_CELL_TOOLTIP_TEXT, getCellToolTipText( grid ), null );
   }
@@ -333,19 +340,6 @@
     return new boolean[] { horizontalBarVisible, verticalBarVisible };
   }
 
-  private static boolean hasScrollBarsSelectionListener( Grid grid ) {
-    boolean result = false;
-    ScrollBar horizontalBar = grid.getHorizontalBar();
-    if( horizontalBar != null ) {
-      result = result || horizontalBar.isListening( SWT.Selection );
-    }
-    ScrollBar verticalBar = grid.getVerticalBar();
-    if( verticalBar != null ) {
-      result = result || verticalBar.isListening( SWT.Selection );
-    }
-    return result;
-  }
-
   private static GridItem getItem( Grid grid, String itemId ) {
     return ( GridItem )WidgetUtil.find( grid, itemId );
   }
@@ -360,7 +354,7 @@
     if( WidgetLCAUtil.wasEventSent( grid, eventName ) ) {
       GridItem item = getItem( grid, readEventPropertyValue( grid, eventName, EVENT_PARAM_ITEM ) );
       if( item != null ) {
-        if( eventName.equals( ClientMessageConst.EVENT_WIDGET_SELECTED ) ) {
+        if( eventName.equals( ClientMessageConst.EVENT_SELECTION ) ) {
           String detail = readEventPropertyValue( grid, eventName, EVENT_PARAM_DETAIL );
           if( "check".equals( detail ) ) {
             String index = readEventPropertyValue( grid, eventName, EVENT_PARAM_INDEX );
diff --git a/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/GridColumn_Test.java b/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/GridColumn_Test.java
index 3e19955..9064d88 100644
--- a/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/GridColumn_Test.java
+++ b/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/GridColumn_Test.java
@@ -27,7 +27,6 @@
 import org.eclipse.swt.events.DisposeEvent;
 import org.eclipse.swt.events.DisposeListener;
 import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.swt.graphics.Font;
 import org.eclipse.swt.graphics.Image;
@@ -448,13 +447,13 @@
   public void testAddRemoveSelectionListener() {
     GridColumn column = new GridColumn( grid, SWT.NONE );
     SelectionListener listener = new SelectionAdapter() { };
-    assertFalse( SelectionEvent.hasListener( column ) );
+    assertFalse( column.isListening( SWT.Selection ) );
 
     column.addSelectionListener( listener );
-    assertTrue( SelectionEvent.hasListener( column ) );
+    assertTrue( column.isListening( SWT.Selection ) );
 
     column.removeSelectionListener( listener );
-    assertFalse( SelectionEvent.hasListener( column ) );
+    assertFalse( column.isListening( SWT.Selection ) );
   }
 
   public void testAddSelectionListener_NullArgument() {
diff --git a/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/internal/gridcolumnkit/GridColumnLCA_Test.java b/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/internal/gridcolumnkit/GridColumnLCA_Test.java
index 5231437..8d7ff25 100644
--- a/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/internal/gridcolumnkit/GridColumnLCA_Test.java
+++ b/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/internal/gridcolumnkit/GridColumnLCA_Test.java
@@ -487,7 +487,7 @@
     lca.renderChanges( column );
 
     Message message = Fixture.getProtocolMessage();
-    assertEquals( Boolean.TRUE, message.findListenProperty( column, "selection" ) );
+    assertEquals( Boolean.TRUE, message.findListenProperty( column, "Selection" ) );
   }
 
   public void testRenderRemoveSelectionListener() throws Exception {
@@ -501,7 +501,7 @@
     lca.renderChanges( column );
 
     Message message = Fixture.getProtocolMessage();
-    assertEquals( Boolean.FALSE, message.findListenProperty( column, "selection" ) );
+    assertEquals( Boolean.FALSE, message.findListenProperty( column, "Selection" ) );
   }
 
   public void testRenderSelectionListenerUnchanged() throws Exception {
@@ -514,7 +514,7 @@
     lca.renderChanges( column );
 
     Message message = Fixture.getProtocolMessage();
-    assertNull( message.findListenOperation( column, "selection" ) );
+    assertNull( message.findListenOperation( column, "Selection" ) );
   }
 
   public void testReadWidth() {
@@ -826,7 +826,7 @@
     } );
 
     Fixture.fakeNewRequest( display );
-    Fixture.fakeNotifyOperation( getId( column ), ClientMessageConst.EVENT_WIDGET_SELECTED, null );
+    Fixture.fakeNotifyOperation( getId( column ), ClientMessageConst.EVENT_SELECTION, null );
     Fixture.readDataAndProcessAction( column );
 
     assertEquals( 1, events.size() );
diff --git a/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/internal/gridkit/GridLCA_Test.java b/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/internal/gridkit/GridLCA_Test.java
index 302d61d..fb244f9 100644
--- a/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/internal/gridkit/GridLCA_Test.java
+++ b/tests/org.eclipse.rap.nebula.widgets.grid.test/src/org/eclipse/nebula/widgets/grid/internal/gridkit/GridLCA_Test.java
@@ -14,8 +14,8 @@
 import static org.eclipse.nebula.widgets.grid.GridTestUtil.createGridItems;
 import static org.eclipse.nebula.widgets.grid.GridTestUtil.loadImage;
 import static org.eclipse.nebula.widgets.grid.internal.gridkit.GridLCATestUtil.jsonEquals;
-import static org.eclipse.rap.rwt.internal.protocol.ClientMessageConst.EVENT_WIDGET_DEFAULT_SELECTED;
-import static org.eclipse.rap.rwt.internal.protocol.ClientMessageConst.EVENT_WIDGET_SELECTED;
+import static org.eclipse.rap.rwt.internal.protocol.ClientMessageConst.EVENT_DEFAULT_SELECTION;
+import static org.eclipse.rap.rwt.internal.protocol.ClientMessageConst.EVENT_SELECTION;
 import static org.eclipse.rap.rwt.lifecycle.WidgetUtil.getId;
 
 import java.io.IOException;
@@ -769,7 +769,8 @@
     lca.renderChanges( grid );
 
     Message message = Fixture.getProtocolMessage();
-    assertEquals( Boolean.TRUE, message.findListenProperty( grid, "selection" ) );
+    assertEquals( Boolean.TRUE, message.findListenProperty( grid, "Selection" ) );
+    assertEquals( Boolean.TRUE, message.findListenProperty( grid, "DefaultSelection" ) );
   }
 
   public void testRenderRemoveSelectionListener() throws Exception {
@@ -783,7 +784,8 @@
     lca.renderChanges( grid );
 
     Message message = Fixture.getProtocolMessage();
-    assertEquals( Boolean.FALSE, message.findListenProperty( grid, "selection" ) );
+    assertEquals( Boolean.FALSE, message.findListenProperty( grid, "Selection" ) );
+    assertEquals( Boolean.FALSE, message.findListenProperty( grid, "DefaultSelection" ) );
   }
 
   public void testRenderSelectionListenerUnchanged() throws Exception {
@@ -796,7 +798,8 @@
     lca.renderChanges( grid );
 
     Message message = Fixture.getProtocolMessage();
-    assertNull( message.findListenOperation( grid, "selection" ) );
+    assertNull( message.findListenOperation( grid, "Selection" ) );
+    assertNull( message.findListenOperation( grid, "DefaultSelection" ) );
   }
 
   public void testRenderInitialEnableCellToolTip() throws IOException {
@@ -909,7 +912,7 @@
     Fixture.fakeNewRequest( display );
     Map<String, Object> parameters = new HashMap<String, Object>();
     parameters.put( ClientMessageConst.EVENT_PARAM_ITEM, getId( item ) );
-    Fixture.fakeNotifyOperation( getId( grid ), EVENT_WIDGET_SELECTED, parameters );
+    Fixture.fakeNotifyOperation( getId( grid ), EVENT_SELECTION, parameters );
     Fixture.readDataAndProcessAction( display );
 
     assertEquals( 1, events.size() );
@@ -930,7 +933,7 @@
     parameters.put( ClientMessageConst.EVENT_PARAM_ITEM, getId( item ) );
     parameters.put( ClientMessageConst.EVENT_PARAM_DETAIL, "check" );
     parameters.put( ClientMessageConst.EVENT_PARAM_INDEX, Integer.valueOf( 3 ) );
-    Fixture.fakeNotifyOperation( getId( grid ), EVENT_WIDGET_SELECTED, parameters );
+    Fixture.fakeNotifyOperation( getId( grid ), EVENT_SELECTION, parameters );
     Fixture.readDataAndProcessAction( display );
 
     assertEquals( 1, events.size() );
@@ -950,7 +953,7 @@
     Fixture.fakeNewRequest( display );
     Map<String, Object> parameters = new HashMap<String, Object>();
     parameters.put( ClientMessageConst.EVENT_PARAM_ITEM, getId( item ) );
-    Fixture.fakeNotifyOperation( getId( grid ), EVENT_WIDGET_DEFAULT_SELECTED, parameters );
+    Fixture.fakeNotifyOperation( getId( grid ), EVENT_DEFAULT_SELECTION, parameters );
     Fixture.readDataAndProcessAction( display );
 
     assertEquals( 1, events.size() );