Re: How to build a rules-based form controller for a dyn. form in GWT
Hi Sam: For simplicity, I'll provide the open details inline: There are more complete frameworks/application for what you are trying to do. I'll try and dig out some links. Off top of my head would something likehttp://metawidget.org/be useful? Thank you for pointing me to Metawidget; It looks quite interesting, though I'm currently not sure how to (if it will be possible to) inject custom *client-side logic* (GWT code or JS functions) for the dynamic forms behavior. Maybe you already have some experiences with that. I'll take a closer look on Metawidget these coming days. Not sure if you said what your server side technology would be. RDBMS, Java...? Back-end techs: Java(EE) with JPA access to Derby or MySQL. But there could also be a XML/XSD storage (db or files) to store form descriptions. The actual orderings/purchases done via these forms should be in a RDBMS because of statistical analysis functionality (sales quantity per day/month/year, revenue, etc.) Front-end techs: JSF, GWT, or both (the complex GWT widgets integrated in traditional web pages). Before GWT consideration, the plan was to store the custom form specs in XML or JSON. Now, with GWT-RPC there would be a 3rd option, (de)serialized JS objects, right??? -- But XML or the less-verbose JSON would also be good for me, e.g. to remain GWT-independent. Which serialization tech would you choose for this? [...]Maybe have your non-tech users designing the forms in XML Spy or something like that. If your rules and validation get complicated quickly it might be worth jumping to JavaScript as the expression language. Even if you provide a nice UI on top of this at least you will have a Turing complete engine at the outset. There should be *no* external tools in place; instead, a usual online forms builder where admins can define simple web forms either in a forms-based or in a graphical (form widget palette, form cavas, drag- and-drop, properties pane) manner. Btw., do you know a framework mimicking such a work area, like Eclipse Workbench, for GWT??? The forms UIs are rather simple -- basically HTML forms with some DateTimePicker enhancements and field validation. The *problem* is their *dynamic behavior*, i.e. the widget-to-action bindings, how to specify them, and the underlying arch design that also permits an edit vs. preview mode. I think this arch will have to go in the following direction: A client-side metawidget ;-) downloads admin-provided form spec via GWT-RPC (in XML, JSON, or serialized JS format). This spec describes in an id- and css-based manner (a) the form layout, (b) the field widgets and their locations in the layout, (c) field validation rules, and (d) presentation rules (i.e. reactiveness hiding/reveiling fields/ sections). The metawidget (1) dynamically instantiates all field widgets and places them on the layout, (2) instantiates for each field the described validation rules and registers them with the corresp. field widget (alt.: client-side validation event bus?), (3) instantiates the presentation rules and registers them to a client-side presentation event bus. Each widget always reports state changes to this event bus; there the state change event selects all event- matching, registered presentation rules and triggers their action(s) section which again results in *state change(s)* on the available form widgets, and which by themselves may again trigger more presentation rules, and so on... Briefly, what arch would you put in place??? Especially for the client-side??? Being in the browser XML and JS work nicely although not so great if you back end is a RDBMS. Well, in my case the metadata parts (=form descriptions) could also be stored in XML into a XML db or webserver filesystem location. The data parts (=purchase orders) should be saved in a RDBMS due to statistics. I sincerely hope you've already made some experiences with such a scenario and can help me further outlining a practical architecture. As stated above, the main problems are (a) the client-side form logic instantiation, and (b) how to provide an edit-and-preview mode ui for admins (the preview result is the one later recycled/presented to the non-admin endusers (customers)). What would an arch for this look like??? Thank you a million in advance. Best regards, Alessandro On Aug 5, 6:27 pm, A.Augustini alessandro.august...@googlemail.com wrote: Hello Sam: First of all, thanx a lot for your reply. If I had similar spec to you (complicated interactive registration that needs to happen on the client) then GWT seems like a good fit. Yes indeed, your spec is comparable mine: I've to build an *ordering form* with injected rules, which are *dynamically specified* by an admin via an Online Admin Module. These specifications are then stored in my backend database. Depends a bit how often your registration fields and rules change. If it is not very often then expressing them in Java (compiled to
Re: Database and GWT
Hi , You can use the RPC calls to insert the data into database create a method and pass the the data into method .. and at server side please fetch this data from method and save it into your database. On Aug 6, 6:24 pm, spierce7 spier...@gmail.com wrote: Why does no one want to use AppEngine? On Aug 5, 5:56 pm, Diego Venuzka dvenu...@gmail.com wrote: Hi! After some hours without sleep to solve my compilation problem, i stop in another problem. I'll need to insert data in database, and how GWT can help with this? Or i can insert using the tradicional method with Java? Thanks =) -- Diego Venuzka -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
docklayoutpanel scroll feature?
may i know is it possible to apply scroll feature to entire docklayoutpanel rather than just portion of the docklayoutpanel.east,center..etc? any example? -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: Problems extending CalendarView
On Aug 5, 9:43 am, ctasada ctas...@gmail.com wrote: I did it in my code without too much problems, but I agree with you that's quite annoying. Steps: 1.- Create a new package in your code: com.google.gwt.user.datepicker.client Copy the DefaultCalendarView.java from the GWT repository (I'm not sure which version I used, but was the one from 2.0) Are you sure that the behaviour of the GWT compiler is well-defined for cases where you've selectively monkey-patched part of a GWT package in local code, and are relying the source from gwt-user.jar for the rest of the package? I guess it's working for the moment, but is that kind of behavior expected to work in future versions of the compiler? Any GWT compiler devs care to comment? -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: docklayoutpanel scroll feature?
Hi, my suggestion would be using the Firebug feature to find out which style is set - and overwrite using the DOM (to scroll: auto) if nothing else is possible... Hope this helps - best Regards Sebastian Rothbucher On 8 Aug., 14:16, asianCoolz second.co...@gmail.com wrote: may i know is it possible to apply scroll feature to entire docklayoutpanel rather than just portion of the docklayoutpanel.east,center..etc? any example? -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: Why should I need a Session ID?
Hi Magnus, when using a Servlet Container, you don't have to worry about such stuff at all: as soon as you use request.getSession().setAttribute() / request.getSession().getAttribute(), you work with the user's session. Internally, this session has an ID but this ID is normally hidden for you (when you use TamperData with Firefox, you can make the JSESSIONID value visible). So, I'd agree with you not to send the primary key of the user anywhere - just leave it in the server side user session Hope this helps - best regards Sebastian Rothbucher On 8 Aug., 03:55, Magnus alpineblas...@googlemail.com wrote: Hi, the LoginSecurity-FAQ as well as many other tutorials refers to a session ID:http://code.google.com/p/google-web-toolkit-incubator/wiki/LoginSecur... Why should I use something like an ID for a session? I simply store the primary key of the current user in my session and it seems to be enough. The special topic in this FAQ is the remember functionality: Store the Session ID in a Cookie so that the user does not need to login every time. Should I store the User ID there? Isn't this dangerous? I believe that any client can manipulate its cookies to arbitrary values... Magnus -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: Making GWT look good...
Stock GWT widgets look pretty basic. However they are easy to theme because of their pure DOM structure and spartan CSS. They form a great base to create highly unique non-boring looks. GXT (and SmartGWT ?) has this rich and consistent enterprise look but is a pain in the arse to customize and even then you are restricted to how far you may go. On the other hand, if we compare them at the sources level, GWT is sloppy as hell while GXT is pure beauty. Maybe you GWT guys should stay out of the widget business and focus on the compiler and infrastructure stuff. Oh and the upcoming data grid API, as of right now, looks ugly to me.. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: Why should I need a Session ID?
Hi Sebastian, thank you for your reply! It's fine that I do not need to deal with the session ID and that this stuff is hidden within the servlet framework. But how should I then apply the login/remember cookbook mentioned above (LoginSecurity-FAQ), which tells me to store the session ID in some cookie so the browser can remember the user when he comes back? http://code.google.com/p/google-web-toolkit-incubator/wiki/LoginSecurityFAQ The FAQ - which was made for GWT! - says that I should store the session ID in a cookie after login: String sessionID = /*(Get sessionID from server's response to your login request.)*/; final long DURATION = 1000 * 60 * 60 * 24 * 14; //duration remembering login. 2 weeks in this example. Date expires = new Date(System.currentTimeMillis() + DURATION); Cookies.setCookie(sid, sessionID, expires, null, /, false); The following code should be used to remember the users session at the EntryPoint: String sessionID = Cookies.getCookie(sid); if ( sessionID != null ) checkWithServerIfSessionIdIsStillLegal(); else displayLoginBox(); However, saying that I do not need to deal with session IDs also means that I cannot use this method. But the LoginSecurity-FAQ was made for GWT-applications: Can you help me out of this contradiction? Thanks Magnus On Aug 8, 4:05 pm, Sebastian Rothbucher sebastian.rothbuc...@clarities.de wrote: Hi Magnus, when using a Servlet Container, you don't have to worry about such stuff at all: as soon as you use request.getSession().setAttribute() / request.getSession().getAttribute(), you work with the user's session. Internally, this session has an ID but this ID is normally hidden for you (when you use TamperData with Firefox, you can make the JSESSIONID value visible). So, I'd agree with you not to send the primary key of the user anywhere - just leave it in the server side user session Hope this helps - best regards Sebastian Rothbucher On 8 Aug., 03:55, Magnus alpineblas...@googlemail.com wrote: Hi, the LoginSecurity-FAQ as well as many other tutorials refers to a session ID:http://code.google.com/p/google-web-toolkit-incubator/wiki/LoginSecur... Why should I use something like an ID for a session? I simply store the primary key of the current user in my session and it seems to be enough. The special topic in this FAQ is the remember functionality: Store the Session ID in a Cookie so that the user does not need to login every time. Should I store the User ID there? Isn't this dangerous? I believe that any client can manipulate its cookies to arbitrary values... Magnus -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: Making GWT look good...
It is crucial that the Look-and-Feel be documented as nimbus is (and OpenLook was). Sure one can theme/style widgets to match at a low level but CSS is insufficient to match scroll bars, navigation controls, sort/filter controls, etc. On Aug 6, 5:44 am, Chris Ramsdale cramsd...@google.com wrote: Hey GWT(ers), I've heard from many of you that GWT apps simply don't look that good out of the box, and styling the default app would go a long way. We couldn't agree more. As some of you know, GWT 2.1 (with the help of Spring Roo 1.1) will generate a full-fledged scaffolding app that users can then go customize, and build on top of. The current incarnation looks like this: http://gwt-bikeshed.appspot.com/Scaffold.html And while it's a start, it's long from being...well...good looking. I'm working with some UI/UX people back at Google, but in the spirit of openness I wanted to get feedback from the real users -- you. Specifically we're looking for business apps that are a good example of UI and/or UX. Apps that allow you to track tasks, expenses, travel, projects, etc. If you have ideas, simply post a link in a follow-up to this thread. Cheers, -- Chris -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: How to build a rules-based form controller for a dyn. form in GWT
I have not used it but Tohu (http://jboss.org/tohu) sounds like what you are looking for. Let us know if it works for you On Aug 8, 2:33 am, A.Augustini alessandro.august...@googlemail.com wrote: Hi Sam: For simplicity, I'll provide the open details inline: There are more complete frameworks/application for what you are trying to do. I'll try and dig out some links. Off top of my head would something likehttp://metawidget.org/beuseful? Thank you for pointing me to Metawidget; It looks quite interesting, though I'm currently not sure how to (if it will be possible to) inject custom *client-side logic* (GWT code or JS functions) for the dynamic forms behavior. Maybe you already have some experiences with that. I'll take a closer look on Metawidget these coming days. Not sure if you said what your server side technology would be. RDBMS, Java...? Back-end techs: Java(EE) with JPA access to Derby or MySQL. But there could also be a XML/XSD storage (db or files) to store form descriptions. The actual orderings/purchases done via these forms should be in a RDBMS because of statistical analysis functionality (sales quantity per day/month/year, revenue, etc.) Front-end techs: JSF, GWT, or both (the complex GWT widgets integrated in traditional web pages). Before GWT consideration, the plan was to store the custom form specs in XML or JSON. Now, with GWT-RPC there would be a 3rd option, (de)serialized JS objects, right??? -- But XML or the less-verbose JSON would also be good for me, e.g. to remain GWT-independent. Which serialization tech would you choose for this? [...]Maybe have your non-tech users designing the forms in XML Spy or something like that. If your rules and validation get complicated quickly it might be worth jumping to JavaScript as the expression language. Even if you provide a nice UI on top of this at least you will have a Turing complete engine at the outset. There should be *no* external tools in place; instead, a usual online forms builder where admins can define simple web forms either in a forms-based or in a graphical (form widget palette, form cavas, drag- and-drop, properties pane) manner. Btw., do you know a framework mimicking such a work area, like Eclipse Workbench, for GWT??? The forms UIs are rather simple -- basically HTML forms with some DateTimePicker enhancements and field validation. The *problem* is their *dynamic behavior*, i.e. the widget-to-action bindings, how to specify them, and the underlying arch design that also permits an edit vs. preview mode. I think this arch will have to go in the following direction: A client-side metawidget ;-) downloads admin-provided form spec via GWT-RPC (in XML, JSON, or serialized JS format). This spec describes in an id- and css-based manner (a) the form layout, (b) the field widgets and their locations in the layout, (c) field validation rules, and (d) presentation rules (i.e. reactiveness hiding/reveiling fields/ sections). The metawidget (1) dynamically instantiates all field widgets and places them on the layout, (2) instantiates for each field the described validation rules and registers them with the corresp. field widget (alt.: client-side validation event bus?), (3) instantiates the presentation rules and registers them to a client-side presentation event bus. Each widget always reports state changes to this event bus; there the state change event selects all event- matching, registered presentation rules and triggers their action(s) section which again results in *state change(s)* on the available form widgets, and which by themselves may again trigger more presentation rules, and so on... Briefly, what arch would you put in place??? Especially for the client-side??? Being in the browser XML and JS work nicely although not so great if you back end is a RDBMS. Well, in my case the metadata parts (=form descriptions) could also be stored in XML into a XML db or webserver filesystem location. The data parts (=purchase orders) should be saved in a RDBMS due to statistics. I sincerely hope you've already made some experiences with such a scenario and can help me further outlining a practical architecture. As stated above, the main problems are (a) the client-side form logic instantiation, and (b) how to provide an edit-and-preview mode ui for admins (the preview result is the one later recycled/presented to the non-admin endusers (customers)). What would an arch for this look like??? Thank you a million in advance. Best regards, Alessandro On Aug 5, 6:27 pm, A.Augustini alessandro.august...@googlemail.com wrote: Hello Sam: First of all, thanx a lot for your reply. If I had similar spec to you (complicated interactive registration that needs to happen on the client) then GWT seems like a good fit. Yes indeed, your spec is comparable mine: I've to build an *ordering form* with injected rules,
Re: What happen with Google Web Toolkit Developer Plugin Firefox Linux
Hi, you may need to use an other version of firefox. I could not download for 3.5.9 (shiretoko), too. But 3.6.8 does work. There is still no support for chrome on linux. Stefan Bachert http::/gwtworld.de Inquiries for professional GWT support are welcome. I am sorry, I won't do free personal support. On 4 Aug., 02:25, cosmosnet cosmos...@gmail.com wrote: Hello friends, What happen with Google Web Toolkit Developer Plugin for firefox on linux only windows? -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
RequestBuilder request to another gwt module (or servlet) on the SAME host and prot
Hi I have a gwt app which is running on https://myDomain.com/application1/Application.html Then i have second application which is running on the same host, servlet: https://myDomain.com/application2/testApp They both ar served by apache. I try to send request [CODE] JSON_URL = https://myDomain.com/application2/testApp;; final String url = URL.encode(JSON_URL); RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, url); [/CODE] This tries request to https://myDomain.com/application1/%22https://myDomain.com/application2/testApp It appends my url to the application1 url how i can solve this? I tried GWT.getHostPageBaseURL() but it does return the host + application1 name. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Using piriti 0.4.1
Hi All, I am using piriti 0.4.1 for mapping XML to POJO's with gwt 2.1 m2. For learning purpose, i added on sample xml file to shared folder and created the java classes in shared folder only. But these java classes show the following error *The type name.pehl.totoe.client.Element cannot be resolved. It is indirectly referenced from required .class * * files* * * I am using eclipse 3.5 and have added jar files in build path through eclipse. I don't actually know what mistake in setting up the project i am doing. I am not using maven. Pls let me know how to use piriti and is there any way to do mapping of xml to pojo. Is Piriti a better solution for fast result ? Thanks Deepak -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: Instantiate composite on the server side
By accident I ran into this, thought you'd be interested : http://code.google.com/p/gwt-greflect/ But still, if you're not writing some kind of mystic framework, you better stick with Gin. On 7 août, 15:53, Gal Dolber gal.dol...@gmail.com wrote: why don't you try to explain your situation.. I cannot imagine what you are trying to do. 2010/8/6 Fernando Barbat fbar...@gmail.com Correction... If you want to know the type of the created object, It's almost type safe. :P If you are alright by knowing it's a Widget, it's type-safe. Here's a tidier version of the code: Almost type-safe: public class Reflector { �...@suppresswarnings(unchecked) public static T T createInstance(ClassT theClass) { if (theClass == TextBox.class) return (T)new TextBox(); else if (theClass == Button.class) return (T)new Button(); else throw new RuntimeException(); } } Type-safe: public class Reflector { public static T extends Widget Widget createInstance(ClassT theClass) { if (theClass == TextBox.class) return new TextBox(); else if (theClass == Button.class) return new Button(); else throw new RuntimeException(); } } On 6 ago, 12:58, Fernando Barbat fbar...@gmail.com wrote: I was't so clear so I want to put it with an example. Let's suppose your helper class is named Reflector. This class could be something like this: class Reflector { public static T getInstance(ClassT extend Widget class){ if (class == MyClass1.class) return new MyClass1(); else if (class == MyClass2.class) return new MyClass2(); else throw new CouldntInstanceClassException(); }} It is type safe, although you can have a CouldntInstanceClassException() if you forget to add the corresponding comparison. On 6 ago, 08:19, Fernando Barbat fbar...@gmail.com wrote: You can do that on the client side. Although you don't have reflections, you can have a helper class which can do that work for you. That helper class could have a big if, else if, else if clause and compare classes using instance.getClass(). Every time you add a new class you want to use reflections with, you can add a new else if (instance.getClass() == MyClass.class){ return new MyClass(); } That was what I did when I needed to use reflections on the client side. On 6 ago, 05:07, Stephan T stephan.tern...@gmail.com wrote: The reason why I try to do this is that GWT doesn't support reflections. I'm trying to use a helper method on the server side which receivs the class name, the server side then instatiates the class and returns it to the client. Any other suggestions how to solve this problem? On 5 Aug, 15:47, Mikael Couzic mikaelcou...@gmail.com wrote: Sounds like you violated the SRP principle... If I got it right, Composite depends on the DOM, which doesn't exist server-side, so I don't think it is possible. A solution would be to encapsulate the functionnality you want to use server-side in a POJO. Your composite would then delegate to the POJO, which could be reused server-side. And if you wish to push further towards great design, embrace MVP ! On 5 août, 14:42, Stephan T stephan.tern...@gmail.com wrote: For several reasons I need to instansiate a Composite on the server side that is in the client package. Is it possible? Now I think I'm getting class not found exception when trying... -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.comgoogle-web-toolkit%2Bunsubs cr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. --http://ajax-development.blogspot.com/ -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: introducing a marketplace for GWT components associated projects
I'd like to register a project I've contributed to : GWT-OpenLayers It's a JSNI wrapper for OpenLayers, which is a web mapping JS library. I was wondering if a JS Wrappers category would be a good idea. On 27 juil, 13:46, Christian Goudreau goudreau.christ...@gmail.com wrote: I registered Gwt-Platform and our next project, our consultant firm. You should add a category more specific for team of individuals that want to offer support or consulting services for Gwt. Great app ! Did you use Gwt-Platform ? :) Cheers, On Mon, Jul 26, 2010 at 10:00 PM, Joe Hudson joe...@gmail.com wrote: Thanks for the feedback Peter. I've made changes to the categories that you suggested. That definitely seems to make more sense. Joe On Jul 26, 8:19 am, Peter Simun si...@seges.sk wrote: Great idea Joe, I was missing something like this for a long time. But the categorization is little bit confusing me. What is the difference between Libraries and Frameworks, or Tools. Wouldn't it be better to cover some specific domains in the categories? Like UI widgets, RPC, security, MVP, etc ? Thank you again. Peter On 26. Júl, 10:08 h., maks makspaniza...@gmail.com wrote: Wow this is nice! keep it up! On Jul 26, 11:57 am, Joe Hudson joe...@gmail.com wrote: Hi, I'm a huge fan of GWT and the only problem I have with it is not really a problem with GWT but with the fact that there isn't a centralized place for registering component and associated tools AFAIK. I have created an application to do this which is available athttp://gwtmarketplace.appspot.com This project is open-source and the project and source code is available at:http://code.google.com/p/gwtmarketplace/. I encourage everyone who has a product related to GWT to register it so it easier for folks like myself to see what is available and be able to comment on and rate these products. I would certainly appreciate if the GWT folks would link tohttp://gwtmarketplace.appspot.comtomakeiteasier for people to see. Also, any feedback would certainly be appreciated. Thanks, Joe http://gwtmarketplace.appspot.com -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.comgoogle-web-toolkit%2Bunsubs cr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- Christian Goudreau -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: Database and GWT
Well, this method sounds intersting, but how i do this? somebody have a example ? Thanks for the help! 2010/8/8 GWT Groups new.ankitj...@gmail.com Hi , You can use the RPC calls to insert the data into database create a method and pass the the data into method .. and at server side please fetch this data from method and save it into your database. On Aug 6, 6:24 pm, spierce7 spier...@gmail.com wrote: Why does no one want to use AppEngine? On Aug 5, 5:56 pm, Diego Venuzka dvenu...@gmail.com wrote: Hi! After some hours without sleep to solve my compilation problem, i stop in another problem. I'll need to insert data in database, and how GWT can help with this? Or i can insert using the tradicional method with Java? Thanks =) -- Diego Venuzka -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.comgoogle-web-toolkit%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- Diego Venuzka -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: How do you use @sprite's and ui:image in UiBinder ui.xml templates?
Thanks Nicolas - I think I am very close I'm trying this (very simple)... ui:image field=onImage src=on.png/ g:Image resource=onImage/ But, computer say's no :) or more specifically... 00:31:09.750 [ERROR] Cannot parse value: onImage as type ImageResource I have both the ui.xml and the png in the same directory, perhaps this is wrong? ./MyWidget.ui.xml ./on.png CHEERS :) p.s. you said *Width/Height will be automatically written in your css class, you do not need to do any reference on it*. this is probably true for an img but what about applying a gwt-image on a Panel (background). I would not expect the Panel to have it's size set based on the back ground image's size (even if it is what I want) :) On Fri, Aug 6, 2010 at 5:55 PM, Nicolas ANTONIAZZI nicolas.antonia...@gmail.com wrote: Width/Height will be automatically written in your css class, you do not need to do any reference on it. 2010/8/6 Nicolas ANTONIAZZI nicolas.antonia...@gmail.com Hi, The right syntax is : *ui:image field=activeImage src=active.png/* * **ui:image field=deactiveImage src=active.png/* Then, simply use : *...@sprite .active {* *gwt-image: 'activeImage';* * }* * @sprite .deactive { gwt-image: 'deactiveImage'; } Moreover, If you wish to directly use an image ( img/img) instead of a background css image, you can do : g:Image resource=activeImage / g:Image resource=deactiveImage / * 2010/8/6 Andrew Hughes ahhug...@gmail.com Hi Guys, I can't find any doco, so help would be great! I want to set some background gwt-image's inside my ui.xml's ui:style Easiest way to ask my question is to show you what is not working :) !DOCTYPE ui:UiBinder SYSTEM http://dl.google.com/gwt/DTD/xhtml.ent; ui:UiBinder xmlns:ui=urn:ui:com.google.gwt.uibinder xmlns:g=urn:import:com.google.gwt.user.client.ui *ui:image field=activeImage resource=active.png/* * **ui:image field=deactiveImage resource=active.png/* ui:style type=com.acme.Style *...@sprite .active {* *width: value('activeImage.getWidth','px');* *height: value('activeImage.getHeight','px');* *gwt-image: 'activeImage';* *}* * @sprite .deactive {* *width: value('deactiveImage.getWidth','px');* *height: value('deactiveImage.getHeight','px');* *gwt-image: 'deactiveImage';* *}* /ui:style g:HorizontalPanel g:HTMLPanel ui:field=active addStyleNames={style.deactive}/ /g:HorizontalPanel /ui:UiBinder Questions 1. I'm trying to avoid external css files here and do it all in the ui.xml, perhaps this is not possible 2. How are ui:image resource's defined/referenced? What are the rules on the resource= 3. How is the ui:image field associated with the @sprite? Do I have this right 4. How can I get the width/height of the image (as described here http://code.google.com/webtoolkit/doc/latest/DevGuideClientBundle.html#Value_function )??? CHEERS :) -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-toolkit@googlegroups.com . To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.comgoogle-web-toolkit%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.comgoogle-web-toolkit%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Exception while dispatching incoming RPC call Object Manager has been closed
Hey, I've been trying to get my RPC Call to AppEngine to work since last Wed, with no luck. My issue now seems to be with my query. I'm willing to post any code needed, but I just want to get this working, as this has completely halted me on any further progress on my app. Everything looks like it should be working. Here is my TestServiceImpl.java : package com.spierce7.gwt.test.server; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.logging.Logger; import javax.jdo.JDOHelper; import javax.jdo.PersistenceManager; import javax.jdo.PersistenceManagerFactory; import javax.jdo.Query; import com.google.gwt.user.server.rpc.RemoteServiceServlet; import com.spierce7.gwt.test.client.TestService; import com.spierce7.gwt.test.shared.PersistentShift; public class TestServiceImpl extends RemoteServiceServlet implements TestService{ private static final Logger LOG = Logger.getLogger(TestServiceImpl.class.getName()); private static final PersistenceManagerFactory PMF = JDOHelper.getPersistenceManagerFactory(transactions-optional); public void addShift(Date startDate, Date endDate) { PersistenceManager pm = getPersistenceManager(); try { pm.makePersistent(new PersistentShift(startDate, endDate)); } finally { pm.close(); } } public ListPersistentShift getShifts() { PersistenceManager pm = getPersistenceManager(); ListPersistentShift results = new ArrayListPersistentShift(); Query query = pm.newQuery(PersistentShift.class); query.setFilter(search == 1); try { results = (ListPersistentShift) query.execute(); } finally { pm.close(); } return results; } private PersistenceManager getPersistenceManager() { return PMF.getPersistenceManager(); } } ___ My addShift function works fine, and I can add objects to the database just fine. I just can't retrieve them. I finally changed the objects in the database to all have an int variable called search, and it's always set to 1. When I call the getShifts() method though, it gives me this error: javax.servlet.ServletContext log: Exception while dispatching incoming RPC call Object Manager has been closed org.datanucleus.exceptions.NucleusUserException: Object Manager has been closed at org.datanucleus.ObjectManagerImpl.assertIsOpen(ObjectManagerImpl.java: 3876) at org.datanucleus.ObjectManagerImpl.getFetchPlan(ObjectManagerImpl.java: 376) at org.datanucleus.store.query.Query.getFetchPlan(Query.java:497) at org.datanucleus.store.appengine.query.DatastoreQuery $6.apply(DatastoreQuery.java:631) at org.datanucleus.store.appengine.query.DatastoreQuery $6.apply(DatastoreQuery.java:630) at org.datanucleus.store.appengine.query.LazyResult.resolveNext(LazyResult.java: 94) at org.datanucleus.store.appengine.query.LazyResult $LazyAbstractListIterator.computeNext(LazyResult.java:215) at org.datanucleus.store.appengine.query.AbstractIterator.tryToComputeNext(AbstractIterator.java: 132) at org.datanucleus.store.appengine.query.AbstractIterator.hasNext(AbstractIterator.java: 127) at org.datanucleus.store.appengine.query.LazyResult $AbstractListIterator.hasNext(LazyResult.java:169) at java.util.AbstractCollection.toString(Unknown Source) ... (it goes on) ___ I saw some examples where queries are ended with query.closeAll(), and I tried that also, but I get a different error telling me something couldn't be serialized from the datanucleus. At this point I just want it to work. Any help, or any ideas would be great. Let me know if you'd like some other code posted. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
grid column and flow panel
I am using a flow panel in one of grid's column. I want objects to wrap in flow panel as needed. It works fine when there is only one widget in flow panel but does not when there are more than one object. I have to add few labels and links in panel but here in this example just 2 labels just to show whats happening. //This works FlowPanel flowPnl = new FlowPanel(); flowPnl.add(new Label(one two three... this wraps as needed)); gridPnl.setWidget(row, column, flowPnl); //This does not work, each label / link goes in next line, even though there is plenty of space in column FlowPanel flowPnl = new FlowPanel(); flowPnl.add(new Label(one)); flowPnl.add(new Label(two)); gridPnl.setWidget(row, column, flowPnl); Any suggestions to fix it, thanks. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: How do you use @sprite's and ui:image in UiBinder ui.xml templates?
Sorry, I forgot something in my previous mail. The correct syntax for the Image tag that reference an image resource is : ui:image field=onImage src=on.png/ g:Image resource=*{*onImage*}* / p.s. you said Width/Height will be automatically written in your css class, you do not need to do any reference on it. this is probably true for an img but what about applying a gwt-image on a Panel (background). I would not expect the Panel to have it's size set based on the back ground image's size (even if it is what I want) :) Yes, that might be a problem in some case. You should be able to override the value from css if you wish. In some case, you might want to let the css default width. In this case, you should use DataRessource instead of ImageRessource. To declare this from uiBinder, the correct syntax is : *ui:data* field=*myResource* src=on.png style *...@url myResourceUrl myResource;* .myPanel { background: *myResourceUrl*; } /style Here, the image will be referenced without forcing width/height. 2010/8/9 Andrew Hughes ahhug...@gmail.com Thanks Nicolas - I think I am very close I'm trying this (very simple)... ui:image field=onImage src=on.png/ g:Image resource=onImage/ But, computer say's no :) or more specifically... 00:31:09.750 [ERROR] Cannot parse value: onImage as type ImageResource I have both the ui.xml and the png in the same directory, perhaps this is wrong? ./MyWidget.ui.xml ./on.png CHEERS :) p.s. you said *Width/Height will be automatically written in your css class, you do not need to do any reference on it*. this is probably true for an img but what about applying a gwt-image on a Panel (background). I would not expect the Panel to have it's size set based on the back ground image's size (even if it is what I want) :) On Fri, Aug 6, 2010 at 5:55 PM, Nicolas ANTONIAZZI nicolas.antonia...@gmail.com wrote: Width/Height will be automatically written in your css class, you do not need to do any reference on it. 2010/8/6 Nicolas ANTONIAZZI nicolas.antonia...@gmail.com Hi, The right syntax is : *ui:image field=activeImage src=active.png/* * **ui:image field=deactiveImage src=active.png/* Then, simply use : *...@sprite .active {* *gwt-image: 'activeImage';* * }* * @sprite .deactive { gwt-image: 'deactiveImage'; } Moreover, If you wish to directly use an image ( img/img) instead of a background css image, you can do : g:Image resource=activeImage / g:Image resource=deactiveImage / * 2010/8/6 Andrew Hughes ahhug...@gmail.com Hi Guys, I can't find any doco, so help would be great! I want to set some background gwt-image's inside my ui.xml's ui:style Easiest way to ask my question is to show you what is not working :) !DOCTYPE ui:UiBinder SYSTEM http://dl.google.com/gwt/DTD/xhtml.ent; ui:UiBinder xmlns:ui=urn:ui:com.google.gwt.uibinder xmlns:g=urn:import:com.google.gwt.user.client.ui *ui:image field=activeImage resource=active.png/* * **ui:image field=deactiveImage resource=active.png/* ui:style type=com.acme.Style *...@sprite .active {* *width: value('activeImage.getWidth','px');* *height: value('activeImage.getHeight','px');* *gwt-image: 'activeImage';* *}* * @sprite .deactive {* *width: value('deactiveImage.getWidth','px');* *height: value('deactiveImage.getHeight','px');* *gwt-image: 'deactiveImage';* *}* /ui:style g:HorizontalPanel g:HTMLPanel ui:field=active addStyleNames={style.deactive}/ /g:HorizontalPanel /ui:UiBinder Questions 1. I'm trying to avoid external css files here and do it all in the ui.xml, perhaps this is not possible 2. How are ui:image resource's defined/referenced? What are the rules on the resource= 3. How is the ui:image field associated with the @sprite? Do I have this right 4. How can I get the width/height of the image (as described here http://code.google.com/webtoolkit/doc/latest/DevGuideClientBundle.html#Value_function )??? CHEERS :) -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.comgoogle-web-toolkit%2bunsubscr...@googlegroups.com . For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to
deserialization error when DTO is nested
I have a composite pattern DTO, where an DTO instance may contain a child list of the same type. first this app runs fine when in hosted mode, but get deserialization error when in deployed mode using tomcat. I can leave the nested structure in the DTO class as long as I don't actually populate the child list. but as soon as I populate the child list the deserialization error shows up. again, works find in hosted mode, fails in deployed mode if child list is populated. I did a thorough search on the web, no one reported a similar problem. and I made absolutely sure I have a zero argument constructor. any ideas from any one? -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
[gwt-contrib] Re: Hard coded History integration for the Scaffold app. This is step zero (issue717801)
On Sun, Aug 8, 2010 at 2:16 AM, cromwell...@google.com wrote: Partial review (time for sleep) http://gwt-code-reviews.appspot.com/717801/diff/8003/32002 File bikeshed/src/com/google/gwt/sample/expenses/gwt/client/HistoryPlaceIntegration.java (right): http://gwt-code-reviews.appspot.com/717801/diff/8003/32002#newcode91 bikeshed/src/com/google/gwt/sample/expenses/gwt/client/HistoryPlaceIntegration.java:91: if (r.equals(initial)) { If we're going with a prefix scheme, maybe there should be a prefix - Tokenizer map. Or perhaps a more flexible scheme would just chain tokenizers, so that the first, root, tokenizer installed maps to sub-tokenizers. Yes, I plan to do exactly that with a GWT code generator. That will probably be less work than making Roo generate this thing, so I guess I'll have to do it today. There won't be any nesting, at least not yet. The place scheme completely hinges on there being only one place, so that when someone I don't know sets a new place I automatically get torn down. http://gwt-code-reviews.appspot.com/717801/diff/8003/32051 File user/src/com/google/gwt/app/place/ProxyPlace.java (right): http://gwt-code-reviews.appspot.com/717801/diff/8003/32051#newcode45 user/src/com/google/gwt/app/place/ProxyPlace.java:45: return new ProxyPlace(requests.getProxy(bits[0]), TODO: avoid Enum.valueOf(), prefer ordinal(). This requires every enum to carry these string tables around to do the mapping, I'm teaching the compiler to prune these with special flags. As an added bonus, the token will be shorter. I'll do that now. http://gwt-code-reviews.appspot.com/717801/diff/8003/32051#newcode50 user/src/com/google/gwt/app/place/ProxyPlace.java:50: return requests.getToken(place.getProxy()) + @ + place.getOperation(); TODO: eventually, place.getOperation.ordinal() http://gwt-code-reviews.appspot.com/717801/diff/8003/32058 File user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java (right): http://gwt-code-reviews.appspot.com/717801/diff/8003/32058#newcode324 user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java:324: // write getToken(Class) Am I imagining things, or is this simply the same as doing clazz.getName()? getToken(clazz) looks up a RecordSchema in recordToTypeMap and then invokes getToken() on RecordSchema, which returns the Record clazz again, on which getName() is invoked. That's exactly what it's doing, but it's intended to be temporary — I'll add a TODO. Just like the JSON is sending the entire FQ class name down the wire but shouldn't be. I want to find some kind of lossless compression scheme for both to use, probably just a base 36 encoding. http://gwt-code-reviews.appspot.com/717801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Public: Simple implementation of ConstraintViolation, ConstraintDescriptor, Path and Node. (issue735802)
LGTM http://gwt-code-reviews.appspot.com/735802/diff/1/10 File user/test/com/google/gwt/validation/client/ValidationClientGwtSuite.java (right): http://gwt-code-reviews.appspot.com/735802/diff/1/10#newcode23 user/test/com/google/gwt/validation/client/ValidationClientGwtSuite.java:23: * All validation tests. Actually just all GWTTestCases, right? http://gwt-code-reviews.appspot.com/735802/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Tests and tweaks for DisclosurePanel and StackLayoutPanel parsers (issue736801)
Sorry I've let this and the other one languish. I have a nasty deadline coming up and it may be a couple of more days. On Tue, Aug 3, 2010 at 12:23 PM, konstantin.scheg...@gmail.com wrote: Reviewers: Ray Ryan, Description: 1. Problems in assertFirstHeader(). 1.1. invalid condition; 1.2. invalid reference on second argument. 2. Use addStatement() instead of addInitStatement(), because same is done everywhere. 3. Small tweaks. 4. Set of tests, including all bad cases. Please review this at http://gwt-code-reviews.appspot.com/736801/show Affected files: user/src/com/google/gwt/uibinder/elementparsers/DisclosurePanelParser.java user/src/com/google/gwt/uibinder/elementparsers/StackLayoutPanelParser.java user/test/com/google/gwt/uibinder/UiBinderJreSuite.java user/test/com/google/gwt/uibinder/elementparsers/DisclosurePanelParserTest.java user/test/com/google/gwt/uibinder/elementparsers/StackLayoutPanelParserTest.java user/test/com/google/gwt/uibinder/test/UiJavaResources.java -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Renaming ListView.Delegate to ListView.DataProvider. setDataProvider() and setPager() now updat... (issue723801)
This doesn't seem at all like we discussed. http://gwt-code-reviews.appspot.com/723801/diff/1/13 File user/src/com/google/gwt/view/client/ListView.java (right): http://gwt-code-reviews.appspot.com/723801/diff/1/13#newcode70 user/src/com/google/gwt/view/client/ListView.java:70: void setDataProvider(DataProviderT dataProvider); I know this is where the conversation started, but I thought at the end we had gotten rid of this call entirely, and the DataProvider / Delegate interface as well. It should be just another listener for range change events. Is this patch a partial on the way to that design? http://gwt-code-reviews.appspot.com/723801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Renaming ListView.Delegate to ListView.DataProvider. setDataProvider() and setPager() now updat... (issue723801)
Oooh, this is the same old patch set. I thought you had updated it. Phew! On 2010/08/08 16:27:01, Ray Ryan wrote: This doesn't seem at all like we discussed. http://gwt-code-reviews.appspot.com/723801/diff/1/13 File user/src/com/google/gwt/view/client/ListView.java (right): http://gwt-code-reviews.appspot.com/723801/diff/1/13#newcode70 user/src/com/google/gwt/view/client/ListView.java:70: void setDataProvider(DataProviderT dataProvider); I know this is where the conversation started, but I thought at the end we had gotten rid of this call entirely, and the DataProvider / Delegate interface as well. It should be just another listener for range change events. Is this patch a partial on the way to that design? http://gwt-code-reviews.appspot.com/723801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Hard coded History integration for the Scaffold app. This is step zero (issue717801)
http://gwt-code-reviews.appspot.com/717801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Hard coded History integration for the Scaffold app. This is step zero (issue717801)
http://gwt-code-reviews.appspot.com/717801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Renaming ListView.Delegate to ListView.DataProvider. setDataProvider() and setPager() now updat... (issue723801)
-gwt-contrib I updated the patch in mondrian. I didn't update in rietveld because the script didn't like that I did a rename, and it was so late that I didn't want to do a manual upload. On Aug 8, 2010 1:14 PM, rj...@google.com wrote: Oooh, this is the same old patch set. I thought you had updated it. Phew! On 2010/08/08 16:27:01, Ray Ryan wrote: This doesn't seem at all like we discussed. http:/... -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Introducing a new interface, HasDirectionalText (issue738803)
LGTM What about HasDirectionalHtml? It seems like we should have that interface as well if we have HasDirectionalText. http://gwt-code-reviews.appspot.com/738803/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Hard coded History integration for the Scaffold app. This is step zero (issue717801)
LGTM This looks good, but its fairly complicated to reuse in a non-generated GWT app. We might want to revisit this for the next milestone and see if we can simplify the API even further. I love that we can delete so many classes in the sample. My biggest gripe is with HasValues, which takes a renderer. As noted in the comment, the render should be specific to the Widget, not the HasValues interface. http://gwt-code-reviews.appspot.com/717801/diff/20002/33009 File bikeshed/src/com/google/gwt/sample/expenses/gwt/client/HistoryPlaceIntegration.java (right): http://gwt-code-reviews.appspot.com/717801/diff/20002/33009#newcode90 bikeshed/src/com/google/gwt/sample/expenses/gwt/client/HistoryPlaceIntegration.java:90: String rest = token.substring(2); Might want to add a comment explaining why rest starts at index 2 instead of 1. // Index 1 is a colon separator, so rest starts at index 2. http://gwt-code-reviews.appspot.com/717801/diff/20002/33038 File bikeshed/src/com/google/gwt/sample/expenses/gwt/ui/report/ReportActivitiesMapper.java (right): http://gwt-code-reviews.appspot.com/717801/diff/20002/33038#newcode25 bikeshed/src/com/google/gwt/sample/expenses/gwt/ui/report/ReportActivitiesMapper.java:25: * Maps {...@link ReportScaffoldPlace} instances to the {...@link Activity} to run. ReportScaffoldPlace no longer exists. Maps Report {ProxyPlace} instance... http://gwt-code-reviews.appspot.com/717801/diff/20002/33041 File bikeshed/src/com/google/gwt/sample/expenses/gwt/ui/report/ReportEditView.java (left): http://gwt-code-reviews.appspot.com/717801/diff/20002/33041#oldcode73 bikeshed/src/com/google/gwt/sample/expenses/gwt/ui/report/ReportEditView.java:73: Readd newline to separate methods. http://gwt-code-reviews.appspot.com/717801/diff/20002/33041#oldcode78 bikeshed/src/com/google/gwt/sample/expenses/gwt/ui/report/ReportEditView.java:78: Readd newline to separate methods. http://gwt-code-reviews.appspot.com/717801/diff/20002/33047 File user/src/com/google/gwt/app/place/ActivityManager.java (right): http://gwt-code-reviews.appspot.com/717801/diff/20002/33047#newcode107 user/src/com/google/gwt/app/place/ActivityManager.java:107: if (startingNext) { Might want to add a comment explaining when this happens. // Place changed before current place called showAcitivityWidget. http://gwt-code-reviews.appspot.com/717801/diff/20002/33052 File user/src/com/google/gwt/app/place/PlaceChangeEvent.java (right): http://gwt-code-reviews.appspot.com/717801/diff/20002/33052#newcode29 user/src/com/google/gwt/app/place/PlaceChangeEvent.java:29: public class PlaceChangeEvent extends GwtEventPlaceChangeEvent.Handler { Could we replace this class with ValueChangeEventPlace? http://gwt-code-reviews.appspot.com/717801/diff/20002/33053 File user/src/com/google/gwt/app/place/PlaceChangeRequestedEvent.java (right): http://gwt-code-reviews.appspot.com/717801/diff/20002/33053#newcode31 user/src/com/google/gwt/app/place/PlaceChangeRequestedEvent.java:31: public class PlaceChangeRequestedEvent extends We usually use the present tense. PlaceChangeRequestEvent (consistent with PlaceChangeEvent) http://gwt-code-reviews.appspot.com/717801/diff/20002/33053#newcode40 user/src/com/google/gwt/app/place/PlaceChangeRequestedEvent.java:40: void onPlaceChangeRequested(PlaceChangeRequestedEvent event); onPlaceChangeRequest http://gwt-code-reviews.appspot.com/717801/diff/20002/33054 File user/src/com/google/gwt/app/place/PlaceController.java (left): http://gwt-code-reviews.appspot.com/717801/diff/20002/33054#oldcode49 user/src/com/google/gwt/app/place/PlaceController.java:49: Removed a newline? http://gwt-code-reviews.appspot.com/717801/diff/20002/33060 File user/src/com/google/gwt/app/place/ProxyPlaceToListPlace.java (right): http://gwt-code-reviews.appspot.com/717801/diff/20002/33060#newcode43 user/src/com/google/gwt/app/place/ProxyPlaceToListPlace.java:43: * @return the proxy of afiltered {...@link ProxyPlace}, or null afiltered = a filtered http://gwt-code-reviews.appspot.com/717801/diff/20002/33060#newcode54 user/src/com/google/gwt/app/place/ProxyPlaceToListPlace.java:54: public ProxyListPlace go(Place place) { I find this class a little confusing. You go to a place, which remembers the record associated with the place for subsequent calls to getProxy? It seems like the PlaceController should be responsible for keeping track of the current place. http://gwt-code-reviews.appspot.com/717801/diff/20002/33061 File user/src/com/google/gwt/app/place/StopperedEventBus.java (right): http://gwt-code-reviews.appspot.com/717801/diff/20002/33061#newcode28 user/src/com/google/gwt/app/place/StopperedEventBus.java:28: * Wraps an EventBus and holds to hold on to any HandlerRegistrations, and holds to hold = and holds http://gwt-code-reviews.appspot.com/717801/diff/20002/33062 File user/src/com/google/gwt/event/shared/EventBus.java (right): http://gwt-code-reviews.appspot.com/717801/diff/20002/33062#newcode21