Re: [gwt-contrib] Re: GWT Incubator Status Update and Schedule

2010-01-21 Thread David
Hi,

It would be nice that the GWT team would release some development
builds once in a while. That would be very usefull at the point where
new things are added to the trunk. This way you can get a lot more
input from the community, since it makes it much easier to use a more
experimental version of GWT. Compiling from the sources means that we
need direct access to the internet, but not all companies allow that.

As long as we have some indication of what is mostly stable and what
not, we can choose at what point we whish to start using a development
build.

David

On Wed, Jan 20, 2010 at 6:19 PM, monkeyboy  wrote:
> Thank you John for your explanation. Now I understand the reason why
> you are shutting down the incubator. What I am suggesting is that
> developers should have a place where they can see what new features
> (libraries,...) are being developed and not to stumble upon this new
> features by chance (like I stumbled upon the doc for
> DataBackedWidgetsDesign for example). You mentioned that you send
> emails when you start a new project. What do I need to do to receive
> such an email?
> I think you guys at Google develop great libraries that are perhaps
> underused because they are hard to find. Let's take Gin for example
> (http://code.google.com/p/google-gin/). I think that more people would
> use it if you had a link to Gin from the GWT Tools and Libraries page.
>
> Regards.
>
> On Jan 20, 5:29 pm, John LaBanca  wrote:
>> Libraries and widgets that we want to incubate will be moved into separate
>> projects.  Instead of downloading one incubator jar, you'll be able to (have
>> to) download each project individually.  Like Ray said, we're going to
>> commit most new features directly to trunk, but we may still want to
>> incubate some features if they are highly experimental.  We often setup a
>> design doc and send out an email when we start a new project, such as the
>> data backed widgets, so the community can be involved.  I'm sure we'll keep
>> doing that.
>>
>> The advantage of separate projects is that each project can move along at
>> its own pace.  The incubator currently has some very stable features, some
>> highly experimental ones, and some deprecated code, and it isn't obvious
>> which is which (well, except the deprecated stuff).  With individual
>> projects, it should be more obvious what the state of the project is.
>>
>> Thanks,
>> John LaBanca
>> jlaba...@google.com
>>
>> On Wed, Jan 20, 2010 at 10:57 AM, monkeyboy wrote:
>>
>> > Then, how about a list of new features in the trunk since the last
>> > release. That way developers would know if they should become involved
>> > in the nontrivial (but not too hard) task of compiling GWT from
>> > source. I take the last comment back if such a list exists. I could
>> > not find it.
>>
>> > Regards.
>>
>> > On Jan 20, 4:26 pm, Ray Ryan  wrote:
>> > > On Wed, Jan 20, 2010 at 6:52 AM, monkeyboy > > >wrote:
>>
>> > > > Hello John.
>>
>> > > > I'm glad to see that PagingScrollTable will make it to the GWT trunk.
>> > > > Even now it is a useful widget but I can't wait to see the final
>> > > > version. I would like to ask a few questions. I am sorry to hear that
>> > > > the incubator will be shut down. I was wandering what (if anything)
>> > > > will replace it. With the incubator I as a developer had access to
>> > > > some tools and widgets that had a great chance to end up in the GWT
>> > > > trunk so I knew that they had a bigger chance to be supported and I
>> > > > dared to include them in my projects (eg. PagingScrollTable). I was
>> > > > burnt a few times with third party gwt libraries found on Google code
>> > > > for which the developer lost interest after a few months and I was
>> > > > left with a buggy library without support.
>>
>> > > > If the incubator is shut down how will we developers be able to find
>> > > > the new widgets and tools that are being "incubated" by Google
>> > > > developers? It is a bit hard to find them browsing trough Google code.
>> > > > I suggest that You put a couple of links in the Tools and Libraries
>> > > > section of gwt (http://code.google.com/webtoolkit/tools.html). It
>> > > > would be very helpful.
>>
>> > > Our intention is to be less bashful about developing things right in the
>> > > trunk.
>>
>> > > > Regards.
>>
>> > > > --
>> > > >http://groups.google.com/group/Google-Web-Toolkit-Contributors
>>
>> > --
>> >http://groups.google.com/group/Google-Web-Toolkit-Contributors
>>
>>
>
> --
> http://groups.google.com/group/Google-Web-Toolkit-Contributors
>
-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

[gwt-contrib] Re: now.. afetr GWT 2.0?

2010-01-21 Thread Lypheus
+1 JavaFX/Code GUI Streamlining instead of UIBinder

Some mechanism to allow for "publishing" client/js friendly variants
of server side objects to clean up need for DTO's.
-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

[gwt-contrib] Re: Custom element parsers for UiBinder

2010-01-21 Thread Daniel Dietrich
Hi George,

in your solution parsing of an annotated widget will not be custom
if the widget is not injected into a field, right?

Here's a different idea:

http://cafebab3.blogspot.com/2010/01/non-intrusive-gwt-2-mod-2nd-part.html

Perhaps it is useful for you...

Kind regards

Daniel

On 8 Jan., 17:30, ggeorg  wrote:
> Hi Ray,
>
> Please have a look at:
>
> http://code.google.com/p/google-web-toolkit/issues/detail?id=4461
>
> the attached patch is the simplest patch I could make. It adds support
> for adding custom ElementParser(s) to UiBinder by tagging each widgets
> that is using a custom parser with the @ElementParserToUse annotation,
> e.g.: for GWT Mosaic's LayoutPanel the code is:
>
> @ElementParserToUse(className =
> "org.gwt.mosaic.ui.elementparsers.LayoutPanelParser")
> public class LayoutPanel extends AbsolutePanel implements
> HasLayoutManager,
>     HasAnimation {
> ...
>
> }
>
> 
>
> After applying the patch, the UiBinderWriter.registerParsers() looks
> like this:
>
>   private void registerParsers() {
>     // TODO(rjrjr): Allow third-party parsers to register themselves
>     // automagically
>
>     addElementParser("com.google.gwt.dom.client.Element",
>         "com.google.gwt.uibinder.elementparsers.DomElementParser");
>
>     // Register widget parsers.
>     addWidgetParser("UIObject");
>     addWidgetParser("HasText");
>     addWidgetParser("HasHTML");
>     addWidgetParser("HasWidgets");
>     addWidgetParser("HTMLPanel");
>     addWidgetParser("DockPanel");
>     addWidgetParser("StackPanel");
>     addWidgetParser("DisclosurePanel");
>     addWidgetParser("TabPanel");
>     addWidgetParser("MenuItem");
>     addWidgetParser("MenuBar");
>     addWidgetParser("RadioButton");
>     addWidgetParser("CellPanel");
>     addWidgetParser("CustomButton");
>     addWidgetParser("DialogBox");
>     addWidgetParser("LayoutPanel");
>     addWidgetParser("DockLayoutPanel");
>     addWidgetParser("StackLayoutPanel");
>     addWidgetParser("TabLayoutPanel");
>
>     // Register custom widget parsers... (almost automagically)
>
>     Collection uiFields = ownerClass.getUiFields();
>
>     if (uiFields == null) {
>       return;
>     }
>
>     for (OwnerField uiField : uiFields) {
>       JClassType fieldType = uiField.getType().getRawType().isClass();
>       String uiClassName = fieldType.getQualifiedSourceName();
>
>       if (elementParsers.containsKey(uiClassName)) {
>         continue;
>       }
>
>       if (fieldType != null
>           && fieldType.isAnnotationPresent(ElementParserToUse.class))
> {
>         String parserClassName = fieldType.getAnnotation
> (ElementParserToUse.class).className();
>         if (parserClassName != null && parserClassName.length() > 0) {
>           addElementParser(uiClassName, parserClassName);
>         }
>       }
>     }
>   }
>
> Kind Regards,
> George.
>
> On Jan 7, 12:04 am, Ray Ryan  wrote:
>
>
>
> > How could I stop you? :-)
>
> > Would you making an issue tracker entry about this and putting the patch
> > there?
-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

