[gwt-contrib] Re: Fix 'ant dist-dev' and 'ant-doc' builds: (issue953801)

2010-10-05 Thread rice


http://gwt-code-reviews.appspot.com/953801/diff/1/5
File
user/src/com/google/gwt/requestfactory/client/impl/messages/JsonResults.java
(right):

http://gwt-code-reviews.appspot.com/953801/diff/1/5#newcode28
user/src/com/google/gwt/requestfactory/client/impl/messages/JsonResults.java:28:
// javac complains when this is all on one line
Updated in CL.

On 2010/10/04 20:17:42, fabbott wrote:

which javac, including revision?  Comment should probably say...


http://gwt-code-reviews.appspot.com/953801/diff/1/7
File
user/src/com/google/gwt/safehtml/shared/SafeHtmlHostedModeUtils.java
(right):

http://gwt-code-reviews.appspot.com/953801/diff/1/7#newcode112
user/src/com/google/gwt/safehtml/shared/SafeHtmlHostedModeUtils.java:112:
// The following annotation causes javadoc to crash:
There's a known bug in Javadoc.  I haven't been able to get  the
proposed workaround to work.

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6442982

On 2010/10/04 20:17:42, fabbott wrote:

Do we have any idea why??  It seems like we should have version

information,

too.


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

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


[gwt-contrib] Re: Fix 'ant dist-dev' and 'ant-doc' builds: (issue953801)

2010-10-05 Thread rice

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

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


[gwt-contrib] Re: Test timeout in JUnitShell ? (GWT 2.0.0)

2010-10-05 Thread Ed
 running the test in your continuous build environment with remote debugging
 enabled and attaching to it with a debugger to see what is going on.

Thanks again. John
I did that already but will do it again now that I have a better
understanding of the GWT Junit code.
(I only have to use some tricks to attach the remote debugger
correctly ...)


On Oct 5, 4:24 pm, John Tamplin j...@google.com wrote:
 On Tue, Oct 5, 2010 at 10:12 AM, Ed post2edb...@gmail.com wrote:
  I found the servlet you meant: JUnitHostImpl
  I see that the url that touches this servlet is correctly forwarded by
  the proxy and received by this servlet when debugging in Eclipse:
  The url that touches it: /
  com.bv.gwt.profile.intern.ProfileGwtTest.JUnit/junithost (also appears
  in the logging below)

  However, when it's running during the nightly build and fails, I's
  hard to find out what went wrong as the this servlet doesn't contain
  debug/trace logging. It would be nice to see the path of execution in
  the logging such that I can see why the servlet isn't touched.

  Any idea's how to solve this?
  Or any idea about what would be going wrong ?

 If it works when you run it directly, yet fails in the continuous build,
 then something is different between the two that matters.  I would suggest
 running the test in your continuous build environment with remote debugging
 enabled and attaching to it with a debugger to see what is going on.

 --
 John A. Tamplin
 Software Engineer (GWT), Google

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


[gwt-contrib] Re: Removed all the Request sub-types. Fixed the generator and the server code where we were relying... (issue926801)

2010-10-05 Thread Ray Ryan
LGTM

Talked offline. Agree that your change is pretty safe. But please be sure to
land the corresponding addon-gwt change in lock step.

