Reviewers: bobv, jlabanca,

Description:
Adds dual key (type + source) handler binding to EventBus.

RequestFactory sets the class of a proxy type as the source for
EntityProxyChange events, so that subscribers can still listen for
events only of specific proxy types. It is no
longer necessary for a RequestFactory user to define their own change
event types.

Renames EntityProxyChange event to better follow convention.

Refactors HandlerManager.HandlerRegistry into a new public class,
SimpleEventBus. MultiFire, default source stamping, and event
recycling are left as features of HandlerManager. HandlerManager no
longer implements EventBus interface, in the interest of less
confusing API for EventBus users.

The subscription mechanism for EntityProxyChange event is not type
safe. I should probably add a general typed event mechanism to
EventBus, but in the interest of time will probably instead follow up
with a static register method on EntityProxyChange.


Please review this at http://gwt-code-reviews.appspot.com/841804/show

Affected files:
M samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/DynaTableRf.java M samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/FavoritesManager.java M samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/SummaryWidget.java D samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/AddressProxyChanged.java D samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/PersonProxyChanged.java
  M samples/expenses/pom.xml
M samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpenseDetails.java M samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpenseList.java M samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/Expenses.java M samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpensesMobile.java M samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpensesMobileShell.java M samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileExpenseDetails.java D samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/request/EmployeeProxyChanged.java D samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/request/ExpenseProxyChanged.java D samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/request/ReportProxyChanged.java
  M user/src/com/google/gwt/app/place/StopperedEventBus.java
  M user/src/com/google/gwt/event/logical/shared/ValueChangeEvent.java
  A user/src/com/google/gwt/event/shared/AbstractEventBus.java
  M user/src/com/google/gwt/event/shared/DefaultHandlerRegistration.java
  M user/src/com/google/gwt/event/shared/EventBus.java
  M user/src/com/google/gwt/event/shared/HandlerManager.java
  M user/src/com/google/gwt/event/shared/HasHandlers.java
  A user/src/com/google/gwt/event/shared/SimpleEventBus.java
  M user/src/com/google/gwt/requestfactory/client/impl/ProxyImpl.java
  M user/src/com/google/gwt/requestfactory/client/impl/ProxySchema.java
M user/src/com/google/gwt/requestfactory/client/impl/RequestFactoryJsonImpl.java M user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java
  A user/src/com/google/gwt/requestfactory/shared/EntityProxyChange.java
D user/src/com/google/gwt/requestfactory/shared/EntityProxyChangedEvent.java D user/src/com/google/gwt/requestfactory/shared/UserInformationProxyChanged.java
  M user/test/com/google/gwt/app/place/AbstractPlaceHistoryHandlerTest.java
  M user/test/com/google/gwt/app/place/ActivityManagerTest.java
  M user/test/com/google/gwt/app/place/PlaceControllerTest.java
  M user/test/com/google/gwt/event/EventSuite.java
  M user/test/com/google/gwt/event/logical/shared/LogicalEventsTest.java
  A user/test/com/google/gwt/event/shared/CountingEventBus.java
  M user/test/com/google/gwt/event/shared/HandlerManagerTest.java
  A user/test/com/google/gwt/event/shared/SimpleEventBusTest.java
  M user/test/com/google/gwt/requestfactory/client/EditorTest.java
  M user/test/com/google/gwt/requestfactory/client/RequestFactoryTest.java
M user/test/com/google/gwt/requestfactory/client/impl/EntityProxyIdImplTest.java M user/test/com/google/gwt/requestfactory/client/impl/SimpleBazProxyImpl.java D user/test/com/google/gwt/requestfactory/shared/SimpleBarProxyChanged.java D user/test/com/google/gwt/requestfactory/shared/SimpleFooProxyChanged.java


--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to