[gwt-contrib] Add java.math and java.util.logging to list of packages to document (issue1358802)

2011-02-15 Thread rice

Reviewers: jat,

Description:
Add java.math and java.util.logging to list of packages to document


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

Affected files:
  M build-tools/doctool/src/com/google/doctool/custom/FindPackages.java


Index: build-tools/doctool/src/com/google/doctool/custom/FindPackages.java
===
--- build-tools/doctool/src/com/google/doctool/custom/FindPackages.java	 
(revision 9736)
+++ build-tools/doctool/src/com/google/doctool/custom/FindPackages.java	 
(working copy)

@@ -52,7 +52,7 @@
* the LANG_PKGS property.  Add packages here as needed.
*/
   private static final String[] LANG_PKGS = {
-  java.lang, java.lang.annotation, java.io, java.sql, java.util};
+java.lang, java.lang.annotation, java.math, java.io, java.sql, 
java.util, java.util.logging};

   /**
* User packages to include, regardless of exclusions.  Add packages here


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


[gwt-contrib] Re: Add java.math and java.util.logging to list of packages to document (issue1358802)

2011-02-15 Thread jat

LGTM


http://gwt-code-reviews.appspot.com/1358802/diff/1/2
File build-tools/doctool/src/com/google/doctool/custom/FindPackages.java
(right):

http://gwt-code-reviews.appspot.com/1358802/diff/1/2#newcode51
build-tools/doctool/src/com/google/doctool/custom/FindPackages.java:51:
* A list of emulated packages under java.lang, to be emitted as
I assume this comment is incorrect and the output is as expected -- if
so, please change the comment.

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

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


[gwt-contrib] Re: Add java.math and java.util.logging to list of packages to document (issue1358802)

2011-02-15 Thread rice

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

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


[gwt-contrib] Fixing HTMLTable#setWidget() to remove the widget or text when null is passed as the widget. Cu... (issue1358803)

2011-02-15 Thread jlabanca

Reviewers: rjrjr,

Description:
Fixing HTMLTable#setWidget() to remove the widget or text when null is
passed as the widget.  Currently, the widget is not removed.


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

Affected files:
  M user/src/com/google/gwt/user/client/ui/HTMLTable.java
  M user/test/com/google/gwt/user/client/ui/HTMLTableTestBase.java


Index: user/src/com/google/gwt/user/client/ui/HTMLTable.java
===
--- user/src/com/google/gwt/user/client/ui/HTMLTable.java   (revision 9736)
+++ user/src/com/google/gwt/user/client/ui/HTMLTable.java   (working copy)
@@ -1091,18 +1091,19 @@
* within the Grid's bounding box.
* /p
*
-   * @param widget The widget to be added
+   * @param widget The widget to be added, or null to clear the cell
* @param row the cell's row
* @param column the cell's column
* @throws IndexOutOfBoundsException
*/
   public void setWidget(int row, int column, Widget widget) {
 prepareCell(row, column);
+
+// Removes any existing widget.
+Element td = cleanCell(row, column, true);
+
 if (widget != null) {
   widget.removeFromParent();
-
-  // Removes any existing widget.
-  Element td = cleanCell(row, column, true);

   // Logical attach.
   widgetMap.put(widget);
Index: user/test/com/google/gwt/user/client/ui/HTMLTableTestBase.java
===
--- user/test/com/google/gwt/user/client/ui/HTMLTableTestBase.java	 
(revision 9736)
+++ user/test/com/google/gwt/user/client/ui/HTMLTableTestBase.java	(working  
copy)

@@ -241,6 +241,29 @@
 formatter.setWidth(0, 2, 100%);
   }

+  public void testSetWidgetNull() {
+HTMLTable t = getTable(1, 2);
+
+// Set some text and a widget.
+Label content = new Label(widget);
+t.setText(0, 0, hello world);
+t.setWidget(0, 1, content);
+assertEquals(hello world, t.getText(0, 0));
+assertEquals(content, t.getWidget(0, 1));
+
+// Set the text cell to a null widget.
+t.setWidget(0, 0, null);
+assertEquals(text should be cleared when the widget is set to  
null, ,

+t.getText(0, 0));
+assertEquals(widget should be cleared when set to null, content,
+t.getWidget(0, 1));
+
+// Set the widget cell to a null widget.
+t.setWidget(0, 1, null);
+assertEquals(, t.getText(0, 0));
+assertNull(t.getWidget(0, 1));
+  }
+
   public void testSafeHtml() {
 HTMLTable table = getTable(1, 1);
 table.setHTML(0, 0, SafeHtmlUtils.fromSafeConstant(html));


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


[gwt-contrib] Re: Fixing HTMLTable#setWidget() to remove the widget or text when null is passed as the widget. Cu... (issue1358803)

2011-02-15 Thread rjrjr

LGTM

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

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


[gwt-contrib] Re: Initial add of JSON-RPC support to RequestFactory. (issue1355804)

2011-02-15 Thread rjrjr

LGTM


http://gwt-code-reviews.appspot.com/1355804/diff/1/3
File user/src/com/google/gwt/autobean/shared/AutoBeanCodex.java (right):

http://gwt-code-reviews.appspot.com/1355804/diff/1/3#newcode432
user/src/com/google/gwt/autobean/shared/AutoBeanCodex.java:432: public
static void decodeInto(Splittable data, AutoBean? bean) {
Yaay!

http://gwt-code-reviews.appspot.com/1355804/diff/1/4
File user/src/com/google/gwt/autobean/shared/ValueCodex.java (right):

http://gwt-code-reviews.appspot.com/1355804/diff/1/4#newcode91
user/src/com/google/gwt/autobean/shared/ValueCodex.java:91: public Date
decode(Class? clazz, String value) {
format

http://gwt-code-reviews.appspot.com/1355804/diff/1/4#newcode95
user/src/com/google/gwt/autobean/shared/ValueCodex.java:95: // XXX
Figure out how to decode iso 8601 dates in compatible manner
Is that really possible? Should we just declare this as a limitation of
the framework, that dates are longs and such is life? Or is iso 8601
part of the json rpc spec?

http://gwt-code-reviews.appspot.com/1355804/diff/1/7
File
user/src/com/google/gwt/requestfactory/rebind/model/RequestFactoryModel.java
(right):

http://gwt-code-reviews.appspot.com/1355804/diff/1/7#newcode351
user/src/com/google/gwt/requestfactory/rebind/model/RequestFactoryModel.java:351:
methodBuilder.addExtraSetter(maybeSetter);
Should you be posting an error here if the dialect is standard?

http://gwt-code-reviews.appspot.com/1355804/diff/1/12
File user/src/com/google/gwt/requestfactory/shared/JsonRpcContent.java
(right):

http://gwt-code-reviews.appspot.com/1355804/diff/1/12#newcode26
user/src/com/google/gwt/requestfactory/shared/JsonRpcContent.java:26: *
REST-style request.
Not a rest style request

http://gwt-code-reviews.appspot.com/1355804/diff/1/17
File
user/src/com/google/gwt/requestfactory/shared/impl/AbstractRequestContext.java
(right):

http://gwt-code-reviews.appspot.com/1355804/diff/1/17#newcode91
user/src/com/google/gwt/requestfactory/shared/impl/AbstractRequestContext.java:91:
interface DialectImpl {
Can the DialectImpl's be broken out into their own files? Or are they
just too inner for that?

http://gwt-code-reviews.appspot.com/1355804/diff/1/17#newcode126
user/src/com/google/gwt/requestfactory/shared/impl/AbstractRequestContext.java:126:
request.setVersion(2.0);
What's the magic number about?

http://gwt-code-reviews.appspot.com/1355804/diff/1/17#newcode131
user/src/com/google/gwt/requestfactory/shared/impl/AbstractRequestContext.java:131:
for (Map.EntryString, Object entry :
data.getNamedParameters().entrySet()) {
I know this would be a step backward, and has nothing to do with this
patch, but let me get it off my chest:

I can't shake the feeling some size and performance issues might go away
if autobean could generate facades backed by jso objects, more in the
style of the bad old RF implementation.  Do lazy reification in getters;
convert back to jso on set; that kind of thing. In theory you'd be ready
for a simple call to stringify at a moment's notice.

Horrible to debug and maintain, but now you have acres of unit tests to
keep you sane. Maybe it's time?

I suppose it wouldn't help with your plague-of-visitors issue. I guess
one question is how much of the burden is acres of getFoo and setBar
methods. Might such an approach eliminate some of the visitors?

There, I'm done.

http://gwt-code-reviews.appspot.com/1355804/diff/1/17#newcode192
user/src/com/google/gwt/requestfactory/shared/impl/AbstractRequestContext.java:192:
class StandardPayloadDialect implements DialectImpl {
Correct to presume that nothing changed here?

http://gwt-code-reviews.appspot.com/1355804/diff/1/20
File user/src/com/google/gwt/requestfactory/shared/impl/RequestData.java
(right):

http://gwt-code-reviews.appspot.com/1355804/diff/1/20#newcode114
user/src/com/google/gwt/requestfactory/shared/impl/RequestData.java:114:
* GET-style REST request.
not rest

http://gwt-code-reviews.appspot.com/1355804/diff/1/21
File
user/src/com/google/gwt/requestfactory/shared/messages/JsonRpcRequest.java
(right):

http://gwt-code-reviews.appspot.com/1355804/diff/1/21#newcode24
user/src/com/google/gwt/requestfactory/shared/messages/JsonRpcRequest.java:24:
*
doc

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

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


[gwt-contrib] Re: Provides a CachedCompilationUnit class to serialize a CompilationUnit. (issue1357801)

2011-02-15 Thread zundel

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

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


[gwt-contrib] Re: Provides a CachedCompilationUnit class to serialize a CompilationUnit. (issue1357801)

2011-02-15 Thread zundel

updated patch


http://gwt-code-reviews.appspot.com/1357801/diff/4002/1013
File dev/core/src/com/google/gwt/dev/javac/CachedCompilationUnit.java
(right):

http://gwt-code-reviews.appspot.com/1357801/diff/4002/1013#newcode41
dev/core/src/com/google/gwt/dev/javac/CachedCompilationUnit.java:41:
private final transient String inputSource;
On 2011/02/14 20:39:08, scottb wrote:

I assume what you're trying to avoid here is double-caching the same

source...

it's just a bunch of needless work, right?



But I think there's another way to get there I would consider

adding an

additional constructor that takes a 'sourceToken' parameter.  Override
SourceFileCompilationUnit.writeReplace() to use that constructor

instead, and

you can avoid the byte[] - String - byte[] conversions and

allocations that

are going to happen.



For GeneratedCompilationUnit, you can do something similar EXCEPT that
currently, GeneratedUnitImpl uses a different instance of DiskCache,

so you

can't just copy the token.  You'd need to do one of these things:



a) Read GeneratedUnitImpl.cacheToken as bytes (to avoid the String

conversion)

and then write it back as bytes into the new cache.  (When you later

read it out

as String, it works just fine.)



b) Create a static singleton DiskCache that everyone shares,

DiskCache.get() or

DiskCache.INSTANCE or whatever.  Have (at least)

StandardGeneratorContext and

CompilationUnit use the singleton DiskCache instance (maybe everyone

should use

it).



c) Refactor diskCache to pass an object around instead of a long.  The

object

would know what cache it came from.  There are some interesting things

we could

do with this kind of implementation, such as GCing stuff that's no

longer

referenced.



I chose to unify all instances of DiskCache into one (save in the unit
test).  Then I  modified GeneratedUnit with an interface to fetch the
disk cache token.

http://gwt-code-reviews.appspot.com/1357801/diff/4002/1013#newcode59
dev/core/src/com/google/gwt/dev/javac/CachedCompilationUnit.java:59:
this.problems = unit.getProblems();
On 2011/02/14 20:39:08, scottb wrote:

Need to convert these to SerializableCategorizedProblems?


Done.

http://gwt-code-reviews.appspot.com/1357801/diff/4002/1016
File dev/core/src/com/google/gwt/dev/javac/Dependencies.java (right):

http://gwt-code-reviews.appspot.com/1357801/diff/4002/1016#newcode132
dev/core/src/com/google/gwt/dev/javac/Dependencies.java:132:
qualified.put(qualifiedRef, new DirectRef(null));
On 2011/02/14 20:39:08, scottb wrote:

Might be simpler to just initialize a null value here and make

DirectRef itself

never contain null.


Its not necessarily simpler because I had to put in more null checks,
but making a DirectRef with no class is kind of pointless.
Done.

http://gwt-code-reviews.appspot.com/1357801/diff/4002/1016#newcode216
dev/core/src/com/google/gwt/dev/javac/Dependencies.java:216: private
void readObject(ObjectInputStream inputStream)
On 2011/02/14 20:39:08, scottb wrote:

Kill this and writeObject, no need for custom serialization.


Done.

http://gwt-code-reviews.appspot.com/1357801/diff/4002/1016#newcode246
dev/core/src/com/google/gwt/dev/javac/Dependencies.java:246: Ref myRef =
entry.getValue();
On 2011/02/14 20:39:08, scottb wrote:

The logic flow seems a bit more complicated here, especially since a
SerializedRef always returns null for a compiled class, so that the

initial

null == null test never works.



If you go with the idea of a null Ref to denote a reference to

nothing, you can

essentially leave this method alone and just change structurallySame

to take

Ref mine and do a dynamic instanceof internally.



It would also let you get rid of Ref.getCompiledClass() which only

makes sense

for a DirectRef.


Done.

http://gwt-code-reviews.appspot.com/1357801/diff/4002/1017
File dev/core/src/com/google/gwt/dev/javac/GWTProblem.java (right):

http://gwt-code-reviews.appspot.com/1357801/diff/4002/1017#newcode89
dev/core/src/com/google/gwt/dev/javac/GWTProblem.java:89: return new
SerializableCategorizedProblem(this);
On 2011/02/14 20:39:08, scottb wrote:

HelpInfo gets lost if you do this.  Maybe just make GWTProblem extend
SerializableCategorizedProblem?


I did this, but I kind of cheated and instantiated DefaultProblem first
to do the hard work of formatting the problem.

http://gwt-code-reviews.appspot.com/1357801/diff/4002/1021
File dev/core/test/com/google/gwt/dev/javac/CompilationStateTest.java
(right):

http://gwt-code-reviews.appspot.com/1357801/diff/4002/1021#newcode338
dev/core/test/com/google/gwt/dev/javac/CompilationStateTest.java:338:
deps.resolve(classMap);
On 2011/02/14 20:39:08, scottb wrote:

Actually, now that you've reimplemented Dependencies, we *don't*

actually need

to run resolve() anymore after deserialization, right?


Done.

http://gwt-code-reviews.appspot.com/1357801/diff/4002/1021#newcode349
dev/core/test/com/google/gwt/dev/javac/CompilationStateTest.java:349:

[gwt-contrib] [google-web-toolkit] r9737 committed - Fixing HTMLTable#setWidget() to remove the widget or text when null is...

2011-02-15 Thread codesite-noreply

Revision: 9737
Author: jlaba...@google.com
Date: Tue Feb 15 09:05:00 2011
Log: Fixing HTMLTable#setWidget() to remove the widget or text when null is  
passed as the widget.  Currently, the widget is not removed.


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

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

Modified:
 /trunk/user/src/com/google/gwt/user/client/ui/HTMLTable.java
 /trunk/user/test/com/google/gwt/user/client/ui/HTMLTableTestBase.java

===
--- /trunk/user/src/com/google/gwt/user/client/ui/HTMLTable.java	Tue Sep 21  
07:53:19 2010
+++ /trunk/user/src/com/google/gwt/user/client/ui/HTMLTable.java	Tue Feb 15  
09:05:00 2011

@@ -1091,19 +1091,20 @@
* within the Grid's bounding box.
* /p
*
-   * @param widget The widget to be added
+   * @param widget The widget to be added, or null to clear the cell
* @param row the cell's row
* @param column the cell's column
* @throws IndexOutOfBoundsException
*/
   public void setWidget(int row, int column, Widget widget) {
 prepareCell(row, column);
+
+// Removes any existing widget.
+Element td = cleanCell(row, column, true);
+
 if (widget != null) {
   widget.removeFromParent();

-  // Removes any existing widget.
-  Element td = cleanCell(row, column, true);
-
   // Logical attach.
   widgetMap.put(widget);

===
--- /trunk/user/test/com/google/gwt/user/client/ui/HTMLTableTestBase.java	 
Wed Jan 19 08:59:29 2011
+++ /trunk/user/test/com/google/gwt/user/client/ui/HTMLTableTestBase.java	 
Tue Feb 15 09:05:00 2011

@@ -240,6 +240,29 @@
 formatter.setHorizontalAlignment(1, 1,  
HasHorizontalAlignment.ALIGN_RIGHT);

 formatter.setWidth(0, 2, 100%);
   }
+
+  public void testSetWidgetNull() {
+HTMLTable t = getTable(1, 2);
+
+// Set some text and a widget.
+Label content = new Label(widget);
+t.setText(0, 0, hello world);
+t.setWidget(0, 1, content);
+assertEquals(hello world, t.getText(0, 0));
+assertEquals(content, t.getWidget(0, 1));
+
+// Set the text cell to a null widget.
+t.setWidget(0, 0, null);
+assertEquals(text should be cleared when the widget is set to  
null, ,

+t.getText(0, 0));
+assertEquals(widget should be cleared when set to null, content,
+t.getWidget(0, 1));
+
+// Set the widget cell to a null widget.
+t.setWidget(0, 1, null);
+assertEquals(, t.getText(0, 0));
+assertNull(t.getWidget(0, 1));
+  }

   public void testSafeHtml() {
 HTMLTable table = getTable(1, 1);

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


[gwt-contrib] Re: Fixing HTMLTable#setWidget() to remove the widget or text when null is passed as the widget. Cu... (issue1358803)

2011-02-15 Thread jlabanca

committed as r9737

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

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


[gwt-contrib] Re: Clean up warnings (issue1357807)

2011-02-15 Thread nchalko

Thanks for cleaning this up.

LGTM for the validation cod.e

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

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


[gwt-contrib] Change the DevModeOptions page to use the xs linker due to recent Chrome extension permissions c... (issue1356803)

2011-02-15 Thread conroy

Reviewers: jat, fabiomfv, knorton,

Description:
Change the DevModeOptions page to use the xs linker due to recent Chrome
extension permissions changes


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

Affected files:
  M  
plugins/npapi/DevModeOptions/src/com/google/gwt/devmodeoptions/DevModeOptions.gwt.xml

  M plugins/npapi/prebuilt/gwt-dev-plugin/manifest.json


Index:  
plugins/npapi/DevModeOptions/src/com/google/gwt/devmodeoptions/DevModeOptions.gwt.xml

===
---  
plugins/npapi/DevModeOptions/src/com/google/gwt/devmodeoptions/DevModeOptions.gwt.xml	 
(revision 9720)
+++  
plugins/npapi/DevModeOptions/src/com/google/gwt/devmodeoptions/DevModeOptions.gwt.xml	 
(working copy)

@@ -9,6 +9,7 @@

   !-- TARGETING WEBKIT ONLY --
   set-property name='user.agent' value='safari' /
+  add-linker name=xs /

   !-- Specify the paths for translatable code--
   source path='client'/
Index: plugins/npapi/prebuilt/gwt-dev-plugin/manifest.json
===
--- plugins/npapi/prebuilt/gwt-dev-plugin/manifest.json (revision 9720)
+++ plugins/npapi/prebuilt/gwt-dev-plugin/manifest.json (working copy)
@@ -1,6 +1,6 @@
 {
   name: GWT Developer Plugin,
-  version: 1.0.9646,
+  version: 1.0.9737,
   description: A plugin to enable debugging with GWT's Development  
Mode,

   update_url: https://dl-ssl.google.com/gwt/plugins/chrome/updates.xml;,
   icons: {


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


[gwt-contrib] Re: Change the DevModeOptions page to use the xs linker due to recent Chrome extension permissions c... (issue1356803)

2011-02-15 Thread knorton

lgtm and the horse I rode in on.

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

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


[gwt-contrib] Re: Change the DevModeOptions page to use the xs linker due to recent Chrome extension permissions c... (issue1356803)

2011-02-15 Thread jat


http://gwt-code-reviews.appspot.com/1356803/diff/1/2
File
plugins/npapi/DevModeOptions/src/com/google/gwt/devmodeoptions/DevModeOptions.gwt.xml
(right):

http://gwt-code-reviews.appspot.com/1356803/diff/1/2#newcode12
plugins/npapi/DevModeOptions/src/com/google/gwt/devmodeoptions/DevModeOptions.gwt.xml:12:
add-linker name=xs /
I think you want to use xsiframe instead, as it is intended to be the
one-size-fits-all linker.  Talk to unnurg if you have any difficulties
using it instead.

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

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


[gwt-contrib] Re: Change the DevModeOptions page to use the xs linker due to recent Chrome extension permissions c... (issue1356803)

2011-02-15 Thread Chris Conroy
Sorry, didn't see your comment in time for the commit. I just used the
same fix Kelly applied in SpeedTracer. I don't think it really matters
strongly either way.

On Tue, Feb 15, 2011 at 3:56 PM,  j...@google.com wrote:

 http://gwt-code-reviews.appspot.com/1356803/diff/1/2
 File
 plugins/npapi/DevModeOptions/src/com/google/gwt/devmodeoptions/DevModeOptions.gwt.xml
 (right):

 http://gwt-code-reviews.appspot.com/1356803/diff/1/2#newcode12
 plugins/npapi/DevModeOptions/src/com/google/gwt/devmodeoptions/DevModeOptions.gwt.xml:12:
 add-linker name=xs /
 I think you want to use xsiframe instead, as it is intended to be the
 one-size-fits-all linker.  Talk to unnurg if you have any difficulties
 using it instead.

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


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


[gwt-contrib] Re: Change the DevModeOptions page to use the xs linker due to recent Chrome extension permissions c... (issue1356803)

2011-02-15 Thread John Tamplin
On Tue, Feb 15, 2011 at 4:03 PM, Chris Conroy con...@google.com wrote:

 Sorry, didn't see your comment in time for the commit. I just used the
 same fix Kelly applied in SpeedTracer. I don't think it really matters
 strongly either way.


As I understand it, the xs linker will soon be deprecated since the xsiframe
linker provides a superset of its functionality.

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

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

[gwt-contrib] [google-web-toolkit] r9738 committed - Change the DevModeOptions page to use the xs linker due to recent Chro...

2011-02-15 Thread codesite-noreply

Revision: 9738
Author: con...@google.com
Date: Tue Feb 15 10:02:10 2011
Log: Change the DevModeOptions page to use the xs linker due to recent  
Chrome extension permissions changes


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

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

Modified:
  
/trunk/plugins/npapi/DevModeOptions/src/com/google/gwt/devmodeoptions/DevModeOptions.gwt.xml

 /trunk/plugins/npapi/prebuilt/gwt-dev-plugin/manifest.json
 /trunk/plugins/npapi/prebuilt/gwt-dev-plugin.crx

===
---  
/trunk/plugins/npapi/DevModeOptions/src/com/google/gwt/devmodeoptions/DevModeOptions.gwt.xml	 
Tue Nov 23 05:51:12 2010
+++  
/trunk/plugins/npapi/DevModeOptions/src/com/google/gwt/devmodeoptions/DevModeOptions.gwt.xml	 
Tue Feb 15 10:02:10 2011

@@ -9,6 +9,7 @@

   !-- TARGETING WEBKIT ONLY --
   set-property name='user.agent' value='safari' /
+  add-linker name=xs /

   !-- Specify the paths for translatable code--
   source path='client'/
===
--- /trunk/plugins/npapi/prebuilt/gwt-dev-plugin/manifest.json	Fri Jan 28  
05:16:50 2011
+++ /trunk/plugins/npapi/prebuilt/gwt-dev-plugin/manifest.json	Tue Feb 15  
10:02:10 2011

@@ -1,6 +1,6 @@
 {
   name: GWT Developer Plugin,
-  version: 1.0.9646,
+  version: 1.0.9737,
   description: A plugin to enable debugging with GWT's Development  
Mode,

   update_url: https://dl-ssl.google.com/gwt/plugins/chrome/updates.xml;,
   icons: {
===
--- /trunk/plugins/npapi/prebuilt/gwt-dev-plugin.crx	Fri Jan 28 05:16:50  
2011
+++ /trunk/plugins/npapi/prebuilt/gwt-dev-plugin.crx	Tue Feb 15 10:02:10  
2011

Binary file, no diff available.

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


[gwt-contrib] Re: Change the DevModeOptions page to use the xs linker due to recent Chrome extension permissions c... (issue1356803)

2011-02-15 Thread Unnur Gretarsdottir
All google3 projects are being switched to xsiframe in a few weeks
(currently blocked by lack of a Blaze push).  Deprecation/deletions of
other linkers for regular GWT will soon follow, but to be honest, will
be a GWT 3.0 thing at the very earliest.

It's not a burning issue, but I do recommend that you do not switch to
the xs linker at this point. It doesn't install in an iframe, and
switching from being iframe installed vs. not has proven painful for
some teams.  Right now - if you're using the std linker (default),
your compliant with being installed in an iframe, so if you start
using xs, pick up some code dependencies that assume non-iframe, and
then need to switch back to iframe based (xsiframe), you may see some
issues.  Or maybe not

It's also possible that xs does not support DevMode - I can't remember
off the top of my head.  If you care about that, then xsiframe
definitely does support it.

- Unnur

On Tue, Feb 15, 2011 at 1:09 PM, John Tamplin j...@google.com wrote:
 On Tue, Feb 15, 2011 at 4:03 PM, Chris Conroy con...@google.com wrote:

 Sorry, didn't see your comment in time for the commit. I just used the
 same fix Kelly applied in SpeedTracer. I don't think it really matters
 strongly either way.

 As I understand it, the xs linker will soon be deprecated since the xsiframe
 linker provides a superset of its functionality.

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


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


Re: [gwt-contrib] Re: RequestFactory access from Android

2011-02-15 Thread Patrick Julien
Thanks Bob, do you mind if I file an issue to formally request this?

At this stage, I have it compiling but unable to parse requests on the server

On Tue, Feb 15, 2011 at 1:09 PM, BobV b...@google.com wrote:
 RequestFactoryMagic works on Android, but you'll need to do some build
 hacking to get RF it to compile against the Android SDK.

 Here's what I did as an experiment:

 1) Extract autobean/{shared, server}/** and requestfactory{shared,
 server/testing}/** from gwt-user.jar.
 1a)  There are a few other build dependencies to tease out.
 2) Write a RequestTransport that uses java.net.HttpUrlConnection or
 the Apache HttpClient libs.
 3) IIRC, there's one or two minor API incompatibilities in the
 org.json APIs built into the ADK, but they're simple to fix.

 Being able to put together a self-contained requestfactory-client.jar
 would go a long way to improving code re-use for GWT devs who want
 Android clients (and hopefully the other way around).

 --
 Bob Vawter
 Google Web Toolkit Team

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

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


[gwt-contrib] Re: Change the DevModeOptions page to use the xs linker due to recent Chrome extension permissions c... (issue1356803)

2011-02-15 Thread Kelly Norton
xsiframe is fine if it works. But you'll have to check it because these are
not the normal xs restrictions.

On Tue, Feb 15, 2011 at 4:28 PM, Unnur Gretarsdottir unn...@google.comwrote:

 All google3 projects are being switched to xsiframe in a few weeks
 (currently blocked by lack of a Blaze push).  Deprecation/deletions of
 other linkers for regular GWT will soon follow, but to be honest, will
 be a GWT 3.0 thing at the very earliest.

 It's not a burning issue, but I do recommend that you do not switch to
 the xs linker at this point. It doesn't install in an iframe, and
 switching from being iframe installed vs. not has proven painful for
 some teams.  Right now - if you're using the std linker (default),
 your compliant with being installed in an iframe, so if you start
 using xs, pick up some code dependencies that assume non-iframe, and
 then need to switch back to iframe based (xsiframe), you may see some
 issues.  Or maybe not

 It's also possible that xs does not support DevMode - I can't remember
 off the top of my head.  If you care about that, then xsiframe
 definitely does support it.

 - Unnur

 On Tue, Feb 15, 2011 at 1:09 PM, John Tamplin j...@google.com wrote:
  On Tue, Feb 15, 2011 at 4:03 PM, Chris Conroy con...@google.com wrote:
 
  Sorry, didn't see your comment in time for the commit. I just used the
  same fix Kelly applied in SpeedTracer. I don't think it really matters
  strongly either way.
 
  As I understand it, the xs linker will soon be deprecated since the
 xsiframe
  linker provides a superset of its functionality.
 
  --
  John A. Tamplin
  Software Engineer (GWT), Google
 




-- 
If you received this communication by mistake, you are entitled to one free
ice cream cone on me. Simply print out this email including all relevant
SMTP headers and present them at my desk to claim your creamy treat. We'll
have a laugh at my emailing incompetence, and play a game of ping pong.
(offer may not be valid in all States).

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

[gwt-contrib] [google-web-toolkit] r9739 committed - Scratch that, use the xsiframe linker per jat's suggestion...

2011-02-15 Thread codesite-noreply

Revision: 9739
Author: gwt.mirror...@gmail.com
Date: Tue Feb 15 10:45:05 2011
Log: Scratch that, use the xsiframe linker per jat's suggestion

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

Modified:
  
/trunk/plugins/npapi/DevModeOptions/src/com/google/gwt/devmodeoptions/DevModeOptions.gwt.xml

 /trunk/plugins/npapi/prebuilt/gwt-dev-plugin/manifest.json
 /trunk/plugins/npapi/prebuilt/gwt-dev-plugin.crx

===
---  
/trunk/plugins/npapi/DevModeOptions/src/com/google/gwt/devmodeoptions/DevModeOptions.gwt.xml	 
Tue Feb 15 10:02:10 2011
+++  
/trunk/plugins/npapi/DevModeOptions/src/com/google/gwt/devmodeoptions/DevModeOptions.gwt.xml	 
Tue Feb 15 10:45:05 2011

@@ -9,7 +9,7 @@

   !-- TARGETING WEBKIT ONLY --
   set-property name='user.agent' value='safari' /
-  add-linker name=xs /
+  add-linker name=xsiframe /

   !-- Specify the paths for translatable code--
   source path='client'/
===
--- /trunk/plugins/npapi/prebuilt/gwt-dev-plugin/manifest.json	Tue Feb 15  
10:02:10 2011
+++ /trunk/plugins/npapi/prebuilt/gwt-dev-plugin/manifest.json	Tue Feb 15  
10:45:05 2011

@@ -1,6 +1,6 @@
 {
   name: GWT Developer Plugin,
-  version: 1.0.9737,
+  version: 1.0.9738,
   description: A plugin to enable debugging with GWT's Development  
Mode,

   update_url: https://dl-ssl.google.com/gwt/plugins/chrome/updates.xml;,
   icons: {
===
--- /trunk/plugins/npapi/prebuilt/gwt-dev-plugin.crx	Tue Feb 15 10:02:10  
2011
+++ /trunk/plugins/npapi/prebuilt/gwt-dev-plugin.crx	Tue Feb 15 10:45:05  
2011

Binary file, no diff available.

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


[gwt-contrib] Re: Change the DevModeOptions page to use the xs linker due to recent Chrome extension permissions c... (issue1356803)

2011-02-15 Thread Chris Conroy
Actually, it does work.

On Tue, Feb 15, 2011 at 4:49 PM, Kelly Norton knor...@google.com wrote:
 I could be wrong, but I don't think the xsiframe linker is going to work
 here.

 On Tue, Feb 15, 2011 at 4:46 PM, Kelly Norton knor...@google.com wrote:

 xsiframe is fine if it works. But you'll have to check it because these
 are not the normal xs restrictions.

 On Tue, Feb 15, 2011 at 4:28 PM, Unnur Gretarsdottir unn...@google.com
 wrote:

 All google3 projects are being switched to xsiframe in a few weeks
 (currently blocked by lack of a Blaze push).  Deprecation/deletions of
 other linkers for regular GWT will soon follow, but to be honest, will
 be a GWT 3.0 thing at the very earliest.

 It's not a burning issue, but I do recommend that you do not switch to
 the xs linker at this point. It doesn't install in an iframe, and
 switching from being iframe installed vs. not has proven painful for
 some teams.  Right now - if you're using the std linker (default),
 your compliant with being installed in an iframe, so if you start
 using xs, pick up some code dependencies that assume non-iframe, and
 then need to switch back to iframe based (xsiframe), you may see some
 issues.  Or maybe not

 It's also possible that xs does not support DevMode - I can't remember
 off the top of my head.  If you care about that, then xsiframe
 definitely does support it.

 - Unnur

 On Tue, Feb 15, 2011 at 1:09 PM, John Tamplin j...@google.com wrote:
  On Tue, Feb 15, 2011 at 4:03 PM, Chris Conroy con...@google.com
  wrote:
 
  Sorry, didn't see your comment in time for the commit. I just used the
  same fix Kelly applied in SpeedTracer. I don't think it really matters
  strongly either way.
 
  As I understand it, the xs linker will soon be deprecated since the
  xsiframe
  linker provides a superset of its functionality.
 
  --
  John A. Tamplin
  Software Engineer (GWT), Google
 



 --
 If you received this communication by mistake, you are entitled to one
 free ice cream cone on me. Simply print out this email including all
 relevant SMTP headers and present them at my desk to claim your creamy
 treat. We'll have a laugh at my emailing incompetence, and play a game of
 ping pong. (offer may not be valid in all States).




 --
 If you received this communication by mistake, you are entitled to one free
 ice cream cone on me. Simply print out this email including all relevant
 SMTP headers and present them at my desk to claim your creamy treat. We'll
 have a laugh at my emailing incompetence, and play a game of ping pong.
 (offer may not be valid in all States).



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


[gwt-contrib] Re: Change the DevModeOptions page to use the xs linker due to recent Chrome extension permissions c... (issue1356803)

2011-02-15 Thread Unnur Gretarsdottir
I actually don't have a really strong opinion here - if it's not easy
and you guys want to punt on it for now, that's fine with me - we can
deal with it, along with everything else, when the time comes.

I would be curious as to why it won't work though, since we do, long
term, want the xsiframe linker to meet all needs  (with the exception
of script tags in the gwt.xml), so it'd be good to be aware of what
shortcomings it currently has.

- Unnur

On Tue, Feb 15, 2011 at 1:49 PM, Kelly Norton knor...@google.com wrote:
 I could be wrong, but I don't think the xsiframe linker is going to work
 here.

 On Tue, Feb 15, 2011 at 4:46 PM, Kelly Norton knor...@google.com wrote:

 xsiframe is fine if it works. But you'll have to check it because these
 are not the normal xs restrictions.

 On Tue, Feb 15, 2011 at 4:28 PM, Unnur Gretarsdottir unn...@google.com
 wrote:

 All google3 projects are being switched to xsiframe in a few weeks
 (currently blocked by lack of a Blaze push).  Deprecation/deletions of
 other linkers for regular GWT will soon follow, but to be honest, will
 be a GWT 3.0 thing at the very earliest.

 It's not a burning issue, but I do recommend that you do not switch to
 the xs linker at this point. It doesn't install in an iframe, and
 switching from being iframe installed vs. not has proven painful for
 some teams.  Right now - if you're using the std linker (default),
 your compliant with being installed in an iframe, so if you start
 using xs, pick up some code dependencies that assume non-iframe, and
 then need to switch back to iframe based (xsiframe), you may see some
 issues.  Or maybe not

 It's also possible that xs does not support DevMode - I can't remember
 off the top of my head.  If you care about that, then xsiframe
 definitely does support it.

 - Unnur

 On Tue, Feb 15, 2011 at 1:09 PM, John Tamplin j...@google.com wrote:
  On Tue, Feb 15, 2011 at 4:03 PM, Chris Conroy con...@google.com
  wrote:
 
  Sorry, didn't see your comment in time for the commit. I just used the
  same fix Kelly applied in SpeedTracer. I don't think it really matters
  strongly either way.
 
  As I understand it, the xs linker will soon be deprecated since the
  xsiframe
  linker provides a superset of its functionality.
 
  --
  John A. Tamplin
  Software Engineer (GWT), Google
 



 --
 If you received this communication by mistake, you are entitled to one
 free ice cream cone on me. Simply print out this email including all
 relevant SMTP headers and present them at my desk to claim your creamy
 treat. We'll have a laugh at my emailing incompetence, and play a game of
 ping pong. (offer may not be valid in all States).




 --
 If you received this communication by mistake, you are entitled to one free
 ice cream cone on me. Simply print out this email including all relevant
 SMTP headers and present them at my desk to claim your creamy treat. We'll
 have a laugh at my emailing incompetence, and play a game of ping pong.
 (offer may not be valid in all States).



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


[gwt-contrib] Re: Change the DevModeOptions page to use the xs linker due to recent Chrome extension permissions c... (issue1356803)

2011-02-15 Thread Kelly Norton
Awesome. good to know. I need to figure out how it manages to work.

On Tue, Feb 15, 2011 at 4:52 PM, Chris Conroy con...@google.com wrote:

 Actually, it does work.

 On Tue, Feb 15, 2011 at 4:49 PM, Kelly Norton knor...@google.com wrote:
  I could be wrong, but I don't think the xsiframe linker is going to work
  here.
 
  On Tue, Feb 15, 2011 at 4:46 PM, Kelly Norton knor...@google.com
 wrote:
 
  xsiframe is fine if it works. But you'll have to check it because these
  are not the normal xs restrictions.
 
  On Tue, Feb 15, 2011 at 4:28 PM, Unnur Gretarsdottir unn...@google.com
 
  wrote:
 
  All google3 projects are being switched to xsiframe in a few weeks
  (currently blocked by lack of a Blaze push).  Deprecation/deletions of
  other linkers for regular GWT will soon follow, but to be honest, will
  be a GWT 3.0 thing at the very earliest.
 
  It's not a burning issue, but I do recommend that you do not switch to
  the xs linker at this point. It doesn't install in an iframe, and
  switching from being iframe installed vs. not has proven painful for
  some teams.  Right now - if you're using the std linker (default),
  your compliant with being installed in an iframe, so if you start
  using xs, pick up some code dependencies that assume non-iframe, and
  then need to switch back to iframe based (xsiframe), you may see some
  issues.  Or maybe not
 
  It's also possible that xs does not support DevMode - I can't remember
  off the top of my head.  If you care about that, then xsiframe
  definitely does support it.
 
  - Unnur
 
  On Tue, Feb 15, 2011 at 1:09 PM, John Tamplin j...@google.com wrote:
   On Tue, Feb 15, 2011 at 4:03 PM, Chris Conroy con...@google.com
   wrote:
  
   Sorry, didn't see your comment in time for the commit. I just used
 the
   same fix Kelly applied in SpeedTracer. I don't think it really
 matters
   strongly either way.
  
   As I understand it, the xs linker will soon be deprecated since the
   xsiframe
   linker provides a superset of its functionality.
  
   --
   John A. Tamplin
   Software Engineer (GWT), Google
  
 
 
 
  --
  If you received this communication by mistake, you are entitled to one
  free ice cream cone on me. Simply print out this email including all
  relevant SMTP headers and present them at my desk to claim your creamy
  treat. We'll have a laugh at my emailing incompetence, and play a game
 of
  ping pong. (offer may not be valid in all States).
 
 
 
 
  --
  If you received this communication by mistake, you are entitled to one
 free
  ice cream cone on me. Simply print out this email including all relevant
  SMTP headers and present them at my desk to claim your creamy treat.
 We'll
  have a laugh at my emailing incompetence, and play a game of ping pong.
  (offer may not be valid in all States).
 
 




-- 
If you received this communication by mistake, you are entitled to one free
ice cream cone on me. Simply print out this email including all relevant
SMTP headers and present them at my desk to claim your creamy treat. We'll
have a laugh at my emailing incompetence, and play a game of ping pong.
(offer may not be valid in all States).

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

[gwt-contrib] Re: Provides a CachedCompilationUnit class to serialize a CompilationUnit. (issue1357801)

2011-02-15 Thread scottb

Sweet, I think we're almost there.  Mostly nits.


http://gwt-code-reviews.appspot.com/1357801/diff/4002/1014
File dev/core/src/com/google/gwt/dev/javac/CompilationUnit.java (right):

http://gwt-code-reviews.appspot.com/1357801/diff/4002/1014#newcode341
dev/core/src/com/google/gwt/dev/javac/CompilationUnit.java:341: }
Rather than deleting it, I would leave it as abstract to force
subclasses to implement it.

http://gwt-code-reviews.appspot.com/1357801/diff/4002/1021
File dev/core/test/com/google/gwt/dev/javac/CompilationStateTest.java
(right):

http://gwt-code-reviews.appspot.com/1357801/diff/4002/1021#newcode526
dev/core/test/com/google/gwt/dev/javac/CompilationStateTest.java:526:
String f2 = parseJs(function()  + jsniFunction.getBody().toSource());
What I meant involved parsing 'expected' as a block rather than a
function, but no big deal.

http://gwt-code-reviews.appspot.com/1357801/diff/2017/1028
File dev/core/src/com/google/gwt/dev/javac/CachedCompilationUnit.java
(right):

http://gwt-code-reviews.appspot.com/1357801/diff/2017/1028#newcode44
dev/core/src/com/google/gwt/dev/javac/CachedCompilationUnit.java:44:
private transient byte[] sourceCode = null;
Can we just keep sourceToken and kill the other two source fields?  It's
simpler and ensures lowest memory use.  The 1-arg constructor can just
call this(unit, diskCache.writeString(unit.getSource()));

http://gwt-code-reviews.appspot.com/1357801/diff/2017/1031
File dev/core/src/com/google/gwt/dev/javac/CompiledClass.java (right):

http://gwt-code-reviews.appspot.com/1357801/diff/2017/1031#newcode101
dev/core/src/com/google/gwt/dev/javac/CompiledClass.java:101: public
String getSignatureHash() {
Javadoc doesn't match the impl.. leave a TODO in the javadoc?

http://gwt-code-reviews.appspot.com/1357801/diff/2017/1032
File dev/core/src/com/google/gwt/dev/javac/Dependencies.java (right):

http://gwt-code-reviews.appspot.com/1357801/diff/2017/1032#newcode71
dev/core/src/com/google/gwt/dev/javac/Dependencies.java:71: abstract
static class Ref implements Serializable {
I'd also add getInternalName()... that would allow you to kill some
casts + calls to getCompiledClass() in test code.

http://gwt-code-reviews.appspot.com/1357801/diff/2017/1032#newcode204
dev/core/src/com/google/gwt/dev/javac/Dependencies.java:204: private
void readObject(ObjectInputStream inputStream)
Still needs to die.

http://gwt-code-reviews.appspot.com/1357801/diff/2017/1034
File dev/core/src/com/google/gwt/dev/javac/GeneratedUnit.java (right):

http://gwt-code-reviews.appspot.com/1357801/diff/2017/1034#newcode28
dev/core/src/com/google/gwt/dev/javac/GeneratedUnit.java:28: * through.
If this unit is not to be serialized, return -1.
Returns the source code as a token for {@link DiskCache#INSTANCE}, or
-1 if the source is not cached.

http://gwt-code-reviews.appspot.com/1357801/diff/2017/1037
File
dev/core/src/com/google/gwt/dev/javac/SourceFileCompilationUnit.java
(right):

http://gwt-code-reviews.appspot.com/1357801/diff/2017/1037#newcode99
dev/core/src/com/google/gwt/dev/javac/SourceFileCompilationUnit.java:99:
return new CachedCompilationUnit(this, sourceCode);
Just call getSource() to force the token to get initialized.

http://gwt-code-reviews.appspot.com/1357801/diff/2017/1038
File dev/core/src/com/google/gwt/dev/javac/StandardGeneratorContext.java
(right):

http://gwt-code-reviews.appspot.com/1357801/diff/2017/1038#newcode138
dev/core/src/com/google/gwt/dev/javac/StandardGeneratorContext.java:138:
return sourceToken;
I'd copy the IllegalStateException code from getSource().

http://gwt-code-reviews.appspot.com/1357801/diff/2017/1040
File dev/core/src/com/google/gwt/dev/util/DiskCache.java (right):

http://gwt-code-reviews.appspot.com/1357801/diff/2017/1040#newcode64
dev/core/src/com/google/gwt/dev/util/DiskCache.java:64: * Use this
singleton if you need to access the Disk cache.
A global, shared DiskCache. maybe?

http://gwt-code-reviews.appspot.com/1357801/diff/2017/1043
File
dev/core/test/com/google/gwt/dev/javac/CompilationStateTestBase.java
(right):

http://gwt-code-reviews.appspot.com/1357801/diff/2017/1043#newcode81
dev/core/test/com/google/gwt/dev/javac/CompilationStateTestBase.java:81:
public long getSourceToken() {
Sort order.

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

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


[gwt-contrib] Re: Phase 1 of I18n Rewrite - support extended plurals/etc for export to property/etc files (issue1355802)

2011-02-15 Thread jat

Thanks for taking a look.

Regarding your general comments, the overall structure of the visitors
is modeled after ASM visitors.  The default visitor which provides
do-nothing implementations of all the visitors is also straight from
ASM, and provides an easy way to implement just what you want and also
provides future compatibility so if a method is added to an interface
your code will keep working as long as there is a reasonable default
implementation.

For the specifics of why the particular break-down was chosen, please
look at the three implementations of the visitor API --
LocalizableGeneratorVisitor and PropertyCatalogFactory here and the
internal implementation.  I don't think your proposed simplification is
sufficient for all three needs.


http://gwt-code-reviews.appspot.com/1355802/diff/4012/4024
File
user/src/com/google/gwt/i18n/rebind/AbstractLocalizableImplCreator.java
(right):

http://gwt-code-reviews.appspot.com/1355802/diff/4012/4024#newcode64
user/src/com/google/gwt/i18n/rebind/AbstractLocalizableImplCreator.java:64:
public static class MessageCatalogContextImpl
Ok.  It didn't seem useful outside of this case, which is why I made it
a static inner class.

http://gwt-code-reviews.appspot.com/1355802/diff/4012/4024#newcode313
user/src/com/google/gwt/i18n/rebind/AbstractLocalizableImplCreator.java:313:
if (msgCatFactory != null) {
On 2011/02/16 00:13:34, rjrjr wrote:

This method is already awfully tall Can these two cases be factored

out into

separate methods?


Ok, though it will take a *lot* of parameters :)

http://gwt-code-reviews.appspot.com/1355802/diff/4012/4026
File user/src/com/google/gwt/i18n/rebind/TypeOracleMessage.java (right):

http://gwt-code-reviews.appspot.com/1355802/diff/4012/4026#newcode47
user/src/com/google/gwt/i18n/rebind/TypeOracleMessage.java:47: * An
implementation of the {@link Message} API on top of type oracle.
On 2011/02/16 00:13:34, rjrjr wrote:

Now is the time to make unit tests of these things. It's pretty easy

to set up a

mock type oracle environment these days, via CompilationStateBuilder

and

JavaResourceBase.getStandardResources().



As an example, look at
com.google.gwt.uibinder.elementparsers.ElementParserTester, used by
DockLayoutPanelParserTest


Ok, thanks.

http://gwt-code-reviews.appspot.com/1355802/diff/4012/4026#newcode49
user/src/com/google/gwt/i18n/rebind/TypeOracleMessage.java:49: public
class TypeOracleMessage extends AbstractMessage implements Message {
On 2011/02/16 00:13:34, rjrjr wrote:

redundant implements. This happens all over the place.


Done.

http://gwt-code-reviews.appspot.com/1355802/diff/4012/4026#newcode244
user/src/com/google/gwt/i18n/rebind/TypeOracleMessage.java:244:
JClassType list = oracle.findType(java.util.List);
On 2011/02/16 00:13:34, rjrjr wrote:

Why strings instead of List.class.getCanonicalName(), etc.?


Done.

http://gwt-code-reviews.appspot.com/1355802/diff/4012/4030
File
user/src/com/google/gwt/i18n/rebind/format/MessageCatalogFactory.java
(right):

http://gwt-code-reviews.appspot.com/1355802/diff/4012/4030#newcode44
user/src/com/google/gwt/i18n/rebind/format/MessageCatalogFactory.java:44:
interface MessageCatalogContext {
On 2011/02/16 00:13:34, rjrjr wrote:

Why nest these interfaces?


They are only used in the context of MessageCatalogFactory, so it seems
more useful to define them here rather than separate classes and make
you figure out what they are used by.

http://gwt-code-reviews.appspot.com/1355802/diff/4012/4030#newcode71
user/src/com/google/gwt/i18n/rebind/format/MessageCatalogFactory.java:71:
void close() throws IOException;
On 2011/02/16 00:13:34, rjrjr wrote:

Why redeclare?


I personally have found it useful to declare these explicitly to make it
clear what contract an implementation has to fulfill.  I agree with the
IDE's help it is of limited value, so if you prefer I will remove it.

http://gwt-code-reviews.appspot.com/1355802/diff/4012/4042
File user/src/com/google/gwt/i18n/server/AbstractMessage.java (right):

http://gwt-code-reviews.appspot.com/1355802/diff/4012/4042#newcode55
user/src/com/google/gwt/i18n/server/AbstractMessage.java:55: public
abstract class AbstractParameter implements Parameter {
On 2011/02/16 00:13:34, rjrjr wrote:

Does this actually need to be an inner class? All it uses is

localeFactory, why

not just pass that in to its constructor?


For subclasses, they will generally need more information from the
*Message class.  I originally had it separate, and then found in my
implementations I had to just pass the corresponding *Message
implementation into the *Parameter implementation, so I figured just
make it a non-static class and let the compiler do that for me.

http://gwt-code-reviews.appspot.com/1355802/diff/4012/4042#newcode283
user/src/com/google/gwt/i18n/server/AbstractMessage.java:283: public
void accept(MessageVisitor mv, MessageTranslation trans)
On 2011/02/16 00:13:34, rjrjr wrote:

Why is this public? Why does it exist at all, if mv and trans