[gwt-contrib] Modifying js code in CompilationResult artifacts

2010-01-21 Thread Brendan Kenny
I'm posting to contributors because I think I'm much more likely to
get an answer on compilation details here; I hope that's appropriate.

If a pre-linker were to remove all CompilationResults from the
artifact set, modify the contents of string literals within their js
code (with valid results), create new StandardCompilationResults with
the modified code and new strongNames (but the same
serializedSymbolMaps, statementRanges, and permutationIds), and then
add them to the outgoing artifact set, would there be any side
effects? Would the rest of the build system (including soyc) be
disturbed at all?

More specifically, I'm generating a Java class with a placeholder
string in it, then replacing that string in compilation results via a
(pre) Linker. The replacement string isn't known until link time, and
it's important that the resulting artifact have a strong name based in
part upon the replacement.

The promise of Linkers seems to imply this is fine, but I can't find
any examples of a linker modifying CompilationResults and emitting
them as new CompilationResults. Obviously this process would not work
with or would miss CompilationResults which aren't
StandardCompilationResults, but that's fine for now. Are there other
assumptions/guarantees made when creating CompilationResults that
wouldn't be replicated?

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

Re: [gwt-contrib] Re: GWT Incubator Status Update and Schedule

2010-01-21 Thread Arthur Kalmenson
Hmm, a nightly build sounds like a cool idea, I wouldn't mind seeing that as
well.

--
Arthur Kalmenson


On Thu, Jan 21, 2010 at 3:28 AM, David  wrote:

