Bug 147545 [DataBinding] When attempting to fire a stale event AbstractObservable throws ClassCastException
The code in AbstractObservable for the firing of stale events appears to be incomplete. When listeners are added they're added as type IStaleListener but when retrieved they're cast to IChangeListener. I'm assuming that code was copied from the change listener code but not completed. Attaching patch...
tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/ObservableTest.java
/*******************************************************************************
 * Copyright (c) 2005, 2006 IBM Corporation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http:www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package org.eclipse.jface.tests.databinding;
import junit.framework.TestCase;
import org.eclipse.jface.internal.databinding.provisional.observable.Diffs;
import org.eclipse.jface.internal.databinding.provisional.observable.IChangeListener;
import org.eclipse.jface.internal.databinding.provisional.observable.value.WritableValue;
import org.eclipse.jface.tests.databinding.util.Mocks;
public class ObservableTest extends TestCase {
	private static class MyObservable extends WritableValue {
		/**
		 * @param initialValue
		 */
		public MyObservable(Object initialValue) {
			super(initialValue);
		}