I believe I've addressed what should be addressed. What say you?


http://gwt-code-reviews.appspot.com/841804/diff/1/4
File
samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/SummaryWidget.java
(right):

http://gwt-code-reviews.appspot.com/841804/diff/1/4#newcode185
samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/SummaryWidget.java:185:
void onSelectionChange(@SuppressWarnings("unused") SelectionChangeEvent
event) {
Untrue, this isn't actually a handler method. Removing the unused param,
tweaking the method name.

http://gwt-code-reviews.appspot.com/841804/diff/1/7
File samples/expenses/pom.xml (right):

http://gwt-code-reviews.appspot.com/841804/diff/1/7#newcode10
samples/expenses/pom.xml:10: <roo.version>1.1.0.M4</roo.version>
Accidental, thanks.

http://gwt-code-reviews.appspot.com/841804/diff/1/18
File user/src/com/google/gwt/event/logical/shared/ValueChangeEvent.java
(right):

http://gwt-code-reviews.appspot.com/841804/diff/1/18#newcode106
user/src/com/google/gwt/event/logical/shared/ValueChangeEvent.java:106:
@SuppressWarnings({"unchecked", "rawtypes"})
Sounds like you should upgrade to 3.6?

On 2010/09/09 17:45:48, bobv wrote:
My eclipse does not know about this warning, and therefore will
display a
warning.

http://gwt-code-reviews.appspot.com/841804/diff/1/19
File user/src/com/google/gwt/event/shared/AbstractEventBus.java (right):

http://gwt-code-reviews.appspot.com/841804/diff/1/19#newcode1
user/src/com/google/gwt/event/shared/AbstractEventBus.java:1: package
com.google.gwt.event.shared;
On 2010/09/09 17:45:48, bobv wrote:
Copyright?

Done.

http://gwt-code-reviews.appspot.com/841804/diff/1/19#newcode8
user/src/com/google/gwt/event/shared/AbstractEventBus.java:8: public
abstract class AbstractEventBus implements EventBus {
Not crazy about even more boilerplate.

Should  I even bother with the interface?

On 2010/09/09 17:45:48, bobv wrote:
Declare unimplemented methods as abstsract so subclasses can use
@Override in
1.5 language.

http://gwt-code-reviews.appspot.com/841804/diff/1/21
File user/src/com/google/gwt/event/shared/EventBus.java (right):

http://gwt-code-reviews.appspot.com/841804/diff/1/21#newcode40
user/src/com/google/gwt/event/shared/EventBus.java:40: * .
On 2010/09/09 17:45:48, bobv wrote:
Dangling period.

Done.

http://gwt-code-reviews.appspot.com/841804/diff/1/21#newcode66
user/src/com/google/gwt/event/shared/EventBus.java:66: * source means
that this is a global handler, which shouldreceive all events
On 2010/09/09 17:45:48, bobv wrote:
should receive

Done.

http://gwt-code-reviews.appspot.com/841804/diff/1/24
File user/src/com/google/gwt/event/shared/SimpleEventBus.java (right):

http://gwt-code-reviews.appspot.com/841804/diff/1/24#newcode36
user/src/com/google/gwt/event/shared/SimpleEventBus.java:36: // Add and
remove operations received during dispatch.
On 2010/09/09 17:56:32, bobv wrote:
Javadoc comment?

Done.

http://gwt-code-reviews.appspot.com/841804/diff/1/24#newcode45
user/src/com/google/gwt/event/shared/SimpleEventBus.java:45:
SimpleEventBus(boolean fireInReverseOrder) {
On 2010/09/09 17:56:32, bobv wrote:
Document use?

Wrote small novel.

http://gwt-code-reviews.appspot.com/841804/diff/1/24#newcode52
user/src/com/google/gwt/event/shared/SimpleEventBus.java:52: assert
handler != null : "Cannot add a null handler";
On 2010/09/09 17:56:32, bobv wrote:
Assertions or IllegalArgumentExceptions for public APIs?

Done.

http://gwt-code-reviews.appspot.com/841804/diff/1/24#newcode66
user/src/com/google/gwt/event/shared/SimpleEventBus.java:66: public <H
extends EventHandler> void removeHandler(
On 2010/09/09 17:56:32, bobv wrote:
Why make this public?

The registration object is basically impossible to use from within the
handler it applies to. The community raised holy hell when we tried to
remove it last time around, and John and I were unable to come up with a
palatable work around.

Short answer: Java still sucks.

http://gwt-code-reviews.appspot.com/841804/diff/1/24#newcode109
user/src/com/google/gwt/event/shared/SimpleEventBus.java:109:
event.setSource(source);
On 2010/09/09 17:56:32, bobv wrote:
firingDepth could become negative if this throws an NPE.

Done.

http://gwt-code-reviews.appspot.com/841804/diff/1/24#newcode120
user/src/com/google/gwt/event/shared/SimpleEventBus.java:120: for (int i
= count - 1; i >= 0; i--) {
On 2010/09/09 17:56:32, bobv wrote:
Replace the two for loops with a ListIterator?

ListIterator it = isReverseOrder ? list.listIterator(it.size()) :
list.listIterator();
while (isReverseOrder ? it.hasPrevious() : it.hasNext()) {
   H handler = isReverseOrder ? it.previous() : it.next();
}

Thanks, couldn't remember where that lives.

http://gwt-code-reviews.appspot.com/841804/diff/1/24#newcode160
user/src/com/google/gwt/event/shared/SimpleEventBus.java:160: + type;
On 2010/09/09 17:56:32, bobv wrote:
This makes it an error to attempt to remove a handler more than once,
which can
be done with the public removeHandler() method.

Fair enough. Can't think of a good reason to be strict about that.

http://gwt-code-reviews.appspot.com/841804/diff/1/25
File user/src/com/google/gwt/requestfactory/client/impl/ProxyImpl.java
(right):

http://gwt-code-reviews.appspot.com/841804/diff/1/25#newcode123
user/src/com/google/gwt/requestfactory/client/impl/ProxyImpl.java:123:
On 2010/09/09 17:45:48, bobv wrote:
Extra whitespace.

Done.

http://gwt-code-reviews.appspot.com/841804/diff/1/26
File user/src/com/google/gwt/requestfactory/client/impl/ProxySchema.java
(right):

http://gwt-code-reviews.appspot.com/841804/diff/1/26#newcode67
user/src/com/google/gwt/requestfactory/client/impl/ProxySchema.java:67:
// Relying on generated code to call only with correct type
On 2010/09/09 17:45:48, bobv wrote:
Can you add an assertion to that effect?

Done.

http://gwt-code-reviews.appspot.com/841804/diff/1/28
File
user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java
(right):

http://gwt-code-reviews.appspot.com/841804/diff/1/28#newcode308
user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:308:
method.getName(), interfaceType.getName()));
On 2010/09/09 17:45:48, bobv wrote:
Who isn't running their formatter?

The formatter thinks that's beautiful. Chopped up the string literal for
better flow.

http://gwt-code-reviews.appspot.com/841804/diff/1/29
File
user/src/com/google/gwt/requestfactory/shared/EntityProxyChange.java
(right):

http://gwt-code-reviews.appspot.com/841804/diff/1/29#newcode55
user/src/com/google/gwt/requestfactory/shared/EntityProxyChange.java:55:
TYPE = new Type<EntityProxyChange.Handler<?>>();
On 2010/09/09 17:45:48, bobv wrote:
The rest of the events eagerly initialize the TYPE field so that the
field
reference will inline at the locations where the handlers are added.

You sure? I hope so.  I had old info from John L that this lazy
instantiation was necessary to defeat mass clinit()s. Is there perhaps a
problem with public statics or something? Presuming you're right, b/c I
hate the getter.

Most of our events still use this lazy pattern, btw.

http://gwt-code-reviews.appspot.com/841804/diff/1/29#newcode69
user/src/com/google/gwt/requestfactory/shared/EntityProxyChange.java:69:
@SuppressWarnings({"unchecked", "rawtypes"})
nyah nyah

On 2010/09/09 17:45:48, bobv wrote:
rawtypes?

http://gwt-code-reviews.appspot.com/841804/diff/1/29#newcode71
user/src/com/google/gwt/requestfactory/shared/EntityProxyChange.java:71:
public com.google.gwt.event.shared.GwtEvent.Type<Handler<P>>
getAssociatedType() {
On 2010/09/09 17:45:48, bobv wrote:
Use shorter type name here?

Done.

http://gwt-code-reviews.appspot.com/841804/diff/1/29#newcode73
user/src/com/google/gwt/requestfactory/shared/EntityProxyChange.java:73:
// field itself does not, so we have to do an unsafe cast here.
On 2010/09/09 17:45:48, bobv wrote:
block comment

Done.

http://gwt-code-reviews.appspot.com/841804/diff/1/36
File
user/test/com/google/gwt/event/logical/shared/LogicalEventsTest.java
(right):

http://gwt-code-reviews.appspot.com/841804/diff/1/36#newcode78
user/test/com/google/gwt/event/logical/shared/LogicalEventsTest.java:78:
@SuppressWarnings("rawtypes") GwtEvent instance) {
On 2010/09/09 17:45:48, bobv wrote:
Where is this coming from?

Eclipse 3.6 warns, and I obey.

http://gwt-code-reviews.appspot.com/841804/diff/1/37
File user/test/com/google/gwt/event/shared/CountingEventBus.java
(right):

http://gwt-code-reviews.appspot.com/841804/diff/1/37#newcode29
user/test/com/google/gwt/event/shared/CountingEventBus.java:29: * for
tests.
On 2010/09/09 17:45:48, bobv wrote:
Put it in a testing package?

Done. Should you do the same w/editor mocks?

http://gwt-code-reviews.appspot.com/841804/diff/1/37#newcode52
user/test/com/google/gwt/event/shared/CountingEventBus.java:52:
counts.put(type, count - 1);
On 2010/09/09 17:45:48, bobv wrote:
This could store values less than one in the map if a handler were
repeatedly
unregistered.

Good, would want to know that in test.

http://gwt-code-reviews.appspot.com/841804/diff/1/38
File user/test/com/google/gwt/event/shared/HandlerManagerTest.java
(right):

http://gwt-code-reviews.appspot.com/841804/diff/1/38#newcode43
user/test/com/google/gwt/event/shared/HandlerManagerTest.java:43:
On 2010/09/09 17:45:48, bobv wrote:
Unnecessary whitespace.

How do I stop the auto formatter from doing that!? Drives me nuts.

http://gwt-code-reviews.appspot.com/841804/diff/1/39
File user/test/com/google/gwt/event/shared/SimpleEventBusTest.java
(right):

http://gwt-code-reviews.appspot.com/841804/diff/1/39#newcode29
user/test/com/google/gwt/event/shared/SimpleEventBusTest.java:29: public
class SimpleEventBusTest extends HandlerTestBase {
On 2010/09/09 17:45:48, bobv wrote:
If a handler is added multiple times, will it receive the same event
more than
once?

Yes, as has always been the case.

http://gwt-code-reviews.appspot.com/841804/show

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

Reply via email to