tree 871d02ff67279050f9e126aca8e0600f70dad7e3
parent ca5a60b3751a202b26c82515659fbae390ab9281
author rjrjr@google.com <rjrjr@google.com@8db76d5a-ed1c-0410-87a9-c151d255dfc7> 1282015351 +0000
committer rjrjr@google.com <rjrjr@google.com@8db76d5a-ed1c-0410-87a9-c151d255dfc7> 1282015351 +0000

Introduces History integration, and takes the first steps toward the
activity scheme documented in
https://wave.google.com/wave/waveref/googlewave.com/w+eva-sERfA
Basically starting from the bottom of that document and working
up. There are no new code generators yet, so the ActivityMaps are
still written by hand, as is the core history integration class.

This has too many moving parts and so is too hard to deal with, but it's a start.

Review at http://gwt-code-reviews.appspot.com/717801

Replaces the strange Place-specific CellListPlacePickerView with a
general ValuePicker widget, and a HasValues extension to the HasValue
interface.

PlaceController and ActivityManager no longer have parameter types.

ActivityManager is now more armored against managed activities
throwing exceptions.

An EventBus interface is introduced to GWT, to abstract
HandlerManager's duties. Activities receive an EventBus at start. Any
handlers they register with it will be de-registered for them
automatically when they are stopped.

RequestFactory is now in the string token generation business, for
both proxy types (i.e. Records), and for their class objects. When a
token is inflated, a record is produced with no fields populated
except the id. (Well, it also has a version of -1, but we're supposed
to be dropping the version requirement, remember?)

Place types are now associated with PlaceTokenizer classes, which are
responsible for serializing and deserializing them as strings that are
history safe.

The PlaceHistoryHandler interface is introduced, whose code-generated
implementations sync place changes with the History framework.

Two standard place and tokenizer pairs are introduced, ProxyPlace and
ProxyListPlace. They know how to use the new RequestFactory token
methods. There is no longer a welter of place subclasses, one per
record type. ProxyPlace and ProxyType are part of GWT.

The edit acitivities now work directly with Record instances, not with
id values. This exposed bugs in how DeltaValueStoreJsonImpl generates
SyncResult instances, which have been fixed.

The Scaffold app has numerous changes which will need to be pushed
into Roo's addon-gwt at the same time that this patch is committed. In
particular, a Factory class is introduced. It is intended that this
class will be replaceable by a generated Ginjector, or whatever other
DI framework comes down the road. It's not all the way there yet, but
it will be required by the proposed actiivty scheme, and simplified
this patch.

The ExpensesEntityTypesProcessor is enhanced to make it easier for
user code to resolve the specific type of a proxy without resorting to
their one instanceof cascades.


git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@8549 8db76d5a-ed1c-0410-87a9-c151d255dfc7
