[gwt-contrib] Re: RR: Adding Kelly's event dispatch app to reference on 1.5

2008-11-05 Thread Emily Crutcher
Ah! makes perfect sense, sorry for the confusion.

On Wed, Nov 5, 2008 at 6:30 PM, Ray Ryan <[EMAIL PROTECTED]> wrote:

> Because it tests the 1.5 api. If we want to run it again, it will be
> simplest if it lives with the 1.5 code. Adding it to reference should be
> safe, since reference is not part of the product jars.
>
>
> On Wed, Nov 5, 2008 at 3:26 PM, Emily Crutcher <[EMAIL PROTECTED]> wrote:
>
>> Why 1.5 rather the 1.6?
>>
>>
>> On Wed, Nov 5, 2008 at 5:32 PM, Ray Ryan <[EMAIL PROTECTED]> wrote:
>>
>>> Wait. What? When you said "the entire 1.6 branch", did you mean the
>>> entire 1.5 branch?
>>> Here's how I understand the plan:
>>>
>>> Put this benchmark app patch into 1.5
>>> 1.5 -> 1.6
>>> 1.6 -> 1.6_clean_event
>>> Edit the benchmark app in 1.6_clean_event, to use the new calls.
>>>
>>> Can I get an LGTM from either Emily or Kelly on that?
>>>
>>> rjrjr
>>>
>>> On Wed, Nov 5, 2008 at 9:08 AM, Ray Ryan <[EMAIL PROTECTED]> wrote:
>>>
 Sounds like a plan.

 On Tue, Nov 4, 2008 at 6:08 PM, Emily Crutcher <[EMAIL PROTECTED]> wrote:

> Ray,
>
>I think you actually want to merge the entire 1.6 branch into the
> 1.6 clean events branch rather then copying the benchmark and update the
> branch.txt file in clean events with that info. Otherwise, the merge back
> from 1.6 is going to more painful then even today's fire drill was.
>
>   Cheers,
>
>  Emily
>
>
>
>
> On Tue, Nov 4, 2008 at 6:51 PM, Ray Ryan <[EMAIL PROTECTED]> wrote:
>
>> Hey, Kelly.
>> The attached is the 1.5 version of the event dispatch benchmark you
>> wrote last week, and is intended to be committed to the references 
>> directory
>> of the 1.5 branch. I plan to svn copy it from there
>> to branches/1_6_clean_events/reference and there apply the diff between 
>> your
>> 1.5 and 1.6 versions.
>>
>> What do you think?
>>
>> rjrjr
>>
>>
>>
>>
>
>
> --
> "There are only 10 types of people in the world: Those who understand
> binary, and those who don't"
>
>
>

>>>
>>>
>>>
>>
>>
>> --
>> "There are only 10 types of people in the world: Those who understand
>> binary, and those who don't"
>>
>>
>>
>
> >
>


-- 
"There are only 10 types of people in the world: Those who understand
binary, and those who don't"

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



[gwt-contrib] [google-web-toolkit] [EMAIL PROTECTED] commented on branch /branches/1_6_clean_events.

2008-11-05 Thread codesite-noreply

[google-web-toolkit] [EMAIL PROTECTED] commented on branch  
/branches/1_6_clean_events.
Details are at  
http://code.google.com/p/google-web-toolkit/source/branch?spec=issue3083&branch=%2Fbranches%2F1_6_clean_events

General Comment:
First round of comments covering mostly events/dom/client

Line-by-line comments:

File:  
/branches/1_6_clean_events/user/src/com/google/gwt/core/client/impl/RawJsMapImpl.java
  
(r3958)
===

Line 27:  * then three versions of put and get, so do not use!
---
I don't understand the last comment. Shouldn't this just say: "Do not  
use this, it is effectively private"

