Re: [gwt-contrib] RR: allow CheckBox to accept null?
On 8/25/10 6:16 PM, Ray Ryan wrote: The use case is dealing with boolean values that may be null, and really a check box is just the wrong UI there. Withdrawn. I know of at least one data binding framework, gwt-pectin, that signals "no value" using null. As a work-around gwt-pectin has it's own CheckBox impl that accepts null. Take this example; We have a master-detail interface. a CheckBox has been bound to "selectedElement.male". If there is not a selected element, a "no value" signal should be sent down through data binding, not "False". Right? But then again, there's really no way to communicate something like a placeholder value for a checkbox. But I still think CheckBox should accept null, for the interface to be consistent. -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] [google-web-toolkit] r8650 committed - Temporarily disable GwtSafeHtmlUtilsTest until IE fix...
Revision: 8650 Author: p...@google.com Date: Thu Aug 26 03:07:17 2010 Log: Temporarily disable GwtSafeHtmlUtilsTest until IE fix Review by: j...@google.com http://code.google.com/p/google-web-toolkit/source/detail?r=8650 Modified: /trunk/user/test/com/google/gwt/safehtml/shared/GwtSafeHtmlUtilsTest.java === --- /trunk/user/test/com/google/gwt/safehtml/shared/GwtSafeHtmlUtilsTest.java Mon Aug 23 04:03:59 2010 +++ /trunk/user/test/com/google/gwt/safehtml/shared/GwtSafeHtmlUtilsTest.java Thu Aug 26 03:07:17 2010 @@ -16,6 +16,8 @@ package com.google.gwt.safehtml.shared; import com.google.gwt.junit.client.GWTTestCase; +//import com.google.gwt.regexp.shared.RegExp; +//import com.google.gwt.regexp.shared.SplitResult; /** * Unit tests for GwtEscapeUtils. @@ -43,31 +45,31 @@ "f"bar '<&em>oo&bar", escaped); } - public void testEscape_withEntities1() { + public void disabled_testEscape_withEntities1() { String escaped = SafeHtmlUtils.htmlEscapeAllowEntities( "f\"bar \'<&em>oo&bar"); assertEquals( "f"bar '<&em> oo&bar", escaped); } - public void testEscape_withEntities2() { + public void disabled_testEscape_withEntities2() { String escaped = SafeHtmlUtils.htmlEscapeAllowEntities("& foo <"); assertEquals("& foo <", escaped); } - public void testEscape_withEntities3() { + public void disabled_testEscape_withEntities3() { String escaped = SafeHtmlUtils.htmlEscapeAllowEntities( " & bar ' baz"); assertEquals(" & bar ' baz", escaped); } - public void testEscape_withEntities4() { + public void disabled_testEscape_withEntities4() { String escaped = SafeHtmlUtils.htmlEscapeAllowEntities( "&foo && bar ' baz&"); assertEquals("&foo && bar ' baz&", escaped); } - public void testEscape_withEntitiesInvalidEntities() { + public void disabled_testEscape_withEntitiesInvalidEntities() { String escaped = SafeHtmlUtils.htmlEscapeAllowEntities( "&a mp;&;&x;"); assertEquals("&a mp;&;&x;", escaped); -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] [google-web-toolkit] r8651 committed - Doc update.
Revision: 8651 Author: gwt.mirror...@gmail.com Date: Thu Aug 26 07:43:50 2010 Log: Doc update. http://code.google.com/p/google-web-toolkit/source/detail?r=8651 Modified: /trunk/plugins/xpcom/README.txt === --- /trunk/plugins/xpcom/README.txt Thu Jun 17 11:57:35 2010 +++ /trunk/plugins/xpcom/README.txt Thu Aug 26 07:43:50 2010 @@ -3,23 +3,22 @@ https://google-web-toolkit.googlecode.com/svn/plugin-sdks This assumes the SDKS are located in ../../../plugin-sdks -- if this is -not correct, edit the definition in Makefile. +not correct, edit the definition in Makefile or pass PLUGIN_SDKS= on the +make command. Build by: -make ARCH=x86 BROWSER=ff2 +make ARCH=x86 BROWSER=ff35 make ARCH=x86_64 BROWSER=ff3 etc -- default is current architecture and ff3. BROWSER values supported: - ff2 Firefox 1.5-2.0 ff3 Firefox 3.0 ff3+ Firefox 3.0.11+ on some platforms ff35 Firefox 3.5 + ff36 Firefox 3.6 + ff40 Firefox 4.0 (and 3.7alpha) You may need to try both ff3 and ff3+, as different platforms chose different library layouts. - -In the future, we will try and make a combined XPI which uses a JS shim plugin -to select the proper shared library file to use based on the platform. -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Fixing regex.split test failure due to inconsistent browser implementations. (issue801801)
Reviewers: conroy, Description: Fixing regex.split test failure due to inconsistent browser implementations. Review by: con...@google.com Please review this at http://gwt-code-reviews.appspot.com/801801/show Affected files: M user/src/com/google/gwt/safehtml/shared/SafeHtmlUtils.java M user/src/com/google/gwt/safehtml/shared/SimpleHtmlSanitizer.java M user/test/com/google/gwt/safehtml/shared/GwtSafeHtmlUtilsTest.java -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Fixing regex.split test failure due to inconsistent browser implementations. (issue801801)
On 2010/08/26 14:52:08, pdr wrote: LGTM http://gwt-code-reviews.appspot.com/801801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Fixing regex.split test failure due to inconsistent browser implementations. (issue801801)
The bug isn't here -- the bug is instead in RegExp.split behaving differently across platforms. Why not fix that rather than leaving it broken and working around it here? http://gwt-code-reviews.appspot.com/801801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
Re: [gwt-contrib] Re: Allow RPC stats system extensions (issue751801)
I don't know anything about the *current* stats support in RPC. Judging from the revision logs, it looks like Bob might have added that system. Added to the CC. -Lex On Tue, Aug 24, 2010 at 5:29 PM, Pascal Muetschard < pmuetschard...@google.com > wrote: > Could I please get some feedback on this and get it submitted? > Thanks. > > On Aug 10, 2:13 pm, pmuetschard...@google.com wrote: > > Reviewers: Dan Rice, scottb, Lex, > > > > Description: > > This patch allows for the extension of the RPC stats system by "moving" > > the stats methods into an object, making them non-static. This would > > allow application developers to extend the ProxyCreator to use a > > different implementation of the stats methods. > > > > Please review this athttp://gwt-code-reviews.appspot.com/751801/show > > > > Affected files: > >user/src/com/google/gwt/rpc/client/impl/RpcCallbackAdapter.java > >user/src/com/google/gwt/rpc/client/impl/RpcServiceProxy.java > >user/src/com/google/gwt/user/client/rpc/impl/RemoteServiceProxy.java > > > user/src/com/google/gwt/user/client/rpc/impl/RequestCallbackAdapter.java > >user/src/com/google/gwt/user/client/rpc/impl/RpcStatsContext.java > >user/src/com/google/gwt/user/rebind/rpc/ProxyCreator.java > > -- > http://groups.google.com/group/Google-Web-Toolkit-Contributors > -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] [google-web-toolkit] r8652 committed - Fixing regex.split test failure due to inconsistent browser implementa...
Revision: 8652 Author: p...@google.com Date: Thu Aug 26 05:38:09 2010 Log: Fixing regex.split test failure due to inconsistent browser implementations. Review at http://gwt-code-reviews.appspot.com/801801 Review by: con...@google.com http://code.google.com/p/google-web-toolkit/source/detail?r=8652 Modified: /trunk/user/test/com/google/gwt/safehtml/shared/GwtSafeHtmlUtilsTest.java === --- /trunk/user/test/com/google/gwt/safehtml/shared/GwtSafeHtmlUtilsTest.java Thu Aug 26 03:07:17 2010 +++ /trunk/user/test/com/google/gwt/safehtml/shared/GwtSafeHtmlUtilsTest.java Thu Aug 26 05:38:09 2010 @@ -45,31 +45,31 @@ "f"bar '<&em>oo&bar", escaped); } - public void disabled_testEscape_withEntities1() { + public void testEscape_withEntities1() { String escaped = SafeHtmlUtils.htmlEscapeAllowEntities( "f\"bar \'<&em>oo&bar"); assertEquals( "f"bar '<&em> oo&bar", escaped); } - public void disabled_testEscape_withEntities2() { + public void testEscape_withEntities2() { String escaped = SafeHtmlUtils.htmlEscapeAllowEntities("& foo <"); assertEquals("& foo <", escaped); } - public void disabled_testEscape_withEntities3() { + public void testEscape_withEntities3() { String escaped = SafeHtmlUtils.htmlEscapeAllowEntities( " & bar ' baz"); assertEquals(" & bar ' baz", escaped); } - public void disabled_testEscape_withEntities4() { + public void testEscape_withEntities4() { String escaped = SafeHtmlUtils.htmlEscapeAllowEntities( "&foo && bar ' baz&"); assertEquals("&foo && bar ' baz&", escaped); } - public void disabled_testEscape_withEntitiesInvalidEntities() { + public void testEscape_withEntitiesInvalidEntities() { String escaped = SafeHtmlUtils.htmlEscapeAllowEntities( "&a mp;&;&x;"); assertEquals("&a mp;&;&x;", escaped); -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Fixing regex.split test failure due to inconsistent browser implementations. (issue801801)
On 2010/08/26 15:21:38, jat wrote: The bug isn't here -- the bug is instead in RegExp.split behaving differently across platforms. Why not fix that rather than leaving it broken and working around it here? You're right and fixing regex.split is top of my todo list. I chose to revert back to the string.split version because the regex.split fix is not trivial and the failure situations of regex.split are large enough that SafeHtml isn't really usable (on IE) while it is in there. http://gwt-code-reviews.appspot.com/801801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] [google-web-toolkit] r8653 committed - These were in the submit for r8652, not sure why they didn't update th...
Revision: 8653 Author: gwt.mirror...@gmail.com Date: Thu Aug 26 09:38:32 2010 Log: These were in the submit for r8652, not sure why they didn't update then! http://code.google.com/p/google-web-toolkit/source/detail?r=8653 Modified: /trunk/user/src/com/google/gwt/safehtml/shared/SafeHtmlUtils.java /trunk/user/src/com/google/gwt/safehtml/shared/SimpleHtmlSanitizer.java === --- /trunk/user/src/com/google/gwt/safehtml/shared/SafeHtmlUtils.java Mon Aug 23 04:03:59 2010 +++ /trunk/user/src/com/google/gwt/safehtml/shared/SafeHtmlUtils.java Thu Aug 26 09:38:32 2010 @@ -16,7 +16,6 @@ package com.google.gwt.safehtml.shared; import com.google.gwt.regexp.shared.RegExp; -import com.google.gwt.regexp.shared.SplitResult; /** * Utility class containing static methods for escaping and sanitizing strings. @@ -113,16 +112,16 @@ public static String htmlEscapeAllowEntities(String text) { StringBuilder escaped = new StringBuilder(); -SplitResult splitSegment = AMP_RE.split(text, -1); -for (int i = 0, len = splitSegment.length(); i < len; i++) { - String segment = splitSegment.get(i); - if (i == 0) { +boolean firstSegment = true; +for (String segment : text.split("&", -1)) { + if (firstSegment) { /* * The first segment is never part of an entity reference, so we always * escape it. * Note that if the input starts with an ampersand, we will get an empty * segment before that. */ +firstSegment = false; escaped.append(htmlEscape(segment)); continue; } === --- /trunk/user/src/com/google/gwt/safehtml/shared/SimpleHtmlSanitizer.java Mon Aug 23 04:03:59 2010 +++ /trunk/user/src/com/google/gwt/safehtml/shared/SimpleHtmlSanitizer.java Thu Aug 26 09:38:32 2010 @@ -16,7 +16,6 @@ package com.google.gwt.safehtml.shared; import com.google.gwt.regexp.shared.RegExp; -import com.google.gwt.regexp.shared.SplitResult; import java.util.Arrays; import java.util.HashSet; @@ -79,15 +78,15 @@ private static String simpleSanitize(String text) { StringBuilder sanitized = new StringBuilder(); -SplitResult splitSegment = LT_RE.split(text, -1); -for (int i = 0, len = splitSegment.length(); i < len; i++) { - String segment = splitSegment.get(i); - if (i == 0) { +boolean firstSegment = true; +for (String segment : text.split("<", -1)) { + if (firstSegment) { /* * the first segment is never part of a valid tag; note that if the * input string starts with a tag, we will get an empty segment at the * beginning. */ +firstSegment = false; sanitized.append(SafeHtmlUtils.htmlEscapeAllowEntities(segment)); continue; } -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Fix the escaping done by UrlBuilder. (issue754803)
LGTM http://gwt-code-reviews.appspot.com/754803/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Add ability to use @UiChild annotation to specify how GWT should add a child element. (issue794801)
http://gwt-code-reviews.appspot.com/794801/diff/14001/13003 File user/src/com/google/gwt/uibinder/client/UiChild.java (right): http://gwt-code-reviews.appspot.com/794801/diff/14001/13003#newcode29 user/src/com/google/gwt/uibinder/client/UiChild.java:29: * safely called. If no limit is specified, it assumed to be unlimited. "it is assumed" http://gwt-code-reviews.appspot.com/794801/diff/14001/13004 File user/src/com/google/gwt/uibinder/elementparsers/UiChildParser.java (right): http://gwt-code-reviews.appspot.com/794801/diff/14001/13004#newcode67 user/src/com/google/gwt/uibinder/elementparsers/UiChildParser.java:67: String tag = child.getLocalName(); Please check that the child's prefix matches the parent's. That is, g:thingy should match, but plain thingy should not http://gwt-code-reviews.appspot.com/794801/diff/14001/13004#newcode79 user/src/com/google/gwt/uibinder/elementparsers/UiChildParser.java:79: writer.die(child, "Expecting only widgets in %s", child); We had talked about handling non-widget Element children as well. Are you going to add that in a follow up patch? http://gwt-code-reviews.appspot.com/794801/diff/14001/13004#newcode103 user/src/com/google/gwt/uibinder/elementparsers/UiChildParser.java:103: * Go through all of the method's required attributes and consume them from no apostrophe on method's http://gwt-code-reviews.appspot.com/794801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: UiBinder. Design time tweaks for @UiField (issue792801)
LGTM http://gwt-code-reviews.appspot.com/792801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Add ability to use @UiChild annotation to specify how GWT should add a child element. (issue794801)
http://gwt-code-reviews.appspot.com/794801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Add DynaTableRf to the distribution, and fix some checkstyle issues. (issue775805)
Reviewers: unnurg, Description: Add DynaTableRf to the distribution, and fix some checkstyle issues. Pave the way a bit for LoggingExample. Please review this at http://gwt-code-reviews.appspot.com/775805/show Affected files: A eclipse/samples/LogExample/.checkstyle A eclipse/samples/LogExample/.classpath A eclipse/samples/LogExample/.project M samples/build.xml M samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/DynaTableWidget.java M samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/server/SchoolCalendarService.java A samples/logexample/war/WEB-INF/classes/marker -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Add DynaTableRf to the distribution, and fix some checkstyle issues. (issue775805)
LGTM On 2010/08/26 20:20:23, rjrjr wrote: http://gwt-code-reviews.appspot.com/775805/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Add debugging information to CssResource. (issue770801)
LGTM Nice, one minor nit. As we said offline, it'd be good to get Simon Stewart's take on this. http://gwt-code-reviews.appspot.com/770801/diff/1/10 File user/src/com/google/gwt/resources/rg/CssResourceGenerator.java (right): http://gwt-code-reviews.appspot.com/770801/diff/1/10#newcode979 user/src/com/google/gwt/resources/rg/CssResourceGenerator.java:979: if (debugInfo instanceof CssDebugInfoImpl) { You just made this harder to customize, no? Why not but an isEnabled() method on the debugInfo interface? Or you could make this an == check against the null object? http://gwt-code-reviews.appspot.com/770801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] [google-web-toolkit] r8654 committed - Add DynaTableRf to the distribution, and fix some checkstyle issues....
Revision: 8654 Author: gwt.mirror...@gmail.com Date: Thu Aug 26 14:18:16 2010 Log: Add DynaTableRf to the distribution, and fix some checkstyle issues. Pave the way a bit for LoggingExample. Review at http://gwt-code-reviews.appspot.com/775805 Review by: unn...@google.com http://code.google.com/p/google-web-toolkit/source/detail?r=8654 Added: /trunk/eclipse/samples/LogExample/.checkstyle /trunk/eclipse/samples/LogExample/.classpath /trunk/eclipse/samples/LogExample/.project /trunk/samples/logexample/war/WEB-INF/classes /trunk/samples/logexample/war/WEB-INF/classes/marker Modified: /trunk/samples/build.xml /trunk/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/DynaTableWidget.java /trunk/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/server/SchoolCalendarService.java === --- /dev/null +++ /trunk/eclipse/samples/LogExample/.checkstyle Thu Aug 26 14:18:16 2010 @@ -0,0 +1,7 @@ + + +local="false"> + + + + === --- /dev/null +++ /trunk/eclipse/samples/LogExample/.classpathThu Aug 26 14:18:16 2010 @@ -0,0 +1,8 @@ + + + + + path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + + + === --- /dev/null +++ /trunk/eclipse/samples/LogExample/.project Thu Aug 26 14:18:16 2010 @@ -0,0 +1,30 @@ + + + LogExample + + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.atlassw.tools.eclipse.checkstyle.CheckstyleBuilder + + + + + + org.eclipse.jdt.core.javanature + com.atlassw.tools.eclipse.checkstyle.CheckstyleNature + + + + core + 2 + GWT_ROOT/samples/logexample + + + === --- /trunk/samples/build.xmlWed Aug 25 11:12:04 2010 +++ /trunk/samples/build.xmlThu Aug 26 14:18:16 2010 @@ -26,6 +26,10 @@ + + + + @@ -36,9 +40,11 @@ + + === --- /trunk/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/DynaTableWidget.java Thu Aug 12 08:15:08 2010 +++ /trunk/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/DynaTableWidget.java Thu Aug 26 14:18:16 2010 @@ -122,7 +122,6 @@ + event.getRecord()); } }); - } public void clearStatusText() { === --- /trunk/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/server/SchoolCalendarService.java Thu Aug 12 08:15:08 2010 +++ /trunk/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/server/SchoolCalendarService.java Thu Aug 26 14:18:16 2010 @@ -62,6 +62,10 @@ private static final Random rnd = new Random(3); + public static Person findPerson(Long id) { +return people.get(id); + } + public static List getPeople(int startIndex, int maxCount) { generateRandomPeople(); @@ -79,18 +83,6 @@ return new ArrayList(people.values()).subList(startIndex, end); } - - private static void generateRandomPeople() { -if (people.isEmpty()) - for (int i = 0; i < MAX_PEOPLE; ++i) { -Person person = generateRandomPerson(); -persist(person); - } - } - - public static Person findPerson(Long id) { -return people.get(id); - } public static void persist(Person person) { if (person.getId() == null) { @@ -99,6 +91,14 @@ person.setVersion(person.getVersion() + 1); people.put(person.getId(), person); } + + private static void generateRandomPeople() { +if (people.isEmpty()) + for (int i = 0; i < MAX_PEOPLE; ++i) { +Person person = generateRandomPerson(); +persist(person); + } + } private static Person generateRandomPerson() { // 1 out of every so many people is a prof. -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Lose idiotic, inflexible password block. (issue779803)
Reviewers: amitmanjhi, Description: Lose idiotic, inflexible password block. Please review this at http://gwt-code-reviews.appspot.com/779803/show Affected files: M user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java Index: user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java === --- user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java (revision 8652) +++ user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java (working copy) @@ -121,17 +121,7 @@ public static final String RELATED = "related"; - public static final Set BLACK_LIST = initBlackList(); - private static final Logger log = Logger.getLogger(JsonRequestProcessor.class.getName()); - - public static Set initBlackList() { -Set blackList = new HashSet(); -for (String str : new String[] {"password"}) { - blackList.add(str); -} -return Collections.unmodifiableSet(blackList); - } private RequestProperty propertyRefs; @@ -1047,9 +1037,9 @@ RequestProperty propertyContext) { if (Record.class.isAssignableFrom(p.getType())) { return propertyContext.hasProperty(p.getName()); -} else { - return !BLACK_LIST.contains(p.getName()); -} +} + +return true; } /** -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Lose idiotic, inflexible password block. (issue779803)
LGTM On Thu, Aug 26, 2010 at 2:31 PM, wrote: > Reviewers: amitmanjhi, > > Description: > Lose idiotic, inflexible password block. > > > Please review this at http://gwt-code-reviews.appspot.com/779803/show > > Affected files: > M user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java > > > Index: > user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java > === > --- user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java > (revision 8652) > +++ user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java > (working copy) > @@ -121,17 +121,7 @@ > > public static final String RELATED = "related"; > > - public static final Set BLACK_LIST = initBlackList(); > - > private static final Logger log = > Logger.getLogger(JsonRequestProcessor.class.getName()); > - > - public static Set initBlackList() { > -Set blackList = new HashSet(); > -for (String str : new String[] {"password"}) { > - blackList.add(str); > -} > -return Collections.unmodifiableSet(blackList); > - } > > private RequestProperty propertyRefs; > > @@ -1047,9 +1037,9 @@ > RequestProperty propertyContext) { > if (Record.class.isAssignableFrom(p.getType())) { > return propertyContext.hasProperty(p.getName()); > -} else { > - return !BLACK_LIST.contains(p.getName()); > -} > +} > + > +return true; > } > > /** > > > -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Adding RTL support to Cell Widgets. CellBrowser opens from the right in RTL mode. CellTree open... (issue783802)
Reviewers: rjrjr_gooogle.com, Description: Adding RTL support to Cell Widgets. CellBrowser opens from the right in RTL mode. CellTree open/close icons appear on the right in RTL mode. IconCell shows the image on the right. As part of this change, I had to change the location of the ruler in LayoutImpl. It used to be shifted to the top and left out of view, but this causes unintended scrollbars in RTL mode. Shifting it off to the top does not affect scrollbars, but still hides the ruler completely. We will add bidi support to cells in a seperate pass, which will set the direction of text based on the content being rendered. Please review this at http://gwt-code-reviews.appspot.com/783802/show Affected files: M samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellValidation.java M samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/RangeLabelPager.java M user/src/com/google/gwt/cell/client/IconCellDecorator.java M user/src/com/google/gwt/layout/client/LayoutImpl.java M user/src/com/google/gwt/user/cellview/client/CellBasedWidgetImplTrident.java M user/src/com/google/gwt/user/cellview/client/CellBrowser.java M user/src/com/google/gwt/user/cellview/client/CellTree.java M user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java M user/src/com/google/gwt/user/cellview/client/SimplePager.java -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] [google-web-toolkit] r8655 committed - Lose idiotic, inflexible password block....
Revision: 8655 Author: rj...@google.com Date: Thu Aug 26 12:58:56 2010 Log: Lose idiotic, inflexible password block. Review at http://gwt-code-reviews.appspot.com/779803 Review by: amitman...@google.com http://code.google.com/p/google-web-toolkit/source/detail?r=8655 Modified: /trunk/user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java === --- /trunk/user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java Wed Aug 25 17:41:41 2010 +++ /trunk/user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java Thu Aug 26 12:58:56 2010 @@ -121,18 +121,8 @@ public static final String RELATED = "related"; - public static final Set BLACK_LIST = initBlackList(); - private static final Logger log = Logger.getLogger(JsonRequestProcessor.class.getName()); - public static Set initBlackList() { -Set blackList = new HashSet(); -for (String str : new String[] {"password"}) { - blackList.add(str); -} -return Collections.unmodifiableSet(blackList); - } - private RequestProperty propertyRefs; private Map relatedObjects = new HashMapJSONObject>(); @@ -1047,9 +1037,9 @@ RequestProperty propertyContext) { if (Record.class.isAssignableFrom(p.getType())) { return propertyContext.hasProperty(p.getName()); -} else { - return !BLACK_LIST.contains(p.getName()); -} +} + +return true; } /** -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: CurrencyList now uses pure Java in dev mode. (issue771803)
http://gwt-code-reviews.appspot.com/771803/diff/1/2 File user/src/com/google/gwt/i18n/client/CurrencyList.java (right): http://gwt-code-reviews.appspot.com/771803/diff/1/2#newcode209 user/src/com/google/gwt/i18n/client/CurrencyList.java:209: return new CurrencyDataImpl("USD", "$", 2, "US$"); Meh, alright. http://gwt-code-reviews.appspot.com/771803/diff/1/4 File user/src/com/google/gwt/i18n/rebind/CurrencyListGenerator.java (right): http://gwt-code-reviews.appspot.com/771803/diff/1/4#newcode196 user/src/com/google/gwt/i18n/rebind/CurrencyListGenerator.java:196: buf.append("new CurrencyDataImpl(\"").append(quote(code)).append("\", \""); Lemme do that in a follow-up CL. For now, I'll create a CurrencyDataJava that subclasses DefaultCurrencyData, and then I'll do another one that merges the two. http://gwt-code-reviews.appspot.com/771803/diff/1/4#newcode405 user/src/com/google/gwt/i18n/rebind/CurrencyListGenerator.java:405: writer.println("protected CurrencyDataImpl getDefaultJava() {"); On 2010/08/25 23:40:32, jat wrote: The return type should just be CurrencyData. Done. http://gwt-code-reviews.appspot.com/771803/diff/1/4#newcode456 user/src/com/google/gwt/i18n/rebind/CurrencyListGenerator.java:456: writer.println("protected CurrencyDataImpl getDefaultJava() {"); On 2010/08/25 23:40:32, jat wrote: Return CurrencyData instead. Done. http://gwt-code-reviews.appspot.com/771803/diff/1/4#newcode680 user/src/com/google/gwt/i18n/rebind/CurrencyListGenerator.java:680: // TODO(jat): only emit new data where it differs from superclass! Not true. For example, the first dozen lines of: CurrencyList_.loadCurrencyMapJava() CurrencyList_en.loadCurrencyMapJava() CurrencyList_en_au.loadCurrencyMapJava() are all identical. Same is true for names map in en vs. en_au. http://gwt-code-reviews.appspot.com/771803/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] RR: design doc for ValueStore and Events
https://wave.google.com/wave/#restored:search,restored:wave:googlewave.com%252Fw%252Bywx8dL_XC The wave linked above describes how ValueStore and firing of data events (creates, updates, and deletes) will work in GWT 2.1. It should be world readable, and editable by everyone in Google-Web-Toolkit-Contributors. (I just started a new wave with everyone on the RequestFactory design doc wave.) Please provide feedback via separate blips, rather than editing the main text directly. Regards, Amit -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Initial support for round-trip edits in the DynaTableRF sample. (issue767801)
Ready for another look. http://gwt-code-reviews.appspot.com/767801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: RR: allow CheckBox to accept null?
I personally would like to see it support null, not because null is a valid UI state but just to be consistent with all the other widgets. As far as pectin is concerned the bindings always created before the real value arrives so wigets are aften set to null. I've tried to avoid wiget specific logic in the core bindings as much as possible (it's a slippery slope to ugliness) and CheckBox is the odd one out. As a somewhat silly thought would a marker interface be an option i.e. perhaps something like `CheckBox implements HasValue, BarfsOnNull` so there's at least a mechanism to find out? On Aug 26, 6:00 pm, Johan Rydberg wrote: > On 8/25/10 6:16 PM, Ray Ryan wrote:> The use case is dealing with boolean > values that may benull, and > > really a check box is just the wrong UI there. Withdrawn. > > I know of at least one data binding framework, gwt-pectin, that signals > "no value" usingnull. As a work-around gwt-pectin has it's ownCheckBox > impl that acceptsnull. > > Take this example; We have a master-detail interface. aCheckBoxhas > been bound to "selectedElement.male". If there is not a selected > element, a "no value" signal should be sent down through data binding, > not "False". Right? > > But then again, there's really no way to communicate something like a > placeholder value for acheckbox. But I still thinkCheckBoxshouldacceptnull, > for the interface to be consistent. -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
Re: [gwt-contrib] Re: RR: allow CheckBox to accept null?
Andrew, how would this be? CheckBox cb = new CheckBox(); cb.setValue(null); assertFalse(cb.getValue()); rjrjr On Thu, Aug 26, 2010 at 5:57 PM, Andrew Pietsch wrote: > I personally would like to see it support null, not because null is a > valid UI state but just to be consistent with all the other widgets. > As far as pectin is concerned the bindings always created before the > real value arrives so wigets are aften set to null. I've tried to > avoid wiget specific logic in the core bindings as much as possible > (it's a slippery slope to ugliness) and CheckBox is the odd one out. > As a somewhat silly thought would a marker interface be an option i.e. > perhaps something like `CheckBox implements HasValue, BarfsOnNull` so > there's at least a mechanism to find out? > > On Aug 26, 6:00 pm, Johan Rydberg wrote: > > On 8/25/10 6:16 PM, Ray Ryan wrote:> The use case is dealing with boolean > values that may benull, and > > > really a check box is just the wrong UI there. Withdrawn. > > > > I know of at least one data binding framework, gwt-pectin, that signals > > "no value" usingnull. As a work-around gwt-pectin has it's ownCheckBox > > impl that acceptsnull. > > > > Take this example; We have a master-detail interface. aCheckBoxhas > > been bound to "selectedElement.male". If there is not a selected > > element, a "no value" signal should be sent down through data binding, > > not "False". Right? > > > > But then again, there's really no way to communicate something like a > > placeholder value for acheckbox. But I still > thinkCheckBoxshouldacceptnull, for the interface to be consistent. > > -- > http://groups.google.com/group/Google-Web-Toolkit-Contributors > -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Removed Object.typeId from generated class prototypes, and from the compilation and linkage phas... (issue751803)
Mostly looks good, just some style/simplicity comments on JProgram. Thanks for the cleanups I noticed you did along the way. http://gwt-code-reviews.appspot.com/751803/diff/1/4 File dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java (right): http://gwt-code-reviews.appspot.com/751803/diff/1/4#newcode781 dev/core/src/com/google/gwt/dev/jjs/ast/JProgram.java:781: return returnMap; This whole setup seems kind of unnecessarily complicated to me. How about we just do this? 1) Final auto-initialize castableTypeMaps. 2) The init method just does a Map.putAll(). 3) You're not allowed to share the same expression node in different places in the tree anyway, so just do something like this: JsonObject result = castableTypeMaps.get(referenceType); if (result == null) { // auto-init to a null entry result = new JsonObject(...); castableTypeMaps.put(referenceType, result); } return result; Then you don't have to do any squirrelly null key stuff. Also, this should be an IdentityHashMap. http://gwt-code-reviews.appspot.com/751803/diff/1/6 File dev/core/src/com/google/gwt/dev/jjs/impl/CastNormalizer.java (right): http://gwt-code-reviews.appspot.com/751803/diff/1/6#newcode73 dev/core/src/com/google/gwt/dev/jjs/impl/CastNormalizer.java:73: new HashMap(); IdentityHashMap http://gwt-code-reviews.appspot.com/751803/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Rudimentary exception handling. (issue803801)
Reviewers: cromwellian, Description: Rudimentary exception handling. Please review this at http://gwt-code-reviews.appspot.com/803801/show Affected files: M user/src/com/google/gwt/requestfactory/client/impl/AbstractRequest.java M user/src/com/google/gwt/requestfactory/client/impl/RecordJsoImpl.java M user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java M user/src/com/google/gwt/requestfactory/server/RequestFactoryServlet.java A user/src/com/google/gwt/requestfactory/server/RequestProcessingException.java M user/src/com/google/gwt/requestfactory/server/RequestProcessor.java -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Rudimentary exception handling. (issue803801)
This is to be coupled with a simple UncaughtExceptionHandler in the entry point: GWT.setUncaughtExceptionHandler(new GWT.UncaughtExceptionHandler() { public void onUncaughtException(Throwable e) { Window.alert("Error: " + e.getMessage()); placeController.goTo(Place.NOWHERE); } }); This is not intended to be the final story on exception handling, just an improvement over the complete lack of handling we have right now. On Thu, Aug 26, 2010 at 6:10 PM, wrote: > Reviewers: cromwellian, > > Description: > Rudimentary exception handling. > > > Please review this at http://gwt-code-reviews.appspot.com/803801/show > > Affected files: > M user/src/com/google/gwt/requestfactory/client/impl/AbstractRequest.java > M user/src/com/google/gwt/requestfactory/client/impl/RecordJsoImpl.java > M user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java > M user/src/com/google/gwt/requestfactory/server/RequestFactoryServlet.java > A > user/src/com/google/gwt/requestfactory/server/RequestProcessingException.java > M user/src/com/google/gwt/requestfactory/server/RequestProcessor.java > > > -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] [google-web-toolkit] r8656 committed - Public: Start of a sample application showing GWT validation....
Revision: 8656 Author: ncha...@google.com Date: Thu Aug 26 15:18:52 2010 Log: Public: Start of a sample application showing GWT validation. Review at http://gwt-code-reviews.appspot.com/760802 Review by: robertvaw...@google.com http://code.google.com/p/google-web-toolkit/source/detail?r=8656 Added: /trunk/eclipse/samples/Validation /trunk/eclipse/samples/Validation/.checkstyle /trunk/eclipse/samples/Validation/.classpath /trunk/eclipse/samples/Validation/.project /trunk/eclipse/samples/Validation/Validation-gwtc.launch /trunk/eclipse/samples/Validation/Validation.launch /trunk/samples/validation /trunk/samples/validation/build.xml /trunk/samples/validation/src /trunk/samples/validation/src/com /trunk/samples/validation/src/com/google /trunk/samples/validation/src/com/google/gwt /trunk/samples/validation/src/com/google/gwt/sample /trunk/samples/validation/src/com/google/gwt/sample/validation /trunk/samples/validation/src/com/google/gwt/sample/validation/COPYING /trunk/samples/validation/src/com/google/gwt/sample/validation/Validation.gwt.xml /trunk/samples/validation/src/com/google/gwt/sample/validation/client /trunk/samples/validation/src/com/google/gwt/sample/validation/client/GreetingService.java /trunk/samples/validation/src/com/google/gwt/sample/validation/client/GreetingServiceAsync.java /trunk/samples/validation/src/com/google/gwt/sample/validation/client/Validation.java /trunk/samples/validation/src/com/google/gwt/sample/validation/client/ValidationView.java /trunk/samples/validation/src/com/google/gwt/sample/validation/client/ValidationView.ui.xml /trunk/samples/validation/src/com/google/gwt/sample/validation/server /trunk/samples/validation/src/com/google/gwt/sample/validation/server/GreetingServiceImpl.java /trunk/samples/validation/src/com/google/gwt/sample/validation/shared /trunk/samples/validation/src/com/google/gwt/sample/validation/shared/Person.java /trunk/samples/validation/war /trunk/samples/validation/war/Validation.css /trunk/samples/validation/war/Validation.html /trunk/samples/validation/war/WEB-INF /trunk/samples/validation/war/WEB-INF/web.xml /trunk/samples/validation/war/favicon.ico Modified: /trunk/eclipse/user/.classpath /trunk/samples/build.xml === --- /dev/null +++ /trunk/eclipse/samples/Validation/.checkstyle Thu Aug 26 15:18:52 2010 @@ -0,0 +1,7 @@ + + +local="false"> + + + + === --- /dev/null +++ /trunk/eclipse/samples/Validation/.classpathThu Aug 26 15:18:52 2010 @@ -0,0 +1,8 @@ + + + + + path="org.eclipse.jdt.launching.JRE_CONTAINER"/> + + + === --- /dev/null +++ /trunk/eclipse/samples/Validation/.project Thu Aug 26 15:18:52 2010 @@ -0,0 +1,30 @@ + + + Validation + + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.atlassw.tools.eclipse.checkstyle.CheckstyleBuilder + + + + + + org.eclipse.jdt.core.javanature + com.atlassw.tools.eclipse.checkstyle.CheckstyleNature + + + + core + 2 + GWT_ROOT/samples/validation + + + === --- /dev/null +++ /trunk/eclipse/samples/Validation/Validation-gwtc.launch Thu Aug 26 15:18:52 2010 @@ -0,0 +1,17 @@ + + +value="true"/> + + + + + + + + +value="false"/> +value="com.google.gwt.dev.Compiler"/> +value="com.google.gwt.sample.validation.Validation"/> +value="Validation"/> +value="-ea -Xmx256M -Dgwt.devjar=${gwt_devjar}"/> + === --- /dev/null +++ /trunk/eclipse/samples/Validation/Validation.launch Thu Aug 26 15:18:52 2010 @@ -0,0 +1,17 @@ + + +value="true"/> + + + + + + + + +value="false"/> +value="com.google.gwt.dev.HostedMode"/> +value="-startupUrl Validation.html com.google.gwt.sample.validation.Validation"/> +value="Validation"/> +value="-ea -Xmx256M -Dgwt.devjar=${gwt_devjar}"/> + === --- /dev/null +++ /trunk/samples/validation/build.xml Thu Aug 26 15:18:52 2010 @@ -0,0 +1,5 @@ + + + + + === --- /dev/null +++ /trunk/samples/validation/src/com/google/gwt/sample/validation/COPYING Thu Aug 26 15:18:52 2010 @@ -0,0 +1,176 @@ + Apache License + Version 2.0, January 2004 +http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and di
[gwt-contrib] Re: CurrencyList now uses pure Java in dev mode. (issue771803)
http://gwt-code-reviews.appspot.com/771803/diff/1/4 File user/src/com/google/gwt/i18n/rebind/CurrencyListGenerator.java (right): http://gwt-code-reviews.appspot.com/771803/diff/1/4#newcode680 user/src/com/google/gwt/i18n/rebind/CurrencyListGenerator.java:680: // TODO(jat): only emit new data where it differs from superclass! On 2010/08/26 23:10:42, scottb wrote: Not true. For example, the first dozen lines of: CurrencyList_.loadCurrencyMapJava() CurrencyList_en.loadCurrencyMapJava() CurrencyList_en_au.loadCurrencyMapJava() are all identical. Same is true for names map in en vs. en_au. Hmm, the code is fine, but the property files aren't. If you remove all but AUD and USD from the CurrencyData_en_AU.properties file, you can see the generated CurrencyList_en_AU.java contains only the modified values. I'll work on updating the properties files next week. I could swear I remember looking at generated files and verifying it, but maybe those were never checked in. http://gwt-code-reviews.appspot.com/771803/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Adding RTL support to Cell Widgets. CellBrowser opens from the right in RTL mode. CellTree open... (issue783802)
LGTM, presuming the following is cleared up The RTL changes look good. Saw a few unrelated changes too, though. Were they on purpose? Bad diff, maybe? http://gwt-code-reviews.appspot.com/783802/diff/1/6 File user/src/com/google/gwt/user/cellview/client/CellBasedWidgetImplTrident.java (right): http://gwt-code-reviews.appspot.com/783802/diff/1/6#newcode101 user/src/com/google/gwt/user/cellview/client/CellBasedWidgetImplTrident.java:101: * Get the value of an element that has a value or checked state. Are you sure this class belongs in this patch? http://gwt-code-reviews.appspot.com/783802/diff/1/8 File user/src/com/google/gwt/user/cellview/client/CellTree.java (right): http://gwt-code-reviews.appspot.com/783802/diff/1/8#newcode588 user/src/com/google/gwt/user/cellview/client/CellTree.java:588: } else if ("mouseup".equals(eventType)) { This change here on purpose? http://gwt-code-reviews.appspot.com/783802/diff/1/9 File user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java (right): http://gwt-code-reviews.appspot.com/783802/diff/1/9#newcode1140 user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java:1140: Element child = parent.getFirstChildElement(); Another surprise. Starting to think trunk has moved out from under you. http://gwt-code-reviews.appspot.com/783802/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Fixes the very broken Expenses sample. (issue804801)
Reviewers: jlabanca, Description: Fixes the very broken Expenses sample. Please review this at http://gwt-code-reviews.appspot.com/804801/show Affected files: M samples/expenses/pom.xml M samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpenseDetails.java M samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpenseList.java M samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/ExpenseTree.java 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/MobileExpenseDetails.java M samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileExpenseEntry.java M samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileExpenseList.java M samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileReportEntry.java M samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/MobileReportList.java M samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/request/EmployeeRecord.java M samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/request/EmployeeRecordChanged.java M samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/request/EmployeeRequest.java M samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/request/ExpenseRecord.java M samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/request/ExpenseRecordChanged.java M samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/request/ExpenseRequest.java M samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/request/ExpensesEntityTypesProcessor.java M samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/request/ReportRecord.java M samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/request/ReportRecordChanged.java M samples/expenses/src/main/java/com/google/gwt/sample/expenses/client/request/ReportRequest.java -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Fixes the very broken Expenses sample. (issue804801)
John, can you take this over? This patch will get Expenses to compile again after yesterday's consolidation of the valuestore and requestfactory packages, but I'm seeing runtime errors that I suspect are related to your recent changes to the tree api. http://gwt-code-reviews.appspot.com/804801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
Re: [gwt-contrib] RR: allow CheckBox to accept null?
Fwiw, I don't actually care. It just seemed like something that needed some devil's advocacy. On Thursday, August 26, 2010, Ray Ryan wrote: > Andrew, how would this be? > CheckBox cb = new CheckBox(); > > cb.setValue(null); > assertFalse(cb.getValue()); > rjrjr > > On Thu, Aug 26, 2010 at 5:57 PM, Andrew Pietsch > wrote: > I personally would like to see it support null, not because null is a > valid UI state but just to be consistent with all the other widgets. > As far as pectin is concerned the bindings always created before the > real value arrives so wigets are aften set to null. I've tried to > avoid wiget specific logic in the core bindings as much as possible > (it's a slippery slope to ugliness) and CheckBox is the odd one out. > As a somewhat silly thought would a marker interface be an option i.e. > perhaps something like `CheckBox implements HasValue, BarfsOnNull` so > there's at least a mechanism to find out? > > On Aug 26, 6:00 pm, Johan Rydberg wrote: >> On 8/25/10 6:16 PM, Ray Ryan wrote:> The use case is dealing with boolean >> values that may benull, and >> > really a check box is just the wrong UI there. Withdrawn. >> >> I know of at least one data binding framework, gwt-pectin, that signals >> "no value" usingnull. As a work-around gwt-pectin has it's ownCheckBox >> impl that acceptsnull. >> >> Take this example; We have a master-detail interface. aCheckBoxhas >> been bound to "selectedElement.male". If there is not a selected >> element, a "no value" signal should be sent down through data binding, >> not "False". Right? >> >> But then again, there's really no way to communicate something like a >> placeholder value for acheckbox. But I still thinkCheckBoxshouldacceptnull, >> for the interface to be consistent. > > -- > 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