> Hi,
>
> It would be nice that the GWT team would release some development
> builds once in a while. That would be very usefull at the point where
> new things are added to the trunk. This way you can get a lot more
> input from the community, since it makes it much easier to use a more
> experimental version of GWT. Compiling from the sources means that we
> need direct access to the internet, but not all companies allow that.
>
> As long as we have some indication of what is mostly stable and what
> not, we can choose at what point we whish to start using a development
> build.
>
> David
>
> On Wed, Jan 20, 2010 at 6:19 PM, monkeyboy 
> wrote:
> > Thank you John for your explanation. Now I understand the reason why
> > you are shutting down the incubator. What I am suggesting is that
> > developers should have a place where they can see what new features
> > (libraries,...) are being developed and not to stumble upon this new
> > features by chance (like I stumbled upon the doc for
> > DataBackedWidgetsDesign for example). You mentioned that you send
> > emails when you start a new project. What do I need to do to receive
> > such an email?
> > I think you guys at Google develop great libraries that are perhaps
> > underused because they are hard to find. Let's take Gin for example
> > (http://code.google.com/p/google-gin/). I think that more people would
> > use it if you had a link to Gin from the GWT Tools and Libraries page.
> >
> > Regards.
> >
> > On Jan 20, 5:29 pm, John LaBanca  wrote:
> >> Libraries and widgets that we want to incubate will be moved into
> separate
> >> projects.  Instead of downloading one incubator jar, you'll be able to
> (have
> >> to) download each project individually.  Like Ray said, we're going to
> >> commit most new features directly to trunk, but we may still want to
> >> incubate some features if they are highly experimental.  We often setup
> a
> >> design doc and send out an email when we start a new project, such as
> the
> >> data backed widgets, so the community can be involved.  I'm sure we'll
> keep
> >> doing that.
> >>
> >> The advantage of separate projects is that each project can move along
> at
> >> its own pace.  The incubator currently has some very stable features,
> some
> >> highly experimental ones, and some deprecated code, and it isn't obvious
> >> which is which (well, except the deprecated stuff).  With individual
> >> projects, it should be more obvious what the state of the project is.
> >>
> >> Thanks,
> >> John LaBanca
> >> jlaba...@google.com
> >>
> >> On Wed, Jan 20, 2010 at 10:57 AM, monkeyboy  >wrote:
> >>
> >> > Then, how about a list of new features in the trunk since the last
> >> > release. That way developers would know if they should become involved
> >> > in the nontrivial (but not too hard) task of compiling GWT from
> >> > source. I take the last comment back if such a list exists. I could
> >> > not find it.
> >>
> >> > Regards.
> >>
> >> > On Jan 20, 4:26 pm, Ray Ryan  wrote:
> >> > > On Wed, Jan 20, 2010 at 6:52 AM, monkeyboy <
> dilbert.elbo...@gmail.com
> >> > >wrote:
> >>
> >> > > > Hello John.
> >>
> >> > > > I'm glad to see that PagingScrollTable will make it to the GWT
> trunk.
> >> > > > Even now it is a useful widget but I can't wait to see the final
> >> > > > version. I would like to ask a few questions. I am sorry to hear
> that
> >> > > > the incubator will be shut down. I was wandering what (if
> anything)
> >> > > > will replace it. With the incubator I as a developer had access to
> >> > > > some tools and widgets that had a great chance to end up in the
> GWT
> >> > > > trunk so I knew that they had a bigger chance to be supported and
> I
> >> > > > dared to include them in my projects (eg. PagingScrollTable). I
> was
> >> > > > burnt a few times with third party gwt libraries found on Google
> code
> >> > > > for which the developer lost interest after a few months and I was
> >> > > > left with a buggy library without support.
> >>
> >> > > > If the incubator is shut down how will we developers be able to
> find
> >> > > > the new widgets and tools that are being "incubated" by Google
> >> > > > developers? It is a bit hard to find them browsing trough Google
> code.
> >> > > > I suggest that You put a couple of links in the Tools and
> Libraries
> >> > > > section of gwt (http://code.google.com/webtoolkit/tools.html). It
> >> > > > would be very helpful.
> >>
> >> > > Our intention is to be less bashful about developing things right in
> the
> >> > > trunk.
> >>
> >> > > > Regards.
> >>
> >> > > > --
> >> > > >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
> >
>
> --
> 

Re: [gwt-contrib] Re: Custom element parsers for UiBinder

2010-01-21 Thread G. Georgopoulos

Hi Daniel,

I think if you do not inject it into a field, you don't need the custom 
parser to be registered at all, but I am not sure about that.


I will check your code later today.

Thanks,
George.

On 01/20/2010 02:01 AM, Daniel Dietrich wrote:

Hi George,

in your solution parsing of an annotated widget will not be custom
if the widget is not injected into a field, right?

Here's a different idea:

http://cafebab3.blogspot.com/2010/01/non-intrusive-gwt-2-mod-2nd-part.html

Perhaps it is useful for you...

Kind regards

Daniel

On 8 Jan., 17:30, ggeorg  wrote:
   

Hi Ray,

Please have a look at:

http://code.google.com/p/google-web-toolkit/issues/detail?id=4461

the attached patch is the simplest patch I could make. It adds support
for adding custom ElementParser(s) to UiBinder by tagging each widgets
that is using a custom parser with the @ElementParserToUse annotation,
e.g.: for GWT Mosaic's LayoutPanel the code is:

@ElementParserToUse(className =
"org.gwt.mosaic.ui.elementparsers.LayoutPanelParser")
public class LayoutPanel extends AbsolutePanel implements
HasLayoutManager,
 HasAnimation {
...

}



After applying the patch, the UiBinderWriter.registerParsers() looks
like this:

   private void registerParsers() {
 // TODO(rjrjr): Allow third-party parsers to register themselves
 // automagically

 addElementParser("com.google.gwt.dom.client.Element",
 "com.google.gwt.uibinder.elementparsers.DomElementParser");

 // Register widget parsers.
 addWidgetParser("UIObject");
 addWidgetParser("HasText");
 addWidgetParser("HasHTML");
 addWidgetParser("HasWidgets");
 addWidgetParser("HTMLPanel");
 addWidgetParser("DockPanel");
 addWidgetParser("StackPanel");
 addWidgetParser("DisclosurePanel");
 addWidgetParser("TabPanel");
 addWidgetParser("MenuItem");
 addWidgetParser("MenuBar");
 addWidgetParser("RadioButton");
 addWidgetParser("CellPanel");
 addWidgetParser("CustomButton");
 addWidgetParser("DialogBox");
 addWidgetParser("LayoutPanel");
 addWidgetParser("DockLayoutPanel");
 addWidgetParser("StackLayoutPanel");
 addWidgetParser("TabLayoutPanel");

 // Register custom widget parsers... (almost automagically)

 Collection  uiFields = ownerClass.getUiFields();

 if (uiFields == null) {
   return;
 }

 for (OwnerField uiField : uiFields) {
   JClassType fieldType = uiField.getType().getRawType().isClass();
   String uiClassName = fieldType.getQualifiedSourceName();

   if (elementParsers.containsKey(uiClassName)) {
 continue;
   }

   if (fieldType != null
   &&  fieldType.isAnnotationPresent(ElementParserToUse.class))
{
 String parserClassName = fieldType.getAnnotation
(ElementParserToUse.class).className();
 if (parserClassName != null&&  parserClassName.length()>  0) {
   addElementParser(uiClassName, parserClassName);
 }
   }
 }
   }

Kind Regards,
George.

On Jan 7, 12:04 am, Ray Ryan  wrote:



 

How could I stop you? :-)
   
 

Would you making an issue tracker entry about this and putting the patch
there?
   


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

[gwt-contrib] RR : GWT 2.0.1 : Add support to CssResource for unknown at-rules

2010-01-21 Thread bobv

Reviewers: Ray Ryan,

Message:
Review requested.

Description:
This is a follow-up to
http://code.google.com/p/google-web-toolkit/issues/detail?id=3946#c13

Any at-rules that GenerateCssAst is unable to process will be emitted
nearly-verbatim into the emitted CSS.

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

Affected files:
  M user/src/com/google/gwt/resources/css/CssGenerationVisitor.java
  M user/src/com/google/gwt/resources/css/GenerateCssAst.java
  M user/src/com/google/gwt/resources/css/ast/CssNodeCloner.java
  A user/src/com/google/gwt/resources/css/ast/CssUnknownAtRule.java
  M user/src/com/google/gwt/resources/css/ast/CssVisitor.java
  M user/test/com/google/gwt/resources/ResourcesSuite.java
  M user/test/com/google/gwt/resources/client/test.css
  A user/test/com/google/gwt/resources/css/UnknownAtRuleTest.java
  A user/test/com/google/gwt/resources/css/unknownAtRule.css


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

[gwt-contrib] Re: RR : GWT 2.0.1 : Add support to CssResource for unknown at-rules

2010-01-21 Thread rjrjr

LGTM

A nit and a question, but you're good to go


http://gwt-code-reviews.appspot.com/130817/diff/1/3
File user/src/com/google/gwt/resources/css/GenerateCssAst.java (right):

http://gwt-code-reviews.appspot.com/130817/diff/1/3#newcode239
Line 239: public void ignorableAtRule(String atRule) throws CSSException
{
method name seems strange. You're processing the atRule, and you might
ignore it. Or did I misread?

http://gwt-code-reviews.appspot.com/130817/diff/1/3#newcode248
Line 248: + ruleName.substring(1).toLowerCase();
Really? You never camel case? You sure you want to be so forgiving of
case errors?

http://gwt-code-reviews.appspot.com/130817/diff/1/10
File user/test/com/google/gwt/resources/css/unknownAtRule.css (right):

http://gwt-code-reviews.appspot.com/130817/diff/1/10#newcode7
Line 7: /* This should be dropped */
why?

http://gwt-code-reviews.appspot.com/130817
-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

[gwt-contrib] [google-web-toolkit] r7437 committed - Cosmetic comment change.

2010-01-21 Thread codesite-noreply

Revision: 7437
Author: fabb...@fabbott-svn
Date: Thu Jan 21 04:26:27 2010
Log: Cosmetic comment change.

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

Modified:
 /trunk/common.ant.xml

===
--- /trunk/common.ant.xml   Fri Jan 15 11:17:28 2010
+++ /trunk/common.ant.xml   Thu Jan 21 04:26:27 2010
@@ -1,6 +1,6 @@
 
   
   
-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

[gwt-contrib] Re: RR : GWT 2.0.1 : Add support to CssResource for unknown at-rules

2010-01-21 Thread bobv

On 2010/01/21 16:20:28, Ray Ryan wrote:

LGTM



A nit and a question, but you're good to go



http://gwt-code-reviews.appspot.com/130817/diff/1/3
File user/src/com/google/gwt/resources/css/GenerateCssAst.java

(right):


http://gwt-code-reviews.appspot.com/130817/diff/1/3#newcode239
Line 239: public void ignorableAtRule(String atRule) throws

CSSException {

method name seems strange. You're processing the atRule, and you might

ignore

it. Or did I misread?


The interface that defines this method comes from the SAC API.  The
semantics of a random at-rule in CSS is that a conforming user agent may
ignore at-rules that it is unable to process.


http://gwt-code-reviews.appspot.com/130817/diff/1/3#newcode248
Line 248: + ruleName.substring(1).toLowerCase();
Really? You never camel case? You sure you want to be so forgiving of

case

errors?


CSS is supposed to be case-insensitive, it makes sense to be lenient
here.


http://gwt-code-reviews.appspot.com/130817/diff/1/10
File user/test/com/google/gwt/resources/css/unknownAtRule.css (right):



http://gwt-code-reviews.appspot.com/130817/diff/1/10#newcode7
Line 7: /* This should be dropped */
why?


Comments are eliminated by the tokenizer and aren't a production in the
grammar.

http://gwt-code-reviews.appspot.com/130817
-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

[gwt-contrib] Re: RR : GWT 2.0.1 : Add support to CssResource for unknown at-rules

2010-01-21 Thread Ray Ryan
LGTM
-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Re: [gwt-contrib] GWT Incubator Status Update and Schedule

2010-01-21 Thread Bruce Johnson
Nightly or perhaps less frequent "stable snapshot" builds is something
we'd like to do for sure. Not sure about exactly when, but it's good
to know there would be an audience to justify looking into it a bit.

On Thursday, January 21, 2010, Arthur Kalmenson  wrote:
> Hmm, a nightly build sounds like a cool idea, I wouldn't mind seeing that as 
> well.
> --
> Arthur Kalmenson
>
>
> On Thu, Jan 21, 2010 at 3:28 AM, David  wrote:
>
>
> Hi,
>
> It would be nice that the GWT team would release some development
> builds once in a while. That would be very usefull at the point where
> new things are added to the trunk. This way you can get a lot more
> input from the community, since it makes it much easier to use a more
> experimental version of GWT. Compiling from the sources means that we
> need direct access to the internet, but not all companies allow that.
>
> As long as we have some indication of what is mostly stable and what
> not, we can choose at what point we whish to start using a development
> build.
>
> David
>
> On Wed, Jan 20, 2010 at 6:19 PM, monkeyboy  wrote:
>> Thank you John for your explanation. Now I understand the reason why
>> you are shutting down the incubator. What I am suggesting is that
>> developers should have a place where they can see what new features
>> (libraries,...) are being developed and not to stumble upon this new
>> features by chance (like I stumbled upon the doc for
>> DataBackedWidgetsDesign for example). You mentioned that you send
>> emails when you start a new project. What do I need to do to receive
>> such an email?
>> I think you guys at Google develop great libraries that are perhaps
>> underused because they are hard to find. Let's take Gin for example
>> (http://code.google.com/p/google-gin/). I think that more people would
>> use it if you had a link to Gin from the GWT Tools and Libraries page.
>>
>> Regards.
>>
>> On Jan 20, 5:29 pm, John LaBanca  wrote:
>>> Libraries and widgets that we want to incubate will be moved into separate
>>> projects.  Instead of downloading one incubator jar, you'll be able to (have
>>> to) download each project individually.  Like Ray said, we're going to
>>> commit most new features directly to trunk, but we may still want to
>>> incubate some features if they are highly experimental.  We often setup a
>>> design doc and send out an email when we start a new project, such as the
>>> data backed widgets, so the community can be involved.  I'm sure we'll keep
>>> doing that.
>>>
>>> The advantage of separate projects is that each project can move along at
>>> its own pace.  The incubator currently has some very stable features, some
>>> highly experimental ones, and some deprecated code, and it isn't obvious
>>> which is which (well, except the deprecated stuff).  With individual
>>> projects, it should be more obvious what the state of the project is.
>>>
>>> Thanks,
>>> John LaBanca
>>> jlaba...@google.com
>>>
>>> On Wed, Jan 20, 2010 at 10:57 AM, monkeyboy 
>>> wrote:
>>>
>>> > Then, how about a list of new features in the trunk since the last
>>> > release. That way developers would know if they should become involved
>>> > in the nontrivial (but not too hard) task of compiling GWT from
>>> > source. I take the last comment back if such a list exists. I could
>>> > not find it.
>>>
>>> > Regards.
>>>
>>> > On Jan 20, 4:26 pm, Ray Ryan  wrote:
>>> > > On Wed, Jan 20, 2010 at 6:52 AM, monkeyboy >> > >wrote:
>>>
>>> > > > Hello John.
>>>
>>> > > > I'm glad to see that PagingScrollTable will make it to the GWT trunk.
>>> > > > Even now it is a useful widget but I can't wait to see the final
>>> > > > version. I would like to ask a few questions. I am sorry to hear that
>>> > > > the incubator will be shut down. I w
-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

[gwt-contrib] Re: GWT Incubator Status Update and Schedule

2010-01-21 Thread Chris
"developer snapshot" releases would be really nice.

We build infrequently from trunk and we currently guess what might be
a good version to grab our internal snapshot from.  Having a developer
snapshot would help us when we are looking to grab the "latest"
version for our internal use.

Chris

On Jan 21, 12:07 pm, Bruce Johnson  wrote:
> Nightly or perhaps less frequent "stable snapshot" builds is something
> we'd like to do for sure. Not sure about exactly when, but it's good
> to know there would be an audience to justify looking into it a bit.
>
> On Thursday, January 21, 2010, Arthur Kalmenson  wrote:
> > Hmm, a nightly build sounds like a cool idea, I wouldn't mind seeing that 
> > as well.
> > --
> > Arthur Kalmenson
>
> > On Thu, Jan 21, 2010 at 3:28 AM, David  wrote:
>
> > Hi,
>
> > It would be nice that the GWT team would release some development
> > builds once in a while. That would be very usefull at the point where
> > new things are added to the trunk. This way you can get a lot more
> > input from the community, since it makes it much easier to use a more
> > experimental version of GWT. Compiling from the sources means that we
> > need direct access to the internet, but not all companies allow that.
>
> > As long as we have some indication of what is mostly stable and what
> > not, we can choose at what point we whish to start using a development
> > build.
>
> > David
>
> > On Wed, Jan 20, 2010 at 6:19 PM, monkeyboy  
> > wrote:
> >> Thank you John for your explanation. Now I understand the reason why
> >> you are shutting down the incubator. What I am suggesting is that
> >> developers should have a place where they can see what new features
> >> (libraries,...) are being developed and not to stumble upon this new
> >> features by chance (like I stumbled upon the doc for
> >> DataBackedWidgetsDesign for example). You mentioned that you send
> >> emails when you start a new project. What do I need to do to receive
> >> such an email?
> >> I think you guys at Google develop great libraries that are perhaps
> >> underused because they are hard to find. Let's take Gin for example
> >> (http://code.google.com/p/google-gin/). I think that more people would
> >> use it if you had a link to Gin from the GWT Tools and Libraries page.
>
> >> Regards.
>
> >> On Jan 20, 5:29 pm, John LaBanca  wrote:
> >>> Libraries and widgets that we want to incubate will be moved into separate
> >>> projects.  Instead of downloading one incubator jar, you'll be able to 
> >>> (have
> >>> to) download each project individually.  Like Ray said, we're going to
> >>> commit most new features directly to trunk, but we may still want to
> >>> incubate some features if they are highly experimental.  We often setup a
> >>> design doc and send out an email when we start a new project, such as the
> >>> data backed widgets, so the community can be involved.  I'm sure we'll 
> >>> keep
> >>> doing that.
>
> >>> The advantage of separate projects is that each project can move along at
> >>> its own pace.  The incubator currently has some very stable features, some
> >>> highly experimental ones, and some deprecated code, and it isn't obvious
> >>> which is which (well, except the deprecated stuff).  With individual
> >>> projects, it should be more obvious what the state of the project is.
>
> >>> Thanks,
> >>> John LaBanca
> >>> jlaba...@google.com
>
> >>> On Wed, Jan 20, 2010 at 10:57 AM, monkeyboy 
> >>> wrote:
>
> >>> > Then, how about a list of new features in the trunk since the last
> >>> > release. That way developers would know if they should become involved
> >>> > in the nontrivial (but not too hard) task of compiling GWT from
> >>> > source. I take the last comment back if such a list exists. I could
> >>> > not find it.
>
> >>> > Regards.
>
> >>> > On Jan 20, 4:26 pm, Ray Ryan  wrote:
> >>> > > On Wed, Jan 20, 2010 at 6:52 AM, monkeyboy  >>> > >wrote:
>
> >>> > > > Hello John.
>
> >>> > > > I'm glad to see that PagingScrollTable will make it to the GWT 
> >>> > > > trunk.
> >>> > > > Even now it is a useful widget but I can't wait to see the final
> >>> > > > version. I would like to ask a few questions. I am sorry to hear 
> >>> > > > that
> >>> > > > the incubator will be shut down. I w
-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

[gwt-contrib] Our GWT + JEE Blueprint

2010-01-21 Thread Sony Mathew
Posted an article on our GWT + JEE Blueprint, including what i think is a
unique take on our Event Management and RPC.
http://sonymathew.blogspot.com/2010/01/gwt-jee-blueprint.html

Any thoughts welcome..

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

[gwt-contrib] Our GWT + JEE Blueprint

2010-01-21 Thread Sony
Posted an article on our GWT + JEE Blueprint, including what i think
is a unique take on Event Management and RPC.

http://sonymathew.blogspot.com/2010/01/gwt-jee-blueprint.html

Any thoughts welcome..

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

[gwt-contrib] Re: Modifying js code in CompilationResult artifacts

2010-01-21 Thread Brendan Kenny
To add more information I've discovered since I wrote that post, a
modified CompilationResult also needs its set of SelectionProperty
values copied, its SymbolMap will be deserialized and need to be
serialized again to copy it over, and the replacement string will need
to be the same length as the placeholder (or statementRanges will need
to be modified...) otherwise chunking will cut off outputted js mid-
statement.

While it's clear that right now CompilationResults are not intended to
be modified once created (and there's a good argument that, with the
js AST gone and the compilation stage finished, they shouldn't be),
the "promise of Linkers" seems to be in full effect and each part of
the Linker subsystem appears to only discover and read
CompilationResults from the ArtifactSet pipeline.

It does have the feeling of a hack at this point, mostly because of
the number of hoops the code has to jump through, but it has the
benefit that this Generator+Linker pair can operate and no other part
of the build system need know (I think).

My code seems to be working, but if anyone has any more insight, or if
I'm still missing something, I would really appreciate your thoughts.
Thanks.


On Jan 20, 6:53 am, Brendan Kenny  wrote:
> I'm posting to contributors because I think I'm much more likely to
> get an answer on compilation details here; I hope that's appropriate.
>
> If a pre-linker were to remove all CompilationResults from the
> artifact set, modify the contents of string literals within their js
> code (with valid results), create new StandardCompilationResults with
> the modified code and new strongNames (but the same
> serializedSymbolMaps, statementRanges, and permutationIds), and then
> add them to the outgoing artifact set, would there be any side
> effects? Would the rest of the build system (including soyc) be
> disturbed at all?
>
> More specifically, I'm generating a Java class with a placeholder
> string in it, then replacing that string in compilation results via a
> (pre) Linker. The replacement string isn't known until link time, and
> it's important that the resulting artifact have a strong name based in
> part upon the replacement.
>
> The promise of Linkers seems to imply this is fine, but I can't find
> any examples of a linker modifying CompilationResults and emitting
> them as new CompilationResults. Obviously this process would not work
> with or would miss CompilationResults which aren't
> StandardCompilationResults, but that's fine for now. Are there other
> assumptions/guarantees made when creating CompilationResults that
> wouldn't be replicated?
>
> Thanks!
-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

[gwt-contrib] Re: Add -bindAddress option, clean up SCL interface

2010-01-21 Thread rdayal


http://gwt-code-reviews.appspot.com/130806/diff/1/2
File dev/core/src/com/google/gwt/core/ext/ServletContainerLauncher.java
(right):

http://gwt-code-reviews.appspot.com/130806/diff/1/2#newcode70
Line 70: public boolean processArguments(TreeLogger logger, String
arguments) {
Another way to do this would be to introduce an additional start method
that has the "arguments" argument.

http://gwt-code-reviews.appspot.com/130806/diff/1/2#newcode97
Line 97: public void setNormalRequestLogLevel(Type logLevel) {
On 2010/01/14 16:59:28, jat wrote:

On 2010/01/14 16:50:28, tobyr wrote:
> Why is this only for "non-failing" web requests? In general I'm not

sure how

> this is supposed to integrate with other logging systems that are

much more

> sophisticated. For example, in App Engine, which uses

java.util.logging

> configuration, you can control the logging levels of each logger

individually.


This is GPE request -- they don't want normal request showing up in

the logs by

default, so previously there was
an instanceof hack to call a special method on JettyLauncher to set

it.  If we

are changing the API, it seemed prudent to replace the hack.



In particular, this refers to the log level of messages sent to the

logger

supplied in the start method.



If you think this shouldn't be there, we can leave the hack for now.


John is correct; we did request this. Toby, you're right that this
solution does not integrate well with other logging solutions. However,
this is a general problem with the way in which the JettyLauncher SCL
was written - it re-routes Jetty's RequestLog messages to the
TreeLogger, regardless of the log level that the the requestlog messages
were actually logged at - it only pays attention to the response codes
(500, 404, 200, etc..). If we want to fix this, we need to do some
digging to see how Jetty's RequestLog ties in with other logging
frameworks, and then have its messages logged to the TreeLogger based on
their log level, as opposed to their response codes.

While I agree that we need to figure out if there's a better way that we
can handle this, I don't think it should hold up this patch. I'd leave
the hack in as-is for now, and we can discuss this issue after this
patch lands.

http://gwt-code-reviews.appspot.com/130806/diff/1/6
File dev/core/src/com/google/gwt/dev/DevMode.java (right):

http://gwt-code-reviews.appspot.com/130806/diff/1/6#newcode84
Line 84: return new String[] {"servletContainerLauncher[:args]"};
What if the args have spaces in them?

http://gwt-code-reviews.appspot.com/130806/diff/1/6#newcode420
Line 420: ui.setCallback(RestartServerEvent.getType(), null);
Why is this necessary? Won't this cause the termination of the DevMode
process?

http://gwt-code-reviews.appspot.com/130806/diff/1/5
File dev/core/src/com/google/gwt/dev/DevModeBase.java (right):

http://gwt-code-reviews.appspot.com/130806/diff/1/5#newcode152
Line 152: // this isn't fully accurate, as their is no guarantee we will
get
nit: their --> there

http://gwt-code-reviews.appspot.com/130806/diff/1/5#newcode566
Line 566: protected interface OptionBindAddress {
You should doc the difference between the bind address and the connect
address, and when each is used in the DevMode implementation.

http://gwt-code-reviews.appspot.com/130806/diff/1/3
File dev/core/src/com/google/gwt/dev/shell/jetty/JettyLauncher.java
(left):

http://gwt-code-reviews.appspot.com/130806/diff/1/3#oldcode498
Line 498: public void setBaseLogLevel(TreeLogger.Type baseLogLevel) {
We may want to leave this hack in until we decide what to do about the
logging issue. That way, we won't hold up this patch. But, now seems the
right time to discuss this issue.

http://gwt-code-reviews.appspot.com/130806/diff/1/3
File dev/core/src/com/google/gwt/dev/shell/jetty/JettyLauncher.java
(right):

http://gwt-code-reviews.appspot.com/130806/diff/1/3#newcode517
Line 517: if (bindAddress != null) {
If bindAddress is null, how do you get the server's IP back out to the
dev mode query params? I guess you assume that it is 127.0.0.1?

http://gwt-code-reviews.appspot.com/130806
-- 
http://groups.google.com/group/Google-Web-Toolkit-Contributors

[gwt-contrib] [google-web-toolkit] r7441 committed - Add support to CssResource for unknown at-rules....

2010-01-21 Thread codesite-noreply

Revision: 7441
Author: b...@google.com
Date: Thu Jan 21 09:47:21 2010
Log: Add support to CssResource for unknown at-rules.
Include files missing in original commit.

Patch by: bobv
Review by: rjrjr

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

Added:
 /trunk/user/src/com/google/gwt/resources/css/ast/CssUnknownAtRule.java
 /trunk/user/test/com/google/gwt/resources/css/UnknownAtRuleTest.java
 /trunk/user/test/com/google/gwt/resources/css/unknownAtRule.css
Modified:
 /trunk/user/src/com/google/gwt/resources/css/CssGenerationVisitor.java
 /trunk/user/src/com/google/gwt/resources/css/GenerateCssAst.java
 /trunk/user/src/com/google/gwt/resources/css/ast/CssNodeCloner.java
 /trunk/user/src/com/google/gwt/resources/css/ast/CssVisitor.java
 /trunk/user/test/com/google/gwt/resources/ResourcesSuite.java
 /trunk/user/test/com/google/gwt/resources/client/test.css

===
--- /dev/null
+++ /trunk/user/src/com/google/gwt/resources/css/ast/CssUnknownAtRule.java	 
Thu Jan 21 09:47:21 2010

@@ -0,0 +1,42 @@
+/*
+ * 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.resources.css.ast;
+
+/**
+ * Represents a CSS at-rule that CssResource is unable to process.
+ */
+public class CssUnknownAtRule extends CssNode {
+
+  private final String rule;
+
+  public CssUnknownAtRule(String rule) {
+this.rule = rule;
+  }
+
+  /**
+   * Returns the entire unprocessed at-rule declaration.
+   */
+  public String getRule() {
+return rule;
+  }
+
+  public void traverse(CssVisitor visitor, Context context) {
+if (visitor.visit(this, context)) {
+  // Do nothing
+}
+visitor.endVisit(this, context);
+  }
+}
===
--- /dev/null
+++ /trunk/user/test/com/google/gwt/resources/css/UnknownAtRuleTest.java	 
Thu Jan 21 09:47:21 2010

@@ -0,0 +1,55 @@
+/*
+ * 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.resources.css;
+
+import com.google.gwt.core.ext.TreeLogger;
+import com.google.gwt.core.ext.UnableToCompleteException;
+import com.google.gwt.dev.util.DefaultTextOutput;
+import com.google.gwt.dev.util.TextOutput;
+import com.google.gwt.resources.css.ast.CssNode;
+import com.google.gwt.resources.css.ast.CssStylesheet;
+import com.google.gwt.resources.css.ast.CssUnknownAtRule;
+
+import junit.framework.TestCase;
+
+import java.util.List;
+
+/**
+ * Tests how CssResource handles stylesheets with unknown at-rules.
+ */
+public class UnknownAtRuleTest extends TestCase {
+  private static final String COMPLEX = "@complex {\n  with: arbitrary;\n   
stuff: inside;\n}";

+  private static final String EXTENDED = "@-extended-ident {\n  \n}";
+  private static final String SIMPLE = "@simple;";
+
+  public void test() throws UnableToCompleteException {
+CssStylesheet sheet = GenerateCssAst.exec(TreeLogger.NULL,
+getClass().getClassLoader().getResource(
+"com/google/gwt/resources/css/unknownAtRule.css"));
+
+List nodes = sheet.getNodes();
+assertEquals(3, nodes.size());
+assertEquals(SIMPLE, ((CssUnknownAtRule) nodes.get(0)).getRule());
+assertEquals(COMPLEX, ((CssUnknownAtRule) nodes.get(1)).getRule());
+assertEquals(EXTENDED, ((CssUnknownAtRule) nodes.get(2)).getRule());
+
+TextOutput out = new DefaultTextOutput(true);
+CssGenerationVisitor v = new CssGenerationVisitor(out);
+v.accept(sheet);
+
+assertEquals(SIMPLE + COMPLEX + EXTENDED, out.toString());
+  }
+}
===
--- /dev/null
+++ /trunk/user/test/com/google/gwt/resources/css/unknownAtRule.css	Thu Jan  
21 09:47:21 2010

@@ -0,0 +1,8 @@
+...@simple;
+...@complex {
+  with: arbitrary;
+  stuff: inside;
+}
+...@-extended-ident {
+  /* This should be dropped */
+}
===
--- /trunk/user/src/com/google/gwt/resources/css/CssGene

[gwt-contrib] Re: Add -bindAddress option, clean up SCL interface

2010-01-21 Thread jat

Will update with the final patch shortly.


http://gwt-code-reviews.appspot.com/130806/diff/1/2
File dev/core/src/com/google/gwt/core/ext/ServletContainerLauncher.java
(right):

http://gwt-code-reviews.appspot.com/130806/diff/1/2#newcode70
Line 70: public boolean processArguments(TreeLogger logger, String
arguments) {
On 2010/01/21 20:53:18, rdayal wrote:

Another way to do this would be to introduce an additional start

method that has

the "arguments" argument.


Then what about old SCL implementations?  They are only going to
implement the existing start method, so the best we could do would be to
silently drop the arguments in that method -- seems better to have a
separate method.

http://gwt-code-reviews.appspot.com/130806/diff/1/6
File dev/core/src/com/google/gwt/dev/DevMode.java (right):

http://gwt-code-reviews.appspot.com/130806/diff/1/6#newcode84
Line 84: return new String[] {"servletContainerLauncher[:args]"};
On 2010/01/21 20:53:18, rdayal wrote:

What if the args have spaces in them?


That's fine as far as this is concerned, obviously you would have to
quote it in the shell/etc.

http://gwt-code-reviews.appspot.com/130806/diff/1/6#newcode420
Line 420: ui.setCallback(RestartServerEvent.getType(), null);
On 2010/01/21 20:53:18, rdayal wrote:

Why is this necessary? Won't this cause the termination of the DevMode

process?

Why would it terminate anything?  The effect of this is to tell the UI
you are no longer interested in RestartServer events, so presumably the
UI won't show the button.  If we fail to start the servlet container,
there is nothing to restart.

http://gwt-code-reviews.appspot.com/130806/diff/1/5
File dev/core/src/com/google/gwt/dev/DevModeBase.java (right):

http://gwt-code-reviews.appspot.com/130806/diff/1/5#newcode152
Line 152: // this isn't fully accurate, as their is no guarantee we will
get
On 2010/01/21 20:53:18, rdayal wrote:

nit: their --> there


Done.

http://gwt-code-reviews.appspot.com/130806/diff/1/3
File dev/core/src/com/google/gwt/dev/shell/jetty/JettyLauncher.java
(left):

http://gwt-code-reviews.appspot.com/130806/diff/1/3#oldcode498
Line 498: public void setBaseLogLevel(TreeLogger.Type baseLogLevel) {
On 2010/01/21 20:53:18, rdayal wrote:

We may want to leave this hack in until we decide what to do about the

logging

issue. That way, we won't hold up this patch. But, now seems the right

time to

discuss this issue.


Done.

http://gwt-code-reviews.appspot.com/130806/diff/1/3
File dev/core/src/com/google/gwt/dev/shell/jetty/JettyLauncher.java
(right):

http://gwt-code-reviews.appspot.com/130806/diff/1/3#newcode517
Line 517: if (bindAddress != null) {
On 2010/01/21 20:53:18, rdayal wrote:

If bindAddress is null, how do you get the server's IP back out to the

dev mode

query params? I guess you assume that it is 127.0.0.1?


If the bind address was not set, then nothing changes here.  The new
code will use the supplied address and the port returned by
ServletContainer.getPort() regardless (unless it  is a wildcard address,
in which case it uses its best guess of an external IP address for your
machine).

http://gwt-code-reviews.appspot.com/130806

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