Revision: 10342
Author: rj...@google.com
Date: Wed Jun 15 14:22:27 2011
Log: Reduce the use of old event bus classes. The only public api that
still mentions the gwt EventBus explicitly at this point is the
Activity interface. Not much to be done about that, and maybe
DrivesWidgets will grow to make the point moot.
Review at http://gwt-code-reviews.appspot.com/1446819
Review by: robertvaw...@google.com
http://code.google.com/p/google-web-toolkit/source/detail?r=10342
Modified:
/trunk/user/src/com/google/gwt/activity/shared/ActivityManager.java
/trunk/user/src/com/google/gwt/event/shared/LegacyHandlerWrapper.java
/trunk/user/src/com/google/gwt/event/shared/ResettableEventBus.java
/trunk/user/src/com/google/gwt/place/shared/PlaceController.java
/trunk/user/src/com/google/gwt/place/shared/PlaceHistoryHandler.java
/trunk/user/src/com/google/web/bindery/requestfactory/vm/RequestFactorySource.java
=======================================
--- /trunk/user/src/com/google/gwt/activity/shared/ActivityManager.java Fri
Jun 3 09:52:12 2011
+++ /trunk/user/src/com/google/gwt/activity/shared/ActivityManager.java Wed
Jun 15 14:22:27 2011
@@ -15,14 +15,14 @@
*/
package com.google.gwt.activity.shared;
-import com.google.gwt.event.shared.EventBus;
-import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.event.shared.ResettableEventBus;
import com.google.gwt.event.shared.UmbrellaException;
import com.google.gwt.place.shared.PlaceChangeEvent;
import com.google.gwt.place.shared.PlaceChangeRequestEvent;
import com.google.gwt.user.client.ui.AcceptsOneWidget;
import com.google.gwt.user.client.ui.IsWidget;
+import com.google.web.bindery.event.shared.EventBus;
+import com.google.web.bindery.event.shared.HandlerRegistration;
import java.util.LinkedHashSet;
import java.util.Set;
@@ -32,8 +32,7 @@
* {@link PlaceChangeEvent} events. Each activity can start itself
* asynchronously, and provides a widget to be shown when it's ready to
run.
*/
-public class ActivityManager implements PlaceChangeEvent.Handler,
- PlaceChangeRequestEvent.Handler {
+public class ActivityManager implements PlaceChangeEvent.Handler,
PlaceChangeRequestEvent.Handler {
/**
* Wraps our real display to prevent an Activity from taking it over if
it is
@@ -55,13 +54,18 @@
}
private static final Activity NULL_ACTIVITY = new AbstractActivity() {
- public void start(AcceptsOneWidget panel, EventBus eventBus) {
+ public void start(AcceptsOneWidget panel,
com.google.gwt.event.shared.EventBus eventBus) {
}
};
private final ActivityMapper mapper;
private final EventBus eventBus;
+
+ /*
+ * Note that we use the legacy class from com.google.gwt.event.shared,
because
+ * we can't change the Activity interface.
+ */
private final ResettableEventBus stopperedEventBus;
private Activity currentActivity = NULL_ACTIVITY;
@@ -136,7 +140,7 @@
startingNext = true;
caughtOnStart = tryStart();
}
-
+
if (caughtOnStart != null || caughtOnCancel != null || caughtOnStop !=
null) {
Set<Throwable> causes = new LinkedHashSet<Throwable>();
if (caughtOnStop != null) {
@@ -202,12 +206,12 @@
private Throwable tryStart() {
Throwable caughtOnStart = null;
try {
- /* Wrap the actual display with a per-call instance
- * that protects the display from canceled or stopped activities,
and which
- * maintains our startingNext state.
+ /*
+ * Wrap the actual display with a per-call instance that protects the
+ * display from canceled or stopped activities, and which maintains
our
+ * startingNext state.
*/
- currentActivity.start(new ProtectedDisplay(currentActivity),
- stopperedEventBus);
+ currentActivity.start(new ProtectedDisplay(currentActivity),
stopperedEventBus);
} catch (Throwable t) {
caughtOnStart = t;
}
@@ -236,10 +240,9 @@
private void updateHandlers(boolean activate) {
if (activate) {
- final HandlerRegistration placeReg = eventBus.addHandler(
- PlaceChangeEvent.TYPE, this);
- final HandlerRegistration placeRequestReg = eventBus.addHandler(
- PlaceChangeRequestEvent.TYPE, this);
+ final HandlerRegistration placeReg =
eventBus.addHandler(PlaceChangeEvent.TYPE, this);
+ final HandlerRegistration placeRequestReg =
+ eventBus.addHandler(PlaceChangeRequestEvent.TYPE, this);
this.handlerRegistration = new HandlerRegistration() {
public void removeHandler() {
=======================================
--- /trunk/user/src/com/google/gwt/event/shared/LegacyHandlerWrapper.java
Mon Apr 18 16:25:25 2011
+++ /trunk/user/src/com/google/gwt/event/shared/LegacyHandlerWrapper.java
Wed Jun 15 14:22:27 2011
@@ -1,12 +1,12 @@
/*
* Copyright 2011 Google Inc.
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License"); you may
not
* use this file except in compliance with the License. You may obtain a
copy of
* the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
@@ -15,10 +15,14 @@
*/
package com.google.gwt.event.shared;
-class LegacyHandlerWrapper implements HandlerRegistration {
+/**
+ * Wrapper class to ease the transition to
+ * {@link com.google.web.bindery.event.shared.HandlerRegistration}.
+ */
+public class LegacyHandlerWrapper implements HandlerRegistration {
private final com.google.web.bindery.event.shared.HandlerRegistration
real;
-
-
LegacyHandlerWrapper(com.google.web.bindery.event.shared.HandlerRegistration
real) {
+
+ public
LegacyHandlerWrapper(com.google.web.bindery.event.shared.HandlerRegistration
real) {
this.real = real;
}
=======================================
--- /trunk/user/src/com/google/gwt/event/shared/ResettableEventBus.java Thu
May 12 14:09:51 2011
+++ /trunk/user/src/com/google/gwt/event/shared/ResettableEventBus.java Wed
Jun 15 14:22:27 2011
@@ -25,10 +25,7 @@
*/
public class ResettableEventBus extends EventBus {
private static class TestableResettableEventBus extends
com.google.web.bindery.event.shared.ResettableEventBus {
- /**
- * @param wrappedBus
- */
- public TestableResettableEventBus(EventBus wrappedBus) {
+ private
TestableResettableEventBus(com.google.web.bindery.event.shared.EventBus
wrappedBus) {
super(wrappedBus);
}
@@ -40,7 +37,7 @@
private final TestableResettableEventBus real;
- public ResettableEventBus(EventBus wrappedBus) {
+ public ResettableEventBus(com.google.web.bindery.event.shared.EventBus
wrappedBus) {
real = new TestableResettableEventBus(wrappedBus);
}
=======================================
--- /trunk/user/src/com/google/gwt/place/shared/PlaceController.java Mon
Apr 18 13:47:45 2011
+++ /trunk/user/src/com/google/gwt/place/shared/PlaceController.java Wed
Jun 15 14:22:27 2011
@@ -1,12 +1,12 @@
/*
* Copyright 2010 Google Inc.
- *
+ *
* Licensed under the Apache License, Version 2.0 (the "License"); you may
not
* use this file except in compliance with the License. You may obtain a
copy of
* the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
@@ -16,11 +16,11 @@
package com.google.gwt.place.shared;
import com.google.gwt.core.client.GWT;
-import com.google.gwt.event.shared.EventBus;
import com.google.gwt.event.shared.HandlerRegistration;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.Window.ClosingEvent;
import com.google.gwt.user.client.Window.ClosingHandler;
+import com.google.web.bindery.event.shared.EventBus;
import java.util.logging.Logger;
@@ -49,7 +49,7 @@
public interface Delegate {
/**
* Adds a {@link ClosingHandler} to the Delegate.
- *
+ *
* @param handler a {@link ClosingHandler} instance
* @return a {@link HandlerRegistration} instance
*/
@@ -57,7 +57,7 @@
/**
* Called to confirm a window closing event.
- *
+ *
* @param message a warning message
* @return true to allow the window closing
*/
@@ -70,6 +70,26 @@
private final Delegate delegate;
private Place where = Place.NOWHERE;
+
+ /**
+ * Legacy method tied to the old location for {@link EventBus}.
+ *
+ * @deprecated use {@link #PlaceController(EventBus)}
+ */
+ @Deprecated
+ public PlaceController(com.google.gwt.event.shared.EventBus eventBus) {
+ this((EventBus) eventBus);
+ }
+
+ /**
+ * Legacy method tied to the old location for {@link EventBus}.
+ *
+ * @deprecated use {@link #PlaceController(EventBus, Delegate)}
+ */
+ @Deprecated
+ public PlaceController(com.google.gwt.event.shared.EventBus eventBus,
Delegate delegate) {
+ this((EventBus) eventBus, delegate);
+ }
/**
* Create a new PlaceController with a {@link DefaultDelegate}. The
@@ -113,13 +133,13 @@
/**
* Request a change to a new place. It is not a given that we'll
actually get
- * there. First a {@link PlaceChangeRequestEvent} will be posted to the
- * event bus. If any receivers post a warning message to that event, it
will
- * be presented to the user via {@link Delegate#confirm(String)} (which
is
+ * there. First a {@link PlaceChangeRequestEvent} will be posted to the
event
+ * bus. If any receivers post a warning message to that event, it will be
+ * presented to the user via {@link Delegate#confirm(String)} (which is
* typically a call to {@link Window#confirm(String)}). If she cancels,
the
* current location will not change. Otherwise, the location changes and
a
* {@link PlaceChangeEvent} is posted announcing the new place.
- *
+ *
* @param newPlace a {@link Place} instance
*/
public void goTo(Place newPlace) {
@@ -145,8 +165,7 @@
}
private String maybeGoTo(Place newPlace) {
- PlaceChangeRequestEvent willChange = new PlaceChangeRequestEvent(
- newPlace);
+ PlaceChangeRequestEvent willChange = new
PlaceChangeRequestEvent(newPlace);
eventBus.fireEvent(willChange);
String warning = willChange.getWarning();
return warning;
=======================================
--- /trunk/user/src/com/google/gwt/place/shared/PlaceHistoryHandler.java
Mon Apr 18 13:47:45 2011
+++ /trunk/user/src/com/google/gwt/place/shared/PlaceHistoryHandler.java
Wed Jun 15 14:22:27 2011
@@ -18,9 +18,10 @@
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.logical.shared.ValueChangeEvent;
import com.google.gwt.event.logical.shared.ValueChangeHandler;
-import com.google.gwt.event.shared.EventBus;
-import com.google.gwt.event.shared.HandlerRegistration;
+import com.google.gwt.event.shared.LegacyHandlerWrapper;
import com.google.gwt.user.client.History;
+import com.google.web.bindery.event.shared.EventBus;
+import com.google.web.bindery.event.shared.HandlerRegistration;
import java.util.logging.Logger;
@@ -35,7 +36,7 @@
* Default implementation of {@link Historian}, based on {@link History}.
*/
public static class DefaultHistorian implements Historian {
- public HandlerRegistration addValueChangeHandler(
+ public com.google.gwt.event.shared.HandlerRegistration
addValueChangeHandler(
ValueChangeHandler<String> valueChangeHandler) {
return History.addValueChangeHandler(valueChangeHandler);
}
@@ -62,7 +63,7 @@
* @param valueChangeHandler the handler
* @return the registration used to remove this value change handler
*/
- HandlerRegistration addValueChangeHandler(
+ com.google.gwt.event.shared.HandlerRegistration addValueChangeHandler(
ValueChangeHandler<String> valueChangeHandler);
/**
@@ -116,31 +117,43 @@
public void handleCurrentHistory() {
handleHistoryToken(historian.getToken());
}
+
+ /**
+ * Legacy method tied to the old location for {@link EventBus}.
+ *
+ * @deprecated use {@link #register(PlaceController, EventBus, Place)}
+ */
+ @Deprecated
+ public com.google.gwt.event.shared.HandlerRegistration
register(PlaceController placeController,
+ com.google.gwt.event.shared.EventBus eventBus, Place defaultPlace) {
+ return new LegacyHandlerWrapper(register(placeController, (EventBus)
eventBus, defaultPlace));
+ }
/**
* Initialize this place history handler.
*
* @return a registration object to de-register the handler
*/
- public HandlerRegistration register(PlaceController placeController,
- EventBus eventBus, Place defaultPlace) {
+ public HandlerRegistration register(PlaceController placeController,
EventBus eventBus,
+ Place defaultPlace) {
this.placeController = placeController;
this.defaultPlace = defaultPlace;
- final HandlerRegistration placeReg = eventBus.addHandler(
- PlaceChangeEvent.TYPE, new PlaceChangeEvent.Handler() {
+ final HandlerRegistration placeReg =
+ eventBus.addHandler(PlaceChangeEvent.TYPE, new
PlaceChangeEvent.Handler() {
public void onPlaceChange(PlaceChangeEvent event) {
Place newPlace = event.getNewPlace();
historian.newItem(tokenForPlace(newPlace), false);
}
});
- final HandlerRegistration historyReg =
historian.addValueChangeHandler(new ValueChangeHandler<String>() {
- public void onValueChange(ValueChangeEvent<String> event) {
- String token = event.getValue();
- handleHistoryToken(token);
- }
- });
+ final HandlerRegistration historyReg =
+ historian.addValueChangeHandler(new ValueChangeHandler<String>() {
+ public void onValueChange(ValueChangeEvent<String> event) {
+ String token = event.getValue();
+ handleHistoryToken(token);
+ }
+ });
return new HandlerRegistration() {
public void removeHandler() {
=======================================
---
/trunk/user/src/com/google/web/bindery/requestfactory/vm/RequestFactorySource.java
Thu Jun 9 11:31:51 2011
+++
/trunk/user/src/com/google/web/bindery/requestfactory/vm/RequestFactorySource.java
Wed Jun 15 14:22:27 2011
@@ -31,7 +31,7 @@
* initialized with an explicit
* {@link com.google.web.bindery.requestfactory.shared.RequestTransport
* RequestTransport} via the
- * {@link
RequestFactory#initialize(com.google.gwt.event.shared.EventBus,
com.google.web.bindery.requestfactory.shared.RequestTransport)
+ * {@link
RequestFactory#initialize(com.google.web.bindery.event.shared.EventBus,
com.google.web.bindery.requestfactory.shared.RequestTransport)
* initialize(EventBus, RequestTransport} method.
*
* @param <T> the RequestFactory type
--
http://groups.google.com/group/Google-Web-Toolkit-Contributors