[gwt-contrib] factory methods

2010-10-13 Thread cokol
many other developers, including me, would appreciate if you'd use
protected factory methods in non-final classes (even if the class is
not abstract), like:

a no-go:

void func() {
 A = new A();
 A.doSomething();
}

instead, a better pattern:
---
protected A createA() {
 return new A();
}

void func() {
 A = createA();
 A.doSomething();
}
-


because in some situations the integration of GWT into existing
environment becomes a little nightmare, and it would be great pay more
attention to DI

thank you!!

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


[gwt-contrib] Re: Deprecate DeferredCommand and IncrementalCommand. (issue982802)

2010-10-13 Thread zundel


http://gwt-code-reviews.appspot.com/982802/diff/1/5
File user/src/com/google/gwt/user/client/DeferredCommand.java (right):

http://gwt-code-reviews.appspot.com/982802/diff/1/5#newcode27
user/src/com/google/gwt/user/client/DeferredCommand.java:27: *
  API prevents effective mocking.
On 2010/10/13 03:50:36, rjrjr wrote:

I thought it was deprecated because it was redundant...TMI?


IMHO, I don't think you can give too much information on the impetus
behind this change.  Its going to be painful to see all those
deprecation warnings come out the first time for most users.

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

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


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

2010-10-13 Thread Ed
I give up for now :(...
This issue is getting me against the roof... :(
Even with remote debugging it all go well
But let's not forget that the error only occurs sometimes: about 50%
of the time and mostly during the day when I run the build manually
when the server is more busy. During the night when the build server
isn't doing much, most of the time the timeout exception doesn't
occur.

Almost always the exception occurs in a test class (extending
GWTTestCase) that contains  more then one test. As far as I can see,
it never happens in test classes with only one test method... So it
seems that more tests in one GWTTestCase class take more time and in
someway triggers the timeout exception...

Also, in case the timeout exception occurs, the logging indicates that
the GWT servlet GWTShellServlet is correctly informed, but still the
exception occurs...

For now, I disabled these GWT test case that need the backend (through
RPC) as I can't work with this unpredictable behavior.


On Oct 5, 4:56 pm, Ed post2edb...@gmail.com wrote:
  running the test in your continuous build environment with remote debugging
  enabled and attaching to it with a debugger to see what is going on.

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

 On Oct 5, 4:24 pm, John Tamplin j...@google.com wrote:

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

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

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

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

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



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


[gwt-contrib] Re: Use the response setContentType() in RequestFactoryServlet instead (issue980801)

2010-10-13 Thread bobv

LGTM.

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

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


Re: [gwt-contrib] factory methods

2010-10-13 Thread Joel Webber
Specific examples might be helpful here. I can see how this might be useful
in some specific cases, but wrapping every new in a template method sounds
like a horribly contorting way to have to write all one's code.

Le 13 octobre 2010 05:19, cokol eplisc...@googlemail.com a écrit :

 many other developers, including me, would appreciate if you'd use
 protected factory methods in non-final classes (even if the class is
 not abstract), like:

 a no-go:
 
 void func() {
  A = new A();
  A.doSomething();
 }

 instead, a better pattern:
 ---
 protected A createA() {
  return new A();
 }

 void func() {
  A = createA();
  A.doSomething();
 }
 -


 because in some situations the integration of GWT into existing
 environment becomes a little nightmare, and it would be great pay more
 attention to DI

 thank you!!

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


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

[gwt-contrib] Setting the background color of LoggingPopup using Style so it works correctly on IE. Also scrol... (issue989801)

2010-10-13 Thread jlabanca

Reviewers: unnurg,

Description:
Setting the background color of LoggingPopup using Style so it works
correctly on IE. Also scrolling the log to the bottom when log items are
added.


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

Affected files:
  M user/src/com/google/gwt/logging/client/LoggingPopup.java


Index: user/src/com/google/gwt/logging/client/LoggingPopup.java
===
--- user/src/com/google/gwt/logging/client/LoggingPopup.java(revision 9038)
+++ user/src/com/google/gwt/logging/client/LoggingPopup.java(working copy)
@@ -138,7 +138,7 @@
 super(false, false);
 VerticalPanel mainPanel = new VerticalPanel();
 mainPanel.setBorderWidth(1);
-mainPanel.getElement().setAttribute(style, background-color:white);
+mainPanel.getElement().getStyle().setBackgroundColor(white);

 final HTML titleBar = new HTML(centerbLogging/b/center);
 mainPanel.add(titleBar);
@@ -184,12 +184,12 @@
   @Override
   public void add(Widget w) {
 logArea.add(w);
+ 
scrollPanel.setScrollPosition(scrollPanel.getElement().getScrollHeight());

   }

   @Override
   public void setWidget(Widget w) {
 logArea.clear();
-logArea.add(w);
+add(w);
   }
-
 }


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


[gwt-contrib] Minor tweaks for dynatablerd and showcase. (issue990801)

2010-10-13 Thread jlabanca

Reviewers: rchandia,

Description:
Minor tweaks for dynatablerd and showcase.


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

Affected files:
  M  
samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/SummaryWidget.ui.xml
  M  
samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellList.java
  M  
samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellTable.ui.xml



Index:  
samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/SummaryWidget.ui.xml

===
---  
samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/SummaryWidget.ui.xml	 
(revision 9038)
+++  
samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/SummaryWidget.ui.xml	 
(working copy)

@@ -8,6 +8,10 @@

   .thirty {
width: 30%
+  }
+
+  .table {
+   width: 100%;
   }
 /ui:style
   g:DockLayoutPanel ui:field=dock unit=EX
@@ -29,7 +33,7 @@
   /g:DockLayoutPanel
 /g:north
 g:center
-  cv:CellTable ui:field=table /
+  cv:CellTable ui:field=table stylePrimaryName={style.table} /
 /g:center
   /g:DockLayoutPanel
 /ui:UiBinder
\ No newline at end of file
Index:  
samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellList.java

===
---  
samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellList.java	 
(revision 9038)
+++  
samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellList.java	 
(working copy)

@@ -33,6 +33,7 @@
 import com.google.gwt.uibinder.client.UiField;
 import com.google.gwt.user.cellview.client.CellList;
 import  
com.google.gwt.user.cellview.client.HasKeyboardPagingPolicy.KeyboardPagingPolicy;
+import  
com.google.gwt.user.cellview.client.HasKeyboardSelectionPolicy.KeyboardSelectionPolicy;

 import com.google.gwt.user.client.rpc.AsyncCallback;
 import com.google.gwt.user.client.ui.AbstractImagePrototype;
 import com.google.gwt.user.client.ui.Button;
@@ -174,6 +175,7 @@
 ContactDatabase.ContactInfo.KEY_PROVIDER);
 cellList.setPageSize(30);
 cellList.setKeyboardPagingPolicy(KeyboardPagingPolicy.INCREASE_RANGE);
+ 
cellList.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.BOUND_TO_SELECTION);


 // Add a selection model so we can select cells.
 final SingleSelectionModelContactInfo selectionModel = new  
