Bug 147530 [DataBinding] Provide event objects for change listeners
Before data binding goes 1.0 it would be wise to provide EventObjects for the following listeners to ensure that the API doesn't preclude future expansion of the values supplied to listeners. Interfaces that would be affected: * IValueChangeListener * IValueChangingListener * IListChangeListener * ISetChangeListener * IMappingChangeListener
tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/internal/databinding/internal/beans/JavaBeanObservableMapTest.java
MapChangeListener listener = new MapChangeListener();
		map.addMapChangeListener(listener);
		assertEquals(0, listener.count);
		model1.setValue(newValue);
		assertEquals(1, listener.count);
		assertTrue(listener.diff.getChangedKeys().contains(model1));
		assertEquals(newValue, listener.diff.getNewValue(model1));
		assertEquals(oldValue, listener.diff.getOldValue(model1));
		assertFalse(listener.diff.getAddedKeys().contains(model1));
		assertFalse(listener.diff.getRemovedKeys().contains(model1));
	}
	public void testPutValue() throws Exception {
		String oldValue = model1.getValue();
		String newValue = model1.getValue() + model1.getValue();
		MapChangeListener listener = new MapChangeListener();
		map.addMapChangeListener(listener);
		assertEquals(0, listener.count);
		map.put(model1, newValue);
		assertEquals(1, listener.count);
		assertEquals(newValue, model1.getValue());
		assertEquals(oldValue, listener.diff.getOldValue(model1));
		assertEquals(newValue, listener.diff.getNewValue(model1));
		assertFalse(listener.diff.getAddedKeys().contains(model1));
		assertTrue(listener.diff.getChangedKeys().contains(model1));
		assertFalse(listener.diff.getRemovedKeys().contains(model1));
	}
	public void testAddKey() throws Exception {
		MapChangeListener listener = new MapChangeListener();
		map.addMapChangeListener(listener);
		Model model3 = new Model("3");