Line 31: public class RawJsMapImpl {
---
Why is this "RawJsMapImpl"? Shouldn't this be JsMapImpl? What  
does raw signify?

I think I remember that we decided to favor single letter type parameters.  
I think this would be a good place for type T since this is just a simple  
container.

I also have some general concerns about this class. Why are we using a  
java.util.HashMap when running bytecode and a JavaScriptObject for running  
in JavaScript? This seems like an unwelcome difference when running hosted  
mode vs. web mode. I seem to recall some discussion about being able to run  
this stuff on the server. However, I'm not sure that's a worthwhile goal  
and in fact it wasn't in the original design doc.

Line 33:   private static class KeyMap extends JavaScriptObject {
---
KeyMap seems like a strange name. Isn't this just a JsMap or JsMapImpl?

Line 36:   return (RawJsMapImpl.KeyMap) JavaScriptObject.createObject();
---
I always use this because it keeps you from having to re-specify the type:  
JavaScriptObject.createObject().cast()

Would that be better here than a real cast?

Line 72:   public final ValueType get(String key) {
---
Do we actually use this one for anything? I could see some bugs creeping in  
at some point because of unfamiliarity with safeGet and safePut. Maybe  
these should be private.

Line 110: return get(key + ":");
---
We've always used a ":" prefix in the past. It's not a big deal  
that we're using a suffix here, but I was just wondering if there was a  
reason why we did it differently?

File:  
/branches/1_6_clean_events/user/src/com/google/gwt/event/dom/client/AllFocusHandlers.java
  
(r3942)
===

Line 32:   public static  void addHandlers(
---
This is strangely named. You are not adding multiple handlers, you are  
attaching a single handler to receive many event types.

Line 33:   HasAllFocusHandlers source, EventHandlerType handlers) {
---
Similarly, this seems to make more sense as handler and not handlers.

File:  
/branches/1_6_clean_events/user/src/com/google/gwt/event/dom/client/AllMouseHandlers.java
  
(r3942)
===

Line 38:   public static  void addHandlers(
---
This is strangely named. You are not adding multiple handlers, you are  
attaching a single handler to receive many event types.

Line 39:   HasAllMouseHandlers source, EventHandler handlers) {
---
handler instead of handlers

File:  
/branches/1_6_clean_events/user/src/com/google/gwt/event/dom/client/BlurEvent.java
  
(r3942)
===

Line 29:   private static Type TYPE = new  
Type(Event.ONBLUR,
---
final

Line 33:* Ensures the existence of the handler TYPE, so the system  
knows to start
---
Is this up to date? I don't see where this ensures the existence of TYPE.

Line 45:* to fire click events.
---
update click to blur

Line 47:   protected BlurEvent() {
---
What is the use case for creating subclasses of these type of events?

File:  
/branches/1_6_clean_events/user/src/com/google/gwt/event/dom/client/ChangeEvent.java
  
(r3942)
==

[gwt-contrib] [google-web-toolkit] [EMAIL PROTECTED] commented on branch /branches/1_6_clean_events.

2008-11-05 Thread codesite-noreply

[google-web-toolkit] [EMAIL PROTECTED] commented on branch  
/branches/1_6_clean_events.
Details are at  
http://code.google.com/p/google-web-toolkit/source/branch?spec=issue3083&branch=%2Fbranches%2F1_6_clean_events

Score: Neutral

General Comment:
Here are some comments about about the gwt/user/client package. Most of the  
changes look sensible, just a few notes on clarity.

Line-by-line comments:

File: /branches/1_6_clean_events/user/src/com/google/gwt/user/client/L.java  
(r3940)
===

Line 32:  * Root of legacy listener support hierarchy.
---
This could definitely use some more explanatory javadoc.

File:  
/branches/1_6_clean_events/user/src/com/google/gwt/user/client/Window.java  
(r3937)
===

Line 61:  * The message to display to the user in an attempt to keep  
them on the
---
Kind of prescriptivist -- maybe more like "to see whether they really  
want to leave the page"?

Line 310:   public static class ScrollEvent extends  
AbstractEvent {
---
In general, we could replace Window.InnerClass with just InnerClass (while  
inside Window).

Line 792: if (GWT.isClient() && !closeHandlersInitialized) {
---
The idea that the Window class would be running on a server is confusing --  
why would this come up?

File:  
/branches/1_6_clean_events/user/src/com/google/gwt/user/client/ui/CheckBox.java 
 
(r3937)
===

Line 230: if (eventsToSink == -1) {
---
This could be clearer -- somebody who's not familiar with the event sinking  
magic wouldn't know what -1 means here.

File:  
/branches/1_6_clean_events/user/src/com/google/gwt/user/client/ui/HasValue.java 
 
(r3941)
===

Line 3:  *
---
This file was created in 2008, yes?

File:  
/branches/1_6_clean_events/user/src/com/google/gwt/user/client/ui/SuggestBox.java
  
(r3940)
===

Line 90:  * CSS Style Rules  .gwt-SuggestBox {  
the suggest
---
This is going to be hard to edit, with all the HTML in the javadoc bunched  
up like that. Does AutoFormat do this?

File:  
/branches/1_6_clean_events/user/src/com/google/gwt/user/client/ui/Widget.java  
(r3961)
===

Line 75:* Is the given event handled by this widget?
---
This could use an example here. Why would you want to call this?

Line 289:   final boolean isOrWasAttached() {
---
A little explanatory comment about how this works would be much  
appreciated. Does eventsToSink always get set to something that's not -1  
when the widget becomes attached? What if it doesn't sink any events? ...

Respond to these comments at  
http://code.google.com/p/google-web-toolkit/source/branch?spec=issue3083&branch=%2Fbranches%2F1_6_clean_events
--
You received this message because you starred this review, or because
your project has directed all notifications to a mailing list that you
subscribe to.
You may adjust your review notification preferences at:
http://code.google.com/hosting/settings

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



[gwt-contrib] Re: RR: Adding Kelly's event dispatch app to reference on 1.5

2008-11-05 Thread Ray Ryan
Because it tests the 1.5 api. If we want to run it again, it will be
simplest if it lives with the 1.5 code. Adding it to reference should be
safe, since reference is not part of the product jars.

On Wed, Nov 5, 2008 at 3:26 PM, Emily Crutcher <[EMAIL PROTECTED]> wrote:

> Why 1.5 rather the 1.6?
>
>
> On Wed, Nov 5, 2008 at 5:32 PM, Ray Ryan <[EMAIL PROTECTED]> wrote:
>
>> Wait. What? When you said "the entire 1.6 branch", did you mean the entire
>> 1.5 branch?
>> Here's how I understand the plan:
>>
>> Put this benchmark app patch into 1.5
>> 1.5 -> 1.6
>> 1.6 -> 1.6_clean_event
>> Edit the benchmark app in 1.6_clean_event, to use the new calls.
>>
>> Can I get an LGTM from either Emily or Kelly on that?
>>
>> rjrjr
>>
>> On Wed, Nov 5, 2008 at 9:08 AM, Ray Ryan <[EMAIL PROTECTED]> wrote:
>>
>>> Sounds like a plan.
>>>
>>> On Tue, Nov 4, 2008 at 6:08 PM, Emily Crutcher <[EMAIL PROTECTED]> wrote:
>>>
 Ray,

I think you actually want to merge the entire 1.6 branch into the 1.6
 clean events branch rather then copying the benchmark and update the
 branch.txt file in clean events with that info. Otherwise, the merge back
 from 1.6 is going to more painful then even today's fire drill was.

   Cheers,

  Emily




 On Tue, Nov 4, 2008 at 6:51 PM, Ray Ryan <[EMAIL PROTECTED]> wrote:

> Hey, Kelly.
> The attached is the 1.5 version of the event dispatch benchmark you
> wrote last week, and is intended to be committed to the references 
> directory
> of the 1.5 branch. I plan to svn copy it from there
> to branches/1_6_clean_events/reference and there apply the diff between 
> your
> 1.5 and 1.6 versions.
>
> What do you think?
>
> rjrjr
>
>
>
>


 --
 "There are only 10 types of people in the world: Those who understand
 binary, and those who don't"



>>>
>>
>>
>>
>
>
> --
> "There are only 10 types of people in the world: Those who understand
> binary, and those who don't"
>
> >
>

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



[gwt-contrib] Re: RR: Adding Kelly's event dispatch app to reference on 1.5

2008-11-05 Thread Emily Crutcher
Why 1.5 rather the 1.6?

On Wed, Nov 5, 2008 at 5:32 PM, Ray Ryan <[EMAIL PROTECTED]> wrote:

> Wait. What? When you said "the entire 1.6 branch", did you mean the entire
> 1.5 branch?
> Here's how I understand the plan:
>
> Put this benchmark app patch into 1.5
> 1.5 -> 1.6
> 1.6 -> 1.6_clean_event
> Edit the benchmark app in 1.6_clean_event, to use the new calls.
>
> Can I get an LGTM from either Emily or Kelly on that?
>
> rjrjr
>
> On Wed, Nov 5, 2008 at 9:08 AM, Ray Ryan <[EMAIL PROTECTED]> wrote:
>
>> Sounds like a plan.
>>
>> On Tue, Nov 4, 2008 at 6:08 PM, Emily Crutcher <[EMAIL PROTECTED]> wrote:
>>
>>> Ray,
>>>
>>>I think you actually want to merge the entire 1.6 branch into the 1.6
>>> clean events branch rather then copying the benchmark and update the
>>> branch.txt file in clean events with that info. Otherwise, the merge back
>>> from 1.6 is going to more painful then even today's fire drill was.
>>>
>>>   Cheers,
>>>
>>>  Emily
>>>
>>>
>>>
>>>
>>> On Tue, Nov 4, 2008 at 6:51 PM, Ray Ryan <[EMAIL PROTECTED]> wrote:
>>>
 Hey, Kelly.
 The attached is the 1.5 version of the event dispatch benchmark you
 wrote last week, and is intended to be committed to the references 
 directory
 of the 1.5 branch. I plan to svn copy it from there
 to branches/1_6_clean_events/reference and there apply the diff between 
 your
 1.5 and 1.6 versions.

 What do you think?

 rjrjr




>>>
>>>
>>> --
>>> "There are only 10 types of people in the world: Those who understand
>>> binary, and those who don't"
>>>
>>>
>>>
>>
>
> >
>


-- 
"There are only 10 types of people in the world: Those who understand
binary, and those who don't"

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



[gwt-contrib] [google-web-toolkit commit] r3962 - branches/1_6_clean_events

2008-11-05 Thread codesite-noreply

Author: [EMAIL PROTECTED]
Date: Wed Nov  5 14:35:13 2008
New Revision: 3962

Modified:
branches/1_6_clean_events/branch-info.txt

Log:
Added "next merge" line

Modified: branches/1_6_clean_events/branch-info.txt
==
--- branches/1_6_clean_events/branch-info.txt   (original)
+++ branches/1_6_clean_events/branch-info.txt   Wed Nov  5 14:35:13 2008
@@ -6,4 +6,4 @@
  /releases/1.6/1_6_clean_events was created from r3770

  Merges:
-
\ No newline at end of file
+ -> The next merge into trunk will be r3770:

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



[gwt-contrib] Re: RR: Adding Kelly's event dispatch app to reference on 1.5

2008-11-05 Thread Ray Ryan
Wait. What? When you said "the entire 1.6 branch", did you mean the entire
1.5 branch?
Here's how I understand the plan:

Put this benchmark app patch into 1.5
1.5 -> 1.6
1.6 -> 1.6_clean_event
Edit the benchmark app in 1.6_clean_event, to use the new calls.

Can I get an LGTM from either Emily or Kelly on that?

rjrjr

On Wed, Nov 5, 2008 at 9:08 AM, Ray Ryan <[EMAIL PROTECTED]> wrote:

> Sounds like a plan.
>
> On Tue, Nov 4, 2008 at 6:08 PM, Emily Crutcher <[EMAIL PROTECTED]> wrote:
>
>> Ray,
>>
>>I think you actually want to merge the entire 1.6 branch into the 1.6
>> clean events branch rather then copying the benchmark and update the
>> branch.txt file in clean events with that info. Otherwise, the merge back
>> from 1.6 is going to more painful then even today's fire drill was.
>>
>>   Cheers,
>>
>>  Emily
>>
>>
>>
>>
>> On Tue, Nov 4, 2008 at 6:51 PM, Ray Ryan <[EMAIL PROTECTED]> wrote:
>>
>>> Hey, Kelly.
>>> The attached is the 1.5 version of the event dispatch benchmark you wrote
>>> last week, and is intended to be committed to the references directory of
>>> the 1.5 branch. I plan to svn copy it from there
>>> to branches/1_6_clean_events/reference and there apply the diff between your
>>> 1.5 and 1.6 versions.
>>>
>>> What do you think?
>>>
>>> rjrjr
>>>
>>>
>>>
>>>
>>
>>
>> --
>> "There are only 10 types of people in the world: Those who understand
>> binary, and those who don't"
>>
>> >>
>>
>

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



[gwt-contrib] [google-web-toolkit commit] r3961 - in branches/1_6_clean_events/user: src/com/google/gwt/event/dom/client src/com/google/gwt...

2008-11-05 Thread codesite-noreply

Author: [EMAIL PROTECTED]
Date: Wed Nov  5 14:17:59 2008
New Revision: 3961

Added:
branches/1_6_clean_events/user/test/com/google/gwt/event/logical/
branches/1_6_clean_events/user/test/com/google/gwt/event/logical/shared/
 
branches/1_6_clean_events/user/test/com/google/gwt/event/logical/shared/LogicalEventsTest.java

(contents, props changed)
   - copied, changed from r3946,  
/branches/1_6_clean_events/user/test/com/google/gwt/event/dom/client/EventsTest.java
 
branches/1_6_clean_events/user/test/com/google/gwt/user/client/ui/DomHandlerBenchmark.java

(contents, props changed)
   - copied, changed from r3946,  
/branches/1_6_clean_events/user/test/com/google/gwt/user/client/ui/DomEventBenchmarkV2.java
Removed:
 
branches/1_6_clean_events/user/test/com/google/gwt/event/dom/client/EventsTest.java
 
branches/1_6_clean_events/user/test/com/google/gwt/user/client/ui/DomEventBenchmarkV2.java
Modified:
 
branches/1_6_clean_events/user/src/com/google/gwt/event/dom/client/DomEvent.java
 
branches/1_6_clean_events/user/src/com/google/gwt/event/dom/client/MouseWheelEvent.java
 
branches/1_6_clean_events/user/src/com/google/gwt/event/shared/AbstractEvent.java
 
branches/1_6_clean_events/user/src/com/google/gwt/event/shared/HandlerManager.java
 
branches/1_6_clean_events/user/src/com/google/gwt/event/shared/JsHandlerRegistry.java
 
branches/1_6_clean_events/user/src/com/google/gwt/user/client/impl/DOMImplStandard.java
 
branches/1_6_clean_events/user/src/com/google/gwt/user/client/ui/Widget.java
branches/1_6_clean_events/user/test/com/google/gwt/event/EventSuite.java
 
branches/1_6_clean_events/user/test/com/google/gwt/event/shared/HandlerManagerTest.java

Log:
optimized addHandler

removed events test, as dom events do not need to fire using junit. Added  
LogicalEventsTest instead.

Fixed mouse scroll bug so both string event types are listened for.

Renamed DomEventBenchmarkV2 to DomHandlerBenchmark



Modified:  
branches/1_6_clean_events/user/src/com/google/gwt/event/dom/client/DomEvent.java
==
---  
branches/1_6_clean_events/user/src/com/google/gwt/event/dom/client/DomEvent.java
 
(original)
+++  
branches/1_6_clean_events/user/src/com/google/gwt/event/dom/client/DomEvent.java
 
Wed Nov  5 14:17:59 2008
@@ -15,7 +15,7 @@
   */
  package com.google.gwt.event.dom.client;

-import com.google.gwt.core.client.impl.RawJsMapImpl;
+import com.google.gwt.core.client.impl.RawJsMapImpl;
  import com.google.gwt.event.shared.AbstractEvent;
  import com.google.gwt.event.shared.EventHandler;
  import com.google.gwt.event.shared.HandlerManager;
@@ -50,19 +50,42 @@
this.nativeEventTypeInt = nativeEventTypeInt;
  }

-Type(int nativeEventTypeInt, String nativeEventTypeString,
+/**
+ * This is a highly dangerous method that allows dom event types to be
+ * triggered by the [EMAIL PROTECTED] DomEvent#fireNativeEvent(Event,  
HandlerManager)}
+ * method. It should only be used by implementors supporting new dom  
events.
+ * 
+ * Any such dom event type must act as a flyweight around a native  
event
+ * object.
+ * 
+ *
+ *
+ * @param nativeEventTypeInt the integer value used by sink events to  
set up
+ *  event handling for this dom type
+ * @param eventName the raw js event name
+ * @param cached the cached object instance that will be used as a  
flyweight
+ *  to wrap a native event
+ */
+protected Type(int nativeEventTypeInt, String eventName,
  DomEvent cached) {
this.cached = cached;
// All clinit activity should take place here for DomEvent.
+  this.nativeEventTypeInt = nativeEventTypeInt;
if (registered == null) {
-registered = new RawJsMapImpl>();
-reverseRegistered = new RawJsMapImpl>();
+init();
}
-  this.nativeEventTypeInt = nativeEventTypeInt;
-  registered.put(nativeEventTypeString, this);
+  registered.put(eventName, this);
reverseRegistered.put(nativeEventTypeInt + "", this);
  }

+Type(int nativeEventTypeInt, String[] eventNames,
+DomEvent cached) {
+  this(nativeEventTypeInt, eventNames[0], cached);
+  for (int i = 1; i < eventNames.length; i++) {
+registered.put(eventNames[i], this);
+  }
+}
+
  /**
   * Gets the native [EMAIL PROTECTED] Event} type integer corresponding to 
the  
native
   * event.
@@ -85,10 +108,15 @@
 * @param manager the event manager
 */
public static void fireNativeEvent(Event nativeEvent, HandlerManager  
manager) {
-if (registered != null) {
-  final DomEvent.Type typeKey =  
registered.get(nativeEvent.getType());
-  if (typeKey != null) {
-fire(nativeEvent, manager, typeKey);
+final DomEvent.Type typeKey = registered.get(nativeEvent.getType());
+  

[gwt-contrib] Re: how to use GWT.runAsync()?

2008-11-05 Thread Lex Spoon

On Fri, Oct 31, 2008 at 11:50 AM, Ian Petersen <[EMAIL PROTECTED]> wrote:
> The compiler already analyzes your code to do things like dead code
> removal.  In other words, it already removes code from the output that
> it can prove will never be invoked.  The support for runAsync is
> similar in that the compiler constructs some kind of call graph of
> your code and any subgraph that's entirely behind a call to runAsync
> gets broken out into a separate "fragment".  Each fragment is then
> separately downloadable.

That's it exactly.


>  Any
> code that's called from startWorking and nowhere else should also be
> separated from the main module, but anything that's called from
> method2 would necessarily be included with the main module.  The
> analysis gets more complicated as you add calls to runAsync, but the
> traffic I've seen describing the design of runAsync makes it sound
> like the compiler should be able to handle any combination (barring,
> of course, any bugs that might still be lingering).

It's a new tool, so we'll have to figure out the best coding idioms to
use it.  I believe, though, that you're best off if you can factor
your code so that you don't have much of the same code reachable via
two runAsync calls.  Instead, make one runAsync call, but let it take
a callback as a parameter.

That is, don't do this:

  void method1() {
GWT.runAsync(/* ..method1 stuff.. */);
  }
  void method2() {
GWT.runAsync(/* ..method2 stuff, similar to method1 stuff.. */);
  }

Instead, do it like this:

  class MyModule {
interface Callback {  ... }
static void runAsync(final Callback cb) {
  GWT.runAsync(new RunAsyncCallback() {
void onSuccess() { cb.onSuccess(); }
void onFailure() { Window.alert("doh!"); }
  }
}

   void method1() {
 MyModule.runAsync(new Callback() { /*..method1 stuff..*/ });
   }
  void method2() {
 MyModule.runAsync(new Callback() { /*..method2 stuff..*/ });
   }


The compiler associates code fragments with calls to runAsync.  So,
the idea here is that you help the compiler identify a good chunk of
stuff to associate with the runAsync call in MyModule.runAsync.  If
you instead had method1 and method2 each call runAsync individually,
then the compiler would not be able to assign code to each of those
calls.


If you try this idiom, do make sure that you make your own callback
interface rather than usingRunAsyncCallback directly.  You want the
compiler to know that, within MyModule.runAsync, the call to
cb.onSuccess() will only call the callbacks related to MyModule, not
to any other callback in the system.


Lex Spoon

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



[gwt-contrib] [google-web-toolkit commit] r3960 - branches/oophm/user/src/com/google/gwt/core/client

2008-11-05 Thread codesite-noreply

Author: [EMAIL PROTECTED]
Date: Wed Nov  5 13:29:25 2008
New Revision: 3960

Added:
 
branches/oophm/user/src/com/google/gwt/core/client/RunAsyncCallback.java
(contents, props changed)
Modified:
branches/oophm/user/src/com/google/gwt/core/client/GWT.java

Log:
Merges revision 3664 from the trunk into the OOPHM branch.
This revision adds a stub for GWT.runAsync that simply
calls the callback.

Review by: jat,scottb,bruce



Modified: branches/oophm/user/src/com/google/gwt/core/client/GWT.java
==
--- branches/oophm/user/src/com/google/gwt/core/client/GWT.java (original)
+++ branches/oophm/user/src/com/google/gwt/core/client/GWT.java Wed Nov  5  
13:29:25 2008
@@ -1,5 +1,5 @@
  /*
- * Copyright 2007 Google Inc.
+ * Copyright 2008 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
@@ -187,6 +187,15 @@
  if (sGWTBridge != null) {
sGWTBridge.log(message, e);
  }
+  }
+
+  /**
+   * Run the supplied callback. The system is allowed to delay before  
running
+   * the callback while additional code is downloaded, but that feature is  
not
+   * yet implemented. Currently, the callback runs immediately.
+   */
+  public static void runAsync(RunAsyncCallback callback) {
+callback.onSuccess();
}

/**

Added:  
branches/oophm/user/src/com/google/gwt/core/client/RunAsyncCallback.java
==
--- (empty file)
+++  
branches/oophm/user/src/com/google/gwt/core/client/RunAsyncCallback.java
 
Wed Nov  5 13:29:25 2008
@@ -0,0 +1,33 @@
+/*
+ * Copyright 2008 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;
+
+/**
+ * A callback meant to be used by
+ * [EMAIL PROTECTED] com.google.gwt.core.client.GWT#runAsync(RunAsyncCallback) 
}.
+ */
+public interface RunAsyncCallback {
+  /**
+   * Called when, for some reason, the necessary code cannot be loaded. For
+   * example, the user might no longer be on the network.
+   */
+  void onFailure(Throwable caught);
+
+  /**
+   * Called once the necessary code for it has been loaded.
+   */
+  void onSuccess();
+}

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



[gwt-contrib] [google-web-toolkit commit] r3959 - in trunk: dev/core/src/com/google/gwt/dev/jjs dev/core/src/com/google/gwt/dev/jjs/ast dev...

2008-11-05 Thread codesite-noreply

Author: [EMAIL PROTECTED]
Date: Wed Nov  5 11:21:13 2008
New Revision: 3959

Modified:
trunk/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java
trunk/dev/core/src/com/google/gwt/dev/jjs/ast/JVariable.java
trunk/dev/core/src/com/google/gwt/dev/jjs/impl/CodeSplitter.java
trunk/dev/core/src/com/google/gwt/dev/jjs/impl/ControlFlowAnalyzer.java
trunk/dev/core/src/com/google/gwt/dev/jjs/impl/FragmentExtractor.java
trunk/dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaScriptAST.java
trunk/dev/core/src/com/google/gwt/dev/jjs/impl/Pruner.java
trunk/dev/core/src/com/google/gwt/dev/jjs/impl/ReplaceRunAsyncs.java
trunk/user/src/com/google/gwt/core/client/AsyncFragmentLoader.java

Log:
This patch adds a better code-splitting strategy for implementing
GWT.runAsync.  Instead of lumping all non-exclusive code atoms into
the initial download, the initial download only includes the initially
needed code.  Additionally, a custom download is created for each
split point that can be used if that split point is the first one to
be reached.  After the first download, a "leftovers" fragment is
downloaded in the background.  So, each call to runAsync causes
three fragments to be created: the exclusive fragment as before,
a new custom download, and a "leftovers" fragment.


Review by: bobv (TBR)


Modified:  
trunk/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java
==
--- trunk/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java 
 
(original)
+++ trunk/dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java 
 
Wed Nov  5 11:21:13 2008
@@ -211,7 +211,7 @@

// (10.5) Split up the program into fragments
if (options.isAggressivelyOptimize()) {
-CodeSplitter.exec(jprogram, jsProgram, postStringInterningMap);
+CodeSplitter.exec(logger, jprogram, jsProgram,  
postStringInterningMap);
}

// (11) Perform any post-obfuscation normalizations.

Modified: trunk/dev/core/src/com/google/gwt/dev/jjs/ast/JVariable.java
==
--- trunk/dev/core/src/com/google/gwt/dev/jjs/ast/JVariable.java
(original)
+++ trunk/dev/core/src/com/google/gwt/dev/jjs/ast/JVariable.javaWed Nov 
 5  
11:21:13 2008
@@ -43,6 +43,10 @@
  }
  return null;
}
+
+  public JDeclarationStatement getDeclarationStatement() {
+return declStmt;
+  }

public JExpression getInitializer() {
  if (declStmt != null) {

Modified: trunk/dev/core/src/com/google/gwt/dev/jjs/impl/CodeSplitter.java
==
--- trunk/dev/core/src/com/google/gwt/dev/jjs/impl/CodeSplitter.java 
(original)
+++ trunk/dev/core/src/com/google/gwt/dev/jjs/impl/CodeSplitter.javaWed  
Nov  5 11:21:13 2008
@@ -15,6 +15,7 @@
   */
  package com.google.gwt.dev.jjs.impl;

+import com.google.gwt.core.ext.TreeLogger;
  import com.google.gwt.dev.jjs.ast.Context;
  import com.google.gwt.dev.jjs.ast.JClassLiteral;
  import com.google.gwt.dev.jjs.ast.JExpression;
@@ -25,6 +26,7 @@
  import com.google.gwt.dev.jjs.ast.JReferenceType;
  import com.google.gwt.dev.jjs.ast.JStringLiteral;
  import com.google.gwt.dev.jjs.ast.JVisitor;
+import com.google.gwt.dev.jjs.impl.FragmentExtractor.CfaLivenessPredicate;
  import com.google.gwt.dev.jjs.impl.FragmentExtractor.LivenessPredicate;
  import com.google.gwt.dev.jjs.impl.FragmentExtractor.NothingAlivePredicate;
  import com.google.gwt.dev.jjs.impl.FragmentExtractor.StatementLogger;
@@ -59,12 +61,21 @@
   * The precise way the program is fragmented is an implementation detail  
that is
   * subject to change. Whenever the fragment strategy changes,
   * AsyncFragmentLoader must be updated in tandem. That said,  
the
- * current fragmentation strategy is to create one fragment for each call  
to
- * runAsync(). Each such fragment holds the code that is
- * exclusively needed by that particular call to runAsync().  
Any
- * code needed by two or more calls to runAsync() is placed in
- * the initial fragment.
+ * current fragmentation strategy is to create an initial fragment and then
+ * three more fragments for each split point. For each split point, there  
is:
   * 
+ *
+ * 
+ * a secondary base fragment, which is downloaded if this split point  
is
+ * the first one reached. It contains enough code to continue running as  
soon as
+ * it downloads.
+ * an exclusively live fragment, which is downloaded if this split  
point is
+ * reached but is not the first one. It includes only that code that is
+ * exclusively needed by this split point.
+ * a leftovers fragment, which includes all code that is in none of:  
the
+ * initial download, any exclusive fragment, or the secondary base  
fragment for
+ * this split point.
+ * 
   */
  public class CodeSplitter {
/**
@@ -92,7 +103

[gwt-contrib] FYI: code reviews done through our googlecode project will CC this list.

2008-11-05 Thread Kelly Norton

I just wanted people to be aware of this. I've changed the settings in
our project to always CC the code review comments to this list.

/kel

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

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



[gwt-contrib] [google-web-toolkit commit] r3958 - branches/1_6_clean_events/user/src/com/google/gwt/core/client/impl

2008-11-05 Thread codesite-noreply

Author: [EMAIL PROTECTED]
Date: Wed Nov  5 10:28:53 2008
New Revision: 3958

Modified:
 
branches/1_6_clean_events/user/src/com/google/gwt/core/client/impl/RawJsMapImpl.java

Log:
fixing RawJsMapImpl to use right line endings

Modified:  
branches/1_6_clean_events/user/src/com/google/gwt/core/client/impl/RawJsMapImpl.java
==
---  
branches/1_6_clean_events/user/src/com/google/gwt/core/client/impl/RawJsMapImpl.java
 
(original)
+++  
branches/1_6_clean_events/user/src/com/google/gwt/core/client/impl/RawJsMapImpl.java
 
Wed Nov  5 10:28:53 2008
@@ -1,117 +1,117 @@
-/*
- * Copyright 2008 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.impl;
-
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.core.client.JavaScriptObject;
-
-import java.util.HashMap;
-
-/**
- * A raw js map implementation. public so we can avoid creating multiple
- * versions for our internal code, the API is completely unsafe with no  
fewer
- * then three versions of put and get, so do not use!
- *
- * @param  value type
- */
-public class RawJsMapImpl {
-
-  private static class KeyMap extends JavaScriptObject {
-
-public static RawJsMapImpl.KeyMap create() {
-  return (RawJsMapImpl.KeyMap) JavaScriptObject.createObject();
-}
-
-protected KeyMap() {
-}
-
-public final native ValueType get(String key) /*-{
-  return this[key];
-}-*/;
-
-public final native ValueType get(int key) /*-{
-  return this[key];
-}-*/;
-
-public final native void put(String key, ValueType value) /*-{
-  this[key] = value;
-}-*/;
-
-public final native void put(int key, ValueType value) /*-{
-  this[key] = value;
-}-*/;
-  }
-
-  private RawJsMapImpl.KeyMap map;
-  private HashMap javaMap;
-
-  public RawJsMapImpl() {
-if (GWT.isScript()) {
-  map = KeyMap.create();
-} else {
-  javaMap = new HashMap();
-}
-  }
-
-  // Raw get, only use for values that are known not to conflict with the
-  // browser's reserved keywords.
-  public final ValueType get(String key) {
-if (GWT.isScript()) {
-  return map.get(key);
-} else {
-  return javaMap.get(key);
-}
-  }
-
-  // int get only use with int get.
-  public final ValueType get(int key) {
-if (GWT.isScript()) {
-  return map.get(key);
-} else {
-  return javaMap.get(key + "");
-}
-  }
-
-  // Raw put, only use with int get.
-  public final void put(int key, ValueType value) {
-if (GWT.isScript()) {
-  map.put(key, value);
-} else {
-  javaMap.put(key + "", value);
-}
-  }
-
-  // Raw put, only use for values that are known not to conflict with the
-  // browser's reserved keywords.
-  public final void put(String key, ValueType value) {
-if (GWT.isScript()) {
-  map.put(key, value);
-} else {
-  javaMap.put(key, value);
-}
-  }
-
-  // ONLY use this for values put with safePut.
-  public final ValueType safeGet(String key) {
-return get(key + ":");
-  }
-
-  // ONLY use this for values that will be accessed with saveGet.
-  public final void safePut(String key, ValueType value) {
-put(key + ":", value);
-  }
+/*
+ * Copyright 2008 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.impl;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.core.client.JavaScriptObject;
+
+import java.util.HashMap;
+
+/**
+ * A raw js map implementation. public so we can avoid creating multiple
+ * versions for our internal code, the API is completely unsafe with no  
fewer
+ * then three versions of put and get, so do not use!
+ *
+ * @param  value type
+ */
+public class RawJsMapImpl {
+
+  private static class KeyMap extends JavaScriptObject {
+
+public static RawJsMapImpl.KeyMap create() {
+  return (RawJsMa

[gwt-contrib] Re: RR: Adding Kelly's event dispatch app to reference on 1.5

2008-11-05 Thread Ray Ryan
Sounds like a plan.
On Tue, Nov 4, 2008 at 6:08 PM, Emily Crutcher <[EMAIL PROTECTED]> wrote:

> Ray,
>
>I think you actually want to merge the entire 1.6 branch into the 1.6
> clean events branch rather then copying the benchmark and update the
> branch.txt file in clean events with that info. Otherwise, the merge back
> from 1.6 is going to more painful then even today's fire drill was.
>
>   Cheers,
>
>  Emily
>
>
>
>
> On Tue, Nov 4, 2008 at 6:51 PM, Ray Ryan <[EMAIL PROTECTED]> wrote:
>
>> Hey, Kelly.
>> The attached is the 1.5 version of the event dispatch benchmark you wrote
>> last week, and is intended to be committed to the references directory of
>> the 1.5 branch. I plan to svn copy it from there
>> to branches/1_6_clean_events/reference and there apply the diff between your
>> 1.5 and 1.6 versions.
>>
>> What do you think?
>>
>> rjrjr
>>
>>
>>
>>
>
>
> --
> "There are only 10 types of people in the world: Those who understand
> binary, and those who don't"
>
> >
>

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



[gwt-contrib] Re: Proposed change: allow logging/filtering of decoded requests

2008-11-05 Thread Rodrigo Damazio
It's against trunk, rev 3809. If anything has fundamentally changed in the
revisions since that one I can update and send a newer patch.

On Wed, Nov 5, 2008 at 09:47, Miguel Méndez <[EMAIL PROTECTED]> wrote:

> Is this patch against the trunk?  If so, what revision is it against?
>
>
> On Tue, Nov 4, 2008 at 3:48 PM, Rodrigo Damazio <[EMAIL PROTECTED]>wrote:
>
>> Thanks. Miguel, can you take a look? It's a small change.
>>
>>
>> On Mon, Nov 3, 2008 at 18:04, Scott Blum <[EMAIL PROTECTED]> wrote:
>>
>>> This would be Bob Vawter, but he's out of town at the moment.  Maybe
>>> Miguel could also take a crack.
>>>
>>>
>>> On Mon, Nov 3, 2008 at 4:57 PM, Rodrigo Damazio <[EMAIL PROTECTED]>wrote:
>>>
Hi all. With the purpose of allowing me to log GWT-RPC request
 signatures, I've made the attched patch - it adds a method on the servlet
 base class which can be overriden to be called after the request has been
 deserialized, and also adds a toString() method to RPCRequest so that it's
 easy to log.

 Thanks
 Rodrigo




>>>
>>> >>>
>>>
>>
>
>
> --
> Miguel
>

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



[gwt-contrib] [google-web-toolkit commit] r3957 - releases/1.6/user/src/com/google/gwt/junit

2008-11-05 Thread codesite-noreply

Author: [EMAIL PROTECTED]
Date: Wed Nov  5 08:55:15 2008
New Revision: 3957

Modified:
releases/1.6/user/src/com/google/gwt/junit/JUnitShell.java

Log:
Removed unused import.



Modified: releases/1.6/user/src/com/google/gwt/junit/JUnitShell.java
==
--- releases/1.6/user/src/com/google/gwt/junit/JUnitShell.java  (original)
+++ releases/1.6/user/src/com/google/gwt/junit/JUnitShell.java  Wed Nov  5  
08:55:15 2008
@@ -20,7 +20,6 @@
  import com.google.gwt.core.ext.TreeLogger.Type;
  import com.google.gwt.core.ext.typeinfo.JClassType;
  import com.google.gwt.core.ext.typeinfo.TypeOracle;
-import com.google.gwt.dev.BootStrapPlatform;
  import com.google.gwt.dev.GWTShell;
  import com.google.gwt.dev.cfg.BindingProperty;
  import com.google.gwt.dev.cfg.ConfigurationProperty;

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



[gwt-contrib] [google-web-toolkit commit] r3956 - changes/bobv/soyc-reports-r3772/dev/core/src/com/google/gwt/core/linker/soyc

2008-11-05 Thread codesite-noreply

Author: [EMAIL PROTECTED]
Date: Wed Nov  5 07:23:35 2008
New Revision: 3956

Modified:
 
changes/bobv/soyc-reports-r3772/dev/core/src/com/google/gwt/core/linker/soyc/SoycReportLinker.java

Log:
Updates the SoycReportLinker not to use xerxes, but print everything  
directly to file.


Modified:  
changes/bobv/soyc-reports-r3772/dev/core/src/com/google/gwt/core/linker/soyc/SoycReportLinker.java
==
---  
changes/bobv/soyc-reports-r3772/dev/core/src/com/google/gwt/core/linker/soyc/SoycReportLinker.java
   
(original)
+++  
changes/bobv/soyc-reports-r3772/dev/core/src/com/google/gwt/core/linker/soyc/SoycReportLinker.java
   
Wed Nov  5 07:23:35 2008
@@ -24,35 +24,26 @@
  import com.google.gwt.core.ext.linker.CompilationResult;
  import com.google.gwt.core.ext.linker.LinkerOrder;
  import com.google.gwt.core.ext.linker.SelectionProperty;
-import com.google.gwt.core.ext.linker.SyntheticArtifact;
  import com.google.gwt.core.ext.linker.CompilationAnalysis.Snippit;
  import com.google.gwt.core.ext.linker.LinkerOrder.Order;
  import com.google.gwt.core.ext.soyc.ClassMember;
  import com.google.gwt.core.ext.soyc.FieldMember;
  import com.google.gwt.core.ext.soyc.FunctionMember;
-import com.google.gwt.core.ext.soyc.HasAliases;
-import com.google.gwt.core.ext.soyc.HasDependencies;
-import com.google.gwt.core.ext.soyc.HasOverrides;
  import com.google.gwt.core.ext.soyc.Member;
  import com.google.gwt.core.ext.soyc.MethodMember;
  import com.google.gwt.core.ext.soyc.Range;
  import com.google.gwt.core.ext.soyc.Story;
  import com.google.gwt.core.ext.soyc.Story.Origin;
-import com.google.gwt.util.tools.Utility;
+import com.google.gwt.dev.util.HtmlTextOutput;

-import org.w3c.dom.DOMImplementation;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.bootstrap.DOMImplementationRegistry;
-import org.w3c.dom.ls.DOMImplementationLS;
-import org.w3c.dom.ls.LSOutput;
-import org.w3c.dom.ls.LSSerializer;
-
-import java.io.ByteArrayOutputStream;
+import java.io.FileOutputStream;
  import java.io.IOException;
  import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
+import java.io.Writer;
  import java.util.ArrayList;
  import java.util.HashMap;
+import java.util.HashSet;
  import java.util.List;
  import java.util.Map;
  import java.util.Set;
@@ -72,8 +63,6 @@
  @LinkerOrder(Order.PRE)
  public class SoycReportLinker extends AbstractLinker {

-  private DOMImplementation impl;
-
@Override
public String getDescription() {
  return "Story of your compile report";
@@ -83,7 +72,8 @@
public ArtifactSet link(TreeLogger logger, LinkerContext context,
ArtifactSet artifacts) throws UnableToCompleteException {
  SortedSet reports =  
artifacts.find(CompilationAnalysis.class);
-
+
+
  // Do nothing if there are no reports to be generated.
  if (reports.isEmpty()) {
return artifacts;
@@ -101,29 +91,30 @@
  int reportNum = 0;
  SortedMap partialPathsByResult = new  
TreeMap();

+
  // TODO: This goes much faster in parallel, but what's the policy?
  ExecutorService executor = Executors.newSingleThreadExecutor();
-List> futures = new  
ArrayList>(
+List> futures = new ArrayList>(
  reports.size());
  for (final CompilationAnalysis report : reports) {
final TreeLogger loopLogger = logger.branch(TreeLogger.SPAM,
"Report for " + report.toString());
final String reportName = "report" + reportNum++ + ".xml.gz";
partialPathsByResult.put(report.getCompilationResult(), reportName);
-  Future future = executor.submit(new  
Callable() {
-public SyntheticArtifact call() throws Exception {
+  Future future = executor.submit(new Callable() {
+public Integer call() throws Exception {
loopLogger.log(TreeLogger.INFO, "Started");
-  return emitReport(loopLogger, report, reportName);
+  emitReport(loopLogger, report, reportName);
+  return 0;
  }
});
futures.add(future);
  }
  executor.shutdown();

-for (Future future : futures) {
-  SyntheticArtifact artifact;
+for (Future future : futures) {
try {
-artifact = future.get();
+future.get();
} catch (InterruptedException e) {
  logger.log(TreeLogger.ERROR, "Unable to process report", e);
  throw new UnableToCompleteException();
@@ -131,287 +122,519 @@
  logger.log(TreeLogger.ERROR, "Unable to process report", e);
  throw new UnableToCompleteException();
}
-  artifact.setPrivate(true);
-  artifacts.add(artifact);
  }

  // Emit manifest
-SyntheticArtifact artifact = emitManifest(logger, artifacts,
-partialPathsByResult);
-artifact.setPrivate(true);
-artifacts.add(artifact);
+emitManifest(logger, artifacts, partialPathsByResult);
  return artifacts;
}

-  priv

[gwt-contrib] Re: Proposed change: allow logging/filtering of decoded requests

2008-11-05 Thread Miguel Méndez
Is this patch against the trunk?  If so, what revision is it against?

On Tue, Nov 4, 2008 at 3:48 PM, Rodrigo Damazio <[EMAIL PROTECTED]> wrote:

> Thanks. Miguel, can you take a look? It's a small change.
>
>
> On Mon, Nov 3, 2008 at 18:04, Scott Blum <[EMAIL PROTECTED]> wrote:
>
>> This would be Bob Vawter, but he's out of town at the moment.  Maybe
>> Miguel could also take a crack.
>>
>>
>> On Mon, Nov 3, 2008 at 4:57 PM, Rodrigo Damazio <[EMAIL PROTECTED]>wrote:
>>
>>>Hi all. With the purpose of allowing me to log GWT-RPC request
>>> signatures, I've made the attched patch - it adds a method on the servlet
>>> base class which can be overriden to be called after the request has been
>>> deserialized, and also adds a toString() method to RPCRequest so that it's
>>> easy to log.
>>>
>>> Thanks
>>> Rodrigo
>>>
>>>
>>>
>>>
>>
>> >>
>>
>


-- 
Miguel

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



[gwt-contrib] [google-web-toolkit commit] r3955 - in releases/1.6: dev/core/src/com/google/gwt/dev user/src/com/google/gwt/junit

2008-11-05 Thread codesite-noreply

Author: [EMAIL PROTECTED]
Date: Wed Nov  5 06:43:10 2008
New Revision: 3955

Modified:
releases/1.6/dev/core/src/com/google/gwt/dev/GWTHosted.java
releases/1.6/dev/core/src/com/google/gwt/dev/GWTShell.java
releases/1.6/user/src/com/google/gwt/junit/JUnitShell.java

Log:
Fixes a bug introduced by the addition of GWTHosted.  This new class did  
not set the context classloader prior to loading the modules specified on  
the command line resulting in an NPE.  The patch goes further and moves the  
BootStrapPlatform calls into the constructors.

Patch by: scottb, mmendez

Modified: releases/1.6/dev/core/src/com/google/gwt/dev/GWTHosted.java
==
--- releases/1.6/dev/core/src/com/google/gwt/dev/GWTHosted.java (original)
+++ releases/1.6/dev/core/src/com/google/gwt/dev/GWTHosted.java Wed Nov  5  
06:43:10 2008
@@ -100,7 +100,6 @@
   * shutdown AWT related threads, since the contract for their  
termination is
   * still implementation-dependent.
   */
-BootStrapPlatform.init();
  GWTHosted shellMain = new GWTHosted();
  if (shellMain.processArgs(args)) {
shellMain.run();

Modified: releases/1.6/dev/core/src/com/google/gwt/dev/GWTShell.java
==
--- releases/1.6/dev/core/src/com/google/gwt/dev/GWTShell.java  (original)
+++ releases/1.6/dev/core/src/com/google/gwt/dev/GWTShell.java  Wed Nov  5  
06:43:10 2008
@@ -378,7 +378,6 @@
   * shutdown AWT related threads, since the contract for their  
termination is
   * still implementation-dependent.
   */
-BootStrapPlatform.init();
  GWTShell shellMain = new GWTShell();
  if (shellMain.processArgs(args)) {
shellMain.run();
@@ -423,6 +422,10 @@
}

protected GWTShell(boolean forceServer, boolean noURLs) {
+// Set any platform specific system properties.
+BootStrapPlatform.init();
+BootStrapPlatform.applyPlatformHacks();
+
  registerHandler(getArgHandlerPort());

  if (!forceServer) {
@@ -562,9 +565,6 @@
 */
public void run() {
  try {
-  // Set any platform specific system properties.
-  BootStrapPlatform.applyPlatformHacks();
-
if (!startUp()) {
  // Failed to initalize.
  return;

Modified: releases/1.6/user/src/com/google/gwt/junit/JUnitShell.java
==
--- releases/1.6/user/src/com/google/gwt/junit/JUnitShell.java  (original)
+++ releases/1.6/user/src/com/google/gwt/junit/JUnitShell.java  Wed Nov  5  
06:43:10 2008
@@ -201,8 +201,6 @@
 */
private static JUnitShell getUnitTestShell() {
  if (unitTestShell == null) {
-  BootStrapPlatform.init();
-  BootStrapPlatform.applyPlatformHacks();
unitTestShell = new JUnitShell();
unitTestShell.lastLaunchFailed = true;
String[] args = unitTestShell.synthesizeArgs();

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



[gwt-contrib] [google-web-toolkit commit] r3954 - branches/1_6_clean_events/tools/api-checker/config

2008-11-05 Thread codesite-noreply

Author: [EMAIL PROTECTED]
Date: Wed Nov  5 06:42:11 2008
New Revision: 3954

Modified:
branches/1_6_clean_events/tools/api-checker/config/gwt14_15userApi.conf

Log:
commiting white list, including one bogus tab value entry in order to allow  
unit tests to run

Modified:  
branches/1_6_clean_events/tools/api-checker/config/gwt14_15userApi.conf
==
--- branches/1_6_clean_events/tools/api-checker/config/gwt14_15userApi.conf 
 
(original)
+++ branches/1_6_clean_events/tools/api-checker/config/gwt14_15userApi.conf 
 
Wed Nov  5 06:42:11 2008
@@ -50,6 +50,7 @@
   
com.google.gwt.user.client.rpc.core.java.lang.short_Array_CustomFieldSerializer 
 
MISSING
   
com.google.gwt.user.client.ui.AbstractImagePrototype::applyTo(Lcom/google/gwt/user/client/ui/Image;)
  
OVERLOADED_METHOD_CALL
  com.google.gwt.user.client.ui.Button::Button(Ljava/lang/String;)  
OVERLOADED_METHOD_CALL
+com.google.gwt.user.client.ui.Button::Button(Ljava/lang/String;Lcom/google/gwt/user/client/ui/ClickListener;)
  
OVERLOADED_METHOD_CALL
   
com.google.gwt.user.client.ui.ChangeListenerCollection::add(ILjava/lang/Object;)
  
MISSING
   
com.google.gwt.user.client.ui.ChangeListenerCollection::add(Ljava/lang/Object;) 
 
MISSING
  com.google.gwt.user.client.ui.ChangeListenerCollection::get(I)  
OVERRIDABLE_METHOD_RETURN_TYPE_CHANGE
@@ -156,3 +157,8 @@
  java.util.Arrays::sort([Ljava/lang/Object;) OVERLOADED_METHOD_CALL
  java.util.Date::__parse(Ljava/lang/String;) MISSING
  java.util.Date::compareTo(Ljava/lang/Object;) MISSING
+#should be sorted
+com.google.gwt.user.client.ui.ToggleButton::ToggleButton(Lcom/google/gwt/user/client/ui/Image;Lcom/google/gwt/user/client/ui/Image;Lcom/google/gwt/user/client/ui/ClickListener;)
  
OVERLOADED_METHOD_CALL
+
+#Temporary, commited so unit tests can run.
+com.google.gwt.user.client.ui.TabBar::onClick(Lcom/google/gwt/user/client/ui/Widget;)
  
MISSING

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



[gwt-contrib] Re: Review of Daniel's second patch.

2008-11-05 Thread daniel . libicki

looks good. thanks for the review and submit.

http://galgwt-reviews.appspot.com/1

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