SingleSelectionModelContactInfo(
Index:  
samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellTable.ui.xml

===
---  
samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellTable.ui.xml	 
(revision 9038)
+++  
samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellTable.ui.xml	 
(working copy)

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

   ui:style
 .cellTable {
-  height: 400px;
   width: 600px;
   border: 1px solid #ccc;
   text-align: left;


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


[gwt-contrib] Re: Minor tweaks for dynatablerd and showcase. (issue990801)

2010-10-13 Thread rice

LGTM

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

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


[gwt-contrib] Added jaxb to DynaTableRf WEB-INF/lib for 1.5 compatibility (issue991801)

2010-10-13 Thread rchandia

Reviewers: jlabanca,

Description:
Added jaxb to DynaTableRf WEB-INF/lib for 1.5 compatibility


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

Affected files:
  M samples/dynatablerf/build.xml


Index: samples/dynatablerf/build.xml
===
--- samples/dynatablerf/build.xml   (revision 9038)
+++ samples/dynatablerf/build.xml   (working copy)
@@ -13,5 +13,6 @@
 include name=apache/log4j/log4j-1.2.16.jar /
 include name=slf4j/slf4j-api/slf4j-api-1.6.1.jar /
 include name=slf4j/slf4j-log4j12/slf4j-log4j12-1.6.1.jar /
+include name=javax/xml/bind/jaxb-api-2.1.jar /
   /fileset
 /project


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


[gwt-contrib] Re: Added jaxb to DynaTableRf WEB-INF/lib for 1.5 compatibility (issue991801)

2010-10-13 Thread jlabanca

LGTM

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

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


Re: [gwt-contrib] Selection Cell Option value vs Display Value

2010-10-13 Thread John LaBanca
Sound reasonable.  Can you open an issue to create a ValueSelectionCell that
takes an arbitrary type T and a SafeHtmlRenderer to convert the type T to a
String.

Thanks,
John LaBanca
jlaba...@google.com


On Wed, Oct 13, 2010 at 11:06 AM, Ed M mwamuf...@gmail.com wrote:

 The current implementation of 'SelectionCell' only accepts a
 'ListString' to be used in the creation of the drop down 'select'
 menu.

 ie:
 Liststring options = new ArrayListString()
 options.add(option1);
 options.add(option2);

 SelectionCell cell = new SelectionCell(options);

 When rendered this results in
 select
 option value=option1Option1/option
 
 /select

 Given that in most cases, the human readable value does not match the
 value submitted to the server, this class should allow for the more
 traditional practice of having one value for the 'value' attribute of
 the option element, and another value for the display value.

 ie:
 select...
 option value='ServerVal' DisplayVal/option
 /select

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


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

Re: [gwt-contrib] Selection Cell Option value vs Display Value

2010-10-13 Thread John Tamplin
On Wed, Oct 13, 2010 at 12:10 PM, John LaBanca jlaba...@google.com wrote:
 Sound reasonable.  Can you open an issue to create a ValueSelectionCell that
 takes an arbitrary type T and a SafeHtmlRenderer to convert the type T to a
 String.

A simpler option would be to accept MapString,String with the key
the select value and the value what is displayed.

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

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


Re: [gwt-contrib] Selection Cell Option value vs Display Value

2010-10-13 Thread John LaBanca
Users will probably want to set the ordering of the values.  Letting users
define the type would be more useful.

A while back I started working on a ListBoxCell, which is a custom drop box
of options.  It allows selection of typed values, and you can render custom
options.  Hopefully we'll get it into a future GWT version.

Thanks,
John LaBanca
jlaba...@google.com


On Wed, Oct 13, 2010 at 12:22 PM, John Tamplin j...@google.com wrote:

 On Wed, Oct 13, 2010 at 12:10 PM, John LaBanca jlaba...@google.com
 wrote:
  Sound reasonable.  Can you open an issue to create a ValueSelectionCell
 that
  takes an arbitrary type T and a SafeHtmlRenderer to convert the type T to
 a
  String.

 A simpler option would be to accept MapString,String with the key
 the select value and the value what is displayed.

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

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


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

[gwt-contrib] Re: Deprecate DeferredCommand and IncrementalCommand. (issue982802)

2010-10-13 Thread Ray Ryan
On Wed, Oct 13, 2010 at 5:28 AM, zun...@google.com wrote:


 http://gwt-code-reviews.appspot.com/982802/diff/1/5
 File user/src/com/google/gwt/user/client/DeferredCommand.java (right):

 http://gwt-code-reviews.appspot.com/982802/diff/1/5#newcode27
 user/src/com/google/gwt/user/client/DeferredCommand.java:27: *
  API prevents effective mocking.
 On 2010/10/13 03:50:36, rjrjr wrote:

 I thought it was deprecated because it was redundant...TMI?


 IMHO, I don't think you can give too much information on the impetus
 behind this change.  Its going to be painful to see all those
 deprecation warnings come out the first time for most users.


We might want to provide more justification then. We're not just deprecating
the thing for mockability, it's redundant code, right?



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


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

[gwt-contrib] Relaxing the data parameter of HasData#setRowData() from a ListT to a List? extends T. (issue994801)

2010-10-13 Thread jlabanca

Reviewers: rice,

Description:
Relaxing the data parameter of HasData#setRowData() from a ListT to a
List? extends T.


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

Affected files:
  M user/src/com/google/gwt/user/cellview/client/AbstractHasData.java
  M user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java
  M user/src/com/google/gwt/user/cellview/client/HasDataPresenter.java
  M user/src/com/google/gwt/view/client/HasData.java
  M user/test/com/google/gwt/view/client/MockHasData.java


Index: user/src/com/google/gwt/user/cellview/client/AbstractHasData.java
===
--- user/src/com/google/gwt/user/cellview/client/AbstractHasData.java	 
(revision 9038)
+++ user/src/com/google/gwt/user/cellview/client/AbstractHasData.java	 
(working copy)

@@ -535,7 +535,7 @@
 presenter.setRowCount(size, isExact);
   }

-  public void setRowData(int start, ListT values) {
+  public void setRowData(int start, List? extends T values) {
 presenter.setRowData(start, values);
   }

Index: user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java
===
--- user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java	 
(revision 9038)
+++ user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java	 
(working copy)

@@ -492,7 +492,7 @@
   presenter.setRowCount(size, isExact);
 }

-public void setRowData(int start, ListC values) {
+public void setRowData(int start, List? extends C values) {
   presenter.setRowData(start, values);
 }

Index: user/src/com/google/gwt/user/cellview/client/HasDataPresenter.java
===
--- user/src/com/google/gwt/user/cellview/client/HasDataPresenter.java	 
(revision 9038)
+++ user/src/com/google/gwt/user/cellview/client/HasDataPresenter.java	 
(working copy)

@@ -651,7 +651,7 @@
 RowCountChangeEvent.fire(display, count, rowCountIsExact);
   }

-  public void setRowData(int start, ListT values) {
+  public void setRowData(int start, List? extends T values) {
 int valuesLength = values.size();
 int valuesEnd = start + valuesLength;

Index: user/src/com/google/gwt/view/client/HasData.java
===
--- user/src/com/google/gwt/view/client/HasData.java(revision 9038)
+++ user/src/com/google/gwt/view/client/HasData.java(working copy)
@@ -39,7 +39,7 @@
* @param start the start index of the data
* @param values the values within the range
*/
-  void setRowData(int start, ListT values);
+  void setRowData(int start, List? extends T values);

   /**
* Set the {...@link SelectionModel} used by this {...@link HasData}.
Index: user/test/com/google/gwt/view/client/MockHasData.java
===
--- user/test/com/google/gwt/view/client/MockHasData.java   (revision 9038)
+++ user/test/com/google/gwt/view/client/MockHasData.java   (working copy)
@@ -81,7 +81,7 @@

   private final HandlerManager handlerManager = new HandlerManager(this);
   private Range lastRange;
-  private ListT lastRowData;
+  private List? extends T lastRowData;

   private int pageStart;
   private int pageSize = DEFAULT_PAGE_SIZE;
@@ -117,7 +117,7 @@
*
* @return the last data set
*/
-  public ListT getLastRowData() {
+  public List? extends T getLastRowData() {
 return lastRowData;
   }

@@ -146,7 +146,7 @@
 return rowCountExact;
   }

-  public void setRowData(int start, ListT values) {
+  public void setRowData(int start, List? extends T values) {
 lastRange = new Range(start, values.size());
 lastRowData = values;
   }


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


[gwt-contrib] The proposed fix will disambiguate setter overloads by ranking them according (issue993801)

2010-10-13 Thread fabiomfv

Reviewers: rjrjr,

Description:
The proposed fix will disambiguate setter overloads by ranking them
according
to the 'cost' of conversion. Fewer arguments will be preferred over many
arguments (e.g. setValue(boolean) will be preferred over
setValue(boolean, boolean)). Within a group os setters with the same
number of arguments, Strings will be preferred over other primitive
types (boxed or not); and primitive types will be preferred over
non-primitive types. The fix also reduces the need of two passes
over the list of setters during disambiguation, now done in one pass.


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

Affected files:
  M user/src/com/google/gwt/uibinder/rebind/model/OwnerFieldClass.java
  M user/test/com/google/gwt/uibinder/rebind/model/OwnerFieldClassTest.java


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


[gwt-contrib] Re: DeadCodeElimination should only run once. (issue983802)

2010-10-13 Thread Eric Ayers
This is good, it confirms that the number of changes to the AST hasn't
changed (or haven't changed much).  I was thinking of the speedtracer logs
which would show a change in the real-time performance of each pass the
optimizers. (re-run with -Dgwt.speedtracerlog=/tmp/speedtracer-trunk.html )

On Wed, Oct 13, 2010 at 2:12 PM, Scott Blum sco...@google.com wrote:

 Eric,

 You mentioned before that I should run the trace logging to analyze the
 behavior of DeadCode before and after my change.  I did so, and my change
 resulted in the same number of top-level optimization loops.  The numbers
 are mostly identical, I think perhaps a small accounting change is the only
 discrepancy.  Logs attached.

 Scott

 On Tue, Oct 12, 2010 at 4:07 PM, zun...@google.com wrote:

 FYI, I like the refactoring of JModVisitor

 I have no idea how you came up with these changes other than to pick up
 a huge piece of code and start setting break points in the compiler and
 iterating until you fixed them.  That's a difficult tasks for mere
 mortal coders to repeat.

 At the very least, the DeadCodeEliminationTest needs a TODO for someone
 to add new test() methods for the types of things you found that took
 more than one pass to resolve.




-- 
Eric Z. Ayers
Google Web Toolkit, Atlanta, GA USA

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

[gwt-contrib] Re: DeadCodeElimination should only run once. (issue983802)

2010-10-13 Thread Scott Blum
On Wed, Oct 13, 2010 at 2:39 PM, Eric Ayers zun...@google.com wrote:

 This is good, it confirms that the number of changes to the AST hasn't
 changed (or haven't changed much).  I was thinking of the speedtracer logs
 which would show a change in the real-time performance of each pass the
 optimizers. (re-run with -Dgwt.speedtracerlog=/tmp/speedtracer-trunk.html )


I did that first, but I found the results kind of hard to understand for the
particular application relative to using the logs.  Lemme put a bit more
effort in.

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

[gwt-contrib] Re: DeadCodeElimination should only run once. (issue983802)

2010-10-13 Thread Scott Blum
Okay, so when I drill down, optimization is net faster with my patch.  A
typical example, on one particular optimize loop, before DCE would take
 ~15-20ms, but with my patch more like ~7-15ms.  On the down side,
MethodInliner seems very slightly slower, but it appears to be a decent net
win.

On Wed, Oct 13, 2010 at 2:46 PM, Scott Blum sco...@google.com wrote:

 On Wed, Oct 13, 2010 at 2:39 PM, Eric Ayers zun...@google.com wrote:

 This is good, it confirms that the number of changes to the AST hasn't
 changed (or haven't changed much).  I was thinking of the speedtracer logs
 which would show a change in the real-time performance of each pass the
 optimizers. (re-run with -Dgwt.speedtracerlog=/tmp/speedtracer-trunk.html )


 I did that first, but I found the results kind of hard to understand for
 the particular application relative to using the logs.  Lemme put a bit more
 effort in.


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

Re: [gwt-contrib] Add Support for server side script selection in linker (issue941802)

2010-10-13 Thread Unnur Gretarsdottir
Hi Arthur -
  Yes - we probably could build it, but then you wouldn't be able to
customize any of the aspects of that HTML page. Most people want
something else on that page other than just the GWT module include
(even if it's something as simple as setting the title tag in the
head to something specific).  In general, we sort of count on people
who are trying to do semi-advanced optimizations to be able to do some
work, like adding the contents of the nocache.js file to the initial
html file themselves.  Alternatively - you could subclass the linker
and have it do what you want for your specific project since you would
know exactly what other stuff you might want in your particular html
file.

 I also just wanted to reiterate one more time that support for server
side selection is not coming soon.  We are (experimentally) adding the
ability for people do server side selection, assuming that they do
some configuration themselves.  Specifically, you'll have to subclass
the linker to turn on some of the options.  More significantly, you'll
need parse the configuration-mappings.txt file to determine the
correct md5 file and dynamically generate your HTML with a script tag
pointing to that md5 file. Doing this is harder than inlining the
selection script, so if your primary interest is in cutting out one of
the round trips, I'd recommend that you go ahead with getting that
working first.  Although we may add it eventually, there is no current
plan to make server side selection available out of the box.

- Unnur



On Wed, Oct 13, 2010 at 9:28 AM, Arthur Kalmenson arthur.k...@gmail.com wrote:
 Hey Unnur,

 You're right, gwt doesn't have access to the initial HTML page, but I
 wonder if it'd be possible to build a linker to make that dynamically
 generated page. Doesn't the linker have access to what gets generated
 in the nocache.js? Theoretically you could just output a simple HTML
 page that includes its contents.

 Then again, if this server side selection is coming soon (gwt 2.2?),
 building this linker won't make much sense. Thanks again for all the
 info!

 All the best,
 --
 Arthur Kalmenson



 On Mon, Oct 11, 2010 at 1:03 PM, Unnur Gretarsdottir unn...@google.com 
 wrote:
 Hi Arthur -
  Are you asking if there's an existing linker for the inlining of
 your selection script? If so, no - the linker has no access to the
 contents of your initital html page.  What you need to do is, rather
 than serve a static html page, your server will have to dynamically
 generate it, by reading the content of the nocache.js file and putting
 it directly in the html which is served on the initial request.  In
 theory, if you rarely release your code, you could do this manually -
 basically, every time you do a gwt compile, manually copy the contents
 of nocahce.js into the initial html page.

 - Unnur


 On Fri, Oct 8, 2010 at 12:41 PM, Arthur Kalmenson arthur.k...@gmail.com 
 wrote:
 That's a great idea Unnur. Is there an existing linker for this or
 would I have to build it (it seems like something the linker would do,
 if I understood them correctly)?

 --
 Arthur Kalmenson



 On Fri, Oct 8, 2010 at 1:57 PM, Unnur Gretarsdottir unn...@google.com 
 wrote:
 Hi Arthur -
  This is, and will probably remain for some time, experimental.  In
 order to use this, you'll need to extend the linker and change the
 variable - also, you'll need to write your own server code to parse
 the compilation mappings text file and decide which permutation you
 want to use.  Sorry not to have a better answer - we did want to make
 sure that this new linker is set up to support this sort of linking,
 but it is not currently a feature that we are officially releasing.
 FYI - if your primary concern is the double round trips, as opposed to
 the size of the permutation selection JS, then an easy solution for
 you is to simply inline the foo.nocache.js script into your page
 rather than requesting it using a script tag

 - Unnur

 On Mon, Oct 4, 2010 at 2:06 PM, Arthur Kalmenson arthur.k...@gmail.com 
 wrote:
 Wow, this is great! I'm guessing this means we can cut the startup
 round trips to one? Is this going into GWT 2.1?

 Exciting stuff.
 --
 Arthur Kalmenson



 On Fri, Oct 1, 2010 at 6:09 PM,  unn...@google.com wrote:
 Reviewers: jgw,

 Description:
 Add Support for server side script selection in linker


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

 Affected files:
  A dev/core/src/com/google/gwt/core/ext/linker/impl/PermutationsUtil.java
  A
 dev/core/src/com/google/gwt/core/ext/linker/impl/PropertiesMappingArtifact.java
  A
 dev/core/src/com/google/gwt/core/ext/linker/impl/ResourceInjectionUtil.java
  M
 dev/core/src/com/google/gwt/core/ext/linker/impl/SelectionScriptLinker.java
  M dev/core/src/com/google/gwt/core/ext/linker/impl/computeScriptBase.js
  M 
 dev/core/src/com/google/gwt/core/ext/linker/impl/installLocationIframe.js
  A 
 dev/core/src/com/google/gwt/core/ext/linker/impl/installScriptCommon.js
 

[gwt-contrib] Fixing a few logic and usability bugs in Cell Widgets. CellTree items are now easier to click. ... (issue995801)

2010-10-13 Thread jlabanca

Reviewers: rice,

Description:
Fixing a few logic and usability bugs in Cell Widgets.  CellTree items
are now easier to click. Fixed a bug in CellBrowser keyboard navigation
on Chrome where we would get async blur events that prevented keyboard
navigation. Fixed a few IE7 specific bugs that occur when delayed events
fire on elements that have been replaced.


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

Affected files:
  M user/src/com/google/gwt/user/cellview/CellView.gwt.xml
  A  
user/src/com/google/gwt/user/cellview/client/CellBasedWidgetImplSafari.java

  M user/src/com/google/gwt/user/cellview/client/CellBrowser.css
  M user/src/com/google/gwt/user/cellview/client/CellBrowser.java
  M user/src/com/google/gwt/user/cellview/client/CellList.java
  M user/src/com/google/gwt/user/cellview/client/CellTable.java
  M user/src/com/google/gwt/user/cellview/client/CellTree.java
  M user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java


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


[gwt-contrib] [google-web-toolkit] r9040 committed - Use Java to generate the list of packages for javadoc...

2010-10-13 Thread codesite-noreply

Revision: 9040
Author: r...@google.com
Date: Wed Oct 13 03:51:52 2010
Log: Use Java to generate the list of packages for javadoc

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

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

Added:
 /trunk/build-tools/doctool/src/com/google/doctool/custom/FindPackages.java
Deleted:
 /trunk/doc/find-packages.sh
Modified:
 /trunk/doc/build.xml
 /trunk/user/src/com/google/gwt/event/logical/shared/ValueChangeEvent.java

===
--- /dev/null
+++  
/trunk/build-tools/doctool/src/com/google/doctool/custom/FindPackages.java	 
Wed Oct 13 03:51:52 2010

@@ -0,0 +1,212 @@
+/*
+ * Copyright 2010 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the License); you may  
not
+ * use this file except in compliance with the License. You may obtain a  
copy of

+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,  
WITHOUT

+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations  
under

+ * the License.
+ */
+package com.google.doctool.custom;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.PrintStream;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Set;
+import java.util.regex.Pattern;
+
+/**
+ * Used by trunk/doc/build.xml to generate the packages.properties file.
+ */
+public class FindPackages {
+
+  /**
+   * A list of regular expressions to exclude. For readability, a '.'  
character

+   * will be interpreted literally (i.e., it will be transformed into '\.'
+   * before being compiled). Add rules here as needed.
+   */
+  private static final String[] EXCLUSIONS = {
+  ^com.example., ^com.google.gwt.dev(.|$), ^com.google.gwt.emul.,
+  ^com.google.gwt.examples(.|$), ^com.google.gwt.i18n.server(.|$),
+  ^com.google.gwt.i18n.tools, ^com.google.gwt.lang,
+  ^com.google.gwt.junit(.|$), ^com.google.gwt.resources.css(.|$),
+  ^com.google.gwt.resources.rg(.|$),
+  ^com.google.gwt.rpc.client.ast(.|$), ^com.google.gwt.soyc(.|$),
+  ^com.google.gwt.validation(.|$),
+  ^com.google.gwt.user.client.rpc.core., ^javax., ^junit., ^org.,
+  .impl(.|$), .rebind(.|$)
+  };
+
+  /**
+   * A list of emulated packages under java.lang, to be emitted as
+   * 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};
+
+  /**
+   * User packages to include, regardless of exclusions.  Add packages here
+   * as needed.
+   */
+  private static final String[] PACKAGE_WHITELIST = {
+  com.google.gwt.i18n.rebind.format, com.google.gwt.i18n.rebind.keygen,
+  com.google.gwt.junit.client};
+
+  /**
+   * Source directories under the root directory to traverse.  Add  
directories

+   * here as needed.
+   */
+  private static final String[] SOURCE_DIRS = {
+  user/src, user/javadoc, user/super, dev/core/src,
+  dev/core/super};
+
+  /**
+   * Individual user classes to include, even if the rest of their packages
+   * is not included.  Add classes here as needed.
+   */
+  private static final String[] USER_CLASSES = {
+  user/src/com/google/gwt/junit/tools/GWTTestSuite.java,
+  user/src/com/google/gwt/i18n/rebind/LocaleUtils.java,
+  user/src/com/google/gwt/i18n/server/GwtLocaleFactoryImpl.java,
+  user/src/com/google/gwt/i18n/server/GwtLocaleImpl.java};
+
+  private static Pattern exclusions;
+  static {
+StringBuilder sb = new StringBuilder();
+for (int i = 0; i  EXCLUSIONS.length; i++) {
+  String ex = EXCLUSIONS[i];
+  ex = ex.replace(., \\.);
+  if (i  EXCLUSIONS.length - 1) {
+sb.append(ex + |);
+  } else {
+sb.append(ex);
+  }
+}
+exclusions = Pattern.compile(sb.toString());
+  }
+
+  public static void main(String[] args) {
+if (args.length  1) {
+  System.err.println(usage: java  
com.google.doctool.custom.FindPackages root dir);

+  System.exit(1);
+}
+
+try {
+  File rootDir = new File(args[0]);
+  // Output to root/doc/packages.properties
+  File build = new File(rootDir, build);
+  File buildOut = new File(build, out);
+  File outFile = new File(buildOut, packages.properties);
+  PrintStream out = new PrintStream(new FileOutputStream(outFile),  
false, UTF-8);

+
+  out.println(# THIS FILE IS AUTOMATICALLY GENERATED BY);
+  out.println(# com.google.doctool.custom.FindPackages);
+  out.println(#);
+  out.println(# This file contains all of the user javadoc packages);
+  out.println(#);
+  out.println(# JRE emulation packages);
+

[gwt-contrib] Re: Fixing a few logic and usability bugs in Cell Widgets. CellTree items are now easier to click. ... (issue995801)

2010-10-13 Thread rice

LGTM

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

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


[gwt-contrib] [google-web-toolkit] r9042 committed - Fixing a bug where headers are not redrawn when the data changes. I w...

2010-10-13 Thread codesite-noreply

Revision: 9042
Author: jlaba...@google.com
Date: Wed Oct 13 05:03:29 2010
Log: Fixing a bug where headers are not redrawn when the data changes.  I  
was trying to be crafty and keep track of when headers are stale, but since  
they can depend on the data, we need to refesh them every time. This patch  
also allows headers to span multiple columns if adjacent headers == each  
other.


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

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

Modified:
 /trunk/user/src/com/google/gwt/user/cellview/client/CellTable.java
 /trunk/user/test/com/google/gwt/user/cellview/client/CellTableTest.java

===
--- /trunk/user/src/com/google/gwt/user/cellview/client/CellTable.java	Tue  
Oct 12 07:55:56 2010
+++ /trunk/user/src/com/google/gwt/user/cellview/client/CellTable.java	Wed  
Oct 13 05:03:29 2010

@@ -52,7 +52,25 @@

 /**
  * A tabular view that supports paging and columns.
- *
+ *
+ * p
+ * h3Columns/h3
+ * The {...@link Column} class defines the {...@link Cell} used to render a  
column.
+ * Implement {...@link Column#getValue(Object)} to retrieve the field value  
from

+ * the row object that will be rendered in the {...@link Cell}.
+ * /p
+ *
+ * p
+ * h3Headers and Footers/h3
+ * A {...@link Header} can be placed at the top (header) or bottom (footer)  
of the

+ * {...@link CellTable}. You can specify a header as text using
+ * {...@link #addColumn(Column, String)}, or you can create a custom {...@link  
Header}

+ * that can change with the value of the cells, such as a column total. The
+ * {...@link Header} will be rendered every time the row data changes or the  
table
+ * is redrawn. If you pass the same header instance (==) into adjacent  
columns,

+ * the header will span the columns.
+ * /p
+ *
  * p
  * h3Examples/h3
  * dl
@@ -269,8 +287,8 @@
 @Template(tabletfoot{0}/tfoot/table)
 SafeHtml tfoot(SafeHtml rowHtml);

-@Template(th class=\{0}\{1}/th)
-SafeHtml th(String classes, SafeHtml contents);
+@Template(th colspan=\{0}\ class=\{1}\{2}/th)
+SafeHtml th(int colspan, String classes, SafeHtml contents);

 @Template(tablethead{0}/thead/table)
 SafeHtml thead(SafeHtml rowHtml);
@@ -432,11 +450,6 @@

   private final ListHeader? headers = new ArrayListHeader?();

-  /**
-   * Set to true when the footer is stale.
-   */
-  private boolean headersStale;
-
   private TableRowElement hoveringRow;

   /**
@@ -640,7 +653,6 @@
 }
 CellBasedWidgetImpl.get().sinkEvents(this, consumedEvents);

-headersStale = true;
 scheduleRedraw();
   }

@@ -778,7 +790,6 @@
 headers.remove(index);
 footers.remove(index);
 updateDependsOnSelection();
-headersStale = true;

 // Find an interactive column. Stick with 0 if no column is  
interactive.

 if (index = keyboardSelectedColumn) {
@@ -1149,7 +1160,7 @@

   /**
* Render the header or footer.
-   *
+   *
* @param isFooter true if this is the footer table, false if the header  
table

*/
   private void createHeaders(boolean isFooter) {
@@ -1162,30 +1173,52 @@
 SafeHtmlBuilder sb = new SafeHtmlBuilder();
 sb.appendHtmlConstant(tr);
 int columnCount = columns.size();
-int curColumn = 0;
-for (Header? header : theHeaders) {
+if (columnCount  0) {
+  // Setup the first column.
+  Header? prevHeader = theHeaders.get(0);
+  int prevColspan = 1;
   StringBuilder classesBuilder = new StringBuilder(className);
-  if (curColumn == 0) {
-classesBuilder.append( );
-classesBuilder.append(isFooter ? style.cellTableFirstColumnFooter()
-: style.cellTableFirstColumnHeader());
-  }
-  // The first and last columns could be the same column.
-  if (curColumn == columnCount - 1) {
-classesBuilder.append( );
-classesBuilder.append(isFooter ? style.cellTableLastColumnFooter()
-: style.cellTableLastColumnHeader());
+  classesBuilder.append( );
+  classesBuilder.append(isFooter ? style.cellTableFirstColumnFooter()
+  : style.cellTableFirstColumnHeader());
+
+  // Loop through all column headers.
+  for (int curColumn = 1; curColumn  columnCount; curColumn++) {
+Header? header = theHeaders.get(curColumn);
+
+if (header != prevHeader) {
+  // The header has changed, so append the previous one.
+  SafeHtmlBuilder headerBuilder = new SafeHtmlBuilder();
+  if (prevHeader != null) {
+hasHeader = true;
+prevHeader.render(headerBuilder);
+  }
+  sb.append(template.th(prevColspan, classesBuilder.toString(),
+  headerBuilder.toSafeHtml()));
+
+  // Reset the previous header.
+  prevHeader = header;
+  prevColspan = 1;
+  classesBuilder = new StringBuilder(className);
+} else {
+  // Increment the colspan if the headers == each 

[gwt-contrib] Re: Relaxing the data parameter of HasData#setRowData() from a ListT to a List? extends T. (issue994801)

2010-10-13 Thread rice

LGTM

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

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


[gwt-contrib] [google-web-toolkit] r9041 committed - Deprecate DeferredCommand and IncrementalCommand....

2010-10-13 Thread codesite-noreply

Revision: 9041
Author: gwt.mirror...@gmail.com
Date: Wed Oct 13 12:25:22 2010
Log: Deprecate DeferredCommand and IncrementalCommand.
Add MockScheduler.
Patch by: bobv
Review by: rjrjr

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

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

Added:
 /trunk/user/src/com/google/gwt/core/client/testing
 /trunk/user/src/com/google/gwt/core/client/testing/StubScheduler.java
Modified:
 /trunk/user/src/com/google/gwt/core/client/Scheduler.java
 /trunk/user/src/com/google/gwt/user/client/Command.java
 /trunk/user/src/com/google/gwt/user/client/DeferredCommand.java
 /trunk/user/src/com/google/gwt/user/client/IncrementalCommand.java

===
--- /dev/null
+++ /trunk/user/src/com/google/gwt/core/client/testing/StubScheduler.java	 
Wed Oct 13 12:25:22 2010

@@ -0,0 +1,84 @@
+/*
+ * Copyright 2010 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the License); you may  
not
+ * use this file except in compliance with the License. You may obtain a  
copy of

+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,  
WITHOUT

+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations  
under

+ * the License.
+ */
+package com.google.gwt.core.client.testing;
+
+import com.google.gwt.core.client.Scheduler;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * A no-op implementation of Scheduler that simply records its arguments.
+ */
+public class StubScheduler extends Scheduler {
+  private final ListRepeatingCommand repeatingCommands = new  
ArrayListRepeatingCommand();

+
+  private final ListScheduledCommand scheduledCommands = new  
ArrayListScheduledCommand();

+
+  /**
+   * Returns the RepeatingCommands that have been passed into the  
MockScheduler.

+   */
+  public ListRepeatingCommand getRepeatingCommands() {
+return repeatingCommands;
+  }
+
+  /**
+   * Returns the ScheduledCommands that have been passed into the  
MockScheduler.

+   */
+  public ListScheduledCommand getScheduledCommands() {
+return scheduledCommands;
+  }
+
+  @Override
+  public void scheduleDeferred(ScheduledCommand cmd) {
+scheduledCommands.add(cmd);
+  }
+
+  @Override
+  public void scheduleEntry(RepeatingCommand cmd) {
+repeatingCommands.add(cmd);
+  }
+
+  @Override
+  public void scheduleEntry(ScheduledCommand cmd) {
+scheduledCommands.add(cmd);
+  }
+
+  @Override
+  public void scheduleFinally(RepeatingCommand cmd) {
+repeatingCommands.add(cmd);
+  }
+
+  @Override
+  public void scheduleFinally(ScheduledCommand cmd) {
+scheduledCommands.add(cmd);
+  }
+
+  @Override
+  public void scheduleFixedDelay(RepeatingCommand cmd, int delayMs) {
+repeatingCommands.add(cmd);
+  }
+
+  @Override
+  public void scheduleFixedPeriod(RepeatingCommand cmd, int delayMs) {
+repeatingCommands.add(cmd);
+  }
+
+  @Override
+  public void scheduleIncremental(RepeatingCommand cmd) {
+repeatingCommands.add(cmd);
+  }
+}
===
--- /trunk/user/src/com/google/gwt/core/client/Scheduler.java	Tue Dec 15  
13:40:53 2009
+++ /trunk/user/src/com/google/gwt/core/client/Scheduler.java	Wed Oct 13  
12:25:22 2010

@@ -21,6 +21,8 @@
  * This class provides low-level task scheduling primitives. Any exceptions
  * thrown by the command objects executed by the scheduler will be passed  
to the

  * {...@link GWT.UncaughtExceptionHandler} if one is installed.
+ *
+ * @see com.google.gwt.core.client.testing.StubScheduler
  */
 public abstract class Scheduler {

===
--- /trunk/user/src/com/google/gwt/user/client/Command.java	Tue Aug 10  
10:18:55 2010
+++ /trunk/user/src/com/google/gwt/user/client/Command.java	Wed Oct 13  
12:25:22 2010

@@ -15,6 +15,8 @@
  */
 package com.google.gwt.user.client;

+import com.google.gwt.core.client.Scheduler;
+
 /**
  * Encapsulates an action for later execution, often from a different  
context.

  *
@@ -22,14 +24,16 @@
  * The Command interface provides a layer of separation between the code
  * specifying some behavior and the code invoking that behavior. This  
separation

  * aids in creating reusable code. For example, a
- * {...@link com.google.gwt.user.client.ui.MenuItem} can have a Command
- * associated with it that it executes when the menu item is chosen by the  
user.
+ * {...@link com.google.gwt.user.client.ui.MenuItem} can have a Command  
associated

+ * with it that it executes when the menu item is chosen by the user.
  * Importantly, the code that constructed the Command to be executed when  
the
  * menu item is invoked knows nothing about the internals of the MenuItem  
class

- * and vice-versa./p
+ * and vice-versa.
+ * /p
  *
- * p The 

[gwt-contrib] [google-web-toolkit] r9043 committed - Cherry picking bug fixes from trunk into release branch: 974801, 97680...

2010-10-13 Thread codesite-noreply

Revision: 9043
Author: p...@google.com
Date: Wed Oct 13 06:23:15 2010
Log: Cherry picking bug fixes from trunk into release branch: 974801,  
976801, 887804, 846801, 978801.


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

Modified:
  
/releases/2.1/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/AddressProxy.java
  
/releases/2.1/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/PersonProxy.java
  
/releases/2.1/user/src/com/google/gwt/logging/server/RemoteLoggingServiceUtil.java
  
/releases/2.1/user/src/com/google/gwt/requestfactory/client/impl/EntityProxyCategory.java
  
/releases/2.1/user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java

 /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellList.java
 /releases/2.1/user/src/com/google/gwt/user/client/ui/CheckBox.java
 /releases/2.1/user/src/com/google/gwt/user/client/ui/MenuBar.java
 /releases/2.1/user/src/com/google/gwt/user/client/ui/MenuItem.java
 /releases/2.1/user/src/com/google/gwt/user/client/ui/ToggleButton.java
  
/releases/2.1/user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/chrome.css
  
/releases/2.1/user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/chrome_rtl.css
  
/releases/2.1/user/src/com/google/gwt/user/theme/dark/public/gwt/dark/dark.css
  
/releases/2.1/user/src/com/google/gwt/user/theme/dark/public/gwt/dark/dark_rtl.css
  
/releases/2.1/user/src/com/google/gwt/user/theme/standard/public/gwt/standard/standard.css
  
/releases/2.1/user/src/com/google/gwt/user/theme/standard/public/gwt/standard/standard_rtl.css
  
/releases/2.1/user/test/com/google/gwt/requestfactory/client/FindServiceTest.java
  
/releases/2.1/user/test/com/google/gwt/requestfactory/client/RequestFactoryStringTest.java
  
/releases/2.1/user/test/com/google/gwt/requestfactory/client/RequestFactoryTest.java
  
/releases/2.1/user/test/com/google/gwt/requestfactory/shared/SimpleBarProxy.java

 /releases/2.1/user/test/com/google/gwt/user/client/ui/CustomButtonTest.java
 /releases/2.1/user/test/com/google/gwt/user/client/ui/MenuBarTest.java

===
---  
/releases/2.1/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/AddressProxy.java	 
Tue Sep 21 12:24:16 2010
+++  
/releases/2.1/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/AddressProxy.java	 
Wed Oct 13 06:23:15 2010

@@ -27,8 +27,6 @@
 public interface AddressProxy extends EntityProxy {
   String getCity();

-  String getId();
-
   String getState();

   String getStreet();
===
---  
/releases/2.1/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/PersonProxy.java	 
Sun Oct  3 11:35:25 2010
+++  
/releases/2.1/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/PersonProxy.java	 
Wed Oct 13 06:23:15 2010

@@ -30,8 +30,6 @@

   String getDescription();

-  String getId();
-
   PersonProxy getMentor();

   String getName();
===
---  
/releases/2.1/user/src/com/google/gwt/logging/server/RemoteLoggingServiceUtil.java	 
Thu Sep 30 09:09:15 2010
+++  
/releases/2.1/user/src/com/google/gwt/logging/server/RemoteLoggingServiceUtil.java	 
Wed Oct 13 06:23:15 2010

@@ -16,8 +16,6 @@

 package com.google.gwt.logging.server;

-import org.json.JSONException;
-
 import java.util.logging.LogRecord;
 import java.util.logging.Logger;

@@ -71,7 +69,9 @@
   lr = JsonLogRecordServerUtil.logRecordFromJson(
   serializedLogRecordJson);
   logOnServer(lr, strongName, deobfuscator, loggerNameOverride);
-} catch (JSONException e) {
+} catch (Exception e) {
+  // We don't want to import the JsonException, which will require the  
json

+  // jar when this class loads, so we just catch all exceptions here
   throw new RemoteLoggingException(Failed to deserialize JSON, e);
 }
   }
===
---  
/releases/2.1/user/src/com/google/gwt/requestfactory/client/impl/EntityProxyCategory.java	 
Fri Oct  1 18:15:55 2010
+++  
/releases/2.1/user/src/com/google/gwt/requestfactory/client/impl/EntityProxyCategory.java	 
Wed Oct 13 06:23:15 2010

@@ -49,8 +49,7 @@
 return stableId(bean).hashCode();
   }

-  public static AbstractRequestContext requestContext(
-  AutoBean? extends EntityProxy bean) {
+  public static AbstractRequestContext requestContext(AutoBean? bean) {
 return (AbstractRequestContext) bean.getTag(REQUEST_CONTEXT);
   }

@@ -70,13 +69,11 @@
* EntityProxy, that its return values are mutable.
*/
   // CHECKSTYLE_OFF
-  public static T T __intercept(AutoBean? extends EntityProxy bean,
-  T returnValue) {
+  public static T T __intercept(AutoBean? bean, T returnValue) {
 // CHECKSTYLE_ON
-if (!(returnValue instanceof EntityProxy)) {
-  return returnValue;
-}
+
 AbstractRequestContext context = requestContext(bean);
+
 /*
  * The context will be null if the bean is 

[gwt-contrib] Re: Fixing a bug where headers are not redrawn when the data changes. I was trying to be crafty and... (issue971801)

2010-10-13 Thread jlabanca

committed as r9042

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

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


[gwt-contrib] Re: Modifying WebAppCreator to include jars from the war/WEB-INF/lib folder on the Eclipse classpath... (issue976802)

2010-10-13 Thread jlabanca

committed as r9044

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

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


[gwt-contrib] [google-web-toolkit] r9044 committed - Modifying WebAppCreator to include jars from the war/WEB-INF/lib folde...

2010-10-13 Thread codesite-noreply

Revision: 9044
Author: jlaba...@google.com
Date: Wed Oct 13 05:26:50 2010
Log: Modifying WebAppCreator to include jars from the war/WEB-INF/lib  
folder on the Eclipse classpath when generating an Eclipse project view the  
ant build target eclipse.generate. Currently, if the user adds jars to  
WEB-INF/lib (such as the DynaTableRf sample), then generates an Eclipse  
project, those jars are not on the classpath, which causes Eclipse compile  
errors.  With this change, they will be on the classpath.  This puts  
gwt-servlet.jar on the classpath as well, but that seems like the desired  
behavior now that gwt-servlet.jar includes external jars which are not  
contained in gwt-user.jar.


Issue: 5362

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

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

Modified:
 /trunk/user/src/com/google/gwt/user/tools/.classpathsrc
 /trunk/user/src/com/google/gwt/user/tools/WebAppCreator.java

===
--- /trunk/user/src/com/google/gwt/user/tools/.classpathsrc	Mon Jun  7  
12:20:31 2010
+++ /trunk/user/src/com/google/gwt/user/tools/.classpathsrc	Wed Oct 13  
05:26:50 2010

@@ -6,4 +6,5 @@
classpathentry kind=con  
path=org.eclipse.jdt.launching.JRE_CONTAINER/
classpathentry kind=con  
path=org.eclipse.jdt.junit.JUNIT_CONTAINER/3/

classpathentry kind=output path=@warFolder/WEB-INF/classes/
+...@serverclasspathlibs
 /classpath
===
--- /trunk/user/src/com/google/gwt/user/tools/WebAppCreator.java	Mon Oct 11  
05:45:17 2010
+++ /trunk/user/src/com/google/gwt/user/tools/WebAppCreator.java	Wed Oct 13  
05:26:50 2010

@@ -337,6 +337,7 @@
 File srcDir = Utility.getDirectory(outDir, srcFolder, true);
 File warDir = Utility.getDirectory(outDir, warFolder, true);
 File webInfDir = Utility.getDirectory(warDir, WEB-INF, true);
+File libDir = Utility.getDirectory(webInfDir, lib, true);
 File moduleDir = Utility.getDirectory(srcDir,  
modulePackageName.replace(

 '.', '/'), true);
 File clientDir = Utility.getDirectory(moduleDir, client, true);
@@ -368,6 +369,19 @@
 replacements.put(@testFolder, testFolder);
 replacements.put(@warFolder, warFolder);

+// Collect the list of server libs to include on the eclipse classpath.
+StringBuilder serverLibs = new StringBuilder();
+if (libDir.exists()) {
+  for (File file : libDir.listFiles()) {
+if (file.getName().toLowerCase().endsWith(.jar)) {
+  serverLibs.append(   classpathentry kind=\lib\  
path=\war/WEB-INF/lib/);

+  serverLibs.append(file.getName());
+  serverLibs.append(\/\n);
+}
+  }
+}
+replacements.put(@serverClasspathLibs, serverLibs.toString());
+
 String antEclipseRule = ;
 if (noEclipse) {
   /*

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


[gwt-contrib] Re: Minor tweaks for dynatablerd and showcase. (issue990801)

2010-10-13 Thread jlabanca

committed as r9045

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

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


[gwt-contrib] [google-web-toolkit] r9045 committed - Minor tweaks for dynatablerd and showcase....

2010-10-13 Thread codesite-noreply

Revision: 9045
Author: jlaba...@google.com
Date: Wed Oct 13 06:04:39 2010
Log: Minor tweaks for dynatablerd and showcase.

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

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

Modified:
  
/trunk/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/SummaryWidget.ui.xml
  
/trunk/samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellList.java
  
/trunk/samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellTable.ui.xml


===
---  
/trunk/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/SummaryWidget.ui.xml	 
Fri Sep 24 12:10:50 2010
+++  
/trunk/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/SummaryWidget.ui.xml	 
Wed Oct 13 06:04:39 2010

@@ -9,6 +9,10 @@
   .thirty {
width: 30%
   }
+
+  .table {
+   width: 100%;
+  }
 /ui:style
   g:DockLayoutPanel ui:field=dock unit=EX
 g:north size=6
@@ -29,7 +33,7 @@
   /g:DockLayoutPanel
 /g:north
 g:center
-  cv:CellTable ui:field=table /
+  cv:CellTable ui:field=table stylePrimaryName={style.table} /
 /g:center
   /g:DockLayoutPanel
 /ui:UiBinder
===
---  
/trunk/samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellList.java	 
Wed Sep 22 12:58:01 2010
+++  
/trunk/samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellList.java	 
Wed Oct 13 06:04:39 2010

@@ -33,6 +33,7 @@
 import com.google.gwt.uibinder.client.UiField;
 import com.google.gwt.user.cellview.client.CellList;
 import  
com.google.gwt.user.cellview.client.HasKeyboardPagingPolicy.KeyboardPagingPolicy;
+import  
com.google.gwt.user.cellview.client.HasKeyboardSelectionPolicy.KeyboardSelectionPolicy;

 import com.google.gwt.user.client.rpc.AsyncCallback;
 import com.google.gwt.user.client.ui.AbstractImagePrototype;
 import com.google.gwt.user.client.ui.Button;
@@ -174,6 +175,7 @@
 ContactDatabase.ContactInfo.KEY_PROVIDER);
 cellList.setPageSize(30);
 cellList.setKeyboardPagingPolicy(KeyboardPagingPolicy.INCREASE_RANGE);
+ 
cellList.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.BOUND_TO_SELECTION);


 // Add a selection model so we can select cells.
 final SingleSelectionModelContactInfo selectionModel = new  
SingleSelectionModelContactInfo(

===
---  
/trunk/samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellTable.ui.xml	 
Tue Jul 20 10:54:02 2010
+++  
/trunk/samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellTable.ui.xml	 
Wed Oct 13 06:04:39 2010

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

   ui:style
 .cellTable {
-  height: 400px;
   width: 600px;
   border: 1px solid #ccc;
   text-align: left;

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


[gwt-contrib] Re: Setting the background color of LoggingPopup using Style so it works correctly on IE. Also scrol... (issue989801)

2010-10-13 Thread jlabanca

committed as r9048

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

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


[gwt-contrib] [google-web-toolkit] r9046 committed - Fix null exception in HostedLinker which is run by GWTShell...

2010-10-13 Thread codesite-noreply

Revision: 9046
Author: unn...@google.com
Date: Wed Oct 13 07:49:55 2010
Log: Fix null exception in HostedLinker which is run by GWTShell

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

Modified:
  
/trunk/dev/core/src/com/google/gwt/core/ext/linker/impl/PermutationsUtil.java


===
---  
/trunk/dev/core/src/com/google/gwt/core/ext/linker/impl/PermutationsUtil.java	 
Tue Oct 12 16:00:43 2010
+++  
/trunk/dev/core/src/com/google/gwt/core/ext/linker/impl/PermutationsUtil.java	 
Wed Oct 13 07:49:55 2010

@@ -66,7 +66,8 @@
* compilation. A single compilation can have multiple property settings  
if
* the compiles for those settings yielded the exact same compiled  
output.

*/
-  protected SortedMapPermutationId, ListMapString, String  
propMapsByPermutation = null;
+  protected SortedMapPermutationId, ListMapString, String  
propMapsByPermutation =

+  new TreeMapPermutationId, ListMapString, String();

   /**
* Uses the internal map to insert JS to select a permutation into the

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


[gwt-contrib] [google-web-toolkit] r9047 committed - Added jaxb to DynaTableRf WEB-INF/lib for 1.5 compatibility...

2010-10-13 Thread codesite-noreply

Revision: 9047
Author: rchan...@google.com
Date: Wed Oct 13 07:57:35 2010
Log: Added jaxb to DynaTableRf WEB-INF/lib for 1.5 compatibility

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

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

Modified:
 /trunk/samples/dynatablerf/build.xml

===
--- /trunk/samples/dynatablerf/build.xmlThu Oct  7 13:59:41 2010
+++ /trunk/samples/dynatablerf/build.xmlWed Oct 13 07:57:35 2010
@@ -13,5 +13,6 @@
 include name=apache/log4j/log4j-1.2.16.jar /
 include name=slf4j/slf4j-api/slf4j-api-1.6.1.jar /
 include name=slf4j/slf4j-log4j12/slf4j-log4j12-1.6.1.jar /
+include name=javax/xml/bind/jaxb-api-2.1.jar /
   /fileset
 /project

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


[gwt-contrib] Re: Fixes http://code.google.com/p/google-web-toolkit/issues/detail?id=5375, (issue988801)

2010-10-13 Thread rjrjr

r9049   

On 2010/10/13 02:04:52, bobv wrote:

LGTM




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

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


[gwt-contrib] [google-web-toolkit] r9049 committed - Fixes http://code.google.com/p/google-web-toolkit/issues/detail?id=537...

2010-10-13 Thread codesite-noreply

Revision: 9049
Author: rj...@google.com
Date: Wed Oct 13 09:41:33 2010
Log: Fixes  
http://code.google.com/p/google-web-toolkit/issues/detail?id=5375,

calling setDisplay(null) from a PlaceChangeEvent.Handler will cause an
NPE in the ActivityManager's own PlaceChangeEvent.Handler

Also undoes demo-time hack that left stopped widgets in place to
reduce flicker. Apps will have to reduce flicker themselves.

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

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

Modified:
 /trunk/user/src/com/google/gwt/activity/shared/ActivityManager.java
 /trunk/user/src/com/google/gwt/activity/shared/ActivityMapper.java
 /trunk/user/test/com/google/gwt/activity/shared/ActivityManagerTest.java

===
--- /trunk/user/src/com/google/gwt/activity/shared/ActivityManager.java	Tue  
Oct 12 10:53:11 2010
+++ /trunk/user/src/com/google/gwt/activity/shared/ActivityManager.java	Wed  
Oct 13 09:41:33 2010

@@ -1,12 +1,12 @@
 /*
  * Copyright 2010 Google Inc.
- *
+ *
  * Licensed under the Apache License, Version 2.0 (the License); you may  
not
  * use this file except in compliance with the License. You may obtain a  
copy of

  * the License at
- *
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an AS IS BASIS,  
WITHOUT

  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
@@ -49,7 +49,7 @@
 public void setWidget(IsWidget view) {
   if (this.activity == ActivityManager.this.currentActivity) {
 startingNext = false;
-display.setWidget(view);
+showWidget(view);
   }
 }
   }
@@ -74,7 +74,7 @@

   /**
* Create an ActivityManager. Next call {...@link #setDisplay}.
-   *
+   *
* @param mapper finds the {...@link Activity} for a given
*  {...@link com.google.gwt.place.shared.Place}
* @param eventBus source of {...@link PlaceChangeEvent} and
@@ -89,11 +89,17 @@
   /**
* Deactivate the current activity, find the next one from our  
ActivityMapper,

* and start it.
-   *
+   * p
+   * The current activity's widget will be hidden immediately, which can  
cause
+   * flicker if the next activity provides its widget asynchronously. That  
can
+   * be minimized by decent caching. Perenially slow activities might  
mitigate

+   * this by providing a widget immediately, with some kind of loading
+   * treatment.
+   *
* @see  
com.google.gwt.place.shared.PlaceChangeEvent.Handler#onPlaceChange(PlaceChangeEvent)

*/
   public void onPlaceChange(PlaceChangeEvent event) {
-Activity nextActivity = mapper.getActivity(event.getNewPlace());
+Activity nextActivity = getNextActivity(event);

 Throwable caughtOnStop = null;
 Throwable caughtOnStart = null;
@@ -113,11 +119,7 @@
   currentActivity = NULL_ACTIVITY;
   startingNext = false;
 } else if (!currentActivity.equals(NULL_ACTIVITY)) {
-  /*
-   * TODO until caching is in place, relying on stopped activities to  
be

-   * good citizens to reduce flicker. This makes me very nervous.
-   */
-  // display.showActivityWidget(null);
+  showWidget(null);

   /*
* Kill off the activity's handlers, so it doesn't have to worry  
about

@@ -141,7 +143,7 @@
 currentActivity = nextActivity;

 if (currentActivity.equals(NULL_ACTIVITY)) {
-  display.setWidget(null);
+  showWidget(null);
   return;
 }

@@ -150,7 +152,7 @@
 /*
  * Now start the thing. Wrap the actual display with a per-call  
instance
  * that protects the display from canceled or stopped activities, and  
which

- * maintain our startingNext state.
+ * maintains our startingNext state.
  */
 try {
   currentActivity.start(new ProtectedDisplay(currentActivity),
@@ -174,7 +176,7 @@

   /**
* Reject the place change if the current activity is not willing to  
stop.

-   *
+   *
* @see  
com.google.gwt.place.shared.PlaceChangeRequestEvent.Handler#onPlaceChangeRequest(PlaceChangeRequestEvent)

*/
   public void onPlaceChangeRequest(PlaceChangeRequestEvent event) {
@@ -190,7 +192,7 @@
* If you are disposing of an ActivityManager, it is important to call
* setDisplay(null) to get it to deregister from the event bus, so that  
it can

* be garbage collected.
-   *
+   *
* @param display an instance of AcceptsOneWidget
*/
   public void setDisplay(AcceptsOneWidget display) {
@@ -201,6 +203,24 @@
   updateHandlers(willBeActive);
 }
   }
+
+  private Activity getNextActivity(PlaceChangeEvent event) {
+if (display == null) {
+  /*
+   * Display may have been nulled during PlaceChangeEvent dispatch.  
Don't

+   * bother the mapper, just return a null to ensure we shut down the
+   * current activity
+   */
+  

[gwt-contrib] [google-web-toolkit] r9048 committed - Setting the background color of LoggingPopup using Style so it works c...

2010-10-13 Thread codesite-noreply

Revision: 9048
Author: jlaba...@google.com
Date: Wed Oct 13 08:53:39 2010
Log: Setting the background color of LoggingPopup using Style so it works  
correctly on IE. Also scrolling the log to the bottom when log items are  
added.


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

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

Modified:
 /trunk/user/src/com/google/gwt/logging/client/LoggingPopup.java

===
--- /trunk/user/src/com/google/gwt/logging/client/LoggingPopup.java	Tue Jun  
22 06:26:45 2010
+++ /trunk/user/src/com/google/gwt/logging/client/LoggingPopup.java	Wed Oct  
13 08:53:39 2010

@@ -138,7 +138,7 @@
 super(false, false);
 VerticalPanel mainPanel = new VerticalPanel();
 mainPanel.setBorderWidth(1);
-mainPanel.getElement().setAttribute(style, background-color:white);
+mainPanel.getElement().getStyle().setBackgroundColor(white);

 final HTML titleBar = new HTML(centerbLogging/b/center);
 mainPanel.add(titleBar);
@@ -184,12 +184,12 @@
   @Override
   public void add(Widget w) {
 logArea.add(w);
+ 
scrollPanel.setScrollPosition(scrollPanel.getElement().getScrollHeight());

   }

   @Override
   public void setWidget(Widget w) {
 logArea.clear();
-logArea.add(w);
-  }
-
-}
+add(w);
+  }
+}

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


[gwt-contrib] Re: DeadCodeElimination should only run once. (issue983802)

2010-10-13 Thread zundel

LGTM, pending an extra test or TODO in the test casedescribing what
cases caused the optimizer to not run in one pass.

Looking further at the logs the initial run of the DeadCodeElimination
optimizer went from ~90ms down to ~45ms with this change, so I'd say its
a pretty clear win.

On 2010/10/13 19:02:46, scottb wrote:

Okay, so when I drill down, optimization is net faster with my patch.

A

typical example, on one particular optimize loop, before DCE would

take

  ~15-20ms, but with my patch more like ~7-15ms.  On the down side,
MethodInliner seems very slightly slower, but it appears to be a

decent net

win.



On Wed, Oct 13, 2010 at 2:46 PM, Scott Blum mailto:sco...@google.com

wrote:


 On Wed, Oct 13, 2010 at 2:39 PM, Eric Ayers

mailto:zun...@google.com wrote:


 This is good, it confirms that the number of changes to the AST

hasn't

 changed (or haven't changed much).  I was thinking of the

speedtracer logs

 which would show a change in the real-time performance of each pass

the

 optimizers. (re-run with

-Dgwt.speedtracerlog=/tmp/speedtracer-trunk.html )



 I did that first, but I found the results kind of hard to understand

for

 the particular application relative to using the logs.  Lemme put a

bit more

 effort in.






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

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


[gwt-contrib] Re: The proposed fix will disambiguate setter overloads by ranking them according (issue993801)

2010-10-13 Thread rjrjr

That's a nice approach.


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

http://gwt-code-reviews.appspot.com/993801/diff/1/2#newcode46
user/src/com/google/gwt/uibinder/rebind/model/OwnerFieldClass.java:46:
private static HashMapString, Integer typeRank;
Make this final. You can build it in another map in your static
initializer, and fill in typeRank via Collections.unmodifiableMap()

http://gwt-code-reviews.appspot.com/993801/diff/1/2#newcode51
user/src/com/google/gwt/uibinder/rebind/model/OwnerFieldClass.java:51:
typeRank.put(java.lang.Boolean, 2);
Seems like you could rank the java.lang types as 3, so that you prefer
setBaz(boolean) to setBaz(Boolean). (Remember to add that test if you
make this change, and to set your default cost to 4. And you might want
to put that default cost in a constant next to this map.)

http://gwt-code-reviews.appspot.com/993801/diff/1/2#newcode186
user/src/com/google/gwt/uibinder/rebind/model/OwnerFieldClass.java:186:
!sameParameterTypes(preferredMethod, method)) {
The sameParameterTypes call is required to distinguish overrides from
super methods, right? Should mention that, and be sure unit test covers
it.

http://gwt-code-reviews.appspot.com/993801/diff/1/2#newcode334
user/src/com/google/gwt/uibinder/rebind/model/OwnerFieldClass.java:334:
* Ranks given method based on parameter conversion cost.
Please document the ranking here, like you did in the patch description

http://gwt-code-reviews.appspot.com/993801/diff/1/2#newcode362
user/src/com/google/gwt/uibinder/rebind/model/OwnerFieldClass.java:362:
private boolean sameParameterTypes(final JMethod m1, final JMethod m2) {
why?

http://gwt-code-reviews.appspot.com/993801/diff/1/3
File
user/test/com/google/gwt/uibinder/rebind/model/OwnerFieldClassTest.java
(right):

http://gwt-code-reviews.appspot.com/993801/diff/1/3#newcode146
user/test/com/google/gwt/uibinder/rebind/model/OwnerFieldClassTest.java:146:
public void testCheckBoxValueSetters() throws Exception {
Thanks for the test, but you need more to cover your various ranking
scenarios.

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

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


[gwt-contrib] [google-web-toolkit] r9050 committed - Fixing a few logic and usability bugs in Cell Widgets. CellTree items...

2010-10-13 Thread codesite-noreply

Revision: 9050
Author: jlaba...@google.com
Date: Wed Oct 13 12:59:56 2010
Log: Fixing a few logic and usability bugs in Cell Widgets.  CellTree items  
are now easier to click. Fixed a bug in CellBrowser keyboard navigation on  
Chrome where we would get async blur events that prevented keyboard  
navigation. Fixed a few IE7 specific bugs that occur when delayed events  
fire on elements that have been replaced.


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

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

Added:
  
/trunk/user/src/com/google/gwt/user/cellview/client/CellBasedWidgetImplSafari.java

Modified:
 /trunk/user/src/com/google/gwt/user/cellview/CellView.gwt.xml
 /trunk/user/src/com/google/gwt/user/cellview/client/CellBrowser.css
 /trunk/user/src/com/google/gwt/user/cellview/client/CellBrowser.java
 /trunk/user/src/com/google/gwt/user/cellview/client/CellList.java
 /trunk/user/src/com/google/gwt/user/cellview/client/CellTable.java
 /trunk/user/src/com/google/gwt/user/cellview/client/CellTree.java
 /trunk/user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java

===
--- /dev/null
+++  
/trunk/user/src/com/google/gwt/user/cellview/client/CellBasedWidgetImplSafari.java	 
Wed Oct 13 12:59:56 2010

@@ -0,0 +1,31 @@
+/*
+ * Copyright 2010 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the License); you may  
not
+ * use this file except in compliance with the License. You may obtain a  
copy of

+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,  
WITHOUT

+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations  
under

+ * the License.
+ */
+package com.google.gwt.user.cellview.client;
+
+import com.google.gwt.core.client.Scheduler;
+import com.google.gwt.core.client.Scheduler.ScheduledCommand;
+
+/**
+ * Webkit specified Impl used by cell based widgets.
+ */
+public class CellBasedWidgetImplSafari extends CellBasedWidgetImplStandard  
{

+
+  @Override
+  public void resetFocus(ScheduledCommand command) {
+// Webkit will not focus an element that was created in this event  
loop.

+Scheduler.get().scheduleDeferred(command);
+  }
+}
===
--- /trunk/user/src/com/google/gwt/user/cellview/CellView.gwt.xml	Thu Sep  
23 12:26:00 2010
+++ /trunk/user/src/com/google/gwt/user/cellview/CellView.gwt.xml	Wed Oct  
13 12:59:56 2010

@@ -24,7 +24,6 @@
   replace-with  
class=com.google.gwt.user.cellview.client.CellBasedWidgetImplStandard
 when-type-is  
class=com.google.gwt.user.cellview.client.CellBasedWidgetImpl/

 any
-  when-property-is name=user.agent value=safari/
   when-property-is name=user.agent value=opera/
   when-property-is name=user.agent value=gecko/
   when-property-is name=user.agent value=gecko1_8/
@@ -40,6 +39,14 @@
 /any
   /replace-with

+  !-- Safari-specific CellBasedWidgetImpl implementation. --
+  replace-with  
class=com.google.gwt.user.cellview.client.CellBasedWidgetImplSafari
+when-type-is  
class=com.google.gwt.user.cellview.client.CellBasedWidgetImpl/

+any
+  when-property-is name=user.agent value=safari/
+/any
+  /replace-with
+
   !-- IE-specific CellTable implementation. --
   replace-with  
class=com.google.gwt.user.cellview.client.CellTable.ImplTrident
 when-type-is  
class=com.google.gwt.user.cellview.client.CellTable.Impl/

===
--- /trunk/user/src/com/google/gwt/user/cellview/client/CellBrowser.css	Wed  
Sep 22 12:58:01 2010
+++ /trunk/user/src/com/google/gwt/user/cellview/client/CellBrowser.css	Wed  
Oct 13 12:59:56 2010

@@ -40,6 +40,7 @@
 @sprite .cellBrowserSelectedItem {
   gwt-image: 'cellBrowserSelectedBackground';
   background-color: #628cd5;
+  background-repeat: repeat-x;
   color: white;
   height: auto;
   overflow: hidden;
@@ -48,6 +49,7 @@
 @sprite .cellBrowserOpenItem {
   gwt-image: 'cellBrowserOpenBackground';
   background-color: #7b7b7b;
+  background-repeat: repeat-x;
   color: white;
   height: auto;
   overflow: hidden;
===
--- /trunk/user/src/com/google/gwt/user/cellview/client/CellBrowser.java	 
Tue Oct 12 07:55:56 2010
+++ /trunk/user/src/com/google/gwt/user/cellview/client/CellBrowser.java	 
Wed Oct 13 12:59:56 2010

@@ -101,14 +101,16 @@
 /**
  * The background used for open items.
  */
-@ImageOptions(repeatStyle = RepeatStyle.Horizontal, flipRtl = true)
+// Use RepeatStyle.BOTH to ensure that we do not bundle the image.
+@ImageOptions(repeatStyle = RepeatStyle.Both, flipRtl = true)
 ImageResource cellBrowserOpenBackground();

 /**
  * The background used for selected items.
  

[gwt-contrib] Re: Fixing a few logic and usability bugs in Cell Widgets. CellTree items are now easier to click. ... (issue995801)

2010-10-13 Thread jlabanca

committed as r9050

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

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


[gwt-contrib] [google-web-toolkit] r9052 committed - Tighten up gwt-user checkstyle patterns....

2010-10-13 Thread codesite-noreply

Revision: 9052
Author: sco...@google.com
Date: Wed Oct 13 10:20:07 2010
Log: Tighten up gwt-user checkstyle patterns.

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

Modified:
 /trunk/eclipse/user/.checkstyle

===
--- /trunk/eclipse/user/.checkstyle Mon Oct 11 04:23:50 2010
+++ /trunk/eclipse/user/.checkstyle Wed Oct 13 10:20:07 2010
@@ -1,9 +1,9 @@
 ?xml version=1.0 encoding=UTF-8?
 fileset-config file-format-version=1.2.0 simple-config=false
 fileset name=Java source for production code enabled=true  
check-config-name=GWT Checks local=false
-file-match-pattern match-pattern=.*src.*\.java  
include-pattern=true/
-file-match-pattern  
match-pattern=core[/\\]src[/\\]javax[/\\]validation.*\.java  
include-pattern=false/
-file-match-pattern  
match-pattern=core[/\\]src[/\\]org[/\\]hibernate[/\\]validator.*\.java  
include-pattern=false/
+file-match-pattern match-pattern=core[/\\]src[/\\].*\.java$  
include-pattern=true/
+file-match-pattern  
match-pattern=core[/\\]src[/\\]javax[/\\]validation[/\\].*\.java$  
include-pattern=false/
+file-match-pattern  
match-pattern=core[/\\]src[/\\]org[/\\]hibernate[/\\]validator[/\\].*\.java$  
include-pattern=false/

 /fileset
 fileset name=Java source for test cases enabled=true  
check-config-name=GWT Checks for Tests local=false
 file-match-pattern  
match-pattern=core[/\\]test[/\\]com[/\\]google[/\\].*\.java$  
include-pattern=true/


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


[gwt-contrib] [google-web-toolkit] r9053 committed - Relaxing the data parameter of HasData#setRowData() from a ListT to ...

2010-10-13 Thread codesite-noreply

Revision: 9053
Author: jlaba...@google.com
Date: Wed Oct 13 10:24:11 2010
Log: Relaxing the data parameter of HasData#setRowData() from a ListT to  
a List? extends T.


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

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

Modified:
 /trunk/user/src/com/google/gwt/user/cellview/client/AbstractHasData.java
 /trunk/user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java
 /trunk/user/src/com/google/gwt/user/cellview/client/HasDataPresenter.java
 /trunk/user/src/com/google/gwt/view/client/HasData.java
 /trunk/user/test/com/google/gwt/view/client/MockHasData.java

===
---  
/trunk/user/src/com/google/gwt/user/cellview/client/AbstractHasData.java	 
Tue Oct 12 07:55:56 2010
+++  
/trunk/user/src/com/google/gwt/user/cellview/client/AbstractHasData.java	 
Wed Oct 13 10:24:11 2010

@@ -535,7 +535,7 @@
 presenter.setRowCount(size, isExact);
   }

-  public void setRowData(int start, ListT values) {
+  public void setRowData(int start, List? extends T values) {
 presenter.setRowData(start, values);
   }

===
---  
/trunk/user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java	 
Wed Oct 13 12:59:56 2010
+++  
/trunk/user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java	 
Wed Oct 13 10:24:11 2010

@@ -492,7 +492,7 @@
   presenter.setRowCount(size, isExact);
 }

-public void setRowData(int start, ListC values) {
+public void setRowData(int start, List? extends C values) {
   presenter.setRowData(start, values);
 }

===
---  
/trunk/user/src/com/google/gwt/user/cellview/client/HasDataPresenter.java	 
Wed Oct  6 11:53:24 2010
+++  
/trunk/user/src/com/google/gwt/user/cellview/client/HasDataPresenter.java	 
Wed Oct 13 10:24:11 2010

@@ -651,7 +651,7 @@
 RowCountChangeEvent.fire(display, count, rowCountIsExact);
   }

-  public void setRowData(int start, ListT values) {
+  public void setRowData(int start, List? extends T values) {
 int valuesLength = values.size();
 int valuesEnd = start + valuesLength;

===
--- /trunk/user/src/com/google/gwt/view/client/HasData.java	Tue Oct 12  
07:55:56 2010
+++ /trunk/user/src/com/google/gwt/view/client/HasData.java	Wed Oct 13  
10:24:11 2010

@@ -39,7 +39,7 @@
* @param start the start index of the data
* @param values the values within the range
*/
-  void setRowData(int start, ListT values);
+  void setRowData(int start, List? extends T values);

   /**
* Set the {...@link SelectionModel} used by this {...@link HasData}.
===
--- /trunk/user/test/com/google/gwt/view/client/MockHasData.java	Tue Aug 17  
10:14:36 2010
+++ /trunk/user/test/com/google/gwt/view/client/MockHasData.java	Wed Oct 13  
10:24:11 2010

@@ -81,7 +81,7 @@

   private final HandlerManager handlerManager = new HandlerManager(this);
   private Range lastRange;
-  private ListT lastRowData;
+  private List? extends T lastRowData;

   private int pageStart;
   private int pageSize = DEFAULT_PAGE_SIZE;
@@ -117,7 +117,7 @@
*
* @return the last data set
*/
-  public ListT getLastRowData() {
+  public List? extends T getLastRowData() {
 return lastRowData;
   }

@@ -146,7 +146,7 @@
 return rowCountExact;
   }

-  public void setRowData(int start, ListT values) {
+  public void setRowData(int start, List? extends T values) {
 lastRange = new Range(start, values.size());
 lastRowData = values;
   }

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


[gwt-contrib] [google-web-toolkit] r9054 committed - Update development mode bootstrap script to include browser refresh re...

2010-10-13 Thread codesite-noreply

Revision: 9054
Author: fre...@google.com
Date: Wed Oct 13 10:37:01 2010
Log: Update development mode bootstrap script to include browser refresh  
recommendation

after switching GWT versions. Also, change 'hosted mode' reference to
'development mode'.

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

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

Modified:
 /trunk/dev/core/src/com/google/gwt/dev/shell/HostedHtmlVersion.java

===
--- /trunk/dev/core/src/com/google/gwt/dev/shell/HostedHtmlVersion.java	Tue  
Aug 10 05:38:02 2010
+++ /trunk/dev/core/src/com/google/gwt/dev/shell/HostedHtmlVersion.java	Wed  
Oct 13 10:37:01 2010

@@ -46,9 +46,10 @@
   Invalid version number \ + version
   + \ passed to external.gwtOnLoad(), expected \
   + EXPECTED_GWT_ONLOAD_VERSION
-  + \; your hosted mode bootstrap file may be out of date; 
+  + \; your development mode bootstrap file may be out of  
date; 
   + if you are using -noserver try recompiling and  
redeploying 

-  + your app);
+  + your app; if you just switched to a different version of 
+  + GWT, try clearing your browser cache);
   return false;
 }
 return true;

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


[gwt-contrib] expense isn't getting GWT RC1 release

2010-10-13 Thread Arthur Kalmenson
Hello everyone,

I'm trying to build the expense report app, and it looks like the
source has been refactored to remove the app part from the packages
for place, requestfactory, etc. Unfortunately, the expense report POM
hasn't been updated to grab GWT RC 1. The repository definition looks
like this:

repository
idgwt-repo/id

urlhttp://google-web-toolkit.googlecode.com/svn/2.1.0.M3/gwt/maven/url
nameGoogle Web Toolkit Repository/name
/repository

While the http://google-web-toolkit.googlecode.com/svn/2.1.0.RC1/gwt/maven/;
repository doesn't have a GWT release. Will you be putting the new
release in the 2.1.0.M3/gwt/maven repository or the
2.1.0.RC1/gwt/maven one? Because all the downloads of GWT RC 1 will
have a broken expense report

In the mean time, the snapshot repository linked from the blog post
(https://oss.sonatype.org/content/repositories/google-snapshots) seems
to contain the correct SNAPSHOT. I'll try to use that. Thank you.

--
Arthur Kalmenson

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


[gwt-contrib] [google-web-toolkit] r9055 committed - Cherry picking bug fixes from trunk into release branch: 991801, 98980...

2010-10-13 Thread codesite-noreply

Revision: 9055
Author: p...@google.com
Date: Wed Oct 13 10:19:59 2010
Log: Cherry picking bug fixes from trunk into release branch: 991801,  
989801, 995801, 988801


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

Added:
  
/releases/2.1/user/src/com/google/gwt/user/cellview/client/CellBasedWidgetImplSafari.java

Modified:
 /releases/2.1/samples/dynatablerf/build.xml
 /releases/2.1/user/src/com/google/gwt/activity/shared/ActivityManager.java
 /releases/2.1/user/src/com/google/gwt/activity/shared/ActivityMapper.java
 /releases/2.1/user/src/com/google/gwt/logging/client/LoggingPopup.java
 /releases/2.1/user/src/com/google/gwt/user/cellview/CellView.gwt.xml
 /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellBrowser.css
 /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellBrowser.java
 /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellList.java
 /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellTable.java
 /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellTree.java
  
/releases/2.1/user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java
  
/releases/2.1/user/test/com/google/gwt/activity/shared/ActivityManagerTest.java


===
--- /dev/null
+++  
/releases/2.1/user/src/com/google/gwt/user/cellview/client/CellBasedWidgetImplSafari.java	 
Wed Oct 13 10:19:59 2010

@@ -0,0 +1,31 @@
+/*
+ * Copyright 2010 Google Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the License); you may  
not
+ * use this file except in compliance with the License. You may obtain a  
copy of

+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,  
WITHOUT

+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations  
under

+ * the License.
+ */
+package com.google.gwt.user.cellview.client;
+
+import com.google.gwt.core.client.Scheduler;
+import com.google.gwt.core.client.Scheduler.ScheduledCommand;
+
+/**
+ * Webkit specified Impl used by cell based widgets.
+ */
+public class CellBasedWidgetImplSafari extends CellBasedWidgetImplStandard  
{

+
+  @Override
+  public void resetFocus(ScheduledCommand command) {
+// Webkit will not focus an element that was created in this event  
loop.

+Scheduler.get().scheduleDeferred(command);
+  }
+}
===
--- /releases/2.1/samples/dynatablerf/build.xml Thu Oct  7 11:13:29 2010
+++ /releases/2.1/samples/dynatablerf/build.xml Wed Oct 13 10:19:59 2010
@@ -13,5 +13,6 @@
 include name=apache/log4j/log4j-1.2.16.jar /
 include name=slf4j/slf4j-api/slf4j-api-1.6.1.jar /
 include name=slf4j/slf4j-log4j12/slf4j-log4j12-1.6.1.jar /
+include name=javax/xml/bind/jaxb-api-2.1.jar /
   /fileset
 /project
===
---  
/releases/2.1/user/src/com/google/gwt/activity/shared/ActivityManager.java	 
Wed Oct  6 08:01:28 2010
+++  
/releases/2.1/user/src/com/google/gwt/activity/shared/ActivityManager.java	 
Wed Oct 13 10:19:59 2010

@@ -54,7 +54,7 @@
 public void setWidget(IsWidget view) {
   if (this.activity == ActivityManager.this.currentActivity) {
 startingNext = false;
-display.setWidget(view);
+showWidget(view);
   }
 }
   }
@@ -94,11 +94,17 @@
   /**
* Deactive the current activity, find the next one from our  
ActivityMapper,

* and start it.
-   *
+   * p
+   * The current activity's widget will be hidden immediately, which can  
cause
+   * flicker if the next activity provides its widget asynchronously. That  
can
+   * be minimized by decent caching. Perenially slow activities might  
mitigate

+   * this by providing a widget immediately, with some kind of loading
+   * treatment.
+   *
* @see PlaceChangeEvent.Handler#onPlaceChange(PlaceChangeEvent)
*/
   public void onPlaceChange(PlaceChangeEvent event) {
-Activity nextActivity = mapper.getActivity(event.getNewPlace());
+Activity nextActivity = getNextActivity(event);

 Throwable caughtOnStop = null;
 Throwable caughtOnStart = null;
@@ -118,11 +124,7 @@
   currentActivity = NULL_ACTIVITY;
   startingNext = false;
 } else if (!currentActivity.equals(NULL_ACTIVITY)) {
-  /*
-   * TODO until caching is in place, relying on stopped activities to  
be

-   * good citizens to reduce flicker. This makes me very nervous.
-   */
-  // display.showActivityWidget(null);
+  showWidget(null);

   /*
* Kill off the activity's handlers, so it doesn't have to worry  
about

@@ -146,7 +148,7 @@
 currentActivity = nextActivity;

 if (currentActivity.equals(NULL_ACTIVITY)) {
-  display.setWidget(null);
+  showWidget(null);
   return;
 }

@@ -155,7 +157,7 @@
  

[gwt-contrib] Re: Relaxing the data parameter of HasData#setRowData() from a ListT to a List? extends T. (issue994801)

2010-10-13 Thread jlabanca

committed as r9053

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

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


[gwt-contrib] Re: expense isn't getting GWT RC1 release

2010-10-13 Thread Arthur Kalmenson
Just to confirm, changing the repository definition to:

repository
idgwt-repo/id

urlhttps://oss.sonatype.org/content/repositories/google-snapshots/url
nameGoogle Web Toolkit Repository/name
/repository

Removes the compile errors from the expense report (I also had to
remove the .m2/repository/com/google/gwt folder to force Maven to
redownload 2.1-SNAPSHOT).

--
Arthur Kalmenson



On Wed, Oct 13, 2010 at 5:12 PM, Arthur Kalmenson arthur.k...@gmail.com wrote:
 Hello everyone,

 I'm trying to build the expense report app, and it looks like the
 source has been refactored to remove the app part from the packages
 for place, requestfactory, etc. Unfortunately, the expense report POM
 hasn't been updated to grab GWT RC 1. The repository definition looks
 like this:

    repository
            idgwt-repo/id
            
 urlhttp://google-web-toolkit.googlecode.com/svn/2.1.0.M3/gwt/maven/url
            nameGoogle Web Toolkit Repository/name
        /repository

 While the http://google-web-toolkit.googlecode.com/svn/2.1.0.RC1/gwt/maven/;
 repository doesn't have a GWT release. Will you be putting the new
 release in the 2.1.0.M3/gwt/maven repository or the
 2.1.0.RC1/gwt/maven one? Because all the downloads of GWT RC 1 will
 have a broken expense report

 In the mean time, the snapshot repository linked from the blog post
 (https://oss.sonatype.org/content/repositories/google-snapshots) seems
 to contain the correct SNAPSHOT. I'll try to use that. Thank you.

 --
 Arthur Kalmenson


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


Re: [gwt-contrib] Re: expense isn't getting GWT RC1 release

2010-10-13 Thread John LaBanca
I created an issue so we can fix this for the final GWT 2.1 release:
http://code.google.com/p/google-web-toolkit/issues/detail?id=5418

Thanks,
John LaBanca
jlaba...@google.com


On Wed, Oct 13, 2010 at 5:18 PM, Arthur Kalmenson arthur.k...@gmail.comwrote:

 Just to confirm, changing the repository definition to:

repository
idgwt-repo/id
 url
 https://oss.sonatype.org/content/repositories/google-snapshots/url
 nameGoogle Web Toolkit Repository/name
/repository

 Removes the compile errors from the expense report (I also had to
 remove the .m2/repository/com/google/gwt folder to force Maven to
 redownload 2.1-SNAPSHOT).

 --
 Arthur Kalmenson



 On Wed, Oct 13, 2010 at 5:12 PM, Arthur Kalmenson arthur.k...@gmail.com
 wrote:
  Hello everyone,
 
  I'm trying to build the expense report app, and it looks like the
  source has been refactored to remove the app part from the packages
  for place, requestfactory, etc. Unfortunately, the expense report POM
  hasn't been updated to grab GWT RC 1. The repository definition looks
  like this:
 
 repository
 idgwt-repo/id
 url
 http://google-web-toolkit.googlecode.com/svn/2.1.0.M3/gwt/maven/url
 nameGoogle Web Toolkit Repository/name
 /repository
 
  While the 
 http://google-web-toolkit.googlecode.com/svn/2.1.0.RC1/gwt/maven/;
  repository doesn't have a GWT release. Will you be putting the new
  release in the 2.1.0.M3/gwt/maven repository or the
  2.1.0.RC1/gwt/maven one? Because all the downloads of GWT RC 1 will
  have a broken expense report
 
  In the mean time, the snapshot repository linked from the blog post
  (https://oss.sonatype.org/content/repositories/google-snapshots) seems
  to contain the correct SNAPSHOT. I'll try to use that. Thank you.
 
  --
  Arthur Kalmenson
 

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


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

[gwt-contrib] Re: Resolve GWT issue 5364. (issue992801)

2010-10-13 Thread Ray Ryan
LGTM presuming a good answer to:

So this is to ensure that the RequestFactoryGenerator can handle things the
following, right?

@Service(com.google.gwt.requestfactory.server.SimpleFoo
http://www.google.com/url?sa=Dq=http://go.corp.google.com/jsearch-gwt/com/google/gwt/requestfactory/server/SimpleFoo.html.*class*)*public*
*interface* *TestFooPolymorphicRequest* *extends* RequestContext {
  P *extends* SimpleFooProxy RequestP echo(P proxy);
}

Do we know what happens to the rest of the chain if someone actually tries
to call such a method?

rjrjr

On Wed, Oct 13, 2010 at 10:32 AM, b...@google.com wrote:

 Reviewers: rjrjr,

 Description:
 Resolve GWT issue 5364.
 Enable RequestFactoryPolymorphicTest.
 Consolidate base-type code in ModelUtils.
 Patch by: bobv
 Review by: rjrjr


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

 Affected files:
  M user/src/com/google/gwt/editor/rebind/AutoBeanFactoryGenerator.java
  M user/src/com/google/gwt/editor/rebind/model/AutoBeanFactoryModel.java
  M user/src/com/google/gwt/editor/rebind/model/ModelUtils.java
  M
 user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java
  M
 user/src/com/google/gwt/requestfactory/rebind/model/EntityProxyModel.java
  M
 user/src/com/google/gwt/requestfactory/rebind/model/RequestFactoryModel.java
  M user/test/com/google/gwt/requestfactory/RequestFactorySuite.java




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

Re: [gwt-contrib] panel does not fire attach events (issue981801)

2010-10-13 Thread Ray Ryan
These events are provided so that you can accomplish the same kinds of tasks
without having to subclass the Widget, so it seemed natural (well, easier)
to put the behavior there. But maybe that is too fragile, I'll try to move
it where it belongs.

Another question is why Panel overrides those methods in the first place.
I'll delete those, they're noise.

Stephen, thanks for catching this, and especially for punching up the test.

On Tue, Oct 12, 2010 at 12:37 PM, Joel Webber j...@google.com wrote:

 Hmm... I didn't even realize AttachEvent had been added. John  Ray, you
 might want to take a look at this -- in the original design this super
 invocation wouldn't have mattered, because widget's onLoad() was empty
 (onAttach/Detach() weren't really meant to overridden outside of Panel and
 Composite -- onLoad/Unload() were the methods to override). But now it
 appears that Widget.onLoad() has actual code in it. Could this not be moved
 to onAttach?

 Le 11 octobre 2010 14:05, stephen.haber...@gmail.com a écrit :

 Reviewers: ,

 Description:
 Panel's onLoad does not call super.onLoad. This is a simple fix that
 just adds the missing onLoad call.

 I have another patch set which fires the attach event in
 onAttach/onDetach, given these are more stable methods that user's are
 less prone overriding them.

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

 Affected files:
  user/src/com/google/gwt/user/client/ui/Panel.java
  user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java


 Index: user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java
 ===
 --- user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java
 (revision 8929)
 +++ user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java
 (working copy)
 @@ -121,9 +121,12 @@
 }

 TestPanel tp = new TestPanel();
 +TestAttachHandler tpa = new TestAttachHandler();
 +tp.addAttachHandler(tpa);
 +
 TestWidget tw = new TestWidget();
 -TestAttachHandler ta = new TestAttachHandler();
 -tw.addAttachHandler(ta);
 +TestAttachHandler twa = new TestAttachHandler();
 +tw.addAttachHandler(twa);

 tp.add(tw);
 RootPanel.get().add(tp);
 @@ -134,9 +137,9 @@
 assertTrue(tp.onAttachOrder  tp.onLoadOrder);
 assertTrue(tp.onDetachOrder  tp.onUnloadOrder);
 assertTrue(tw.onAttachOrder  tw.onLoadOrder);
 -assertTrue(tw.onLoadOrder  ta.delegateAttachOrder);
 +assertTrue(tw.onLoadOrder  twa.delegateAttachOrder);
 assertTrue(tw.onDetachOrder  tw.onUnloadOrder);
 -assertTrue(tw.onUnloadOrder  ta.delegateDetachOrder);
 +assertTrue(tw.onUnloadOrder  twa.delegateDetachOrder);

 // Also trivial. Ensure that the panel's onAttach/onDetach is called
 before
 // its child's onAttach/onDetach.
 @@ -150,6 +153,9 @@
 // detached/unloaded.
 assertTrue(tp.onUnloadOrder  tw.onUnloadOrder);

 +assertTrue(tp.onLoadOrder  tpa.delegateAttachOrder);
 +assertTrue(tp.onUnloadOrder  tpa.delegateDetachOrder);
 +
 // Make sure each widget/panel's elements are actually still attached
 to the
 // DOM during onLoad/onUnload.
 assertTrue(tp.domAttachedOnLoad);
 Index: user/src/com/google/gwt/user/client/ui/Panel.java
 ===
 --- user/src/com/google/gwt/user/client/ui/Panel.java   (revision 8929)
 +++ user/src/com/google/gwt/user/client/ui/Panel.java   (working copy)
 @@ -183,6 +183,7 @@
*/
   @Override
   protected void onLoad() {
 +super.onLoad();
   }

   /**
 @@ -193,6 +194,7 @@
*/
   @Override
   protected void onUnload() {
 +super.onUnload();
   }

   /**


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




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

[gwt-contrib] Re: Update development mode bootstrap script to include browser refresh recommendation (issue984801)

2010-10-13 Thread fredsa

Committed as r9054

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

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


Re: [gwt-contrib] panel does not fire attach events (issue981801)

2010-10-13 Thread Ray Ryan
Oh cool, Stephen provided the patch for the robust fix.

On Wed, Oct 13, 2010 at 3:53 PM, Ray Ryan rj...@google.com wrote:

 These events are provided so that you can accomplish the same kinds of
 tasks without having to subclass the Widget, so it seemed natural (well,
 easier) to put the behavior there. But maybe that is too fragile, I'll try
 to move it where it belongs.

 Another question is why Panel overrides those methods in the first place.
 I'll delete those, they're noise.

 Stephen, thanks for catching this, and especially for punching up the test.


 On Tue, Oct 12, 2010 at 12:37 PM, Joel Webber j...@google.com wrote:

 Hmm... I didn't even realize AttachEvent had been added. John  Ray, you
 might want to take a look at this -- in the original design this super
 invocation wouldn't have mattered, because widget's onLoad() was empty
 (onAttach/Detach() weren't really meant to overridden outside of Panel and
 Composite -- onLoad/Unload() were the methods to override). But now it
 appears that Widget.onLoad() has actual code in it. Could this not be moved
 to onAttach?

 Le 11 octobre 2010 14:05, stephen.haber...@gmail.com a écrit :

  Reviewers: ,

 Description:
 Panel's onLoad does not call super.onLoad. This is a simple fix that
 just adds the missing onLoad call.

 I have another patch set which fires the attach event in
 onAttach/onDetach, given these are more stable methods that user's are
 less prone overriding them.

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

 Affected files:
  user/src/com/google/gwt/user/client/ui/Panel.java
  user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java


 Index: user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java
 ===
 --- user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java
 (revision 8929)
 +++ user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java
 (working copy)
 @@ -121,9 +121,12 @@
 }

 TestPanel tp = new TestPanel();
 +TestAttachHandler tpa = new TestAttachHandler();
 +tp.addAttachHandler(tpa);
 +
 TestWidget tw = new TestWidget();
 -TestAttachHandler ta = new TestAttachHandler();
 -tw.addAttachHandler(ta);
 +TestAttachHandler twa = new TestAttachHandler();
 +tw.addAttachHandler(twa);

 tp.add(tw);
 RootPanel.get().add(tp);
 @@ -134,9 +137,9 @@
 assertTrue(tp.onAttachOrder  tp.onLoadOrder);
 assertTrue(tp.onDetachOrder  tp.onUnloadOrder);
 assertTrue(tw.onAttachOrder  tw.onLoadOrder);
 -assertTrue(tw.onLoadOrder  ta.delegateAttachOrder);
 +assertTrue(tw.onLoadOrder  twa.delegateAttachOrder);
 assertTrue(tw.onDetachOrder  tw.onUnloadOrder);
 -assertTrue(tw.onUnloadOrder  ta.delegateDetachOrder);
 +assertTrue(tw.onUnloadOrder  twa.delegateDetachOrder);

 // Also trivial. Ensure that the panel's onAttach/onDetach is called
 before
 // its child's onAttach/onDetach.
 @@ -150,6 +153,9 @@
 // detached/unloaded.
 assertTrue(tp.onUnloadOrder  tw.onUnloadOrder);

 +assertTrue(tp.onLoadOrder  tpa.delegateAttachOrder);
 +assertTrue(tp.onUnloadOrder  tpa.delegateDetachOrder);
 +
 // Make sure each widget/panel's elements are actually still attached
 to the
 // DOM during onLoad/onUnload.
 assertTrue(tp.domAttachedOnLoad);
 Index: user/src/com/google/gwt/user/client/ui/Panel.java
 ===
 --- user/src/com/google/gwt/user/client/ui/Panel.java   (revision 8929)
 +++ user/src/com/google/gwt/user/client/ui/Panel.java   (working copy)
 @@ -183,6 +183,7 @@
*/
   @Override
   protected void onLoad() {
 +super.onLoad();
   }

   /**
 @@ -193,6 +194,7 @@
*/
   @Override
   protected void onUnload() {
 +super.onUnload();
   }

   /**


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





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

[gwt-contrib] Fixing IE6 CellTree bugs. Child nodes disappear after the open animation completes, and images ... (issue997801)

2010-10-13 Thread jlabanca

Reviewers: rice,

Description:
Fixing IE6 CellTree bugs.  Child nodes disappear after the open
animation completes, and images are not located correctly.


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

Affected files:
  M user/src/com/google/gwt/user/cellview/CellView.gwt.xml
  M user/src/com/google/gwt/user/cellview/client/CellTree.java
  M user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java


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


[gwt-contrib] Public (stephen.haber...@gmail.com): (issue998801)

2010-10-13 Thread rjrjr

Reviewers: jlabanca,

Description:
Public (stephen.haber...@gmail.com):

Fixes GWT issue 5419, Panels do not emit AttachEvent
http://code.google.com/p/google-web-toolkit/issues/detail?id=5419

Review by: rj...@google.com


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

Affected files:
  M user/src/com/google/gwt/user/client/ui/Composite.java
  M user/src/com/google/gwt/user/client/ui/Panel.java
  M user/src/com/google/gwt/user/client/ui/Widget.java
  M user/test/com/google/gwt/user/client/ui/CompositeTest.java
  M user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java


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


[gwt-contrib] [google-web-toolkit] r9056 committed - Use the response setContentType() in RequestFactoryServlet instead...

2010-10-13 Thread codesite-noreply

Revision: 9056
Author: gwt.mirror...@gmail.com
Date: Wed Oct 13 17:22:55 2010
Log: Use the response setContentType() in RequestFactoryServlet instead
of the more generic setHeader() call.

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

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

Modified:
  
/trunk/user/src/com/google/gwt/requestfactory/server/RequestFactoryServlet.java


===
---  
/trunk/user/src/com/google/gwt/requestfactory/server/RequestFactoryServlet.java	 
Tue Oct 12 10:53:11 2010
+++  
/trunk/user/src/com/google/gwt/requestfactory/server/RequestFactoryServlet.java	 
Wed Oct 13 17:22:55 2010

@@ -112,8 +112,7 @@
   requestProcessor.setOperationRegistry(new  
ReflectionBasedOperationRegistry(

   new DefaultSecurityProvider()));
   requestProcessor.setExceptionHandler(exceptionHandler);
-  response.setHeader(Content-Type,
-  RequestFactory.JSON_CONTENT_TYPE_UTF8);
+  response.setContentType(RequestFactory.JSON_CONTENT_TYPE_UTF8);

writer.print(requestProcessor.decodeAndInvokeRequest(jsonRequestString));

   writer.flush();
 }

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


[gwt-contrib] Re: make SimpleEventBus not defer adds (issue979801)

2010-10-13 Thread rjrjr

I'm getting cold feet about this change, especially when we're trying to
freeze 2.1

One problem is that this will break
com.google.gwt.event.shared.HandlerManagerTest.testConcurrentAdd(),
which still assumes that adds are deferred. And it will likewise break
any existing apps that are relying on that behavior of HandlerManager
(accidentally or otherwise). I suppose we could give the package
protected constructor another argument, SimpleEventBus(boolean
fireInReverseOrder, boolean deferAdds)?

I'm also uncomfortable with the lack of parallelism — when I add another
handler it's added immediately, but a remove happens later. If we make
the removes happen immediately, people will rely on the order that
handlers are called even more than they do already, not a great thing.
Am I worrying too much?

If we don't make this change, it's consistent and clear when adds and
removes happen: not now, so if I'm doing an add I'll also have to call
the thing myself if that's what I want. I'll have to learn that lesson,
like you did, but I have control.

I think we should pass on this. Sorry, Stephen.

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

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


[gwt-contrib] [google-web-toolkit] r9057 committed - DeadCodeElimination should only run once....

2010-10-13 Thread codesite-noreply

Revision: 9057
Author: gwt.mirror...@gmail.com
Date: Wed Oct 13 14:39:37 2010
Log: DeadCodeElimination should only run once.

Changes to DeadCodeElimination to ensure that almost all of the  
optimizations performed can be done in a single
pass.  I only know of one remaining case where running the visitor twice  
can result in additional changes: the
optimization performed in endVisit(JNewInstance) involving ignored new  
operations to empty constructor calls.
Sometimes the constructor becomes empty later in the optimization pass, and  
earlier calls aren't removed.  This

seems to be a very rare case, though.

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

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

Modified:
 /trunk/dev/core/src/com/google/gwt/dev/jjs/ast/JModVisitor.java
 /trunk/dev/core/src/com/google/gwt/dev/jjs/impl/DeadCodeElimination.java
 /trunk/dev/core/src/com/google/gwt/dev/jjs/impl/Simplifier.java
  
/trunk/dev/core/test/com/google/gwt/dev/jjs/impl/DeadCodeEliminationTest.java


===
--- /trunk/dev/core/src/com/google/gwt/dev/jjs/ast/JModVisitor.java	Tue Oct  
12 13:20:21 2010
+++ /trunk/dev/core/src/com/google/gwt/dev/jjs/ast/JModVisitor.java	Wed Oct  
13 14:39:37 2010

@@ -29,7 +29,7 @@
* Context for traversing a mutable list.
*/
   @SuppressWarnings(unchecked)
-  private class ListContextT extends JNode extends VisitorContext {
+  private class ListContextT extends JNode implements Context {
 int index;
 final ListT list;
 boolean removed;
@@ -50,13 +50,13 @@
 public void insertAfter(JNode node) {
   checkRemoved();
   list.add(index + 1, (T) node);
-  numMods++;
+  ++numVisitorChanges;
 }

 public void insertBefore(JNode node) {
   checkRemoved();
   list.add(index++, (T) node);
-  numMods++;
+  ++numVisitorChanges;
 }

 public boolean isLvalue() {
@@ -67,7 +67,7 @@
   checkState();
   list.remove(index--);
   removed = true;
-  numMods++;
+  ++numVisitorChanges;
 }

 public void replaceMe(JNode node) {
@@ -75,7 +75,7 @@
   checkReplacement(list.get(index), node);
   list.set(index, (T) node);
   replaced = true;
-  numMods++;
+  ++numVisitorChanges;
 }

 /**
@@ -87,7 +87,6 @@
   removed = replaced = false;
   list.get(index).traverse(JModVisitor.this, this);
 }
-JModVisitor.this.numVisitorChanges += numMods;
 return list;
   } catch (Throwable e) {
 throw translateException(list.get(index), e);
@@ -112,7 +111,7 @@
* Context for traversing an immutable list.
*/
   @SuppressWarnings(unchecked)
-  private class ListContextImmutableT extends JNode extends  
VisitorContext {

+  private class ListContextImmutableT extends JNode implements Context {
 int index;
 ListT list;
 boolean removed;
@@ -133,13 +132,13 @@
 public void insertAfter(JNode node) {
   checkRemoved();
   list = Lists.add(list, index + 1, (T) node);
-  numMods++;
+  ++numVisitorChanges;
 }

 public void insertBefore(JNode node) {
   checkRemoved();
   list = Lists.add(list, index++, (T) node);
-  numMods++;
+  ++numVisitorChanges;
 }

 public boolean isLvalue() {
@@ -150,7 +149,7 @@
   checkState();
   list = Lists.remove(list, index--);
   removed = true;
-  numMods++;
+  ++numVisitorChanges;
 }

 public void replaceMe(JNode node) {
@@ -158,7 +157,7 @@
   checkReplacement(list.get(index), node);
   list = Lists.set(list, index, (T) node);
   replaced = true;
-  numMods++;
+  ++numVisitorChanges;
 }

 /**
@@ -170,7 +169,6 @@
   removed = replaced = false;
   list.get(index).traverse(JModVisitor.this, this);
 }
-numVisitorChanges += numMods;
 return list;
   } catch (Throwable e) {
 throw translateException(list.get(index), e);
@@ -202,7 +200,7 @@
 }
   }

-  private static class NodeContext extends VisitorContext {
+  private class NodeContext implements Context {
 boolean canRemove;
 JNode node;
 boolean replaced;
@@ -237,7 +235,7 @@
   }

   this.node = null;
-  numMods++;
+  ++numVisitorChanges;
 }

 public void replaceMe(JNode node) {
@@ -247,17 +245,9 @@
   checkReplacement(this.node, node);
   this.node = node;
   replaced = true;
-  numMods++;
+  ++numVisitorChanges;
 }
   }
-
-  private abstract static class VisitorContext implements Context {
-int numMods = 0;
-
-public int getNumMods() {
-  return numMods;
-}
-  }

   protected static void checkReplacement(JNode origNode, JNode newNode) {
 if (newNode == null) {
@@ -282,7 +272,6 @@
 try {
   ctx.node = node;
   traverse(node, ctx);
-  numVisitorChanges += ctx.getNumMods();
   return ctx.node;
 } catch (Throwable e) {
   

Re: [gwt-contrib] Re: expense isn't getting GWT RC1 release

2010-10-13 Thread Arthur Kalmenson
Great, thanks. Would a patch be helpful or will you be using some
other Maven repository?

--
Arthur Kalmenson



On Wed, Oct 13, 2010 at 5:22 PM, John LaBanca jlaba...@google.com wrote:
 I created an issue so we can fix this for the final GWT 2.1 release:
 http://code.google.com/p/google-web-toolkit/issues/detail?id=5418

 Thanks,
 John LaBanca
 jlaba...@google.com


 On Wed, Oct 13, 2010 at 5:18 PM, Arthur Kalmenson arthur.k...@gmail.com
 wrote:

 Just to confirm, changing the repository definition to:

        repository
            idgwt-repo/id

  urlhttps://oss.sonatype.org/content/repositories/google-snapshots/url
            nameGoogle Web Toolkit Repository/name
        /repository

 Removes the compile errors from the expense report (I also had to
 remove the .m2/repository/com/google/gwt folder to force Maven to
 redownload 2.1-SNAPSHOT).

 --
 Arthur Kalmenson



 On Wed, Oct 13, 2010 at 5:12 PM, Arthur Kalmenson arthur.k...@gmail.com
 wrote:
  Hello everyone,
 
  I'm trying to build the expense report app, and it looks like the
  source has been refactored to remove the app part from the packages
  for place, requestfactory, etc. Unfortunately, the expense report POM
  hasn't been updated to grab GWT RC 1. The repository definition looks
  like this:
 
     repository
             idgwt-repo/id
 
   urlhttp://google-web-toolkit.googlecode.com/svn/2.1.0.M3/gwt/maven/url
             nameGoogle Web Toolkit Repository/name
         /repository
 
  While the
  http://google-web-toolkit.googlecode.com/svn/2.1.0.RC1/gwt/maven/;
  repository doesn't have a GWT release. Will you be putting the new
  release in the 2.1.0.M3/gwt/maven repository or the
  2.1.0.RC1/gwt/maven one? Because all the downloads of GWT RC 1 will
  have a broken expense report
 
  In the mean time, the snapshot repository linked from the blog post
  (https://oss.sonatype.org/content/repositories/google-snapshots) seems
  to contain the correct SNAPSHOT. I'll try to use that. Thank you.
 
  --
  Arthur Kalmenson
 

 --
 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