[gwt-contrib] Re: Fix 'ant dist-dev' and 'ant-doc' builds: (issue953801)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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
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
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
LGTM http://gwt-code-reviews.appspot.com/931802/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
Re: [gwt-contrib] moving to EntityProxyId
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)
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)
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)
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.
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)
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
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)
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)
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)
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)
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)
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
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)
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)
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
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)
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)
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)
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
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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...
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)
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)
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)
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...
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...
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)
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)
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....
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)
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)
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)
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)
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)
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)
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)
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)
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...
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)
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...
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)
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...
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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...
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...
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:...
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
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