On Mon, Sep 27, 2010 at 2:49 PM, Ray Ryan rj...@google.com wrote:

 Let's hold off on this one until we find a real solution to the bad create
 api issue. The sketch in https://jira.springsource.org/browse/ROO-1456will 
 not do it.


 On Mon, Sep 27, 2010 at 12:13 PM, Ray Ryan rj...@google.com wrote:



 On Mon, Sep 27, 2010 at 12:10 PM, amitman...@google.com wrote:


 http://gwt-code-reviews.appspot.com/926801/diff/1/12
 File

 user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java
 (right):

 http://gwt-code-reviews.appspot.com/926801/diff/1/12#newcode241

 user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:241:
 if (publicProxyType.equals(entityProxyType)) {
 Yes, it is to cover the case of RequestEntityProxy. It was previously
 used when the find method did not have a generic signature. There were
 tests for this stuff at that point, but there are currently no tests
 exercising this use case.

 Okay to add one in a subsequent patch?


 No. If it is no longer needed, please delete it. If it is still need it,
 please test it.



 On 2010/09/27 18:33:50, rjrjr wrote:

 Is this case RequestEntityProxy someMethod()?


  If so, is that case actually covered in the tests?


 http://gwt-code-reviews.appspot.com/926801/diff/1/13
 File

 user/src/com/google/gwt/requestfactory/server/ReflectionBasedOperationRegistry.java
 (right):

 http://gwt-code-reviews.appspot.com/926801/diff/1/13#newcode116

 user/src/com/google/gwt/requestfactory/server/ReflectionBasedOperationRegistry.java:116:
 public boolean isReturnTypeSet() {
 It seems to be just a simple, convenience method. It is used in exactly
 one place in the source, and that too, to print a helpful error method.
 Will inline this method at its call sites.


 Only if you can do the same to isRerturnTypeList, please



 On 2010/09/27 18:33:50, rjrjr wrote:

 It's surprising that this method hasn't been missed until now. Are
 isReturnTypeList and isReturnTypeSet actually called from anywhere? If

 not,

 shouldn't we delete them?


  @RayC?


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





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

[gwt-contrib] Re: Add a ControllerBinder in UiBinder so that UiHandlers can be bound on both the (issue923801)

2010-10-05 Thread Ray Ryan
It may be a day or two before I can take this review, Zach. Sorry for the
delay.

On Fri, Sep 24, 2010 at 5:49 PM, zac...@gmail.com wrote:

 Reviewers: rjrjr,

 Description:
 Add a ControllerBinder in UiBinder so that UiHandlers can be bound on
 both the
 controller and the view. This allows views that are totally ignorant of
 their
 controllers.


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

 Affected files:
  M user/src/com/google/gwt/uibinder/UiBinder.gwt.xml
  A user/src/com/google/gwt/uibinder/client/ControllerBinder.java
  A user/src/com/google/gwt/uibinder/rebind/AbstractBinderWriter.java
  A user/src/com/google/gwt/uibinder/rebind/ControllerBinderGenerator.java
  A user/src/com/google/gwt/uibinder/rebind/ControllerBinderWriter.java
  M user/src/com/google/gwt/uibinder/rebind/HandlerEvaluator.java
  M user/src/com/google/gwt/uibinder/rebind/UiBinderGenerator.java
  M user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java
  A user/src/com/google/gwt/uibinder/rebind/model/HandlerClass.java
  M user/src/com/google/gwt/uibinder/rebind/model/OwnerClass.java
  M
 user/test/com/google/gwt/uibinder/elementparsers/ElementParserTester.java
  M user/test/com/google/gwt/uibinder/elementparsers/MockUiBinderWriter.java
  M user/test/com/google/gwt/uibinder/rebind/HandlerEvaluatorTest.java




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

[gwt-contrib] Re: Removed all the Request sub-types. Fixed the generator and the server code where we were relying... (issue926801)

2010-10-05 Thread Ray Ryan
Let's hold off on this one until we find a real solution to the bad create
api issue. The sketch in https://jira.springsource.org/browse/ROO-1456 will
not do it.

On Mon, Sep 27, 2010 at 12:13 PM, Ray Ryan rj...@google.com wrote:



 On Mon, Sep 27, 2010 at 12:10 PM, amitman...@google.com wrote:


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

 http://gwt-code-reviews.appspot.com/926801/diff/1/12#newcode241

 user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:241:
 if (publicProxyType.equals(entityProxyType)) {
 Yes, it is to cover the case of RequestEntityProxy. It was previously
 used when the find method did not have a generic signature. There were
 tests for this stuff at that point, but there are currently no tests
 exercising this use case.

 Okay to add one in a subsequent patch?


 No. If it is no longer needed, please delete it. If it is still need it,
 please test it.



 On 2010/09/27 18:33:50, rjrjr wrote:

 Is this case RequestEntityProxy someMethod()?


  If so, is that case actually covered in the tests?


 http://gwt-code-reviews.appspot.com/926801/diff/1/13
 File

 user/src/com/google/gwt/requestfactory/server/ReflectionBasedOperationRegistry.java
 (right):

 http://gwt-code-reviews.appspot.com/926801/diff/1/13#newcode116

 user/src/com/google/gwt/requestfactory/server/ReflectionBasedOperationRegistry.java:116:
 public boolean isReturnTypeSet() {
 It seems to be just a simple, convenience method. It is used in exactly
 one place in the source, and that too, to print a helpful error method.
 Will inline this method at its call sites.


 Only if you can do the same to isRerturnTypeList, please



 On 2010/09/27 18:33:50, rjrjr wrote:

 It's surprising that this method hasn't been missed until now. Are
 isReturnTypeList and isReturnTypeSet actually called from anywhere? If

 not,

 shouldn't we delete them?


  @RayC?


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




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

[gwt-contrib] Re: Changes required to make the Scaffold app look like the mocks. Added null checks AbstractProxyLi... (issue925801)

2010-10-05 Thread Ray Ryan
Point taken on the view contention front. I think Thomas is right that
setting and clearing the view delegate should happen in start() and stop(),
not in the constructor. Thanks, Thomas.

On Mon, Sep 27, 2010 at 12:46 PM, t.bro...@gmail.com wrote:


 http://gwt-code-reviews.appspot.com/925801/diff/1/2
 File user/src/com/google/gwt/app/place/AbstractProxyListActivity.java
 (right):

 http://gwt-code-reviews.appspot.com/925801/diff/1/2#newcode256
 user/src/com/google/gwt/app/place/AbstractProxyListActivity.java:256: if
 (view == null) {
 On 2010/09/27 18:55:21, rjrjr wrote:

 The activities have never been intended to be re-used.


 Yes, but there's another issue with initializing in the constructor
 (while sharing a singleton view between activity instances); see my
 reply on the issue front page (don't know how you call it).
 I don't have a dev env right now; will try to produce a test case
 tomorrow demonstrating the issue (unless I'm wrong in my reading of the
 code).


  Sounds like the javadoc should say so.


 +1


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


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

[gwt-contrib] Re: Removing isChanged() because requestProxyGenerator doesn't handle is. (issue907802)

2010-10-05 Thread rjrjr

lgtm

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

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


[gwt-contrib] Re: Add verbose validation and diagnostics to RequestFactoryGenerator (issue929801)

2010-10-05 Thread Ray Ryan
The only blocker bug I see on your list is the one about the pom.xml tweak
for Rajeev.

https://jira.springsource.org/secure/IssueNavigator.jspa?mode=hiderequestId=12040

The JRE tests are actually pretty easy to write, especially if you
copy com.google.gwt.editor.rebind.model.EditorModelTest.EmptyMockJavaResource
(with a pointer back to the original, so that we go back and consolidate
these things). We need to stop committing code without coverage.

On Tue, Sep 28, 2010 at 11:07 AM, cromwell...@google.com wrote:


 What is the time frame? Creating JRE tests looks to be a non-trivial
 amount of work, if there's something else critical I need to get done
 today (like fix addon-gwt 1-many), should I shelve this?


 On 2010/09/28 17:30:43, rjrjr wrote:

 You should be able to add JRE tests for these diagnostics, especially

 if you

 factor them into a separate helper class. See EditorModelTest for an

 example.

  On 2010/09/28 17:20:16, rjrjr wrote:
  Please fix DTRF and re-enable the commented out block before

 submitting.

 
  http://gwt-code-reviews.appspot.com/929801/diff/1/2
  File


 user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java

  (right):
 
  http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode157
 



 user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:157:

  public void diagnosticIf(boolean cond, String fmt, Object... args)
  should not be public.
 
  http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode192
 



 user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:192:

  allowedRequestParamTypes.add(JPrimitiveType.CHAR);
  Do we have tests of the primitive param types?
 
  http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode266
 



 user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:266:

  private void diagnosticIfBannedType(JType origType, String

 entityName, String

  name)
  name  methodName
 
  http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode275
 



 user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:275:

  private void diagnosticIfBannedType(SetJType allowed, JType

 origType,

  ditto
 
  http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode285
 



 user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:285:

  diagnosticIf(setType.isAssignableFrom(origType.isClassOrInterface())
  Why not use cType here?
 
  http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode288
 



 user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:288:

   !listType.getErasedType().equals(cType.getErasedType()),
  The set and list checks could be factored into another method rather

 than

 being
  copy pasted like this, matchesErasedType(setType, cType)
 
  http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode292
 



 user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:292:

   !entityProxyType.isAssignableFrom(origType.isClassOrInterface())
  use cType
 
  http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode303
 



 user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:303:

  if (setType.isAssignableFrom(typeArg)
  Looks like you meant to say listType in one of these. Again, please

 refactor

 and
  reuse rather than copying and pasting, even for short things like

 this.

 
  http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode339
 



 user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:339:

  } catch (DiagnosticException e) {
  Why not have a single catch around generateOnce? If you're worried

 about

  signature pollution make it a runtime execption
 
  http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode487
 



 user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:487:

  private ListJMethod findMethods(JClassType domainType, String

 name) {

  More descriptive names on the two findMethods, please, since they

 seem to find

  different things.
 
  Or make a single method, and make the method collection its input

 rather than

  baking in the particular call?
 
  http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode645
 



 user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:645:

  try {
  Move to call to generateOnce
 
  http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode775
 



 user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:775:

  continue;
  Why is this needed? Please document. If it's speculative, please

 remove.

 
  http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode1329
 



 user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:1329:

  Proxy %s is missing @ProxyFor annotation, entityName);
  Redundant check for this in maybeDecode, right?




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


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

[gwt-contrib] Re: Use @UiChild and @UiConstructor (issue865801)

2010-10-05 Thread rjrjr

It seems odd to make these changes to deprecated classes. The NamedFrame
case LGTM

On 2010/09/12 11:24:12, Konstantin.Scheglov wrote:




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

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


Re: [gwt-contrib] EntityProxyId

2010-10-05 Thread Ray Ryan
On Tue, Sep 28, 2010 at 10:13 AM, Patrick Julien pjul...@gmail.com wrote:

 It's not very clear to me how EntityProxyId helps us achieve very
 simple scenarios.

 How do you use this thing when you have pre and post operations to do
 in an activity?

 If I have an edit scenario, let's say a user with a list of phones,
 normally, I would follow something like this:

 1. Set the record in the activity
 2. Start the activity
 3. In start, get the id of the user and list the phones
 4. When I receive the phone, I show the display of the edit activity

 I don't see how this is done anymore with EntityProxyId.  How do I get
 my phone numbers?  On the client side, the only member EntityProxyId
 has is getClass(), what I'm a suppose to give to the server to find my
 phone numbers?


There is nothing stopping you from making your real ID part of your public
API. We no longer force you to expose getId on the client, but you're still
allowed to.



 It's the same problem if you want to do something post save.  If I
 want to save the phones of a newly created user, I would do:

 1. Exit is called from AbstractProxyEditActivity
 2. Save the user
 3. Get the id of the newly created user
 4. Attach the phone numbers to the newly created user

 Again, here, with EntityProxyId, I have no idea how you do this anymore.

 I don't mean to complain here but seriously how do you use this thing?
  It's so opaque that I can't do anything with it


If your persist method returns the newly saved entity, that's the simplest
way. If it doesn't, listen for create events and compare the EPId of the
created item with that of the proxy you got from RequestFactory#create().
They will be equal if the one in the createEvent is the result of the
persist of the create()d proxy.


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


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

Re: [gwt-contrib] EntityProxyId

2010-10-05 Thread Ray Ryan
Also note RequestFactory#find(EntityProxyId)

On Tue, Sep 28, 2010 at 10:26 AM, Ray Ryan rj...@google.com wrote:



 On Tue, Sep 28, 2010 at 10:13 AM, Patrick Julien pjul...@gmail.comwrote:

 It's not very clear to me how EntityProxyId helps us achieve very
 simple scenarios.

 How do you use this thing when you have pre and post operations to do
 in an activity?

 If I have an edit scenario, let's say a user with a list of phones,
 normally, I would follow something like this:

 1. Set the record in the activity
 2. Start the activity
 3. In start, get the id of the user and list the phones
 4. When I receive the phone, I show the display of the edit activity

 I don't see how this is done anymore with EntityProxyId.  How do I get
 my phone numbers?  On the client side, the only member EntityProxyId
 has is getClass(), what I'm a suppose to give to the server to find my
 phone numbers?


 There is nothing stopping you from making your real ID part of your public
 API. We no longer force you to expose getId on the client, but you're still
 allowed to.



 It's the same problem if you want to do something post save.  If I
 want to save the phones of a newly created user, I would do:

 1. Exit is called from AbstractProxyEditActivity
 2. Save the user
 3. Get the id of the newly created user
 4. Attach the phone numbers to the newly created user

 Again, here, with EntityProxyId, I have no idea how you do this anymore.

 I don't mean to complain here but seriously how do you use this thing?
  It's so opaque that I can't do anything with it


 If your persist method returns the newly saved entity, that's the simplest
 way. If it doesn't, listen for create events and compare the EPId of the
 created item with that of the proxy you got from RequestFactory#create().
 They will be equal if the one in the createEvent is the result of the
 persist of the create()d proxy.


 --

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




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

[gwt-contrib] Re: Allowing final methods as Tree.addOpenHandler to be bind with (issue881802)

2010-10-05 Thread rjrjr

LGTM

Thanks, one nit.


http://gwt-code-reviews.appspot.com/881802/diff/1/2
File user/src/com/google/gwt/uibinder/rebind/HandlerEvaluator.java
(right):

http://gwt-code-reviews.appspot.com/881802/diff/1/2#newcode279
user/src/com/google/gwt/uibinder/rebind/HandlerEvaluator.java:279: //
Normalize the parameter and check for an alternative handler method.
/* */ for multi-line comments.

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

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


[gwt-contrib] Re: Add verbose validation and diagnostics to RequestFactoryGenerator (issue929801)

2010-10-05 Thread rjrjr

You should be able to add JRE tests for these diagnostics, especially if
you factor them into a separate helper class. See EditorModelTest for an
example.

On 2010/09/28 17:20:16, rjrjr wrote:

Please fix DTRF and re-enable the commented out block before

submitting.


http://gwt-code-reviews.appspot.com/929801/diff/1/2
File

user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java

(right):



http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode157


user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:157:

public void diagnosticIf(boolean cond, String fmt, Object... args)
should not be public.



http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode192


user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:192:

allowedRequestParamTypes.add(JPrimitiveType.CHAR);
Do we have tests of the primitive param types?



http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode266


user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:266:

private void diagnosticIfBannedType(JType origType, String entityName,

String

name)
name  methodName



http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode275


user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:275:

private void diagnosticIfBannedType(SetJType allowed, JType

origType,

ditto



http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode285


user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:285:

diagnosticIf(setType.isAssignableFrom(origType.isClassOrInterface())
Why not use cType here?



http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode288


user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:288:

 !listType.getErasedType().equals(cType.getErasedType()),
The set and list checks could be factored into another method rather

than being

copy pasted like this, matchesErasedType(setType, cType)



http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode292


user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:292:

 !entityProxyType.isAssignableFrom(origType.isClassOrInterface())
use cType



http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode303


user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:303:

if (setType.isAssignableFrom(typeArg)
Looks like you meant to say listType in one of these. Again, please

refactor and

reuse rather than copying and pasting, even for short things like

this.


http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode339


user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:339:

} catch (DiagnosticException e) {
Why not have a single catch around generateOnce? If you're worried

about

signature pollution make it a runtime execption



http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode487


user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:487:

private ListJMethod findMethods(JClassType domainType, String name)

{

More descriptive names on the two findMethods, please, since they seem

to find

different things.



Or make a single method, and make the method collection its input

rather than

baking in the particular call?



http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode645


user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:645:

try {
Move to call to generateOnce



http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode775


user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:775:

continue;
Why is this needed? Please document. If it's speculative, please

remove.


http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode1329


user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:1329:

Proxy %s is missing @ProxyFor annotation, entityName);
Redundant check for this in maybeDecode, right?




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

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


[gwt-contrib] Re: Add verbose validation and diagnostics to RequestFactoryGenerator (issue929801)

2010-10-05 Thread rjrjr

Please fix DTRF and re-enable the commented out block before submitting.


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

http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode157
user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:157:
public void diagnosticIf(boolean cond, String fmt, Object... args)
should not be public.

http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode192
user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:192:
allowedRequestParamTypes.add(JPrimitiveType.CHAR);
Do we have tests of the primitive param types?

http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode266
user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:266:
private void diagnosticIfBannedType(JType origType, String entityName,
String name)
name  methodName

http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode275
user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:275:
private void diagnosticIfBannedType(SetJType allowed, JType origType,
ditto

http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode285
user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:285:
diagnosticIf(setType.isAssignableFrom(origType.isClassOrInterface())
Why not use cType here?

http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode288
user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:288:
 !listType.getErasedType().equals(cType.getErasedType()),
The set and list checks could be factored into another method rather
than being
copy pasted like this, matchesErasedType(setType, cType)

http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode292
user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:292:
 !entityProxyType.isAssignableFrom(origType.isClassOrInterface())
use cType

http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode303
user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:303:
if (setType.isAssignableFrom(typeArg)
Looks like you meant to say listType in one of these. Again, please
refactor and
reuse rather than copying and pasting, even for short things like this.

http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode339
user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:339:
} catch (DiagnosticException e) {
Why not have a single catch around generateOnce? If you're worried about
signature pollution make it a runtime execption

http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode487
user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:487:
private ListJMethod findMethods(JClassType domainType, String name) {
More descriptive names on the two findMethods, please, since they seem
to find
different things.

Or make a single method, and make the method collection its input rather
than
baking in the particular call?

http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode645
user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:645:
try {
Move to call to generateOnce

http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode775
user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:775:
continue;
Why is this needed? Please document. If it's speculative, please remove.

http://gwt-code-reviews.appspot.com/929801/diff/1/2#newcode1329
user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:1329:
Proxy %s is missing @ProxyFor annotation, entityName);
Redundant check for this in maybeDecode, right?

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

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


[gwt-contrib] Re: Add tests to verify that proxies created on the client side can be sent across the wire, both i... (issue936801)

2010-10-05 Thread rjrjr

LGTM

On 2010/09/30 01:53:37, amitmanjhi wrote:




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

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


[gwt-contrib] Re: Enable ability to display leaves of CellTreeView as a Grid (issue943801)

2010-10-05 Thread quintok

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

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


[gwt-contrib] Re: Adding more unit tests to RequestFactoryTest. Refactoring SimpleFoo to use a HashMap to store re... (issue931802)

2010-10-05 Thread Ray Ryan
Please be careful with that kind of quick hack. What will happen to the
person who writes the next test?

On Wed, Sep 29, 2010 at 3:44 PM, jlaba...@google.com wrote:


 http://gwt-code-reviews.appspot.com/931802/diff/1/6
 File user/test/com/google/gwt/requestfactory/server/SimpleFoo.java
 (right):

 http://gwt-code-reviews.appspot.com/931802/diff/1/6#newcode438
 user/test/com/google/gwt/requestfactory/server/SimpleFoo.java:438: if
 (fooField != null) {
 I can just check that fooField is not already persisted.  If it is, I'll
 skip it.  That may not technically be perfect cascading, but it should
 suffice for the tests.


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


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

[gwt-contrib] Re: Added a RowStyles interface that can be used to customize the classes (issue930801)

2010-10-05 Thread dburrows

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

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


[gwt-contrib] Re: Changes to the expenses sample to match the GWT changes in http://code.google.com/p/google-web-t... (issue932801)

2010-10-05 Thread rjrjr

LGTM

On 2010/09/29 15:53:31, amitmanjhi wrote:




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

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


[gwt-contrib] Enable ability to display leaves of CellTreeView as a Grid (issue943801)

2010-10-05 Thread quintok

Reviewers: ,

Description:
Gives the ability to specify css values within the CellTreeView if the
node is a leaf or a branch.

Also changed the padding-left/right of children within the tree.

an example of the css to allow the tree to display the children in a
grid is:

.cellTreeItemLeaf {
  float: left;
}

.cellTreeItemBranch {
  clear: both;
}

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

Affected files:
  user/src/com/google/gwt/user/cellview/client/CellTree.css
  user/src/com/google/gwt/user/cellview/client/CellTree.java
  user/src/com/google/gwt/user/cellview/client/CellTreeBasic.css
  user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java


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


[gwt-contrib] Re: Fix asJsonString() to properly encode nulls (issue932802)

2010-10-05 Thread Ray Ryan
Just to reiterate: please make sure that this fix lands with the test that
it fixes.

On Thu, Sep 30, 2010 at 10:45 AM, cromwell...@google.com wrote:

 Reviewers: rjrjr, robertvawter,

 Description:
 Fix asJsonString() to properly encode nulls


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

 Affected files:
  M user/src/com/google/gwt/requestfactory/shared/impl/RequestData.java


 Index: user/src/com/google/gwt/requestfactory/shared/impl/RequestData.java
 ===
 --- user/src/com/google/gwt/requestfactory/shared/impl/RequestData.java
 (revision 8902)
 +++ user/src/com/google/gwt/requestfactory/shared/impl/RequestData.java
 (working copy)
 @@ -127,7 +127,7 @@

   private String asJsonString(Object value) {
 if (value == null) {
 -  return null;
 +  return null;
 }

 if (value instanceof Iterable?) {




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

[gwt-contrib] Re: Adding more unit tests to RequestFactoryTest. Refactoring SimpleFoo to use a HashMap to store re... (issue931802)

2010-10-05 Thread rjrjr

LGTM

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

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


Re: [gwt-contrib] moving to EntityProxyId

2010-10-05 Thread Ray Ryan
On Wed, Sep 29, 2010 at 2:18 PM, Patrick Julien pjul...@gmail.com wrote:

 I am trying to migrate to EntityProxyId and all I can get is

 java.lang.AssertionError: encodedId required


When do you get this? What did you call? Presuming you got it by calling
stableId on a proxy, where did that proxy come from?


 I can my response from from AbstractRequest.handleResponseText, I do
 get the response I expect out of the server, but obviously without any
 kind of encoded id in the payload.

 I added

 EntityProxyIdType stableId();

 to Type


FYI, that's strictly a convenience to yourself, to avoid casting. It will
work whether or not you add that line.


 Anything else I need to do to enable this functionality?


There's nothing to enable, it's all built in. Every instance of EntityProxy
responds to stableId().


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


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

[gwt-contrib] Re: Adding more unit tests to RequestFactoryTest. Refactoring SimpleFoo to use a HashMap to store re... (issue931802)

2010-10-05 Thread Ray Ryan
Ray C, can you take this review?

On Wed, Sep 29, 2010 at 2:20 PM, jlaba...@google.com wrote:

 Reviewers: rjrjr,

 Description:
 Adding more unit tests to RequestFactoryTest. Refactoring SimpleFoo to
 use a HashMap to store records instead of a singleton.


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

 Affected files:
  M user/src/com/google/gwt/requestfactory/client/impl/ProxyImpl.java
  M user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java
  M user/test/com/google/gwt/requestfactory/client/RequestFactoryTest.java
  M user/test/com/google/gwt/requestfactory/server/SimpleBar.java
  M user/test/com/google/gwt/requestfactory/server/SimpleFoo.java
  M user/test/com/google/gwt/requestfactory/shared/SimpleFooRequest.java




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

[gwt-contrib] Fix nonstandard two method handler interface that probably would have (issue941801)

2010-10-05 Thread rjrjr

Reviewers: rice,

Description:
Fix nonstandard two method handler interface that probably would have
broken UiBinder.


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

Affected files:
  M user/src/com/google/gwt/event/logical/shared/AttachEvent.java
  M user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java


Index: user/src/com/google/gwt/event/logical/shared/AttachEvent.java
===
--- user/src/com/google/gwt/event/logical/shared/AttachEvent.java	(revision  
8909)
+++ user/src/com/google/gwt/event/logical/shared/AttachEvent.java	(working  
copy)

@@ -29,8 +29,7 @@
* Implemented by objects that handle {...@link AttachEvent}.
*/
   public interface Handler extends EventHandler {
-void onAttach(AttachEvent event);
-void onDetach(AttachEvent event);
+void onAttachOrDetach(AttachEvent event);
   }

   /**
@@ -98,10 +97,6 @@

   @Override
   protected void dispatch(AttachEvent.Handler handler) {
-if (attached) {
-  handler.onAttach(this);
-} else {
-  handler.onDetach(this);
-}
+handler.onAttachOrDetach(this);
   }
 }
Index: user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java
===
--- user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java	(revision  
8909)
+++ user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java	(working  
copy)

@@ -111,11 +111,12 @@
   int delegateAttachOrder;
   int delegateDetachOrder;

-  public void onAttach(AttachEvent event) {
-delegateAttachOrder = ++orderIndex;
-  }
-  public void onDetach(AttachEvent event) {
-delegateDetachOrder = ++orderIndex;
+  public void onAttachOrDetach(AttachEvent event) {
+if (event.isAttached()) {
+  delegateAttachOrder = ++orderIndex;
+} else {
+  delegateDetachOrder = ++orderIndex;
+}
   }
 }



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


[gwt-contrib] Re: RR : Overhaul the client-side RequestFactory code (issue924801)

2010-10-05 Thread rjrjr

As discussed, please fix samples/expenses too. Below I've answered the
XXX blockers you pointed out so you should be able jump on it.


http://gwt-code-reviews.appspot.com/924801/diff/2001/3007
File user/src/com/google/gwt/app/place/AbstractProxyListActivity.java
(right):

http://gwt-code-reviews.appspot.com/924801/diff/2001/3007#newcode114
user/src/com/google/gwt/app/place/AbstractProxyListActivity.java:114: //
   Operation.CREATE));
I'm pretty sure that ID is never used, this is vestigial. Make it null
and I believe nothing bad will happen.

At the moment this is only exercised by addon-gwt. I don't want to hold
up your patch getting that fixed, so you'll have to take the fix on
faith and I'll have to follow up your submit with the banishment patch
I've been working on.

http://gwt-code-reviews.appspot.com/924801/diff/2001/3008
File user/src/com/google/gwt/app/place/PropertyColumn.java (right):

http://gwt-code-reviews.appspot.com/924801/diff/2001/3008#newcode74
user/src/com/google/gwt/app/place/PropertyColumn.java:74: public String
getValue(R object) {
Indeed, a smelly hack and a loophole the size of a barn door that would
lead to a generation of unoptimizable GWT apps.

As we discussed offline, delete this method and have its uses in
samples/expenses implement it as needed.

But *don't* eliminate the property name stuff. Despite the DRY
violation, that's needed downstream by code that fills out the with()
clauses when building requests

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

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


[gwt-contrib] Enable ability to display leaves in a CellTreeWidget as a grid rather than as a list.

2010-10-05 Thread Nick Cronin
Hi,

Was wondering if I could get a code-review done on this patch please.

It adds two classes, one that is only placed on leaves and one that is
placed on branches.
It also changes the way indentation works so that the whole set of
children of a branch are indented as a group rather than individually
to enable a grid layout.

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

Thanks,

Nick

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


[gwt-contrib] Re: Fix ClassCastException in AbtstractRequestContext.isChanged(); (issue931803)

2010-10-05 Thread Ray Ryan
LGTM

Thanks!

On Sun, Oct 3, 2010 at 4:46 PM, b...@google.com wrote:

 Reviewers: rjrjr,

 Description:
 Fix ClassCastException in AbtstractRequestContext.isChanged();
 Patch by: bobv
 Review by: rjrjr


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

 Affected files:
  M
 user/src/com/google/gwt/requestfactory/client/impl/AbstractRequestContext.java
  M user/test/com/google/gwt/requestfactory/client/RequestFactoryTest.java


 Index:
 user/src/com/google/gwt/requestfactory/client/impl/AbstractRequestContext.java
 ===
 ---
 user/src/com/google/gwt/requestfactory/client/impl/AbstractRequestContext.java
  (revision 8926)
 +++
 user/src/com/google/gwt/requestfactory/client/impl/AbstractRequestContext.java
  (working copy)
 @@ -142,13 +142,13 @@
 /*
  * NB: Don't use the presence of ephemeral objects for this test.
  *
 - * Diffing the objects until one is found to be different. It's not
 just a
 + * Diff the objects until one is found to be different. It's not just
 a
  * simple flag-check because of the possibility of unmaking a change,
 per
  * the JavaDoc.
  */
 for (EntityProxy edited : seenProxies.values()) {
   AutoBeanEntityProxy bean = AutoBeanUtils.getAutoBean(edited);
 -  AutoBean? previous = AutoBeanUtils.getAutoBean((EntityProxy)
 bean.getTag(PARENT_OBJECT));
 +  AutoBean? previous = bean.getTag(PARENT_OBJECT);
   if (previous == null) {
 // Compare to empty object
 previous = getRequestFactory().getAutoBeanFactory().create(
 Index:
 user/test/com/google/gwt/requestfactory/client/RequestFactoryTest.java
 ===
 --- user/test/com/google/gwt/requestfactory/client/RequestFactoryTest.java
  (revision 8926)
 +++ user/test/com/google/gwt/requestfactory/client/RequestFactoryTest.java
  (working copy)
 @@ -190,7 +190,6 @@

   /**
* Test that we can commit child objects.
 -
*/
   public void testCascadingCommit() {
 delayTestFinish(5000);
 @@ -237,6 +236,40 @@
 // Undo the change
 foo.setCharField(null);
 assertFalse(context.isChanged());
 +  }
 +
 +  public void testChangedEdit() {
 +delayTestFinish(5000);
 +simpleFooRequest().findSimpleFooById(1L).fire(
 +new ReceiverSimpleFooProxy() {
 +
 +  @Override
 +  public void onSuccess(SimpleFooProxy foo) {
 +SimpleFooRequest context = simpleFooRequest();
 +
 +// edit() doesn't cause a change
 +foo = context.edit(foo);
 +assertFalse(context.isChanged());
 +
 +final String newName = something else;;
 +String oldName = foo.getUserName();
 +assertFalse(Don't accidentally set the same name,
 +newName.equals(oldName));
 +
 +// gets don't cause a change
 +assertFalse(context.isChanged());
 +
 +// Change
 +foo.setUserName(newName);
 +assertTrue(context.isChanged());
 +
 +// Undo the change
 +foo.setUserName(oldName);
 +assertFalse(context.isChanged());
 +
 +finishTestAndReset();
 +  }
 +});
   }

   public void testClassToken() {




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

Re: [gwt-contrib] Sub entities not being filled in

2010-10-05 Thread Ray Ryan
At the moment we always fetch all non-entities, and only treat with() as
additive, to add related entities into the mix.

I'm a bit concerned about that, actually. With the RF overhaul we no longer
have a client side cache to confuse things, so I wonder if we should try to
get sparse DTOs in place before people get used to the current sloppiness.
Kind of late in the day, I know.

On Sun, Oct 3, 2010 at 4:17 PM, Patrick Julien pjul...@gmail.com wrote:

 Is there a wildcard value?  I don't want the all the fields when
 listing but when I go in edit details, I do

 On Sun, Oct 3, 2010 at 7:10 PM, Ray Cromwell cromwell...@gmail.com
 wrote:
 
  Any relational (non-value fields) are by default not sent back with a
  request, you must request them with the with() method, e.g.
  with(superVisor). Just because you sent some object over with that
 field,
  doesn't mean that the field will also be returned to you, because a
 method
  could potentially return a very large set of objects, e.g.
  RequestListEmployeeProxy getEmployeesFrom(EmployeeProxy boss);
 
  Here I am passing the manager's proxy, and it might have a
  CollectionEmployeeProxy managedEmployees on it, but if I'm only
 interested
  in the names of the people that 'boss' manages, I don't want to
  automatically return the 'managedEmployees' field of each returned
 object,
  even if it was present on boss, so instead, you write
  getEmployeesFrom(boss).with(managedEmployees).fire(...) if you want
 that
  field.
  Perhaps the editor framework is not setting up these with() calls as it
  should be?
  On Sun, Oct 3, 2010 at 3:11 PM, Patrick Julien pjul...@gmail.com
 wrote:
 
  I'm getting used to this editor framework and I like it a lot,
  unfortunately, I think I've stumble upon a blocker for me.
 
  EntityProxy's that contain collections are not being filled in.   So
  you can send up an object graph in one shot in order to save it.
  Which is great.
 
  Unfortunately, on return, the object graph only contains the root.
  This is because in JsoRequestProcessor.requestedProperty, it does:
 
  if (EntityProxy.class.isAssignableFrom(leafType)) {
   return propertyContext.hasProperty(p.getName());
 }
 
  to check if child entities should be included but that's an empty set
  so it always returns false
 
  If it wasn't, we have TODO here  TODO: use the properties
* that should be coming with the request.
 
  that says this thing should eventually be able to do this but wouldn't
  the safest behavior for now to include all the contents of the Entity
  that are featured in EntityProxyId?  I'm stuck at this point.
 
  --
  http://groups.google.com/group/Google-Web-Toolkit-Contributors
 
  --
  http://groups.google.com/group/Google-Web-Toolkit-Contributors

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


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

[gwt-contrib] Re: Fix NPE in AbstractRequestContext with newly-created items. (issue938802)

2010-10-05 Thread rjrjr

LGTM

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

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


[gwt-contrib] Re: Add test to verify fix of ROO-1215 (issue947801)

2010-10-05 Thread rjrjr

LGTM

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

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


[gwt-contrib] Re: Changes in com.google.gwt.app land to catch up to the RequestFactory (issue946802)

2010-10-05 Thread rjrjr

Submitting.


http://gwt-code-reviews.appspot.com/946802/diff/1/3
File user/src/com/google/gwt/app/place/AbstractProxyEditActivity.java
(right):

http://gwt-code-reviews.appspot.com/946802/diff/1/3#newcode83
user/src/com/google/gwt/app/place/AbstractProxyEditActivity.java:83:
setWaiting(true);
There was such an assert, but it's never fired. And it doesn't seem like
it would be any more informative than the NPE that would happen on the
next line.

On 2010/10/03 23:31:12, cromwellian wrote:

Is it possible for saveClicked() to be invoked when editorDriver is

null? In

theory it shouldn't be possible of onStop() is called after the widget

that

generates saveClicked() is disabled, but I wondering if it is possible

to 'queue

up' an event by double clicking the save button rapidly. I guess don't

worry

about it for now (could throw in an assert editorDriver != null), just

looking

to catch eisenbugs≥


http://gwt-code-reviews.appspot.com/946802/diff/1/12
File user/src/com/google/gwt/app/place/ProxyPlace.java (right):

http://gwt-code-reviews.appspot.com/946802/diff/1/12#newcode46
user/src/com/google/gwt/app/place/ProxyPlace.java:46: String bits[] =
token.split(!);
On 2010/10/03 23:31:12, cromwellian wrote:

Maybe make ! a constant?


Done.

http://gwt-code-reviews.appspot.com/946802/diff/1/20
File
user/test/com/google/gwt/requestfactory/client/RequestFactoryTest.java
(right):

http://gwt-code-reviews.appspot.com/946802/diff/1/20#newcode250
user/test/com/google/gwt/requestfactory/client/RequestFactoryTest.java:250:
public void disabled_testChangedEdit() {
Removing this, since it will be added by
http://gwt-code-reviews.appspot.com/931803

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

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


[gwt-contrib] Fix exit on cancel from create activity. Wasn't going to a (issue950801)

2010-10-05 Thread rjrjr

Reviewers: cromwellian,

Description:
Fix exit on cancel from create activity. Wasn't going to a
new place, so you couldn't try to create again.


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

Affected files:
  M user/src/com/google/gwt/app/place/CreateAndEditProxy.java


Index: user/src/com/google/gwt/app/place/CreateAndEditProxy.java
===
--- user/src/com/google/gwt/app/place/CreateAndEditProxy.java	(revision  
8928)

+++ user/src/com/google/gwt/app/place/CreateAndEditProxy.java   (working copy)
@@ -27,18 +27,20 @@
  */
 public abstract class CreateAndEditProxyP extends EntityProxy extends  
AbstractProxyEditActivityP {


-  private AcceptsOneWidget display;
   private final P proxy;
+  private final PlaceController placeController;
+  private ClassP proxyClass;

   public CreateAndEditProxy(ClassP proxyClass, RequestContext request,
   ProxyEditViewP, ? view, PlaceController placeController) {
 super(view, placeController);
 this.proxy = request.create(proxyClass);
+this.placeController = placeController;
+this.proxyClass = proxyClass;
   }

   @Override
   public void start(AcceptsOneWidget display, EventBus eventBus) {
-this.display = display;
 super.start(display, eventBus);
   }

@@ -51,10 +53,10 @@
   @Override
   protected void exit(boolean saved) {
 if (!saved) {
-  display.setWidget(null);
+  placeController.goTo(new ProxyListPlace(proxyClass));
+} else {
+  super.exit(saved);
 }
-
-super.exit(saved);
   }

   @Override


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


[gwt-contrib] Re: RR : Overhaul the client-side RequestFactory code (issue924801)

2010-10-05 Thread rjrjr

Flushing comments accumulated so far. Still reviewing.


http://gwt-code-reviews.appspot.com/924801/diff/2001/3010
File user/src/com/google/gwt/editor/client/AutoBean.java (right):

http://gwt-code-reviews.appspot.com/924801/diff/2001/3010#newcode21
user/src/com/google/gwt/editor/client/AutoBean.java:21: * PFM.
ahem

http://gwt-code-reviews.appspot.com/924801/diff/2001/3010#newcode87
user/src/com/google/gwt/editor/client/AutoBean.java:87: * A clone
operation only ever produces a shallow copy of its tags, since the
Having trouble squaring this sentence with the deep flag.

http://gwt-code-reviews.appspot.com/924801/diff/2001/3010#newcode98
user/src/com/google/gwt/editor/client/AutoBean.java:98: ListOperation
getOperations();
Document that abuse of this can destroy dead code elimination? You
really want this to be public? If you're not using it for the immediate
change, take it out of the interface?

Should autobean be an impl class, so that we can pretend that people
won't use it directly? Or could we actually make it non public?

http://gwt-code-reviews.appspot.com/924801/diff/2001/3012
File user/src/com/google/gwt/editor/client/AutoBeanUtils.java (right):

http://gwt-code-reviews.appspot.com/924801/diff/2001/3012#newcode39
user/src/com/google/gwt/editor/client/AutoBeanUtils.java:39: public
static MapString, Object diff(AutoBean? a, AutoBean? b) {
Do you actually use the diff anywhere, or just the fact that things are
different? Is this another spot to fret about unoptimizable string based
property games? E.g.
I can use this to get the full property list by comparing a bean to an
empty one.

Really, fundamentally, can unused auto bean properties ever be dead
stripped? Not saying it's a deal breaker if they can't, but we should be
conscious of the choice and document it.

http://gwt-code-reviews.appspot.com/924801/diff/2001/3016
File user/src/com/google/gwt/editor/rebind/AutoBeanFactoryGenerator.java
(right):

http://gwt-code-reviews.appspot.com/924801/diff/2001/3016#newcode92
user/src/com/google/gwt/editor/rebind/AutoBeanFactoryGenerator.java:92:
{
You're not using these braces for anything, it's all in the for loop

http://gwt-code-reviews.appspot.com/924801/diff/2001/3023
File user/src/com/google/gwt/editor/rebind/model/ModelUtils.java
(right):

http://gwt-code-reviews.appspot.com/924801/diff/2001/3023#newcode32
user/src/com/google/gwt/editor/rebind/model/ModelUtils.java:32: public
class ModelUtils {
public?

http://gwt-code-reviews.appspot.com/924801/diff/2001/3043
File
user/src/com/google/gwt/requestfactory/client/impl/AbstractRequest.java
(right):

http://gwt-code-reviews.appspot.com/924801/diff/2001/3043#newcode93
user/src/com/google/gwt/requestfactory/client/impl/AbstractRequest.java:93:
System.out.println(responseText);
oops

http://gwt-code-reviews.appspot.com/924801/diff/2001/3043#newcode161
user/src/com/google/gwt/requestfactory/client/impl/AbstractRequest.java:161:
// Really want Class.isInstance()
Hear hear. And isAssignableFrom() while we're at it

http://gwt-code-reviews.appspot.com/924801/diff/2001/3043#newcode200
user/src/com/google/gwt/requestfactory/client/impl/AbstractRequest.java:200:
if (receiver != null) {
Should we have a default receiver that throws an RTE on unhandled
violations or failures? It's awfully easy to forget to provide a
callback and then miss what's going on when things fail silently.

That's why we previously required the receiver arg in fire, to make that
mistake much more difficult to make. I don't think I want to bring that
back, but it seems like we should do something.

http://gwt-code-reviews.appspot.com/924801/diff/2001/3044
File
user/src/com/google/gwt/requestfactory/client/impl/AbstractRequestContext.java
(right):

http://gwt-code-reviews.appspot.com/924801/diff/2001/3044#newcode51
user/src/com/google/gwt/requestfactory/client/impl/AbstractRequestContext.java:51:
private ListAbstractRequest? invocations = new
ArrayListAbstractRequest?();
Tastey

http://gwt-code-reviews.appspot.com/924801/diff/2001/3044#newcode85
user/src/com/google/gwt/requestfactory/client/impl/AbstractRequestContext.java:85:
checkLocked();
Really do this before checking the seen set? Seems like you'll get
nondeterministic fails.

http://gwt-code-reviews.appspot.com/924801/diff/2001/3044#newcode94
user/src/com/google/gwt/requestfactory/client/impl/AbstractRequestContext.java:94:
if (!bean.isFrozen()  context != null) {
If the bean is frozen and it's a foreigner you're screwed, no?

http://gwt-code-reviews.appspot.com/924801/diff/2001/3044#newcode145
user/src/com/google/gwt/requestfactory/client/impl/AbstractRequestContext.java:145:
receiver.onSuccess(null);
NPE on null receiver? (Which problem goes away if you take my default
receiver suggestion.)

http://gwt-code-reviews.appspot.com/924801/diff/2001/3044#newcode148
user/src/com/google/gwt/requestfactory/client/impl/AbstractRequestContext.java:148:
locked = true;
Redundant, you locked on fire, but maybe that's fine.


Re: [gwt-contrib] Sub entities not being filled in

2010-10-05 Thread Ray Ryan
Bob is in transit today. We're working on a fix.

On Mon, Oct 4, 2010 at 9:07 AM, Patrick Julien pjul...@gmail.com wrote:

 Bob,

 any suggestions for a work around for the moment?


 On Mon, Oct 4, 2010 at 9:41 AM, Patrick Julien pjul...@gmail.com wrote:
  For the editor part, I can see in the generated code for my editor that
 
  public static void traverseEditor(com.*.client.ui.EditorContainer
  editor, String prefix, java.util.ListString paths) {
   }
 
  is completely empty
 
  but in this case, EditorContainer contains OfficeEditor because it's a
  composite.  OfficeEditor has one AddressEditor and a
  HasDataEditorPhone
 
  so getPath() is currently buggy unless there's a way I can fill in my
  own traverseEditor somehow
 
  On Sun, Oct 3, 2010 at 9:47 PM, Patrick Julien pjul...@gmail.com
 wrote:
  I'm still having difficulties even with this syntax, again the
  collections seem to be the problem
 
  so having offices give me back all my offices.
 
  but putting offices.address, or offices.office.address or
  office.address still gives me null
 
  On Sun, Oct 3, 2010 at 9:07 PM, Ray Cromwell cromwell...@gmail.com
 wrote:
 
  the syntax of with() is with(property.subProperty.subSubProperty,
  property2.subProperty2.subPropertyProperty2). Bob can answer the
 question
  as to how to make deeply composited editors do the right thing.
 
  On Sun, Oct 3, 2010 at 6:02 PM, Patrick Julien pjul...@gmail.com
 wrote:
 
  No, it's not just me, anything one level deep doesn't get picked up.
 
  So my offices also have on address and it's not in the getPath() array
  either.  Even if it was, what's the syntax for sub path elements?
 
  On Sun, Oct 3, 2010 at 8:38 PM, Patrick Julien pjul...@gmail.com
 wrote:
   Getting there.  So now getPaths() gets me the data for my offices
 and
   patients but not the phones inside the offices.
  
   Since offices is using my own composite editor, I'm going to assume
   that's where the problem is
  
   On Sun, Oct 3, 2010 at 8:22 PM, BobV b...@google.com wrote:
   On Sun, Oct 3, 2010 at 7:24 PM, Patrick Julien pjul...@gmail.com
   wrote:
   Yeah, because even with using with().  The problem is the entire
   object graph isn't there
  
   So I have a practice that has offices and each office has phones.
  
   So if I ask for offices.  It fills in the offices but the phones
   inside it are not.  This could get laborious if I need to do this
   manually for each editing activity
  
   Use RequestFactoryEditorDriver.getPaths();
  
  
   interface MyOfficeDriver extends
   RequesFactoryEditorDriverOfficeProxy, OfficeEditor {}
  
   MyOfficeDriver driver = GWT.create(MyOfficeDriver.class);
   driver.initialize(requestFactory, editor);
  
  
 requestFactory.officeService().fetchOffice(1234).with(driver.getPaths()).to(receiver).fire();
  
  
   --
   Bob Vawter
   Google Web Toolkit Team
  
   --
   http://groups.google.com/group/Google-Web-Toolkit-Contributors
  
 
  --
  http://groups.google.com/group/Google-Web-Toolkit-Contributors
 
  --
  http://groups.google.com/group/Google-Web-Toolkit-Contributors
 
 

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


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

[gwt-contrib] Re: RR : Overhaul the client-side RequestFactory code (issue924801)

2010-10-05 Thread rjrjr

I have to admit that I skimmed the code generators.

I'm as reviewed as I can be. LGTM once I've looked through the changes
we all discussed off line to base update events on the version number


http://gwt-code-reviews.appspot.com/924801/diff/13001/7090
File user/src/com/google/gwt/requestfactory/server/FindService.java
(right):

http://gwt-code-reviews.appspot.com/924801/diff/13001/7090#newcode18
user/src/com/google/gwt/requestfactory/server/FindService.java:18:
Good catch.

http://gwt-code-reviews.appspot.com/924801/diff/13001/7096
File user/src/com/google/gwt/requestfactory/shared/Request.java (right):

http://gwt-code-reviews.appspot.com/924801/diff/13001/7096#newcode31
user/src/com/google/gwt/requestfactory/shared/Request.java:31: * Submit
this requests. Failures will be reported through the global uncaught
request, singular

http://gwt-code-reviews.appspot.com/924801/diff/13001/7110
File user/test/com/google/gwt/requestfactory/client/EditorTest.java
(right):

http://gwt-code-reviews.appspot.com/924801/diff/13001/7110#newcode94
user/test/com/google/gwt/requestfactory/client/EditorTest.java:94:
private static final int TEST_TIMEOUT = 50;
oops

http://gwt-code-reviews.appspot.com/924801/diff/13001/7114
File
user/test/com/google/gwt/requestfactory/client/RequestFactoryStringTest.java
(right):

http://gwt-code-reviews.appspot.com/924801/diff/13001/7114#newcode22
user/test/com/google/gwt/requestfactory/client/RequestFactoryStringTest.java:22:
// XXX find a refactoring so this doesn't wind up a copy-and-paste class
When? If not tonight, should hold your nose and leave this working.

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

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


[gwt-contrib] Changes in com.google.gwt.app land to catch up to the RequestFactory (issue946802)

2010-10-05 Thread rjrjr

Reviewers: cromwellian,

Description:
Changes in com.google.gwt.app land to catch up to the RequestFactory
overhaul. In particular, nukes PropertyColumn, and reworks
AbstractProxyEdit now that create semantics have changed. Made APE a
bit less monolithic in the process.

I will still be busting up com.google.gwt.app and banishing these
proxy specific places and activities to sample land, but this
is a necessary first step.

Also note the addition of disabled_testChangedEdit() to
RequestFactoryTest, which exposes an isChanged bug:

https://jira.springsource.org/browse/ROO-1485


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

Affected files:
  D user/src/com/google/gwt/app/client/NullParser.java
  M user/src/com/google/gwt/app/place/AbstractProxyEditActivity.java
  M user/src/com/google/gwt/app/place/AbstractProxyListActivity.java
  M user/src/com/google/gwt/app/place/AbstractProxyListView.java
  A user/src/com/google/gwt/app/place/CreateAndEditProxy.java
  A user/src/com/google/gwt/app/place/FindAndEditProxy.java
  D user/src/com/google/gwt/app/place/PropertyColumn.java
  D user/src/com/google/gwt/app/place/PropertyView.java
  M user/src/com/google/gwt/app/place/ProxyEditView.java
  M user/src/com/google/gwt/app/place/ProxyListView.java
  M user/src/com/google/gwt/app/place/ProxyPlace.java
  M user/src/com/google/gwt/app/place/ProxyPlaceToListPlace.java
  M  
user/src/com/google/gwt/requestfactory/client/RequestFactoryEditorDriver.java
  M  
user/src/com/google/gwt/requestfactory/client/impl/AbstractRequestFactoryEditorDriver.java
  M  
user/src/com/google/gwt/requestfactory/client/impl/RequestFactoryEditorDelegate.java
  M  
user/src/com/google/gwt/requestfactory/client/testing/MockRequestFactoryEditorDriver.java
  M  
user/src/com/google/gwt/requestfactory/shared/UserInformationRequest.java

  M user/test/com/google/gwt/requestfactory/client/EditorTest.java
  M user/test/com/google/gwt/requestfactory/client/RequestFactoryTest.java


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


Re: [gwt-contrib] Sub entities not being filled in

2010-10-05 Thread Ray Ryan
The editor framework can give you the info for the with calls, but it's up
to you to use it. If you want everything, put the contents of
RequestFactoryEditorDriver.getPaths() into your with() call.

On Sun, Oct 3, 2010 at 4:10 PM, Ray Cromwell cromwell...@gmail.com wrote:


 Any relational (non-value fields) are by default not sent back with a
 request, you must request them with the with() method, e.g.
 with(superVisor). Just because you sent some object over with that field,
 doesn't mean that the field will also be returned to you, because a method
 could potentially return a very large set of objects, e.g.

 RequestListEmployeeProxy getEmployeesFrom(EmployeeProxy boss);

 Here I am passing the manager's proxy, and it might have a
 CollectionEmployeeProxy managedEmployees on it, but if I'm only interested
 in the names of the people that 'boss' manages, I don't want to
 automatically return the 'managedEmployees' field of each returned object,
 even if it was present on boss, so instead, you write

 getEmployeesFrom(boss).with(managedEmployees).fire(...) if you want that
 field.

 Perhaps the editor framework is not setting up these with() calls as it
 should be?

 On Sun, Oct 3, 2010 at 3:11 PM, Patrick Julien pjul...@gmail.com wrote:

 I'm getting used to this editor framework and I like it a lot,
 unfortunately, I think I've stumble upon a blocker for me.

 EntityProxy's that contain collections are not being filled in.   So
 you can send up an object graph in one shot in order to save it.
 Which is great.

 Unfortunately, on return, the object graph only contains the root.
 This is because in JsoRequestProcessor.requestedProperty, it does:

 if (EntityProxy.class.isAssignableFrom(leafType)) {
  return propertyContext.hasProperty(p.getName());
}

 to check if child entities should be included but that's an empty set
 so it always returns false

 If it wasn't, we have TODO here  TODO: use the properties
   * that should be coming with the request.

 that says this thing should eventually be able to do this but wouldn't
 the safest behavior for now to include all the contents of the Entity
 that are featured in EntityProxyId?  I'm stuck at this point.

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


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


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

[gwt-contrib] Re: Update DynaTableRf sample to demonstrate Leaf+CompositeEditor that shows how to work with option... (issue948801)

2010-10-05 Thread rjrjr

LGTM

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

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


[gwt-contrib] Re: Changes in com.google.gwt.app land to catch up to the RequestFactory (issue946802)

2010-10-05 Thread rjrjr

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

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


[gwt-contrib] Re: Fix NullPointerException in SimpleEntityProxyId. (issue949801)

2010-10-05 Thread rjrjr

LGTM

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

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


Re: [gwt-contrib] Sub entities not being filled in

2010-10-05 Thread Ray Ryan
https://jira.springsource.org/browse/ROO-1488

On Mon, Oct 4, 2010 at 11:13 AM, Ray Ryan rj...@google.com wrote:

 Bob is in transit today. We're working on a fix.


 On Mon, Oct 4, 2010 at 9:07 AM, Patrick Julien pjul...@gmail.com wrote:

 Bob,

 any suggestions for a work around for the moment?


 On Mon, Oct 4, 2010 at 9:41 AM, Patrick Julien pjul...@gmail.com wrote:
  For the editor part, I can see in the generated code for my editor that
 
  public static void traverseEditor(com.*.client.ui.EditorContainer
  editor, String prefix, java.util.ListString paths) {
   }
 
  is completely empty
 
  but in this case, EditorContainer contains OfficeEditor because it's a
  composite.  OfficeEditor has one AddressEditor and a
  HasDataEditorPhone
 
  so getPath() is currently buggy unless there's a way I can fill in my
  own traverseEditor somehow
 
  On Sun, Oct 3, 2010 at 9:47 PM, Patrick Julien pjul...@gmail.com
 wrote:
  I'm still having difficulties even with this syntax, again the
  collections seem to be the problem
 
  so having offices give me back all my offices.
 
  but putting offices.address, or offices.office.address or
  office.address still gives me null
 
  On Sun, Oct 3, 2010 at 9:07 PM, Ray Cromwell cromwell...@gmail.com
 wrote:
 
  the syntax of with() is with(property.subProperty.subSubProperty,
  property2.subProperty2.subPropertyProperty2). Bob can answer the
 question
  as to how to make deeply composited editors do the right thing.
 
  On Sun, Oct 3, 2010 at 6:02 PM, Patrick Julien pjul...@gmail.com
 wrote:
 
  No, it's not just me, anything one level deep doesn't get picked up.
 
  So my offices also have on address and it's not in the getPath()
 array
  either.  Even if it was, what's the syntax for sub path elements?
 
  On Sun, Oct 3, 2010 at 8:38 PM, Patrick Julien pjul...@gmail.com
 wrote:
   Getting there.  So now getPaths() gets me the data for my offices
 and
   patients but not the phones inside the offices.
  
   Since offices is using my own composite editor, I'm going to assume
   that's where the problem is
  
   On Sun, Oct 3, 2010 at 8:22 PM, BobV b...@google.com wrote:
   On Sun, Oct 3, 2010 at 7:24 PM, Patrick Julien pjul...@gmail.com
 
   wrote:
   Yeah, because even with using with().  The problem is the entire
   object graph isn't there
  
   So I have a practice that has offices and each office has phones.
  
   So if I ask for offices.  It fills in the offices but the phones
   inside it are not.  This could get laborious if I need to do this
   manually for each editing activity
  
   Use RequestFactoryEditorDriver.getPaths();
  
  
   interface MyOfficeDriver extends
   RequesFactoryEditorDriverOfficeProxy, OfficeEditor {}
  
   MyOfficeDriver driver = GWT.create(MyOfficeDriver.class);
   driver.initialize(requestFactory, editor);
  
  
 requestFactory.officeService().fetchOffice(1234).with(driver.getPaths()).to(receiver).fire();
  
  
   --
   Bob Vawter
   Google Web Toolkit Team
  
   --
   http://groups.google.com/group/Google-Web-Toolkit-Contributors
  
 
  --
  http://groups.google.com/group/Google-Web-Toolkit-Contributors
 
  --
  http://groups.google.com/group/Google-Web-Toolkit-Contributors
 
 

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




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

[gwt-contrib] Re: Update DynaTableRf sample to demonstrate Leaf+CompositeEditor that shows how to work with option... (issue948801)

2010-10-05 Thread rjrjr

Nice, but now I have to ask you for OptionalFieldEditorTest

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

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


[gwt-contrib] Re: Fix exit on cancel from create activity. Wasn't going to a (issue950801)

2010-10-05 Thread rjrjr

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

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


[gwt-contrib] Re: Package re-org in advance of 2.1 RC. (issue957801)

2010-10-05 Thread rjrjr

Oops, forgot the renderer tests. Added.

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

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


[gwt-contrib] Re: Changes in com.google.gwt.app land to catch up to the RequestFactory (issue946802)

2010-10-05 Thread Ray Ryan
Thanks, will fix.

On Mon, Oct 4, 2010 at 3:22 AM, t.bro...@gmail.com wrote:


 http://gwt-code-reviews.appspot.com/946802/diff/8001/9006
 File user/src/com/google/gwt/app/place/FindAndEditProxy.java (right):

 http://gwt-code-reviews.appspot.com/946802/diff/8001/9006#newcode50
 user/src/com/google/gwt/app/place/FindAndEditProxy.java:50:
 FindAndEditProxy.super.start(display, eventBus);
 This activity doesn't support startup cancellation: super.start() will
 view.setDelegate() (among other things) whether or not the activity was
 cancelled.
 It will be a real problem in the case you switch from a FindAndEditProxy
 (FAEP) to a CreateAndEditProxy (CAEP), if they share the same singleton
 view:
  1. FAEP starts (async)
  2. user changes his mind: FAEP is cancelled (a no-op actually) and CAEP
 is started (synchronous: sets itself as the view delegate)
  3. FAEP async start response arrives: calls super.start which
 overwrites the view's delegate.
 From the ActivityManager POV, FAEP is dead and CAEP is active, but
 actually the view delegates its events to FAEP, and CAEP is blind
 (kind of a zombie activity).


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


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

[gwt-contrib] Re: Changes in com.google.gwt.app land to catch up to the RequestFactory (issue946802)

2010-10-05 Thread Ray Ryan
Caught that case, fix is in http://gwt-code-reviews.appspot.com/950801

On Mon, Oct 4, 2010 at 1:22 AM, t.bro...@gmail.com wrote:


 http://gwt-code-reviews.appspot.com/946802/diff/8001/9005
 File user/src/com/google/gwt/app/place/CreateAndEditProxy.java (right):

 http://gwt-code-reviews.appspot.com/946802/diff/8001/9005#newcode54
 user/src/com/google/gwt/app/place/CreateAndEditProxy.java:54:
 display.setWidget(null);
 Er, really fall through to super.exit when cancelling a creation? (it
 will goTo the details of the cancelled proxy!?)


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


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

[gwt-contrib] Re: Fixed the serialization bug that the version numbers were not being sent back (issue930802)

2010-10-05 Thread rjrjr

LGTM

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

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


[gwt-contrib] Package re-org in advance of 2.1 RC. (issue957801)

2010-10-05 Thread rjrjr

Reviewers: cromwellian,

Description:
Package re-org in advance of 2.1 RC.

* Proxy specific places and activities are half baked, and have been
banished to the expenses sample (which will later be updated to use
them)

* com.google.gwt.app has been broken up into gwt.place and
gwt.activity

* ui classes that depend upon RequestFactory have been moved to
gwt.requestfactory.ui.client

* various new widgets have been moved user.client.ui

* parsers and renderers have been moved to gwt.text.client, have unit
tests, and are localized

* various stupid and / or unused classes have been deleted


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

Affected files:
  M  
samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/DynaTableRf.gwt.xml
  M  
samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/PersonEditorWorkflow.java
  M  
samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/AddressEditor.ui.xml
  M  
samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/FavoritesWidget.java
  M  
samples/expenses/src/main/java/com/google/gwt/sample/expenses/ExpensesCommon.gwt.xml
  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/ExpensesMobileShell.ui.xml
  M  
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpensesShell.java
  M  
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpensesShell.ui.xml
  A  
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/place/AbstractProxyEditActivity.java
  A  
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/place/AbstractProxyListActivity.java
  A  
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/place/AbstractProxyListView.java
  A  
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/place/CreateAndEditProxy.java
  A  
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/place/FindAndEditProxy.java
  A  
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/place/ProxyDetailsView.java
  A  
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/place/ProxyEditView.java
  A  
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/place/ProxyListPlace.java
  A  
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/place/ProxyListPlacePicker.java
  A  
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/place/ProxyListView.java
  A  
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/place/ProxyPlace.java
  A  
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/place/ProxyPlaceToListPlace.java
  M  
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/request/ReportRequest.java

  A user/src/com/google/gwt/activity/Activity.gwt.xml
  A user/src/com/google/gwt/activity/shared/AbstractActivity.java
  A user/src/com/google/gwt/activity/shared/Activity.java
  A user/src/com/google/gwt/activity/shared/ActivityManager.java
  A user/src/com/google/gwt/activity/shared/ActivityMapper.java
  A user/src/com/google/gwt/activity/shared/CachingActivityMapper.java
  A user/src/com/google/gwt/activity/shared/FilteredActivityMapper.java
  D user/src/com/google/gwt/app/App.gwt.xml
  D user/src/com/google/gwt/app/client/BooleanParser.java
  D user/src/com/google/gwt/app/client/BooleanRenderer.java
  D user/src/com/google/gwt/app/client/DoubleBox.java
  D user/src/com/google/gwt/app/client/DoubleParser.java
  D user/src/com/google/gwt/app/client/DoubleRenderer.java
  D user/src/com/google/gwt/app/client/IntegerBox.java
  D user/src/com/google/gwt/app/client/IntegerParser.java
  D user/src/com/google/gwt/app/client/IntegerRenderer.java
  D user/src/com/google/gwt/app/client/LongBox.java
  D user/src/com/google/gwt/app/client/LongParser.java
  D user/src/com/google/gwt/app/client/LongRenderer.java
  D user/src/com/google/gwt/app/client/NotificationMole.java
  D user/src/com/google/gwt/app/client/NotificationMole.ui.xml
  D user/src/com/google/gwt/app/client/package.html
  D user/src/com/google/gwt/app/package.html
  D user/src/com/google/gwt/app/place/AbstractActivity.java
  D user/src/com/google/gwt/app/place/AbstractProxyEditActivity.java
  D user/src/com/google/gwt/app/place/AbstractProxyListActivity.java
  D user/src/com/google/gwt/app/place/AbstractProxyListView.java
  D user/src/com/google/gwt/app/place/Activity.java
  D user/src/com/google/gwt/app/place/ActivityManager.java
  D user/src/com/google/gwt/app/place/ActivityMapper.java
  D user/src/com/google/gwt/app/place/CachingActivityMapper.java
  D user/src/com/google/gwt/app/place/CreateAndEditProxy.java
  D 

[gwt-contrib] Re: Package re-org in advance of 2.1 RC. (issue957801)

2010-10-05 Thread rjrjr

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

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


[gwt-contrib] Re: Fixed the serialization bug that the version numbers were not being sent back (issue930802)

2010-10-05 Thread rjrjr

LGTM with the following changes.

We need a follow up that makes Foo and Bar more realistic, s.t. the
counter is incremented only when they actually change. You might use
AutoBean to simplify that.


http://gwt-code-reviews.appspot.com/930802/diff/1/3
File
user/test/com/google/gwt/requestfactory/client/RequestFactoryStringTest.java
(right):

http://gwt-code-reviews.appspot.com/930802/diff/1/3#newcode167
user/test/com/google/gwt/requestfactory/client/RequestFactoryStringTest.java:167:
public void testDummyEdit() {
Dummy isn't a very descriptive name. How about testFindFindEdit()

http://gwt-code-reviews.appspot.com/930802/diff/1/4
File
user/test/com/google/gwt/requestfactory/client/RequestFactoryTest.java
(right):

http://gwt-code-reviews.appspot.com/930802/diff/1/4#newcode364
user/test/com/google/gwt/requestfactory/client/RequestFactoryTest.java:364:
public void testDummyEdit() {
testFindFindEdit

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

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


[gwt-contrib] Re: Adding examples for cell widgets and data providers. (issue955801)

2010-10-05 Thread jlabanca


http://gwt-code-reviews.appspot.com/955801/diff/1/2
File user/javadoc/com/google/gwt/examples/cell/CellExample.java (right):

http://gwt-code-reviews.appspot.com/955801/diff/1/2#newcode77
user/javadoc/com/google/gwt/examples/cell/CellExample.java:77:
super(click, keydown);
Which class would it take?  ClickEvent is a GWT logical wrapper around
the native click event, and we don't want to tie Cells to the event
system.  We have a TODO to enumerate the event types so you could use
something like EventType.CLICK instead of having to spell it out every
time.

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

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


[gwt-contrib] Re: Adding examples for cell widgets and data providers. (issue955801)

2010-10-05 Thread jlabanca

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

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


[gwt-contrib] Re: Fix 'ant dist-dev' and 'ant-doc' builds: (issue953801)

2010-10-05 Thread fabbott

Lgtm.

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

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


[gwt-contrib] Re: Fix verifyPositionStatic() to that RooPanel.get() is explicitly allowed, e.g. (issue931801)

2010-10-05 Thread fredsa

Verified manually that using GWT.isProdMode() as an early exit indeed
gets rid of Class.getName()


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

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


[gwt-contrib] Re: Adding examples for cell widgets and data providers. (issue955801)

2010-10-05 Thread arthur . kalm


http://gwt-code-reviews.appspot.com/955801/diff/1/2
File user/javadoc/com/google/gwt/examples/cell/CellExample.java (right):

http://gwt-code-reviews.appspot.com/955801/diff/1/2#newcode77
user/javadoc/com/google/gwt/examples/cell/CellExample.java:77:
super(click, keydown);
On 2010/10/05 15:35:31, jlabanca wrote:

Which class would it take?  ClickEvent is a GWT logical wrapper around

the

native click event, and we don't want to tie Cells to the event

system.  We have

a TODO to enumerate the event types so you could use something like
EventType.CLICK instead of having to spell it out every time.


So then would AbstractCell be tied to an EventType enum? Or would you
still be using String? I like the enum idea, I just don't like magic
strings.

I was thinking something along these lines:
http://gist.github.com/611778. However, since Cell is using NativeEvent,
that implementation doesn't make sense (it's also ugly).

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

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


[gwt-contrib] Re: Adding examples for cell widgets and data providers. (issue955801)

2010-10-05 Thread arthur . kalm


http://gwt-code-reviews.appspot.com/955801/diff/1/2
File user/javadoc/com/google/gwt/examples/cell/CellExample.java (right):

http://gwt-code-reviews.appspot.com/955801/diff/1/2#newcode77
user/javadoc/com/google/gwt/examples/cell/CellExample.java:77:
super(click, keydown);
Sorry, I haven't kept up with the Editor stuff, but couldn't this super
take in Class?

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

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


[gwt-contrib] Re: Fix ROO-1488 where forward references were not correctly resolved. (issue958801)

2010-10-05 Thread rjrjr

LGTM with doc changes below.

Should also add tests that we really don't post extra wide side effect
updates, as we discussed.


http://gwt-code-reviews.appspot.com/958801/diff/1/2
File
user/src/com/google/gwt/requestfactory/client/impl/AbstractRequestContext.java
(right):

http://gwt-code-reviews.appspot.com/958801/diff/1/2#newcode215
user/src/com/google/gwt/requestfactory/client/impl/AbstractRequestContext.java:215:
* Apply the deltas in a ReturnRecord to an EntityProxy.
deltas  snapshot

Don't want the next guy to make the same mistaken assumption you did

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

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


[gwt-contrib] Re: Package re-org in advance of 2.1 RC. (issue957801)

2010-10-05 Thread rjrjr

Bob has offered to take the review.

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

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


[gwt-contrib] Send an update notification to a stale client by comparing the incoming version (issue959801)

2010-10-05 Thread amitmanjhi

Reviewers: rjrjr, robertvawter,

Description:
Send an update notification to a stale client by comparing the incoming
version
number, with the version number on the server. This code path will only
be
taken if the ORM system has not flagged any errors.

Hacked the test harness so that the version number is only incremented
on a
real change. Will fix the test harness shortly in a follow-up patch.

Patch by: amitmanjhi
Review by: rjrjr, robertvawter


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

Affected files:
  M user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java
  M  
user/test/com/google/gwt/requestfactory/server/JsonRequestProcessorTest.java

  M user/test/com/google/gwt/requestfactory/server/SimpleFoo.java


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


[gwt-contrib] Re: Fix Eclipse / Checkstyle / Javadoc warnings (issue954801)

2010-10-05 Thread jat

Mostly LGTM with some small suggestions.

However, I think there is one big thing that needs further discussion --
I think instead of trying to change the code, I suggest we change the
Eclipse warnings to not warn about unused parameters in
implemented/overridden methods.


http://gwt-code-reviews.appspot.com/954801/diff/1/6
File dev/core/src/com/google/gwt/dev/jjs/impl/OptimizerStats.java
(right):

http://gwt-code-reviews.appspot.com/954801/diff/1/6#newcode91
dev/core/src/com/google/gwt/dev/jjs/impl/OptimizerStats.java:91: *
Return a human readable string representing the values of all
statistics.
human-readable

http://gwt-code-reviews.appspot.com/954801/diff/1/16
File
samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/PersonEditorWorkflow.java
(right):

http://gwt-code-reviews.appspot.com/954801/diff/1/16#newcode104
samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/PersonEditorWorkflow.java:104:
void onCancel(ClickEvent event) {
Put the @SuppressWarnings on the parameter rather than the method, here
and below.

However, I am not sure if we want to do this -- it seems pretty common
that parameters on callbacks will be unused, and so I think it is better
to have Ignore in overriding and implementing methods checked in the
Eclipse warnings configuration.

http://gwt-code-reviews.appspot.com/954801/diff/1/19
File
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpenseDetails.java
(left):

http://gwt-code-reviews.appspot.com/954801/diff/1/19#oldcode46
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpenseDetails.java:46:
import com.google.gwt.requestfactory.shared.Request;
Why wasn't this caught by ant checkstyle?

http://gwt-code-reviews.appspot.com/954801/diff/1/21
File
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileReportEntry.java
(right):

http://gwt-code-reviews.appspot.com/954801/diff/1/21#newcode61
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileReportEntry.java:61:
private final Listener listener;
Why do we need the field at all if it is unused?

http://gwt-code-reviews.appspot.com/954801/diff/1/32
File user/src/com/google/gwt/app/place/Prefix.java (right):

http://gwt-code-reviews.appspot.com/954801/diff/1/32#newcode27
user/src/com/google/gwt/app/place/Prefix.java:27: * {code
com.google.gwt.app.rebind.PlaceHistoryMapperGenerator} looks
Why not link?

http://gwt-code-reviews.appspot.com/954801/diff/1/36
File user/src/com/google/gwt/editor/client/AutoBean.java (right):

http://gwt-code-reviews.appspot.com/954801/diff/1/36#newcode54
user/src/com/google/gwt/editor/client/AutoBean.java:54: * Returns
codetrue/code if {...@link #setFrozen} has been called.
Shouldn't it talk about being last called with true?  It looks like the
freeze=setFrozen change was to allow thawing a frozen object.

http://gwt-code-reviews.appspot.com/954801/diff/1/37
File user/src/com/google/gwt/editor/client/AutoBeanVisitor.java (right):

http://gwt-code-reviews.appspot.com/954801/diff/1/37#newcode52
user/src/com/google/gwt/editor/client/AutoBeanVisitor.java:52: * TODO:
document.
Should probably ask the person who wrote these methods to provide the
description.

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

http://gwt-code-reviews.appspot.com/954801/diff/1/44#newcode27
user/src/com/google/gwt/event/shared/EventBus.java:27: * p See {...@code
com.google.gwt.event.shared.testing.CountingEventBus}.
Why this change?  And if you do want to move it into the main doc, why
not @link?

http://gwt-code-reviews.appspot.com/954801/diff/1/50
File user/src/com/google/gwt/logging/client/HtmlLogFormatter.java
(right):

http://gwt-code-reviews.appspot.com/954801/diff/1/50#newcode62
user/src/com/google/gwt/logging/client/HtmlLogFormatter.java:62: *
@param event
Why use this method here and @SuppressWarnings elsewhere?  Again, I am
not sure we want to make these changes rather than just change Eclipse's
warnings settings (I believe what you get by following
eclipse/README.txt will not warn on these).

http://gwt-code-reviews.appspot.com/954801/diff/1/65
File user/src/com/google/gwt/safehtml/client/SafeHtmlTemplates.java
(right):

http://gwt-code-reviews.appspot.com/954801/diff/1/65#newcode31
user/src/com/google/gwt/safehtml/client/SafeHtmlTemplates.java:31: *
064;Template(span class=\{3}\{0}: a href=\{1}\{2}/a/span)
Isn't this supposed to be #064;?

http://gwt-code-reviews.appspot.com/954801/diff/1/68
File user/src/com/google/gwt/uibinder/client/UiChild.java (right):

http://gwt-code-reviews.appspot.com/954801/diff/1/68#newcode43
user/src/com/google/gwt/uibinder/client/UiChild.java:43: * 064;UiChild
MyWidget#addCustomChild(Widget w) /code and
And here.

http://gwt-code-reviews.appspot.com/954801/diff/1/72
File user/src/com/google/gwt/user/client/ResponseTextHandler.java
(right):

http://gwt-code-reviews.appspot.com/954801/diff/1/72#newcode18

[gwt-contrib] Re: Send an update notification to a stale client by comparing the incoming version (issue959801)

2010-10-05 Thread Ray Ryan
Per our offline discussion, you should do the version check before bothering
with any diff checks — if the client is stale, we know it needs to update
the entity regardless of what happens when the method fires.

It's tempting to rip out the diff mechanism entirely, but this is not the
the time.

On Tue, Oct 5, 2010 at 10:11 AM, amitman...@google.com wrote:

 Reviewers: rjrjr, robertvawter,

 Description:
 Send an update notification to a stale client by comparing the incoming
 version
 number, with the version number on the server. This code path will only
 be
 taken if the ORM system has not flagged any errors.

 Hacked the test harness so that the version number is only incremented
 on a
 real change. Will fix the test harness shortly in a follow-up patch.

 Patch by: amitmanjhi
 Review by: rjrjr, robertvawter


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

 Affected files:
  M user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java
  M
 user/test/com/google/gwt/requestfactory/server/JsonRequestProcessorTest.java
  M user/test/com/google/gwt/requestfactory/server/SimpleFoo.java




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

[gwt-contrib] Re: Package re-org in advance of 2.1 RC. (issue957801)

2010-10-05 Thread rjrjr

Per our offline conversation, I'll

• move TakesValue back into user.client
• move RequestFactoryEditorDriver back into requestfactory.client
• segerate the user.client.ui dependent bits of editor into
editor.ui.client

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

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


[gwt-contrib] [google-web-toolkit] r8934 committed - Fixes to use Java 1.5 compatible JARs...

2010-10-05 Thread codesite-noreply

Revision: 8934
Author: rchan...@google.com
Date: Tue Oct  5 05:31:20 2010
Log: Fixes to use Java 1.5 compatible JARs

Fixed DynaTableRf eclipse .classpath to use json-1.5.jar
Fixed build scripts and eclipse classpaths to use java 1.5 compatible
StreamHtmlParser JAR

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

Review by: amitman...@google.com
http://code.google.com/p/google-web-toolkit/source/detail?r=8934

Modified:
 /trunk/dev/build.xml
 /trunk/eclipse/samples/DynaTableRf/.classpath
 /trunk/eclipse/user/.classpath

===
--- /trunk/dev/build.xmlThu Sep 30 10:09:39 2010
+++ /trunk/dev/build.xmlTue Oct  5 05:31:20 2010
@@ -100,7 +100,7 @@
   include name=htmlunit/htmlunit-r5940/htmlunit-r5940.jar /
   include  
name=htmlunit/htmlunit-r5940/htmlunit-core-js-r5940.jar /

   include name=nekohtml/nekohtml-1.9.13.jar /
-  include  
name=streamhtmlparser/streamhtmlparser-jsilver-r10/streamhtmlparser-jsilver-r10-rebased.jar  
/
+  include  
name=streamhtmlparser/streamhtmlparser-jsilver-r10/streamhtmlparser-jsilver-r10-1.5-rebased.jar  
/

   include name=xalan/xalan-2.7.1.jar /
   include name=xerces/xerces-2_9_1/serializer.jar /
   include name=xerces/xerces-2_9_1/xercesImpl-NoMetaInf.jar /
@@ -124,7 +124,7 @@
   zipfileset src=${gwt.tools.lib}/jetty/jetty-6.1.11.jar /
   zipfileset src=${gwt.tools.lib}/icu4j/icu4j-4_4_1.jar /
   zipfileset  
src=${gwt.tools.lib}/protobuf/protobuf-2.2.0/protobuf-java-rebased-2.2.0.jar  
/
-  zipfileset  
src=${gwt.tools.lib}/streamhtmlparser/streamhtmlparser-jsilver-r10/streamhtmlparser-jsilver-r10-rebased.jar  
/
+  zipfileset  
src=${gwt.tools.lib}/streamhtmlparser/streamhtmlparser-jsilver-r10/streamhtmlparser-jsilver-r10-1.5-rebased.jar  
/
   zipfileset src=${gwt.tools.lib}/tomcat/ant-launcher-1.6.5.jar  
/

   zipfileset src=${gwt.tools.lib}/tomcat/catalina-1.0.jar /
   zipfileset  
src=${gwt.tools.lib}/tomcat/catalina-optional-1.0.jar /

===
--- /trunk/eclipse/samples/DynaTableRf/.classpath   Fri Sep  3 09:57:43 2010
+++ /trunk/eclipse/samples/DynaTableRf/.classpath   Tue Oct  5 05:31:20 2010
@@ -6,6 +6,6 @@
classpathentry combineaccessrules=false kind=src path=/gwt-user/
 	classpathentry kind=var  
path=GWT_TOOLS/lib/javax/validation/validation-api-1.0.0.GA.jar  
sourcepath=/GWT_TOOLS/lib/javax/validation/validation-api-1.0.0.GA-sources.jar/
 	classpathentry kind=var  
path=GWT_TOOLS/lib/javax/validation/validation-api-1.0.0.GA-sources.jar/
-	classpathentry kind=var  
path=GWT_TOOLS/redist/json/r2_20080312/json.jar/
+	classpathentry kind=var  
path=GWT_TOOLS/redist/json/r2_20080312/json-1.5.jar/

classpathentry kind=output path=war/WEB-INF/classes/
 /classpath
===
--- /trunk/eclipse/user/.classpath  Mon Sep 20 07:10:58 2010
+++ /trunk/eclipse/user/.classpath  Tue Oct  5 05:31:20 2010
@@ -40,6 +40,6 @@
 	classpathentry exported=true kind=var  
path=GWT_TOOLS/lib/javax/validation/validation-api-1.0.0.GA-sources.jar/
 	classpathentry kind=var path=GWT_TOOLS/lib/jetty/jetty-6.1.11.jar  
sourcepath=/GWT_TOOLS/lib/jetty/jetty-6.1.11-src.zip/
 	classpathentry kind=var  
path=GWT_TOOLS/lib/guava/guava-r06/guava-r06-rebased.jar/
-	classpathentry kind=var  
path=GWT_TOOLS/lib/streamhtmlparser/streamhtmlparser-jsilver-r10/streamhtmlparser-jsilver-r10-rebased.jar/
+	classpathentry kind=var  
path=GWT_TOOLS/lib/streamhtmlparser/streamhtmlparser-jsilver-r10/streamhtmlparser-jsilver-r10-1.5-rebased.jar/

classpathentry kind=output path=bin/
 /classpath

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


[gwt-contrib] Remove remaining use of JSON.stringify() and replace with simple StringBuilder concatenation. (issue960801)

2010-10-05 Thread bobv

Reviewers: cromwellian,

Description:
Remove remaining use of JSON.stringify() and replace with simple
StringBuilder concatenation.
Patch by: bobv
Review by: cromwellian


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

Affected files:
  D  
user/src/com/google/gwt/requestfactory/client/impl/ClientRequestHelper.java
  M  
user/src/com/google/gwt/requestfactory/client/impl/messages/RequestContentData.java



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


[gwt-contrib] Re: Send an update notification to a stale client by comparing the incoming version (issue959801)

2010-10-05 Thread amitmanjhi

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

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


[gwt-contrib] Re: Adding examples for cell widgets and data providers. (issue955801)

2010-10-05 Thread jlabanca

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

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


[gwt-contrib] [google-web-toolkit] r8935 committed - Changes the default row count of HasDataPresenter from Integer.MIN_VAL...

2010-10-05 Thread codesite-noreply

Revision: 8935
Author: jlaba...@google.com
Date: Tue Oct  5 05:40:44 2010
Log: Changes the default row count of HasDataPresenter from  
Integer.MIN_VALUE to a more reasonable 0. We use the boolean  
isRowCountExact to determine if we actually have 0 rows, or just think we  
do.


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

Review by: r...@google.com
http://code.google.com/p/google-web-toolkit/source/detail?r=8935

Modified:
 /trunk/user/src/com/google/gwt/user/cellview/client/HasDataPresenter.java
  
/trunk/user/test/com/google/gwt/user/cellview/client/HasDataPresenterTest.java


===
---  
/trunk/user/src/com/google/gwt/user/cellview/client/HasDataPresenter.java	 
Wed Sep 22 12:58:01 2010
+++  
/trunk/user/src/com/google/gwt/user/cellview/client/HasDataPresenter.java	 
Tue Oct  5 05:40:44 2010

@@ -269,7 +269,7 @@
*/
   private boolean pageStartChangedSinceRender;

-  private int rowCount = Integer.MIN_VALUE;
+  private int rowCount = 0;

   private boolean rowCountIsExact;

@@ -950,7 +950,7 @@
   private void updateLoadingState() {
 int cacheSize = rowData.size();
 int curPageSize = isRowCountExact() ? getCurrentPageSize() : pageSize;
-if (rowCount == 0) {
+if (rowCount == 0  rowCountIsExact) {
   view.setLoadingState(LoadingState.EMPTY);
 } else if (cacheSize = curPageSize) {
   view.setLoadingState(LoadingState.LOADED);
===
---  
/trunk/user/test/com/google/gwt/user/cellview/client/HasDataPresenterTest.java	 
Wed Sep 22 12:58:01 2010
+++  
/trunk/user/test/com/google/gwt/user/cellview/client/HasDataPresenterTest.java	 
Tue Oct  5 05:40:44 2010

@@ -350,6 +350,18 @@
 view.assertOnUpdateSelectionFired(false);
 view.assertSelectedRows();
   }
+
+  public void testDefaults() {
+HasDataString listView = new MockHasDataString();
+MockViewString view = new MockViewString();
+HasDataPresenterString presenter = new  
HasDataPresenterString(listView,

+view, 10, null);
+
+assertEquals(0, presenter.getRowCount());
+assertFalse(presenter.isRowCountExact());
+assertEquals(0, presenter.getCurrentPageSize());
+assertEquals(new Range(0, 10), presenter.getVisibleRange());
+  }

   public void testGetCurrentPageSize() {
 HasDataString listView = new MockHasDataString();
@@ -884,10 +896,17 @@
 assertTrue(presenter.isRowCountExact());
 view.assertLoadingState(LoadingState.LOADING);

-// Set size to 0.
+// Set size to 0, but not exact. The state is loading until we know  
there is

+// no data.
 presenter.setRowCount(0, false);
 assertEquals(0, presenter.getRowCount());
 assertFalse(presenter.isRowCountExact());
+view.assertLoadingState(LoadingState.LOADING);
+
+// Set size to 0 and exact. Now we know the list is empty.
+presenter.setRowCount(0, true);
+assertEquals(0, presenter.getRowCount());
+assertTrue(presenter.isRowCountExact());
 view.assertLoadingState(LoadingState.EMPTY);
   }

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


[gwt-contrib] [google-web-toolkit] r8936 committed - Fix verifyPositionStatic() so that RootPanel.get() is explicitly allow...

2010-10-05 Thread codesite-noreply

Revision: 8936
Author: fre...@google.com
Date: Tue Oct  5 06:38:51 2010
Log: Fix verifyPositionStatic() so that RootPanel.get() is explicitly  
allowed, e.g.

RootPanel.get().add(widget, x, y), by whitelisting a BODY parent element.

Also, only perform parent==offsetParent test when both parent and child
widgets are visible and attached to the DOM.

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

Review by: jlaba...@google.com
http://code.google.com/p/google-web-toolkit/source/detail?r=8936

Modified:
 /trunk/user/src/com/google/gwt/user/client/ui/AbsolutePanel.java

===
--- /trunk/user/src/com/google/gwt/user/client/ui/AbsolutePanel.java	Mon  
Sep 13 10:28:49 2010
+++ /trunk/user/src/com/google/gwt/user/client/ui/AbsolutePanel.java	Tue  
Oct  5 06:38:51 2010

@@ -227,19 +227,56 @@
 }
   }

-  private void verifyPositionNotStatic(Widget w) {
-if (!GWT.isProdMode()) {
-  if (w.getElement().getOffsetParent() != getElement()) {
-String className = getClass().getName();
-GWT.log(Warning:  + className +  descendants will be  
incorrectly 
-+ positioned, i.e. not relative to their parent element,  
when 
-+ 'position:static', which is the CSS default, is in effect.  
One 

-+ possible fix is to call 
- 
+ 'panel.getElement().getStyle().setPosition(Position.RELATIVE)'.,

-// Stack trace provides context for the developer
-new IllegalStateException(className
-+  is missing CSS 'position:{relative,absolute,fixed}'));
-  }
-}
+  /**
+   * Verify that the given widget is not statically positioned on the  
page, i.e.

+   * relative to the document window, unless the widget is in fact directly
+   * attached to the document BODY. Note that the current use of this  
method is
+   * not comprehensive, since we can only verify the offsetParent if both  
parent
+   * (AbsolutePanel) and child widget are both visible and attached to the  
DOM

+   * when this test is executed.
+   *
+   * @param child the widget whose position and placement should be tested
+   */
+  private void verifyPositionNotStatic(Widget child) {
+// Only verify widget position in Development Mode
+if (GWT.isProdMode()) {
+  return;
+}
+
+// Non-visible or detached elements have no offsetParent
+if (child.getElement().getOffsetParent() == null) {
+  return;
+}
+
+// Check if offsetParent == parent
+if (child.getElement().getOffsetParent() == getElement()) {
+  return;
+}
+
+/*
+ * When this AbsolutePanel is the document BODY, e.g. RootPanel.get(),  
then

+ * no explicit position:relative is needed as children are already
+ * positioned relative to their parent. For simplicity we test against
+ * parent, not offsetParent, since in IE6+IE7 (but not IE8+) standards  
mode,
+ * the offsetParent, for elements whose parent is the document BODY,  
is the

+ * HTML element, not the BODY element.
+ */
+if (body.equals(getElement().getNodeName().toLowerCase())) {
+  return;
+}
+
+/*
+ * Warn the developer, but allow the execution to continue in case  
legacy

+ * apps depend on broken CSS.
+ */
+String className = getClass().getName();
+GWT.log(Warning:  + className +  descendants will be incorrectly 
++ positioned, i.e. not relative to their parent element, when 
++ 'position:static', which is the CSS default, is in effect. One 
++ possible fix is to call 
+ 
+ 'panel.getElement().getStyle().setPosition(Position.RELATIVE)'.,

+// Stack trace provides context for the developer
+new IllegalStateException(className
++  is missing CSS 'position:{relative,absolute,fixed}'));
   }
 }

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


[gwt-contrib] Remove dependency on CastableTypeMap from deRPC (issue943803)

2010-10-05 Thread jbrosenberg

Reviewers: zundel,

Description:
Remove dependency on CastableTypeMap from deRPC


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

Affected files:
  M user/src/com/google/gwt/rpc/linker/CastableTypeDataImpl.java
  M user/src/com/google/gwt/rpc/linker/ClientOracleLinker.java


Index: user/src/com/google/gwt/rpc/linker/CastableTypeDataImpl.java
===
--- user/src/com/google/gwt/rpc/linker/CastableTypeDataImpl.java	(revision  
8936)
+++ user/src/com/google/gwt/rpc/linker/CastableTypeDataImpl.java	(working  
copy)

@@ -16,7 +16,6 @@

 package com.google.gwt.rpc.linker;

-import com.google.gwt.core.ext.linker.CastableTypeMap;
 import com.google.gwt.rpc.server.CastableTypeData;

 /**
@@ -24,14 +23,14 @@
  */
 public class CastableTypeDataImpl implements CastableTypeData {

-  private final CastableTypeMap castableTypeMap;
+  private final String castableTypeMapJs;

-  public CastableTypeDataImpl(CastableTypeMap castableTypeMap) {
-this.castableTypeMap = castableTypeMap;
+  public CastableTypeDataImpl(String castableTypeMapJs) {
+this.castableTypeMapJs = castableTypeMapJs;
   }

   public String toJs() {
-return castableTypeMap.toJs();
+return castableTypeMapJs;
   }

 }
Index: user/src/com/google/gwt/rpc/linker/ClientOracleLinker.java
===
--- user/src/com/google/gwt/rpc/linker/ClientOracleLinker.java	(revision  
8936)
+++ user/src/com/google/gwt/rpc/linker/ClientOracleLinker.java	(working  
copy)

@@ -69,10 +69,15 @@
 }

 for (SymbolData symbolData : result.getSymbolMap()) {
+
+  String castableTypeMapString =
+  (symbolData.getCastableTypeMap() == null) ? null :
+symbolData.getCastableTypeMap().toJs();
+
   builder.add(symbolData.getSymbolName(),  
symbolData.getJsniIdent(),

   symbolData.getClassName(), symbolData.getMemberName(),
   symbolData.getQueryId(),
-  new CastableTypeDataImpl(symbolData.getCastableTypeMap()));
+  new CastableTypeDataImpl(castableTypeMapString));
 }

 ByteArrayOutputStream out = new ByteArrayOutputStream();


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


[gwt-contrib] Remove extra slash from request URL of Showcase source files to be compatible with servers that ... (issue961801)

2010-10-05 Thread jlabanca

Reviewers: kathrin,

Description:
Remove extra slash from request URL of Showcase source files to be
compatible with servers that do not all double slashses.


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

Affected files:
  M  
samples/showcase/src/com/google/gwt/sample/showcase/client/ContentWidget.java



Index:  
samples/showcase/src/com/google/gwt/sample/showcase/client/ContentWidget.java

===
---  
samples/showcase/src/com/google/gwt/sample/showcase/client/ContentWidget.java	 
(revision 8936)
+++  
samples/showcase/src/com/google/gwt/sample/showcase/client/ContentWidget.java	 
(working copy)

@@ -198,7 +198,7 @@
   String className = this.getClass().getName();
   className = className.substring(className.lastIndexOf(.) + 1);
   sendSourceRequest(
-  rc, ShowcaseConstants.DST_SOURCE_RAW + / + filename + .html);
+  rc, ShowcaseConstants.DST_SOURCE_RAW + filename + .html);
 }
   }

@@ -264,7 +264,7 @@
   String className = this.getClass().getName();
   className = className.substring(className.lastIndexOf(.) + 1);
   sendSourceRequest(
-  rc, ShowcaseConstants.DST_SOURCE_EXAMPLE + / + className  
+ .html);

+  rc, ShowcaseConstants.DST_SOURCE_EXAMPLE + className + .html);
 }
   }



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


[gwt-contrib] [google-web-toolkit] r8937 committed - Fix ROO-1488 where forward references were not correctly resolved....

2010-10-05 Thread codesite-noreply

Revision: 8937
Author: b...@google.com
Date: Tue Oct  5 09:11:00 2010
Log: Fix ROO-1488 where forward references were not correctly resolved.
Patch by: cromwellian, bobv
Review by: bobv, cromwellian

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

http://code.google.com/p/google-web-toolkit/source/detail?r=8937

Modified:
  
/trunk/user/src/com/google/gwt/requestfactory/client/impl/AbstractRequestContext.java

 /trunk/user/src/com/google/gwt/requestfactory/client/impl/EntityCodex.java
  
/trunk/user/test/com/google/gwt/requestfactory/client/RequestFactoryTest.java

 /trunk/user/test/com/google/gwt/requestfactory/server/SimpleFoo.java
 /trunk/user/test/com/google/gwt/requestfactory/shared/SimpleFooRequest.java

===
---  
/trunk/user/src/com/google/gwt/requestfactory/client/impl/AbstractRequestContext.java	 
Sun Oct  3 14:17:43 2010
+++  
/trunk/user/src/com/google/gwt/requestfactory/client/impl/AbstractRequestContext.java	 
Tue Oct  5 09:11:00 2010

@@ -26,15 +26,16 @@
 import com.google.gwt.requestfactory.shared.EntityProxyChange;
 import com.google.gwt.requestfactory.shared.Receiver;
 import com.google.gwt.requestfactory.shared.RequestContext;
+import  
com.google.gwt.requestfactory.shared.RequestTransport.TransportReceiver;

 import com.google.gwt.requestfactory.shared.ServerFailure;
 import com.google.gwt.requestfactory.shared.ValueCodex;
 import com.google.gwt.requestfactory.shared.Violation;
 import com.google.gwt.requestfactory.shared.WriteOperation;
-import  
com.google.gwt.requestfactory.shared.RequestTransport.TransportReceiver;

 import com.google.gwt.requestfactory.shared.impl.Constants;

 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.HashMap;
 import java.util.HashSet;
 import java.util.LinkedHashMap;
 import java.util.LinkedHashSet;
@@ -56,8 +57,13 @@
* Objects are placed into this map by being passed into {...@link #edit}  
or as

* an invocation argument.
*/
-  private final MapSimpleEntityProxyId?, EntityProxy seenProxies = new  
LinkedHashMapSimpleEntityProxyId?, EntityProxy();
+  private final MapSimpleEntityProxyId?, AutoBean? editedProxies =  
new LinkedHashMapSimpleEntityProxyId?, AutoBean?();

   private SetViolation errors = new LinkedHashSetViolation();
+  /**
+   * A map that contains the canonical instance of an entity to return in  
the

+   * return graph, since this is built from scratch.
+   */
+  private final MapSimpleEntityProxyId?, AutoBean? returnedProxies =  
new HashMapSimpleEntityProxyId?, AutoBean?();


   protected AbstractRequestContext(AbstractRequestFactory factory) {
 this.requestFactory = factory;
@@ -71,7 +77,7 @@

 AutoBeanT created = requestFactory.createEntityProxy(clazz,
 requestFactory.allocateId(clazz));
-return makeEdited(created);
+return takeOwnership(created);
   }

   public T extends EntityProxy T edit(T object) {
@@ -80,25 +86,21 @@
 checkLocked();

 @SuppressWarnings(unchecked)
-T toReturn = (T) seenProxies.get(object.stableId());
-if (toReturn != null) {
+AutoBeanT previouslySeen = (AutoBeanT)  
editedProxies.get(object.stableId());

+if (previouslySeen != null  !previouslySeen.isFrozen()) {
   /*
* If we've seen the object before, it might be because it was  
passed in
* as a method argument. This does not guarantee its mutability, so  
check

* that here before returning the cached object.
*/
-  AutoBeanT previouslySeen = AutoBeanUtils.getAutoBean(toReturn);
-  if (!previouslySeen.isFrozen()) {
-return toReturn;
-  }
+  return previouslySeen.as();
 }

 // Create editable copies
 AutoBeanT parent = bean;
 bean = cloneBeanAndCollections(bean);
-toReturn = makeEdited(bean);
 bean.setTag(PARENT_OBJECT, parent);
-return toReturn;
+return takeOwnership(bean);
   }

   /**
@@ -146,13 +148,12 @@
  * simple flag-check because of the possibility of unmaking a  
change, per

  * the JavaDoc.
  */
-for (EntityProxy edited : seenProxies.values()) {
-  AutoBeanEntityProxy bean = AutoBeanUtils.getAutoBean(edited);
+for (AutoBean? bean : editedProxies.values()) {
   AutoBean? previous = bean.getTag(PARENT_OBJECT);
   if (previous == null) {
 // Compare to empty object
-previous = getRequestFactory().getAutoBeanFactory().create(
-edited.stableId().getProxyClass());
+Class? proxyClass = ((EntityProxy)  
bean.as()).stableId().getProxyClass();
+previous =  
getRequestFactory().getAutoBeanFactory().create(proxyClass);

   }
   if (!AutoBeanUtils.diff(previous, bean).isEmpty()) {
 return true;
@@ -182,7 +183,7 @@
*/
   protected void addInvocation(AbstractRequest? request) {
 if (invocations.size()  0) {
-  // TODO(bobv): Upgrade wire protocal and server to handle chains
+  // TODO(bobv): Upgrade wire protocol and server to handle chains
 

[gwt-contrib] Re: Remove dependency on CastableTypeMap from deRPC (issue943803)

2010-10-05 Thread zundel

LGTM

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

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


[gwt-contrib] Re: Remove extra slash from request URL of Showcase source files to be compatible with servers that ... (issue961801)

2010-10-05 Thread kprobst

LGTM

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

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


[gwt-contrib] Re: Fix Eclipse / Checkstyle / Javadoc warnings (issue954801)

2010-10-05 Thread rice


http://gwt-code-reviews.appspot.com/954801/diff/1/6
File dev/core/src/com/google/gwt/dev/jjs/impl/OptimizerStats.java
(right):

http://gwt-code-reviews.appspot.com/954801/diff/1/6#newcode91
dev/core/src/com/google/gwt/dev/jjs/impl/OptimizerStats.java:91: *
Return a human readable string representing the values of all
statistics.
OK

On 2010/10/05 17:34:21, jat wrote:

human-readable


http://gwt-code-reviews.appspot.com/954801/diff/1/16
File
samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/PersonEditorWorkflow.java
(right):

http://gwt-code-reviews.appspot.com/954801/diff/1/16#newcode104
samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/PersonEditorWorkflow.java:104:
void onCancel(ClickEvent event) {
It's already checked.

On 2010/10/05 17:34:21, jat wrote:

Put the @SuppressWarnings on the parameter rather than the method,

here and

below.



However, I am not sure if we want to do this -- it seems pretty common

that

parameters on callbacks will be unused, and so I think it is better to

have

Ignore in overriding and implementing methods checked in the Eclipse

warnings

configuration.


http://gwt-code-reviews.appspot.com/954801/diff/1/19
File
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpenseDetails.java
(left):

http://gwt-code-reviews.appspot.com/954801/diff/1/19#oldcode46
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpenseDetails.java:46:
import com.google.gwt.requestfactory.shared.Request;
No idea :-(

On 2010/10/05 17:34:21, jat wrote:

Why wasn't this caught by ant checkstyle?


http://gwt-code-reviews.appspot.com/954801/diff/1/21
File
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileReportEntry.java
(right):

http://gwt-code-reviews.appspot.com/954801/diff/1/21#newcode61
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileReportEntry.java:61:
private final Listener listener;
I think it might be used by generated code but I'm not sure about that.

On 2010/10/05 17:34:21, jat wrote:

Why do we need the field at all if it is unused?


http://gwt-code-reviews.appspot.com/954801/diff/1/32
File user/src/com/google/gwt/app/place/Prefix.java (right):

http://gwt-code-reviews.appspot.com/954801/diff/1/32#newcode27
user/src/com/google/gwt/app/place/Prefix.java:27: * {code
com.google.gwt.app.rebind.PlaceHistoryMapperGenerator} looks
Will link and include destination class

On 2010/10/05 17:34:21, jat wrote:

Why not link?


http://gwt-code-reviews.appspot.com/954801/diff/1/36
File user/src/com/google/gwt/editor/client/AutoBean.java (right):

http://gwt-code-reviews.appspot.com/954801/diff/1/36#newcode54
user/src/com/google/gwt/editor/client/AutoBean.java:54: * Returns
codetrue/code if {...@link #setFrozen} has been called.
Fixed

On 2010/10/05 17:34:21, jat wrote:

Shouldn't it talk about being last called with true?  It looks like

the

freeze=setFrozen change was to allow thawing a frozen object.


http://gwt-code-reviews.appspot.com/954801/diff/1/37
File user/src/com/google/gwt/editor/client/AutoBeanVisitor.java (right):

http://gwt-code-reviews.appspot.com/954801/diff/1/37#newcode52
user/src/com/google/gwt/editor/client/AutoBeanVisitor.java:52: * TODO:
document.
Will do.

On 2010/10/05 17:34:21, jat wrote:

Should probably ask the person who wrote these methods to provide the
description.


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

http://gwt-code-reviews.appspot.com/954801/diff/1/44#newcode27
user/src/com/google/gwt/event/shared/EventBus.java:27: * p See {...@code
com.google.gwt.event.shared.testing.CountingEventBus}.
I'll @link it and add the target to the javadoc build.

On 2010/10/05 17:34:21, jat wrote:

Why this change?  And if you do want to move it into the main doc, why

not

@link?


http://gwt-code-reviews.appspot.com/954801/diff/1/50
File user/src/com/google/gwt/logging/client/HtmlLogFormatter.java
(right):

http://gwt-code-reviews.appspot.com/954801/diff/1/50#newcode62
user/src/com/google/gwt/logging/client/HtmlLogFormatter.java:62: *
@param event
My scheme is more or less as follows:

If the unused param occurs in 'frameworky' code, where we expect there
to be subclasses that make use of the param, javadoc it

If the method occurs in code that is unlikely to be further subclassed
(but isn't one of the situations where checking the box in Eclipse will
remove the warning, such as can happen with UiBinder), use
@SuppressWarnings

On 2010/10/05 17:34:21, jat wrote:

Why use this method here and @SuppressWarnings elsewhere?  Again, I am

not sure

we want to make these changes rather than just change Eclipse's

warnings

settings (I believe what you get by following eclipse/README.txt will

not warn

on these).


http://gwt-code-reviews.appspot.com/954801/diff/1/65
File user/src/com/google/gwt/safehtml/client/SafeHtmlTemplates.java
(right):


[gwt-contrib] Re: Fix verifyPositionStatic() to that RooPanel.get() is explicitly allowed, e.g. (issue931801)

2010-10-05 Thread fredsa

Commited in r8936

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

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


[gwt-contrib] Re: Fixed the serialization bug that the version numbers were not being sent back (issue930802)

2010-10-05 Thread Amit Manjhi
Submitted http://code.google.com/p/google-web-toolkit/source/detail?r=8932

On Mon, Oct 4, 2010 at 5:59 PM, rj...@google.com wrote:

 LGTM


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


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

[gwt-contrib] Re: Send an update notification to a stale client by comparing the incoming version (issue959801)

2010-10-05 Thread Amit Manjhi
The updated patch incorporates the feedback.

On Tue, Oct 5, 2010 at 11:59 AM, amitman...@google.com wrote:

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


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

[gwt-contrib] Re: Send an update notification to a stale client by comparing the incoming version (issue959801)

2010-10-05 Thread rjrjr


http://gwt-code-reviews.appspot.com/959801/diff/4001/5001
File
user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java
(right):

http://gwt-code-reviews.appspot.com/959801/diff/4001/5001#newcode78
user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java:78:
this.version = givenVersion;
version = jsonObject.has(Constants.ENCODED_VERSION_PROPERTY) ?
jsonObject.getString(Constants.ENCODED_VERSION_PROPERTY) : null;

For that matter, do you even need the has() call? Will getString return
null if it isn't set?

http://gwt-code-reviews.appspot.com/959801/diff/4001/5001#newcode1371
user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java:1371:
// handle DELETE
What are you fixing by getting rid of the write operation check?

http://gwt-code-reviews.appspot.com/959801/diff/4001/5002
File
user/test/com/google/gwt/requestfactory/server/JsonRequestProcessorTest.java
(right):

http://gwt-code-reviews.appspot.com/959801/diff/4001/5002#newcode150
user/test/com/google/gwt/requestfactory/server/JsonRequestProcessorTest.java:150:
public void testEndToEndSmartDiff_NoChange() throws Exception {
It looks like you're testing the version code path, but no longer
testing the non-version code path? Until we delete the latter, we should
maintain its coverage.

http://gwt-code-reviews.appspot.com/959801/diff/4001/5003
File user/test/com/google/gwt/requestfactory/server/SimpleFoo.java
(right):

http://gwt-code-reviews.appspot.com/959801/diff/4001/5003#newcode200
user/test/com/google/gwt/requestfactory/server/SimpleFoo.java:200:
s1.isChanged = false;
This is pointless, it defaults to false.

http://gwt-code-reviews.appspot.com/959801/diff/4001/5003#newcode206
user/test/com/google/gwt/requestfactory/server/SimpleFoo.java:206:
s2.isChanged = false;
ditto

http://gwt-code-reviews.appspot.com/959801/diff/4001/5003#newcode283
user/test/com/google/gwt/requestfactory/server/SimpleFoo.java:283: *
increment version numbers.
Won't be able to use autobean, this is  a JRE class. Wasn't thinking.

Document that it is only set by setUserName and the other one.

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

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


[gwt-contrib] Re: Send an update notification to a stale client by comparing the incoming version (issue959801)

2010-10-05 Thread bobv


http://gwt-code-reviews.appspot.com/959801/diff/4001/5001
File
user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java
(right):

http://gwt-code-reviews.appspot.com/959801/diff/4001/5001#newcode1381
user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java:1381:
* send an UPDATE if the client is at a version different than that of
the
s/s/S/

http://gwt-code-reviews.appspot.com/959801/diff/4001/5001#newcode1382
user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java:1382:
* server or if the server version has changed.
or if the server version has changed after invoking the domain method.

http://gwt-code-reviews.appspot.com/959801/diff/4001/5001#newcode1385
user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java:1385:
assert entityInstanceAfterOperation != null;
Unnecessary assert.

http://gwt-code-reviews.appspot.com/959801/diff/4001/5001#newcode1445
user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java:1445:
SerializedEntity beforeEntity = beforeDataMap.get(entityKey);
What would a null beforeEntity imply?  That the key was just created on
the server?

http://gwt-code-reviews.appspot.com/959801/diff/4001/5002
File
user/test/com/google/gwt/requestfactory/server/JsonRequestProcessorTest.java
(right):

http://gwt-code-reviews.appspot.com/959801/diff/4001/5002#newcode150
user/test/com/google/gwt/requestfactory/server/JsonRequestProcessorTest.java:150:
public void testEndToEndSmartDiff_NoChange() throws Exception {
Install eclemma and verify coverage before submitting.

http://gwt-code-reviews.appspot.com/959801/diff/4001/5003
File user/test/com/google/gwt/requestfactory/server/SimpleFoo.java
(right):

http://gwt-code-reviews.appspot.com/959801/diff/4001/5003#newcode283
user/test/com/google/gwt/requestfactory/server/SimpleFoo.java:283: *
increment version numbers.
No plans to implement a server version of AutoBeans at present.

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

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


[gwt-contrib] [google-web-toolkit] r8938 committed - Original change by Ray Cromwell...

2010-10-05 Thread codesite-noreply

Revision: 8938
Author: r...@google.com
Date: Tue Oct  5 10:23:33 2010
Log: Original change by Ray Cromwell

Add validation of context methods and proxy against domain objects.
Add verbose diagnostic messages.
Add test cases for RequestFactoryModel.

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

http://code.google.com/p/google-web-toolkit/source/detail?r=8938

Added:
 /trunk/user/test/com/google/gwt/requestfactory/rebind
 /trunk/user/test/com/google/gwt/requestfactory/rebind/model
  
/trunk/user/test/com/google/gwt/requestfactory/rebind/model/RequestFactoryModelTest.java

 /trunk/user/test/com/google/gwt/requestfactory/server/TestContextImpl.java
  
/trunk/user/test/com/google/gwt/requestfactory/server/TestContextNoIdImpl.java
  
/trunk/user/test/com/google/gwt/requestfactory/server/TestContextNoVersionImpl.java

Modified:
 /trunk/user/src/com/google/gwt/editor/rebind/model/ModelUtils.java
  
/trunk/user/src/com/google/gwt/requestfactory/rebind/model/RequestFactoryModel.java

 /trunk/user/test/com/google/gwt/requestfactory/RequestFactoryJreSuite.java
 /trunk/user/test/com/google/gwt/requestfactory/server/SimpleBar.java
 /trunk/user/test/com/google/gwt/requestfactory/server/SimpleFoo.java
 /trunk/user/test/com/google/gwt/requestfactory/server/SimpleFooString.java

===
--- /dev/null
+++  
/trunk/user/test/com/google/gwt/requestfactory/rebind/model/RequestFactoryModelTest.java	 
Tue Oct  5 10:23:33 2010

@@ -0,0 +1,341 @@
+/*
+ * 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
+ * License for the specific language governing permissions and limitations  
under

+ * the License.
+ */
+package com.google.gwt.requestfactory.rebind.model;
+
+import com.google.gwt.core.ext.TreeLogger;
+import com.google.gwt.core.ext.UnableToCompleteException;
+import com.google.gwt.dev.javac.CompilationState;
+import com.google.gwt.dev.javac.CompilationStateBuilder;
+import com.google.gwt.dev.javac.impl.JavaResourceBase;
+import com.google.gwt.dev.javac.impl.MockJavaResource;
+import com.google.gwt.dev.resource.Resource;
+import com.google.gwt.dev.util.UnitTestTreeLogger;
+import com.google.gwt.dev.util.Util;
+import com.google.gwt.dev.util.log.PrintWriterTreeLogger;
+import com.google.gwt.requestfactory.server.TestContextImpl;
+import com.google.gwt.requestfactory.server.TestContextNoIdImpl;
+import com.google.gwt.requestfactory.server.TestContextNoVersionImpl;
+import com.google.gwt.requestfactory.shared.EntityProxy;
+import com.google.gwt.requestfactory.shared.InstanceRequest;
+import com.google.gwt.requestfactory.shared.ProxyFor;
+import com.google.gwt.requestfactory.shared.Receiver;
+import com.google.gwt.requestfactory.shared.Request;
+import com.google.gwt.requestfactory.shared.RequestContext;
+import com.google.gwt.requestfactory.shared.RequestFactory;
+import com.google.gwt.requestfactory.shared.Service;
+import com.google.gwt.requestfactory.shared.impl.Property;
+
+import junit.framework.TestCase;
+
+import java.io.InputStream;
+import java.io.PrintWriter;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.SortedSet;
+
+/**
+ * Test case for {...@link  
com.google.gwt.requestfactory.rebind.model.RequestFactoryModel}

+ * that uses mock CompilationStates.
+ */
+public class RequestFactoryModelTest extends TestCase {
+
+  /**
+   * Constructs an empty interface representation of a type.
+   */
+  private static class EmptyMockJavaResource extends MockJavaResource {
+
+private final StringBuilder code = new StringBuilder();
+
+public EmptyMockJavaResource(Class? clazz) {
+  super(clazz.getName());
+
+  code.append(package ).append(clazz.getPackage().getName())
+  .append(;\n);
+  code.append(public interface ).append(clazz.getSimpleName());
+
+  int numParams = clazz.getTypeParameters().length;
+  if (numParams != 0) {
+code.append();
+for (int i = 0; i  numParams; i++) {
+  if (i != 0) {
+code.append(,);
+  }
+  code.append(T).append(i);
+}
+code.append();
+  }
+
+  code.append({}\n);
+}
+
+@Override
+protected CharSequence getContent() {
+  return code;
+}
+  }
+
+  /**
+   * Loads the actual source of a type. This should be used only for types
+   * directly tested by this test. Note that use of this class requires  
your

+   * source files to be on your classpath.
+   */
+  private static class RealJavaResource extends MockJavaResource {
+

[gwt-contrib] Re: Changes the default row count of HasDataPresenter from Integer.MIN_VALUE to a more reasonable 0.... (issue950802)

2010-10-05 Thread jlabanca

committed as r8935

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

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


[gwt-contrib] [google-web-toolkit] r8939 committed - Remove remaining use of JSON.stringify() and replace with simple Strin...

2010-10-05 Thread codesite-noreply

Revision: 8939
Author: b...@google.com
Date: Tue Oct  5 10:47:22 2010
Log: Remove remaining use of JSON.stringify() and replace with simple  
StringBuilder concatenation.

Patch by: bobv
Review by: cromwellian

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

http://code.google.com/p/google-web-toolkit/source/detail?r=8939

Deleted:
  
/trunk/user/src/com/google/gwt/requestfactory/client/impl/ClientRequestHelper.java

Modified:
  
/trunk/user/src/com/google/gwt/requestfactory/client/impl/messages/RequestContentData.java


===
---  
/trunk/user/src/com/google/gwt/requestfactory/client/impl/ClientRequestHelper.java	 
Thu Sep 30 12:36:38 2010

+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * 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
- * License for the specific language governing permissions and limitations  
under

- * the License.
- */
-package com.google.gwt.requestfactory.client.impl;
-
-import com.google.gwt.core.client.JavaScriptObject;
-
-import java.util.Map;
-
-/**
- * p
- * span style=color:redExperimental API: This class is still under  
rapid

- * development, and is very likely to be deleted. Use it at your own risk.
- * /span
- * /p
- * A convenience class to convert a MapString, String to a JSON string  
on the

- * client side.
- */
-public class ClientRequestHelper {
-
-  private static class MyJSO extends JavaScriptObject {
-static native MyJSO create() /*-{
-  return {};
-}-*/;
-
-@SuppressWarnings(unused)
-protected MyJSO() {
-}
-
-private native void put(String key, String value)/*-{
-  // TODO(jgw): Find a better way to do this. Occasionally a js-wrapped
-  // string ends up in 'value', which breaks the json2.js  
implementation

-  // of JSON.stringify().
-  this[key] = (value == null) ? null : String(value);
-}-*/;
-
-private native String toJsonString()/*-{
-  var gwt = this.__gwt_ObjectId;
-  delete this.__gwt_ObjectId;
-  var rtn = $wnd.JSON.stringify(this);
-  this.__gwt_ObjectId = gwt;
-  return rtn;
-}-*/;
-  }
-
-  public static String getRequestString(MapString, String requestData) {
-MyJSO request = MyJSO.create();
-for (String key : requestData.keySet()) {
-  request.put(key, requestData.get(key));
-}
-return request.toJsonString();
-  }
-}
===
---  
/trunk/user/src/com/google/gwt/requestfactory/client/impl/messages/RequestContentData.java	 
Fri Oct  1 18:15:55 2010
+++  
/trunk/user/src/com/google/gwt/requestfactory/client/impl/messages/RequestContentData.java	 
Tue Oct  5 10:47:22 2010

@@ -16,7 +16,6 @@
 package com.google.gwt.requestfactory.client.impl.messages;

 import com.google.gwt.core.client.JsonUtils;
-import com.google.gwt.requestfactory.client.impl.ClientRequestHelper;
 import com.google.gwt.requestfactory.shared.WriteOperation;

 import java.util.EnumMap;
@@ -33,6 +32,10 @@
*/
   public static String flattenKeysToExpressions(
   MapString, String keysToExpressions) {
+if (keysToExpressions.isEmpty()) {
+  return {};
+}
+
 StringBuilder flattenedProperties = new StringBuilder();
 for (Map.EntryString, String entry : keysToExpressions.entrySet()) {
   flattenedProperties.append(,).append(
@@ -89,7 +92,7 @@
 MapString, String toReturn = new LinkedHashMapString, String();
 addToReturn(toReturn, WriteOperation.PERSIST);
 addToReturn(toReturn, WriteOperation.UPDATE);
-return ClientRequestHelper.getRequestString(toReturn);
+return flattenKeysToExpressions(toReturn);
   }

   /**

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


[gwt-contrib] Re: Fix Eclipse / Checkstyle / Javadoc warnings (issue954801)

2010-10-05 Thread jat

LGTM


http://gwt-code-reviews.appspot.com/954801/diff/1/19
File
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpenseDetails.java
(left):

http://gwt-code-reviews.appspot.com/954801/diff/1/19#oldcode46
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpenseDetails.java:46:
import com.google.gwt.requestfactory.shared.Request;
Doesn't have to be done for this change, but we should figure out why as
unused imports should trigger a checkstyle failure.

http://gwt-code-reviews.appspot.com/954801/diff/1/21
File
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileReportEntry.java
(right):

http://gwt-code-reviews.appspot.com/954801/diff/1/21#newcode61
samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileReportEntry.java:61:
private final Listener listener;
On 2010/10/05 20:11:46, rice wrote:

I think it might be used by generated code but I'm not sure about

that.

If it is private, how could it?  Or are you suggesting generated JSNI
code could be using it?

http://gwt-code-reviews.appspot.com/954801/diff/1/32
File user/src/com/google/gwt/app/place/Prefix.java (right):

http://gwt-code-reviews.appspot.com/954801/diff/1/32#newcode27
user/src/com/google/gwt/app/place/Prefix.java:27: * {code
com.google.gwt.app.rebind.PlaceHistoryMapperGenerator} looks
On 2010/10/05 20:11:46, rice wrote:

Will link and include destination class


Sorry, didn't notice it was a rebind class that we plan to exclude from
Javadoc.  It is fine as-is.

http://gwt-code-reviews.appspot.com/954801/diff/1/50
File user/src/com/google/gwt/logging/client/HtmlLogFormatter.java
(right):

http://gwt-code-reviews.appspot.com/954801/diff/1/50#newcode62
user/src/com/google/gwt/logging/client/HtmlLogFormatter.java:62: *
@param event
On 2010/10/05 20:11:46, rice wrote:

My scheme is more or less as follows:



If the unused param occurs in 'frameworky' code, where we expect there

to be

subclasses that make use of the param, javadoc it



If the method occurs in code that is unlikely to be further subclassed

(but

isn't one of the situations where checking the box in Eclipse will

remove the

warning, such as can happen with UiBinder), use @SuppressWarnings


Ok.

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

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


[gwt-contrib] [google-web-toolkit] r8940 committed - Remove extra slash from request URL of Showcase source files to be com...

2010-10-05 Thread codesite-noreply

Revision: 8940
Author: jlaba...@google.com
Date: Tue Oct  5 10:51:03 2010
Log: Remove extra slash from request URL of Showcase source files to be  
compatible with servers that do not all double slashses.


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

Review by: kpro...@google.com
http://code.google.com/p/google-web-toolkit/source/detail?r=8940

Modified:
  
/trunk/samples/showcase/src/com/google/gwt/sample/showcase/client/ContentWidget.java


===
---  
/trunk/samples/showcase/src/com/google/gwt/sample/showcase/client/ContentWidget.java	 
Mon Sep 13 12:31:36 2010
+++  
/trunk/samples/showcase/src/com/google/gwt/sample/showcase/client/ContentWidget.java	 
Tue Oct  5 10:51:03 2010

@@ -198,7 +198,7 @@
   String className = this.getClass().getName();
   className = className.substring(className.lastIndexOf(.) + 1);
   sendSourceRequest(
-  rc, ShowcaseConstants.DST_SOURCE_RAW + / + filename + .html);
+  rc, ShowcaseConstants.DST_SOURCE_RAW + filename + .html);
 }
   }

@@ -264,7 +264,7 @@
   String className = this.getClass().getName();
   className = className.substring(className.lastIndexOf(.) + 1);
   sendSourceRequest(
-  rc, ShowcaseConstants.DST_SOURCE_EXAMPLE + / + className  
+ .html);

+  rc, ShowcaseConstants.DST_SOURCE_EXAMPLE + className + .html);
 }
   }

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


[gwt-contrib] Avoid an infinite loop in toString() for collections that directly include themselves (issue962801)

2010-10-05 Thread rice

Reviewers: jat,

Description:
Avoid an infinite loop in toString() for collections that directly
include themselves


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

Affected files:
  M user/super/com/google/gwt/emul/java/util/AbstractCollection.java


Index: user/super/com/google/gwt/emul/java/util/AbstractCollection.java
===
--- user/super/com/google/gwt/emul/java/util/AbstractCollection.java	 
(revision 8903)
+++ user/super/com/google/gwt/emul/java/util/AbstractCollection.java	 
(working copy)

@@ -142,7 +142,8 @@
   } else {
 comma = , ;
   }
-  sb.append(String.valueOf(iter.next()));
+  E value = iter.next();
+  sb.append(value == this ? (this Collection) :  
String.valueOf(value));

 }
 sb.append(]);
 return sb.toString();


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


[gwt-contrib] Re: Remove extra slash from request URL of Showcase source files to be compatible with servers that ... (issue961801)

2010-10-05 Thread jlabanca

committed as r8940

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

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


[gwt-contrib] Re: Send an update notification to a stale client by comparing the incoming version (issue959801)

2010-10-05 Thread Amit Manjhi
On Tue, Oct 5, 2010 at 1:26 PM, rj...@google.com wrote:


 http://gwt-code-reviews.appspot.com/959801/diff/4001/5001
 File

 user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java
 (right):

 http://gwt-code-reviews.appspot.com/959801/diff/4001/5001#newcode78
 user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java:78:
 this.version = givenVersion;
 version = jsonObject.has(Constants.ENCODED_VERSION_PROPERTY) ?
 jsonObject.getString(Constants.ENCODED_VERSION_PROPERTY) : null;

 For that matter, do you even need the has() call? Will getString return
 null if it isn't set?


If the property is absent, getString(..) returns an JSONException.



 http://gwt-code-reviews.appspot.com/959801/diff/4001/5001#newcode1371

 user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java:1371:
 // handle DELETE
 What are you fixing by getting rid of the write operation check?

 The objective was not to get rid of the write operation check, but just to
refactor the code so that the flow is cleaner. After refactoring, a boolean
was all that was necessary.


 http://gwt-code-reviews.appspot.com/959801/diff/4001/5002
 File


 user/test/com/google/gwt/requestfactory/server/JsonRequestProcessorTest.java
 (right):

 http://gwt-code-reviews.appspot.com/959801/diff/4001/5002#newcode150

 user/test/com/google/gwt/requestfactory/server/JsonRequestProcessorTest.java:150:
 public void testEndToEndSmartDiff_NoChange() throws Exception {
 It looks like you're testing the version code path, but no longer
 testing the non-version code path? Until we delete the latter, we should
 maintain its coverage.

 Fixed in the followup patch.


 http://gwt-code-reviews.appspot.com/959801/diff/4001/5003
 File user/test/com/google/gwt/requestfactory/server/SimpleFoo.java
 (right):

 http://gwt-code-reviews.appspot.com/959801/diff/4001/5003#newcode200
 user/test/com/google/gwt/requestfactory/server/SimpleFoo.java:200:
 s1.isChanged = false;
 This is pointless, it defaults to false.

 http://gwt-code-reviews.appspot.com/959801/diff/4001/5003#newcode206
 user/test/com/google/gwt/requestfactory/server/SimpleFoo.java:206:
 s2.isChanged = false;
 ditto

 Done.


 http://gwt-code-reviews.appspot.com/959801/diff/4001/5003#newcode283
 user/test/com/google/gwt/requestfactory/server/SimpleFoo.java:283: *
 increment version numbers.
 Won't be able to use autobean, this is  a JRE class. Wasn't thinking.

 Document that it is only set by setUserName and the other one.

 Done.



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


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

[gwt-contrib] Re: Send an update notification to a stale client by comparing the incoming version (issue959801)

2010-10-05 Thread Amit Manjhi
Done everything.

On Tue, Oct 5, 2010 at 1:32 PM, b...@google.com wrote:


 http://gwt-code-reviews.appspot.com/959801/diff/4001/5001
 File
 user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java
 (right):

 http://gwt-code-reviews.appspot.com/959801/diff/4001/5001#newcode1381

 user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java:1381:
 * send an UPDATE if the client is at a version different than that of
 the
 s/s/S/

 http://gwt-code-reviews.appspot.com/959801/diff/4001/5001#newcode1382

 user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java:1382:
 * server or if the server version has changed.
 or if the server version has changed after invoking the domain method.

 http://gwt-code-reviews.appspot.com/959801/diff/4001/5001#newcode1385

 user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java:1385:
 assert entityInstanceAfterOperation != null;
 Unnecessary assert.

 http://gwt-code-reviews.appspot.com/959801/diff/4001/5001#newcode1445

 user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java:1445:
 SerializedEntity beforeEntity = beforeDataMap.get(entityKey);
 What would a null beforeEntity imply?  That the key was just created on
 the server?


Yes, it would imply that the beforeEntity was just created on the server.



 http://gwt-code-reviews.appspot.com/959801/diff/4001/5002
 File

 user/test/com/google/gwt/requestfactory/server/JsonRequestProcessorTest.java
 (right):

 http://gwt-code-reviews.appspot.com/959801/diff/4001/5002#newcode150

 user/test/com/google/gwt/requestfactory/server/JsonRequestProcessorTest.java:150:
 public void testEndToEndSmartDiff_NoChange() throws Exception {
 Install eclemma and verify coverage before submitting.


 http://gwt-code-reviews.appspot.com/959801/diff/4001/5003
 File user/test/com/google/gwt/requestfactory/server/SimpleFoo.java
 (right):

 http://gwt-code-reviews.appspot.com/959801/diff/4001/5003#newcode283
 user/test/com/google/gwt/requestfactory/server/SimpleFoo.java:283: *
 increment version numbers.
 No plans to implement a server version of AutoBeans at present.


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


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

[gwt-contrib] Re: Avoid an infinite loop in toString() for collections that directly include themselves (issue962801)

2010-10-05 Thread jat


http://gwt-code-reviews.appspot.com/962801/diff/1/2
File user/super/com/google/gwt/emul/java/util/AbstractCollection.java
(right):

http://gwt-code-reviews.appspot.com/962801/diff/1/2#newcode146
user/super/com/google/gwt/emul/java/util/AbstractCollection.java:146:
sb.append(value == this ? (this Collection) : String.valueOf(value));
This only catches direct loops -- it won't catch A - [ B - [A, C] ] or
various other forms.  Do we want to instead keep an identity set of seen
elements?

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

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


[gwt-contrib] Re: Send an update notification to a stale client by comparing the incoming version (issue959801)

2010-10-05 Thread amitmanjhi

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

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


[gwt-contrib] Re: Avoid an infinite loop in toString() for collections that directly include themselves (issue962801)

2010-10-05 Thread דניאל רייס
  This emulates JRE behavior, as pointed out in
http://code.google.com/p/google-web-toolkit/issues/detail?id=5297.

Dan

On Tue, Oct 5, 2010 at 5:11 PM,  j...@google.com wrote:

 http://gwt-code-reviews.appspot.com/962801/diff/1/2
 File user/super/com/google/gwt/emul/java/util/AbstractCollection.java
 (right):

 http://gwt-code-reviews.appspot.com/962801/diff/1/2#newcode146
 user/super/com/google/gwt/emul/java/util/AbstractCollection.java:146:
 sb.append(value == this ? (this Collection) : String.valueOf(value));
 This only catches direct loops -- it won't catch A - [ B - [A, C] ] or
 various other forms.  Do we want to instead keep an identity set of seen
 elements?

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


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


[gwt-contrib] Re: Avoid an infinite loop in toString() for collections that directly include themselves (issue962801)

2010-10-05 Thread jat

On 2010/10/05 21:16:39, rice wrote:

   This emulates JRE behavior, as pointed out in
http://code.google.com/p/google-web-toolkit/issues/detail?id=5297.


Ok.

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

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


[gwt-contrib] Re: Send an update notification to a stale client by comparing the incoming version (issue959801)

2010-10-05 Thread rjrjr


http://gwt-code-reviews.appspot.com/959801/diff/4001/5001
File
user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java
(right):

http://gwt-code-reviews.appspot.com/959801/diff/4001/5001#newcode78
user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java:78:
this.version = givenVersion;
Not done.

http://gwt-code-reviews.appspot.com/959801/diff/12002/13002
File
user/test/com/google/gwt/requestfactory/server/JsonRequestProcessorTest.java
(right):

http://gwt-code-reviews.appspot.com/959801/diff/12002/13002#newcode199
user/test/com/google/gwt/requestfactory/server/JsonRequestProcessorTest.java:199:
public void testEndToEndSmartDiff_NoChange_NoVersion() throws Exception
{
If I read this right, you're testing a config that has nothing to do
with
reality — the domain object has a version number, but the browser has
dropped
it. The interesting test is of a domain object that has no version
number, or at
least no version change. Since you have properties that don't tickle the
version, that shouldn't be hard to write.

Am I confused?

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

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


[gwt-contrib] Re: Send an update notification to a stale client by comparing the incoming version (issue959801)

2010-10-05 Thread Amit Manjhi
Updated patch incorporates the feedback, including adding the additional
test.

On Tue, Oct 5, 2010 at 2:14 PM, amitman...@google.com wrote:

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


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

[gwt-contrib] [google-web-toolkit] r8941 committed - Fix Eclipse / Checkstyle / Javadoc warnings...

2010-10-05 Thread codesite-noreply

Revision: 8941
Author: gwt.mirror...@gmail.com
Date: Tue Oct  5 14:33:18 2010
Log: Fix Eclipse / Checkstyle / Javadoc warnings

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

Review by: j...@google.com
http://code.google.com/p/google-web-toolkit/source/detail?r=8941

Modified:
 /trunk/dev/core/src/com/google/gwt/core/ext/linker/SymbolData.java
 /trunk/dev/core/src/com/google/gwt/core/ext/typeinfo/TypeOracle.java
 /trunk/dev/core/src/com/google/gwt/core/linker/CrossSiteIframeLinker.java
 /trunk/dev/core/src/com/google/gwt/dev/Precompile.java
 /trunk/dev/core/src/com/google/gwt/dev/jdt/AbstractCompiler.java
 /trunk/dev/core/src/com/google/gwt/dev/jdt/TypeRefVisitor.java
 /trunk/dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaAST.java
 /trunk/dev/core/src/com/google/gwt/dev/jjs/impl/OptimizerStats.java
 /trunk/dev/core/src/com/google/gwt/dev/json/JsonObject.java
 /trunk/dev/core/src/com/google/gwt/dev/json/JsonValue.java
 /trunk/dev/core/src/com/google/gwt/dev/resource/impl/ZipFileResource.java
 /trunk/dev/core/src/com/google/gwt/dev/shell/ModuleSpace.java
 /trunk/dev/core/src/com/google/gwt/dev/util/editdistance/CharIndex.java
  
/trunk/dev/core/src/com/google/gwt/dev/util/editdistance/GeneralEditDistances.java
  
/trunk/dev/core/src/com/google/gwt/dev/util/editdistance/ModifiedBerghelRoachEditDistance.java
  
/trunk/dev/core/src/com/google/gwt/dev/util/editdistance/MyersBitParallelEditDistance.java

 /trunk/dev/core/src/com/google/gwt/dev/util/editdistance/PatternBitmap.java
  
/trunk/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/PersonEditorWorkflow.java
  
/trunk/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/MentorSelector.java
  
/trunk/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/SummaryWidget.java
  
/trunk/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpenseDetails.java
  
/trunk/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpensesMobileShell.java
  
/trunk/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileExpenseEntry.java
  
/trunk/samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileReportEntry.java
  
/trunk/samples/expenses/src/main/java/com/google/gwt/sample/expenses/server/domain/Employee.java
  
/trunk/samples/expenses/src/main/java/com/google/gwt/sample/expenses/server/domain/Expense.java
  
/trunk/samples/expenses/src/main/java/com/google/gwt/sample/expenses/server/domain/Report.java

 /trunk/user/src/com/google/gwt/animation/client/Animation.java
 /trunk/user/src/com/google/gwt/app/place/AbstractProxyListView.java
 /trunk/user/src/com/google/gwt/app/place/Activity.java
 /trunk/user/src/com/google/gwt/app/place/CreateAndEditProxy.java
 /trunk/user/src/com/google/gwt/app/place/EntityProxyKeyProvider.java
 /trunk/user/src/com/google/gwt/app/place/FindAndEditProxy.java
 /trunk/user/src/com/google/gwt/app/place/PlaceChangeEvent.java
 /trunk/user/src/com/google/gwt/app/place/PlaceChangeRequestEvent.java
 /trunk/user/src/com/google/gwt/app/place/Prefix.java
 /trunk/user/src/com/google/gwt/app/place/ProxyPlaceToListPlace.java
 /trunk/user/src/com/google/gwt/app/place/WithTokenizers.java
 /trunk/user/src/com/google/gwt/cell/client/ImageLoadingCell.java
 /trunk/user/src/com/google/gwt/editor/client/AutoBean.java
 /trunk/user/src/com/google/gwt/editor/client/AutoBeanVisitor.java
 /trunk/user/src/com/google/gwt/editor/client/EditorError.java
 /trunk/user/src/com/google/gwt/editor/client/impl/AbstractAutoBean.java
 /trunk/user/src/com/google/gwt/editor/client/testing/MockEditorChain.java
  
/trunk/user/src/com/google/gwt/editor/client/ui/ValueBoxEditorDecorator.java

 /trunk/user/src/com/google/gwt/editor/rebind/model/EditorData.java
 /trunk/user/src/com/google/gwt/event/logical/shared/AttachEvent.java
 /trunk/user/src/com/google/gwt/event/shared/DefaultHandlerRegistration.java
 /trunk/user/src/com/google/gwt/event/shared/HandlerManager.java
 /trunk/user/src/com/google/gwt/i18n/client/CurrencyList.java
 /trunk/user/src/com/google/gwt/i18n/client/DateTimeFormatRenderer.java
 /trunk/user/src/com/google/gwt/i18n/client/Messages.java
 /trunk/user/src/com/google/gwt/i18n/client/impl/CurrencyDataImpl.java
 /trunk/user/src/com/google/gwt/layout/client/Layout.java
 /trunk/user/src/com/google/gwt/layout/client/LayoutImplIE8.java
 /trunk/user/src/com/google/gwt/logging/client/HtmlLogFormatter.java
 /trunk/user/src/com/google/gwt/logging/impl/FormatterImpl.java
 /trunk/user/src/com/google/gwt/logging/server/JsonLogRecordServerUtil.java
 /trunk/user/src/com/google/gwt/logging/server/RemoteLoggingServiceUtil.java
  
/trunk/user/src/com/google/gwt/requestfactory/client/DefaultRequestTransport.java

 /trunk/user/src/com/google/gwt/requestfactory/client/LoginWidget.java
  
/trunk/user/src/com/google/gwt/requestfactory/client/RequestFactoryEditorDriver.java
  

[gwt-contrib] [google-web-toolkit] r8942 committed - Remove dependency on CastableTypeMap from deRPC...

2010-10-05 Thread codesite-noreply

Revision: 8942
Author: jbrosenb...@google.com
Date: Tue Oct  5 11:17:13 2010
Log: Remove dependency on CastableTypeMap from deRPC

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

Review by: zun...@google.com
http://code.google.com/p/google-web-toolkit/source/detail?r=8942

Modified:
 /trunk/user/src/com/google/gwt/rpc/linker/CastableTypeDataImpl.java
 /trunk/user/src/com/google/gwt/rpc/linker/ClientOracleLinker.java

===
--- /trunk/user/src/com/google/gwt/rpc/linker/CastableTypeDataImpl.java	Mon  
Aug 16 17:56:17 2010
+++ /trunk/user/src/com/google/gwt/rpc/linker/CastableTypeDataImpl.java	Tue  
Oct  5 11:17:13 2010

@@ -16,7 +16,6 @@

 package com.google.gwt.rpc.linker;

-import com.google.gwt.core.ext.linker.CastableTypeMap;
 import com.google.gwt.rpc.server.CastableTypeData;

 /**
@@ -24,14 +23,14 @@
  */
 public class CastableTypeDataImpl implements CastableTypeData {

-  private final CastableTypeMap castableTypeMap;
-
-  public CastableTypeDataImpl(CastableTypeMap castableTypeMap) {
-this.castableTypeMap = castableTypeMap;
+  private final String castableTypeMapJs;
+
+  public CastableTypeDataImpl(String castableTypeMapJs) {
+this.castableTypeMapJs = castableTypeMapJs;
   }

   public String toJs() {
-return castableTypeMap.toJs();
+return castableTypeMapJs;
   }

 }
===
--- /trunk/user/src/com/google/gwt/rpc/linker/ClientOracleLinker.java	Mon  
Aug 30 04:31:11 2010
+++ /trunk/user/src/com/google/gwt/rpc/linker/ClientOracleLinker.java	Tue  
Oct  5 11:17:13 2010

@@ -69,10 +69,15 @@
 }

 for (SymbolData symbolData : result.getSymbolMap()) {
+
+  String castableTypeMapString =
+  (symbolData.getCastableTypeMap() == null) ? null :
+symbolData.getCastableTypeMap().toJs();
+
   builder.add(symbolData.getSymbolName(),  
symbolData.getJsniIdent(),

   symbolData.getClassName(), symbolData.getMemberName(),
   symbolData.getQueryId(),
-  new CastableTypeDataImpl(symbolData.getCastableTypeMap()));
+  new CastableTypeDataImpl(castableTypeMapString));
 }

 ByteArrayOutputStream out = new ByteArrayOutputStream();

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


[gwt-contrib] [google-web-toolkit] r8943 committed - Fix 'ant dist-dev' and 'ant-doc' builds:...

2010-10-05 Thread codesite-noreply

Revision: 8943
Author: gwt.mirror...@gmail.com
Date: Tue Oct  5 14:37:58 2010
Log: Fix 'ant dist-dev' and 'ant-doc' builds:
1) Add memory to java heap for 'gwt.javac'
2) Break up a line in JsonResults that caused javac to exit
3) Remove an annotation in SafeHtmlHostedModeUtils that caused javadoc to  
crash

4) Update the list of packages for which we generate javadoc
5) Clean up cellview/client/package.html and view/client/package.html files
6) Add safehtml/{client,shared}/package.html files

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

Review by: fabb...@google.com
http://code.google.com/p/google-web-toolkit/source/detail?r=8943

Added:
 /trunk/user/src/com/google/gwt/safehtml/client/package.html
 /trunk/user/src/com/google/gwt/safehtml/shared/package.html
Modified:
 /trunk/common.ant.xml
 /trunk/doc/build.xml
 /trunk/doc/packages.properties
  
/trunk/user/src/com/google/gwt/requestfactory/client/impl/messages/JsonResults.java

 /trunk/user/src/com/google/gwt/safehtml/shared/SafeHtmlHostedModeUtils.java
 /trunk/user/src/com/google/gwt/user/cellview/client/package.html
 /trunk/user/src/com/google/gwt/view/client/package.html

===
--- /dev/null
+++ /trunk/user/src/com/google/gwt/safehtml/client/package.html	Tue Oct  5  
14:37:58 2010

@@ -0,0 +1,5 @@
+html
+body
+Contains interfaces for creating safe HTML content using templates.
+/body
+/html
===
--- /dev/null
+++ /trunk/user/src/com/google/gwt/safehtml/shared/package.html	Tue Oct  5  
14:37:58 2010

@@ -0,0 +1,5 @@
+html
+body
+Contains utilities to create safe HTML content.
+/body
+/html
===
--- /trunk/common.ant.xml   Wed Sep  8 15:25:08 2010
+++ /trunk/common.ant.xml   Tue Oct  5 14:37:58 2010
@@ -134,7 +134,7 @@
   /presetdef

   presetdef name=gwt.javac
-javac srcdir=src destdir=${javac.out} debug=${javac.debug}  
debuglevel=${javac.debuglevel} source=${javac.source}  
target=${javac.target} nowarn=${javac.nowarn}  
encoding=${javac.encoding} /
+javac srcdir=src destdir=${javac.out} debug=${javac.debug}  
debuglevel=${javac.debuglevel} source=${javac.source}  
target=${javac.target} nowarn=${javac.nowarn}  
encoding=${javac.encoding} fork=true memoryMaximumSize=2048m /

   /presetdef

   macrodef name=gwt.jar
===
--- /trunk/doc/build.xmlFri Sep 10 03:21:10 2010
+++ /trunk/doc/build.xmlTue Oct  5 14:37:58 2010
@@ -69,7 +69,7 @@
   sequential
 echoBuilding javadoc/echo
 java classpathref=DOC_PATH  
classname=com.google.doctool.custom.GWTJavaDoclet fork=yes  
failonerror=true

-  jvmarg value=-Xmx512M /
+  jvmarg value=-Xmx1024m /
   arg value=-quiet /
   arg value=-notimestamp /
   arg value=-source /
===
--- /trunk/doc/packages.properties  Tue Sep 21 03:59:38 2010
+++ /trunk/doc/packages.properties  Tue Oct  5 14:37:58 2010
@@ -16,12 +16,16 @@

 USER_PKGS=\
 com.google.gwt.animation.client;\
+com.google.gwt.app.client;\
+com.google.gwt.app.place;\
+com.google.gwt.benchmarks;\
 com.google.gwt.benchmarks.client;\
 com.google.gwt.cell.client;\
 com.google.gwt.core.client;\
+com.google.gwt.core.client.prefetch;\
 com.google.gwt.core.ext;\
-com.google.gwt.core.ext.soyc;\
 com.google.gwt.core.ext.linker;\
+com.google.gwt.core.ext.soyc;\
 com.google.gwt.core.ext.typeinfo;\
 com.google.gwt.core.linker;\
 com.google.gwt.debug.client;\
@@ -29,37 +33,55 @@
 com.google.gwt.editor.client;\
 com.google.gwt.editor.client.adapters;\
 com.google.gwt.editor.client.testing;\
+com.google.gwt.editor.client.ui;\
 com.google.gwt.event.dom.client;\
 com.google.gwt.event.logical.shared;\
 com.google.gwt.event.shared;\
+com.google.gwt.event.shared.testing;\
 com.google.gwt.http.client;\
 com.google.gwt.i18n.client;\
-com.google.gwt.i18n.shared;\
 com.google.gwt.i18n.client.constants;\
 com.google.gwt.i18n.rebind.format;\
 com.google.gwt.i18n.rebind.keygen;\
+com.google.gwt.i18n.shared;\
 com.google.gwt.json.client;\
+com.google.gwt.jsonp.client;\
 com.google.gwt.junit.client;\
+com.google.gwt.layout.client;\
 com.google.gwt.logging.client;\
-com.google.gwt.benchmarks.client;\
+com.google.gwt.logging.server;\
+com.google.gwt.logging.shared;\
+com.google.gwt.precompress.linker;\
 com.google.gwt.regexp.shared;\
+com.google.gwt.requestfactory.client;\
+com.google.gwt.requestfactory.client.testing;\
+com.google.gwt.requestfactory.server;\
+com.google.gwt.requestfactory.shared;\
 com.google.gwt.resources.client;\
 com.google.gwt.resources.ext;\
+com.google.gwt.rpc.client;\
+com.google.gwt.rpc.linker;\
+com.google.gwt.rpc.server;\
+com.google.gwt.safehtml.client;\
+com.google.gwt.safehtml.shared;\
+com.google.gwt.text.shared;\
+com.google.gwt.uibinder.attributeparsers;\
+com.google.gwt.uibinder.client;\
+com.google.gwt.uibinder.elementparsers;\
 com.google.gwt.user.cellview.client;\
 

[gwt-contrib] Re: Comment on DefaultLocaleBinding in google-web-toolkit

2010-10-05 Thread codesite-noreply

Comment by saglikpasaji:

Genel içerik ve özgün makaleler ile a  
href=http://www.saglikpasaji.com;sağlık/a pasajı sizler ile burada a  
href=http://www.saglikpasaji.com;dengeli beslenme/aküçüklerin a  
href=http://www.oyuncun.com;oyun oyna/ama merağını a  
href=http://www.oyuncun.com;oyun/acun.com ile çözüyoruz. E bunun  
yanında büyüklerin hobilerini tatmin etmeleri için a  
href=http://www.sikisme.net;sikiş izle/ameleri lazım bunun için çok  
fena a href=http://www.fenasikis.com;sikiş/a sitesi bulunuyor. dehşet  
a href=http://www.filmizlenir.net;film izle/ayebilirsiniz. örnek a  
href=   http://www.thebenefitsofnaturalplant.blogspot.com Health/a a  
href=http://www.filmizlenir.net;film/ai var birde a  
href=http://www.sikisme.net;sevişme/a videoları var görseniz a  
href=http://www.fenasikis.com;sikiş izle/amek için ideal bir site
This a href=http://thebenefitsofnaturalplant.blogspot.com;Health/a for  
a thanx .insana href=http://www.saglikpasaji.com; Sağlığı/a kadar  
değerli birşey yok. iyi çalışmalar.a  
href=http://hayatveglence.blogspot.com; Film izle/a



a href=http://www.saglikpasaji.com; rel=nofollowSağlık/a
a href=http://thebenefitsofnaturalplant.blogspot.com;  
rel=nofollowhealth/a

a href=http://hayatveglence.blogspot.com; rel=nofollowHayat/a
a href=http://www.oyuncun.com; rel=nofollowOyun/a


For more information:
http://code.google.com/p/google-web-toolkit/wiki/DefaultLocaleBinding

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


<    1   2   3   >