Hello,

I want to use Wicket with GAE and exploit all GAE features but some problems
arise.

1. I'm looking for a good solution for asynchronous simulteanous queries in
Wicket. DataStore has a functionality of asynchronous queries so I would
want to be able to fire various queries before rendering anything and then
return the actual model objects when rendering particular component. I think
of an Interface (or, better, abstract class) extending IModel with an
additional method, name it prepareModel() which would run the asynchronous
query, so getObjet would just wait for the query to finish and then return
the result (this way total time spend of waiting for DataStore queries will
be at most equal to slowest query). DataStore entities are organized into
Entity Groups where there are ancestors and descendants. So sometimes to
find an object I must first find the ancestor. So I would want to fire the
prepareModel() for parent components first.

2. DataStore doesn't support joins internally and it's queries are limited
to 1000 results (this means that GQL COUNT will never return value higher
than 1000 even if there's more that 1000 entities that mets the
requirements). Instead DataStore provides cursors to retrieve more than 1000
results and GAE devs recommends using separate sharded counters instead of
GQL COUNT's (of course if the result would never exceed 1000 then we shall
use normal GQL COUNT). Are there any components (repeaters) in Wicket that
supports that approach?

3. I think that Wicket should be able to store pages from PageMap
independently. This way we could store pages in separate entities in
datastore (DataStore doesn't have schemas, one can store entities of any
form as every kind) so fewer bytes would be transmitted to and from
DataStore (Http Sessions are kept in MemCache and DiskStore).

4. How to inject an DataStore object in Models that will be testing
friendly?

Reply via email to