Re: Export CellTable data to PDF and Excel Format using UIBinder
I am using Uibinder my data is ready in celltable when i click on export i need to export data into PDF or in excel formats. how cani do that which api i have to use here? On Thursday, 24 May 2012 17:39:56 UTC+5:30, lucky wrote: Hi, can any one tell me how can i export my celltable data to pdf and excel format? Thanks in advance -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/Ju-XN2VSAykJ. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: JSON Parsing in GWT Client
Looking at the data it seems that piriti JSON parsing is as slow as piriti XML parsing. Generally XML dom parsing (without using piriti) is way slower than any JSON. Maybe this is a clue? -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/864JSFz_HAwJ. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: GWT 2.5 and beyond
Finally we will know more at Google IO 2012: https://developers.google.com/events/io/sessions/gooio2012/218/ -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/CKWFta_ZcNcJ. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Mobile Development and Deployment using GWT, mGWT and phonegap
I am really confused with lot of links mgwt, phonegap, cordova, gwt- phonegap..etc. can somebody really help me in understanding few of my basic questions about all these? a. Phonegap and Cordova are one and the same - They will help us to build a mobile deployable component using generated JS files. Am I correct? b. Steps provided in cordova site to create a Android project and deploy needs generated html, JS and CSS content of our project. So we need to build these build before we come here from our project. Rt? c. Now if I have a simple GWT project, can I build GWT client and deploy the generated web app content(.nocache.js and module html files) directly using step b(Cordova approach) without any changes. I understand that this itself is called a Phonegap project which we do using this link http://docs.phonegap.com/en/1.7.0/guide_getting- started_android_index.md.html#Getting%20Started%20with%20Android d. Now if I have used mGWT widgets in my GWT application, what is that extra needed before i start using Cordova steps- mGWT compiled code can't be used directly in Cordova Phonegap project? What is gwt-Phonegap? Why do we need this now? Please suggest me. Can somebody really explain what exactly is happening using gwt-Phonegap in some simple words. Please help!!! 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-toolkit@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: JSON Parsing in GWT Client
The actual parsing is done using GWT JSON API: JSONParser.parseStrict(String). I guess AutoBean does nothing different regarding parsing. I think the time conssuming parts in Piriti are related to resolving relations between objects and handling IDs and IDREFs. Although there are no real ID and IDREFs in JSON the code is pretty much the same for JSON and XML. This part could certainly be optimized. I will try to further analyze the hot spots in one of the next releases. - Harald Am Freitag, 25. Mai 2012 09:07:09 UTC+2 schrieb dominikz: Looking at the data it seems that piriti JSON parsing is as slow as piriti XML parsing. Generally XML dom parsing (without using piriti) is way slower than any JSON. Maybe this is a clue? -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/DNecmjl-bMAJ. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: GWT Browser Dev-Plugin
On Thursday, May 24, 2012 4:21:54 PM UTC+2, Pete_Scholar wrote: This means my only working browser for dev is Chrome, as I'm running Firefox 12.0. FYI, Firefox 12 support has landed in the SVN 10 days ago: http://code.google.com/p/google-web-toolkit/source/browse/trunk/plugins/xpcom/prebuilt/gwt-dev-plugin.xpi -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/mNjN_vRyVzYJ. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: JSON Parsing in GWT Client
Hi, the solution is really simple: Use resty gwt: https://github.com/chirino/resty-gwt A sample project including GWT configuration can be found here: http://code.google.com/p/play-gae-gwt-dreamteam-showcase restygwt drives one of the biggest websites in Germany. We never had any performance issues. Cheers, Raphael On Thu, May 24, 2012 at 10:52 AM, Thomas Broyer t.bro...@gmail.com wrote: On Thursday, May 24, 2012 8:56:53 AM UTC+2, dominikz wrote: I was just having the same problem. I evaluated the solutions yesterday and frankly speaking was surprised by the lack of straight answers from both GWT documentation and the internet. The number of projects there are is just amazing, but nothing seems to stand out. I don't like the idea of using Overlay Types since it's too much coding and the objects coded this way can be used only on browser-side I'm not sure what's the status of AutoBean (http://code.google.com/p/google-web-toolkit/wiki/AutoBean) since clicking on 'Project Home' here takes me to some I think very old start page for GWT. No official references from main GWT site https://developers.google.com/web-toolkit/ AutoBean is the technology backing RequestFactory; it's stable and has very few known bugs in 2.4 (one or two, no more; all being already fixed in trunk; this is an all different story for RequestFactory). I just think nobody had/took the time to copy the wiki page to the dev guide at developers.google.com/web-toolkit. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/I6JfHi2Gw4QJ. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- inc: http://ars-machina.raphaelbauer.com tech: http://ars-codia.raphaelbauer.com web: http://raphaelbauer.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-toolkit@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: Large GIN Modules and DevMode performance
Also thought about it how to make reloading a page faster in dev mode. If I understand you correctly, one should create multiple EntryPoints + Host Pages for development where each EntryPoint only shows a subset of the complete application? So it would look like: - libfeature1.gwt.xml (no entry point and is included in ProductionApp.gwt.xml) - devfeature1.gwt.xml (inherits libfeature1 and has an entry point that is able to present feature1) and each feature/screen/whatever has its own GinModule, right? @Joseph: How do you precompile modules to JavaScript and then reuse it? Or did I misunderstood you? -- J. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/k-W9MlGdq14J. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: Selection gets lost for multiple selections (when Scroll-Bar is used) in IE
It is with the DualListField.Multiple selection gets lost in IE when scrollbar is used. Please reply back ASAP. On Wed, Apr 4, 2012 at 4:33 PM, Philippe Lhoste phi...@gmx.net wrote: On 03/04/2012 12:26, sharath kumar wrote: What steps will reproduce the problem? 1. Select first text field 2. Scroll till the end to select all the items (Use scroll-bar to select the below item) 3. Press shift and try to select last text field in order to select all the items in the window. The selection gets lost. In which component? A grid? Live or not? What is the expected output? What do you see instead? All the text fields should be selected. But the selection gets lost and one text field is selected randomly. What version of the product are you using? On what operating system? GXT 2.2.5 with Windows 7. Since this is a general GWT mailing list, I think this is better reported in the Sencha forums... Please provide any additional information below. Multiple selection happens if we don't select using scroll bar. If we use scroll bar, then only problem is coming. -- Philippe Lhoste -- (near) Paris -- France -- http://Phi.Lho.free.fr http://phi.lho.free.fr/ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 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.comgoogle-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=enhttp://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-toolkit@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.
zero width widgets
Hi, I seem to have recurrent problems with building up gwt layouts where things don't appear, and when I dig into the elemnt tree in chrome, I find that things are getting a zero width. Is there a standard cheat list I should be going through to debug these kind of issues? Thanks, Matthew -- Dr Matthew Pocock Integrative Bioinformatics Group, School of Computing Science, Newcastle University mailto: turingatemyhams...@gmail.com gchat: turingatemyhams...@gmail.com msn: matthew_poc...@yahoo.co.uk irc.freenode.net: drdozer skype: matthew.pocock tel: (0191) 2566550 mob: +447535664143 -- 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: Error with GWT 2.4
On Thursday, May 24, 2012 8:57:30 PM UTC+2, skippy wrote: IE8, Window 7, not chrome plug-in. Are you sure Chrome Frame is not installed, but disabled? DOMImplStandard should not be used in IE. See http://code.google.com/p/google-web-toolkit/issues/detail?id=6665 -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/xHiXcLtP6lAJ. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: Large GIN Modules and DevMode performance
On Friday, May 25, 2012 1:18:38 PM UTC+2, Jens wrote: Also thought about it how to make reloading a page faster in dev mode. If I understand you correctly, one should create multiple EntryPoints + Host Pages for development where each EntryPoint only shows a subset of the complete application? So it would look like: - libfeature1.gwt.xml (no entry point and is included in ProductionApp.gwt.xml) - devfeature1.gwt.xml (inherits libfeature1 and has an entry point that is able to present feature1) and each feature/screen/whatever has its own GinModule, right? Basically, yes. But you don't have to go as small as a screen per test harness. @Joseph: How do you precompile modules to JavaScript and then reuse it? Or did I misunderstood you? Maybe he's talking about com.google.gwt.dev.CompileModule, which is basically running the Precompile phase of a GWT compilation and serializing the resulting AST into a *.gwtar file. You'll find such *.gwtar files in gwt-user.jar starting with GWT 2.4 (maybe 2.3), but the *.gwtar files are very dependent upon the version of GWT, so it's not a portable thing. AFAIK, it was thought out to speed up gwt-user.jar, not for general consumption. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/o2mkk6-WToUJ. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: Hibernate ClassCastException in GWT hosted mode only
Hi all, here the procedure to apply the patch while 4.1.4 is not relased. 1. create a source folder (ie: src_patch) in your eclipse project 2. create the package org.hibernate.service.classloading.internal; 3. copy the patched source file ClassLoaderServiceImpl.java (attached) in the package (patch from v4.1.3) https://lh6.googleusercontent.com/-XB7EAsl8xkU/T7-MgOAKV3I/E1M/Vdgxb3LRD5w/s1600/Capture.PNG - eclipse will compile the class in web-inf/classes and it will override the old class Vincent Le jeudi 17 mai 2012 20:46:37 UTC+2, Christomania a écrit : Has somebody found a way to try the patch described here https://hibernate.onjira.com/browse/HHH-7084 ? Le mardi 1 mai 2012 18:42:18 UTC+2, AK a écrit : Same question, as it has been almost 2 months. Any word on ways to get this to work without downgrading hibernate? -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/21UXxnGc5D4J. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. /* * Hibernate, Relational Persistence for Idiomatic Java * * Copyright (c) 2010, Red Hat Inc. or third-party contributors as * indicated by the @author tags or express copyright attribution * statements applied by the authors. All third-party contributions are * distributed under license by Red Hat Inc. * * This copyrighted material is made available to anyone wishing to use, modify, * copy, or redistribute it subject to the terms and conditions of the GNU * Lesser General Public License, as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License * for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this distribution; if not, write to: * Free Software Foundation, Inc. * 51 Franklin Street, Fifth Floor * Boston, MA 02110-1301 USA */ package org.hibernate.service.classloading.internal; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.util.ArrayList; import java.util.Enumeration; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.List; import java.util.Map; import java.util.ServiceLoader; import org.hibernate.cfg.AvailableSettings; import org.hibernate.service.classloading.spi.ClassLoaderService; import org.hibernate.service.classloading.spi.ClassLoadingException; /** * Standard implementation of the service for interacting with class loaders * * @author Steve Ebersole */ public class ClassLoaderServiceImpl implements ClassLoaderService { private final ClassLoader classClassLoader; private final ClassLoader resourcesClassLoader; public ClassLoaderServiceImpl() { this( ClassLoaderServiceImpl.class.getClassLoader() ); } public ClassLoaderServiceImpl(ClassLoader classLoader) { this( classLoader, classLoader, classLoader, classLoader ); } public ClassLoaderServiceImpl( ClassLoader applicationClassLoader, ClassLoader resourcesClassLoader, ClassLoader hibernateClassLoader, ClassLoader environmentClassLoader) { // Normalize missing loaders if ( hibernateClassLoader == null ) { hibernateClassLoader = ClassLoaderServiceImpl.class.getClassLoader(); } if ( environmentClassLoader == null || applicationClassLoader == null ) { ClassLoader sysClassLoader = locateSystemClassLoader(); ClassLoader tccl = locateTCCL(); if ( environmentClassLoader == null ) { environmentClassLoader = sysClassLoader != null ? sysClassLoader : hibernateClassLoader; } if ( applicationClassLoader == null ) { applicationClassLoader = tccl != null ? tccl : hibernateClassLoader; } } if ( resourcesClassLoader == null ) { resourcesClassLoader = applicationClassLoader; } final LinkedHashSetClassLoader classLoadingClassLoaders = new LinkedHashSetClassLoader(); classLoadingClassLoaders.add( applicationClassLoader ); classLoadingClassLoaders.add( hibernateClassLoader ); classLoadingClassLoaders.add( environmentClassLoader ); //this.classClassLoader = new ClassLoader() { System.out.println(PATCH: https://hibernate.onjira.com/browse/HHH-7084;); this.classClassLoader = new ClassLoader( applicationClassLoader ) { @Override protected Class? findClass(String name) throws ClassNotFoundException { for ( ClassLoader loader : classLoadingClassLoaders ) { try { return loader.loadClass( name ); } catch (Exception ignore) { } }
Re: zero width widgets
I suspect this is from mixing layoutpanels with non-layoutpanels. By and large, layoutpanels (anything with LayoutPanel as part of its name) need to form an unbroken chain with a previous layoutpanel all the way back to RootLayoutPanel. If you have an HTMLPanel or simplepanel or other non-layoutpanel between layoutpanels, the inner layoutpanel will be sized to zero unless you explicitly set its width and height. On May 25, 7:59 am, Matthew Pocock turingatemyhams...@gmail.com wrote: Hi, I seem to have recurrent problems with building up gwt layouts where things don't appear, and when I dig into the elemnt tree in chrome, I find that things are getting a zero width. Is there a standard cheat list I should be going through to debug these kind of issues? Thanks, Matthew -- Dr Matthew Pocock Integrative Bioinformatics Group, School of Computing Science, Newcastle University mailto: turingatemyhams...@gmail.com gchat: turingatemyhams...@gmail.com msn: matthew_poc...@yahoo.co.uk irc.freenode.net: drdozer skype: matthew.pocock tel: (0191) 2566550 mob: +447535664143 -- 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: JSON Parsing in GWT Client
restygwt drives one of the biggest websites in Germany. We never had any performance issues. You can't say which one, i suggest? :) Would be interesting to know. Am Freitag, 25. Mai 2012 13:03:58 UTC+2 schrieb ra: Hi, the solution is really simple: Use resty gwt: https://github.com/chirino/resty-gwt A sample project including GWT configuration can be found here: http://code.google.com/p/play-gae-gwt-dreamteam-showcase restygwt drives one of the biggest websites in Germany. We never had any performance issues. Cheers, Raphael On Thu, May 24, 2012 at 10:52 AM, Thomas Broyer t.bro...@gmail.com wrote: On Thursday, May 24, 2012 8:56:53 AM UTC+2, dominikz wrote: I was just having the same problem. I evaluated the solutions yesterday and frankly speaking was surprised by the lack of straight answers from both GWT documentation and the internet. The number of projects there are is just amazing, but nothing seems to stand out. I don't like the idea of using Overlay Types since it's too much coding and the objects coded this way can be used only on browser-side I'm not sure what's the status of AutoBean (http://code.google.com/p/google-web-toolkit/wiki/AutoBean) since clicking on 'Project Home' here takes me to some I think very old start page for GWT. No official references from main GWT site https://developers.google.com/web-toolkit/ AutoBean is the technology backing RequestFactory; it's stable and has very few known bugs in 2.4 (one or two, no more; all being already fixed in trunk; this is an all different story for RequestFactory). I just think nobody had/took the time to copy the wiki page to the dev guide at developers.google.com/web-toolkit. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/I6JfHi2Gw4QJ. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- inc: http://ars-machina.raphaelbauer.com tech: http://ars-codia.raphaelbauer.com web: http://raphaelbauer.com -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/YEMebkQic2gJ. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: URL for GwtDevPluginSetup.exe is broken
Had the same yesterday, was able to download it from svn: http://google-web-toolkit.googlecode.com/svn-history/trunk/plugins/ie/prebuilt/gwt-dev-plugin-x86.msi I think with the above you get the newest available? Also possible to add a specific revision (r10267 in this case): http://google-web-toolkit.googlecode.com/svn-history/r10267/trunk/plugins/ie/prebuilt/gwt-dev-plugin-x86.msi taken from: http://stackoverflow.com/questions/6600226/trouble-installing-gwt-developer-plugin-for-ie-through-firewall Regards Am Mittwoch, 23. Mai 2012 18:16:18 UTC+2 schrieb gwtdev: Since yesterday, I keep getting following error when load local GWT application for the first time, please help where I can get GwtDevPluginSetup.exe. 404. That’s an error. The requested URL /tag/s/appguid%3D%7B9a5e649a- ec63-4c7d-99bf-75adb345e7e5%7D%26lang%3Den%26appname%3DGWT %2520Developer%2520Plugin%2520for%2520IE%2520%2528x86%2529%26needsadmin %3Dfalse/gwt/plugins/ie/GwtDevPluginSetup.exe was not found on this server. That’s all we know -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/vKxfIheh-VIJ. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: Large GIN Modules and DevMode performance
Jens, For clarification, I mean that in Maven we have a GWT project with all of our screens, a Server project with the serverside Java code, and a GWT-Common project with all of our common components. So all of our common widgets are compiled in the GWT-Common project and wrapped up into a Jar as our common lib. Then our GWT project inherits these (via module.gwt.xml and a Maven dependency). AFAIK this reduces the size of the main code base we usually work in (just the GWT project) and thus Eclipse has less to work with/validate/etc and saves some overhead. We also have automation and GWTTestCases that run against the common lib as a separate project, so we save time during each build on our CI server (Team City). I am sure Thomas knows more about the GWT compiler than I ever will, so I cannot speak to whether building in this way saves time building intermediate component code, or whether the code for the common components is still compiled with the main GWT project. Sincerely, Joseph -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/DR7Gx0pZ4-UJ. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: Export CellTable data to PDF and Excel Format using UIBinder
The gist is to: 1. Get a list of all records you need to export from the celltable on the client browser (and the sorting information). 2. Return this to the server. 3. Fetch all the information from (1). 4. Build into an Excel or CSV output using POI or similar. In reality it can be quite a pain. I implemented it in ExtJs grids using POI and had to have columns in any order user had rearranged them to, columns shown/hidden if user had changed them, numeric values as numeric type in exported Excel file... etc. You probably want to try to use a library to achieve this rather than write it yourself. I've not used this library, but it looks like a good start: GWT-Table-To-Excel http://code.google.com/p/gwt-table-to-excel/ Note that the library uses HTML output, which is a hack (that even ASP.Net recommends... LOL). You'll get a warning if you open a HTML table in Excel that it is not the proper format, but then Excel will load it anyway. If you need rich, native Excel exports, you'll probably need to write your own POI framework. This topic was covered earlier here: https://groups.google.com/forum/#!msg/google-web-toolkit/I9VEaFlkA1I/pDXGBBD2g_AJ Sincerely, Joseph -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/PfRTT2iTGgkJ. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: Large GIN Modules and DevMode performance
For clarification, I mean that in Maven we have a GWT project with all of our screens, a Server project with the serverside Java code, and a GWT-Common project with all of our common components. So all of our common widgets are compiled in the GWT-Common project and wrapped up into a Jar as our common lib. Then our GWT project inherits these (via module.gwt.xml and a Maven dependency). AFAIK this reduces the size of the main code base we usually work in (just the GWT project) and thus Eclipse has less to work with/validate/etc and saves some overhead. We also have automation and GWTTestCases that run against the common lib as a separate project, so we save time during each build on our CI server (Team City). Ah ok makes more sense ;) I am sure Thomas knows more about the GWT compiler than I ever will, so I cannot speak to whether building in this way saves time building intermediate component code, or whether the code for the common components is still compiled with the main GWT project. The GWT compiler just pulls in any of your source files you have made visible using source / super-source in your module.gwt.xml and compiles it. So you won't save time in dev mode or during compilation. -- J. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/u3bJT1bP6VcJ. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: JSON Parsing in GWT Client
restygwt drives one of the biggest websites in Germany. We never had any performance issues. You can't say which one, i suggest? :) Would be interesting to know. Just a guess: probably studivz.net / meinvz.net. Its a german social network and has been rewritten in GWT some time ago. But you have to sign up and log in to switch to the new GWT version and see it in action. They use Rest like requests and they have forked restygwt on github (https://github.com/vznet). -- J. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/hLMv17IsStEJ. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: Large GIN Modules and DevMode performance
On Friday, May 25, 2012 4:23:02 PM UTC+2, Jens wrote: The GWT compiler just pulls in any of your source files you have made visible using source / super-source in your module.gwt.xml and compiles it. So you won't save time in dev mode or during compilation. Actually even the contrary! The more JARs and directories you add to your classpath, the more time it needs to find a class/resource in it. (it's negligible here however, with only a single dependency). I know someone made a modified gwt-maven-plugin that first unpacks every dependency in a single temporary directory and launching GWT with only that directory, gwt-user.jar and gwt-dev.jar in the classpath; he hasn't contributed it though (but said he likely would, IIRC). -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/aIMotzaF_8kJ. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: Large GIN Modules and DevMode performance
The startup time improved while breaking down into smaller parts, but this explode the number of source to maintain only related with dev env. After a couple of tests it seems the environment has big impact, I'm using a windows 7 machine and after a defrag startup time improved significantly and are now more closer to the results in a Linux environment that it is still faster then w7. On Thursday, May 24, 2012 8:58:06 AM UTC+1, Thomas Broyer wrote: On Thursday, May 24, 2012 4:25:34 AM UTC+2, Nuno R wrote: Hi, At the moment we've a large scale application that reached a bottleneck at DevMode startup time. It takes ~120s to hit onModuleLoad() call and spends most of the time generating and compiling GIN Injector ~85%. Our best result was to target gwt-UnitCache to a virtual disk in RAM, this speeded things up but still not under 90s to reach onModuleLoad(). Does exist any other way to improvide GIN processing without trying to isolate groups of screens on their own GWT modules (by consequence smaller GIN modules) and run only the one a developer is working on. I think we could not reach an acceptable startup time (20s) without it. This only brings some small concerns about mantaining dev mode code only (besides gwt.xml files), at least ActivityMapper, HistoryMapper and GIN module to switch. How do you tackle this issue on your large scale projects? FYI, the Wave team recommended (2 years ago) creating harnesses; i.e. smaller standalone apps. In Wave, they made an EditorHarness for their operation-transform-aware rich-text editor and an UndercurrentHarness for the wave panel (the one that displays a wave, with threaded wavelets, and incremental data and feature loading). In your case, create small and modular GinModules, and small EntryPoints and Ginjectors specific to a particular set of screens. http://www.google.com/events/io/2010/sessions/gwt-continuous-build-testing.html (starts around 42:30 in the video) -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/VbVHkpIYEpkJ. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: How to access a GWT Servlet from a C# application?
Thank you, both of you, for your quick help. I was not aware that it is so easy. @Joseph: This code snippet is working beautifully! Am Montag, 21. Mai 2012 19:08:39 UTC+2 schrieb Clemens: Hy, I am trying to access a GWT Servlet from a C# application. How do I do that? To explain it with the Sample Code: If I send Test to the server I would like to get back Hello Test!. Regards, Clemens Am Montag, 21. Mai 2012 19:08:39 UTC+2 schrieb Clemens: Hy, I am trying to access a GWT Servlet from a C# application. How do I do that? To explain it with the Sample Code: If I send Test to the server I would like to get back Hello Test!. Regards, Clemens -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/sqxnVypZ2iQJ. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: Large GIN Modules and DevMode performance
After a couple of tests it seems the environment has big impact, I'm using a windows 7 machine and after a defrag startup time improved significantly and are now more closer to the results in a Linux environment that it is still faster then w7. On Win7 you should also clean your temp files regularly to make Eclipse happy, see: http://code.google.com/p/google-web-toolkit/issues/detail?id=5261 . Not sure if all these temp files also slow down dev mode but maybe it helps. -- J. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/shXHkSXOI5EJ. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: zero width widgets
Ah, thanks. I had a DockLayoutPanel and was using a SimplePane as a place-holder in east, then later filling this SimplePane with a chat control. Perhaps there is a better way to dynamically replace DockLayoutPanel children. Anyway, I now tell the SimplePane to have width and height 100% (and a few other components, just to be sure), and it's laying out as I asked now. Cheers. Matthew On 25 May 2012 14:49, Derek derekad...@gmail.com wrote: I suspect this is from mixing layoutpanels with non-layoutpanels. By and large, layoutpanels (anything with LayoutPanel as part of its name) need to form an unbroken chain with a previous layoutpanel all the way back to RootLayoutPanel. If you have an HTMLPanel or simplepanel or other non-layoutpanel between layoutpanels, the inner layoutpanel will be sized to zero unless you explicitly set its width and height. On May 25, 7:59 am, Matthew Pocock turingatemyhams...@gmail.com wrote: Hi, I seem to have recurrent problems with building up gwt layouts where things don't appear, and when I dig into the elemnt tree in chrome, I find that things are getting a zero width. Is there a standard cheat list I should be going through to debug these kind of issues? Thanks, Matthew -- Dr Matthew Pocock Integrative Bioinformatics Group, School of Computing Science, Newcastle University mailto: turingatemyhams...@gmail.com gchat: turingatemyhams...@gmail.com msn: matthew_poc...@yahoo.co.uk irc.freenode.net: drdozer skype: matthew.pocock tel: (0191) 2566550 mob: +447535664143 -- 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- Dr Matthew Pocock Integrative Bioinformatics Group, School of Computing Science, Newcastle University mailto: turingatemyhams...@gmail.com gchat: turingatemyhams...@gmail.com msn: matthew_poc...@yahoo.co.uk irc.freenode.net: drdozer skype: matthew.pocock tel: (0191) 2566550 mob: +447535664143 -- 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: zero width widgets
Instead of SimplePanel you could use SimpleLayoutPanel. http://google-web-toolkit.googlecode.com/svn/javadoc/2.4/com/google/gwt/user/client/ui/SimpleLayoutPanel.html -- J. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/zWrc3c6gFO4J. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Push a message from Websphere 7 to GWT client
Is there an native library to push a message from Websphere 7 to GWT client in IE7? James -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/YgIXHyNTe_cJ. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Howto? include an outside JAR (separate project) with business objects that can be used on the Server and in the Browser Client
I have a separate project that contains all the business domain object classes and their respective JUnit test cases. There is no GWT in this project and a desire to keep this as purely a business object class. How can the GWT complier be told generate the needed client side code so the same domain objects can be used in GWT based client code called by the GUI and RPC's? I should mention that the BO project JAR built by Maven and stored in a corporate repository and the GWT project is built with the CodeHaus.org maven plugin (http://mojo.codehaus.org/gwt-maven-plugin/) I suppose there could be two answers to this: 1. Standard GWT using ANT and 2. a Maven plugin specific way (including the BO classes in the ...client package is not an option since the resulting .class files are used in other projects). Thus, this may end up cross posted in the Maven plugin list and GWT list. Please pardon the cross posting should it be necessary. Thank you. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/lX3FvND7VjQJ. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: SplitLayoutPanel center widget min size
Yay, I like :) If you have a similar patch for when a SplitLayoutPanel contains another SplitLayoutPanel where all Widgets have a minimum size and a panel in the outermost SplitLayoutPanel is shrunk but can't be collapsed beyond the sum of it's child SplitLayoutPanel minimum sizes I'd love to hear ;) Otherwise I'll have to take a look... Great patch though. On Friday, 20 January 2012 14:22:12 UTC, Patrick Tucker wrote: 7135 was merged into 4731: http://code.google.com/p/google-web-toolkit/issues/detail?id=4731 On Jan 20, 8:37 am, Patrick Tucker tucker...@gmail.com wrote: My solution if anyone is interested: http://code.google.com/p/google-web-toolkit/issues/detail?id=7135 On Jan 18, 12:07 pm, Patrick Tucker tucker...@gmail.com wrote: Has anyone played with this? I know the current implementation does not allow a minimumsizeto be set on the center widget, what I am wondering is if anyone has modified the current implementation or an older implementation to enforce the minimum. My layout needs to enforce that the center widget does not get fully hidden. Thanks, Pat- Hide quoted text - - Show quoted text - -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/p5vFEtKiK-kJ. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
adding eclipse/GWT/app engine project to version control (git)
After looking around on here and the web I found conflicting information about what should be version controlled in a eclipse/app engine/gwt project. So I played around a bit and wanted to share what I found to work for us. We are using git, but this information is very quickly transferred to any version control. I stated by using eclipses create web application wizard. I want to share this project and it's settings among a few developers so I source control the .settings folder which has eclipse project settings. My .gitignor file is (files and directories that are not version controlled): /gwt-unitCache /test-classes /war/projectname /war/WEB-INF/deploy /war/WEB-INF/classes I needed the /test/projectname directory for eclipse not to give me an error (I don't know why though) so to source control that I just put an empty .gitignor file there. Git won't source control an empty directory. That's it. This has been working for us for a couple weeks now. We don't seem to be including any files that a GWT compile and app engine deploy create. We are also just able to clone the repo and import the project right in to eclipse and we can compile. I am open to other suggestions, or anything we may be missing. Michael -- 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: adding eclipse/GWT/app engine project to version control (git)
Take a look at a maven setup. Don't need to keep in the repository any files related with IDE configuration or project dependencies. http://maven.apache.org/plugins/maven-eclipse-plugin/ http://mojo.codehaus.org/gwt-maven-plugin/ After cloning a repo running *maven eclipse:eclipse* generates all the configuration files needed by eclipse for a successful import. Example: https://github.com/dankurka/mgwt/blob/master/pom.xml On Friday, May 25, 2012 10:54:51 PM UTC+1, Michael wrote: After looking around on here and the web I found conflicting information about what should be version controlled in a eclipse/app engine/gwt project. So I played around a bit and wanted to share what I found to work for us. We are using git, but this information is very quickly transferred to any version control. I stated by using eclipses create web application wizard. I want to share this project and it's settings among a few developers so I source control the .settings folder which has eclipse project settings. My .gitignor file is (files and directories that are not version controlled): /gwt-unitCache /test-classes /war/projectname /war/WEB-INF/deploy /war/WEB-INF/classes I needed the /test/projectname directory for eclipse not to give me an error (I don't know why though) so to source control that I just put an empty .gitignor file there. Git won't source control an empty directory. That's it. This has been working for us for a couple weeks now. We don't seem to be including any files that a GWT compile and app engine deploy create. We are also just able to clone the repo and import the project right in to eclipse and we can compile. I am open to other suggestions, or anything we may be missing. Michael -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/2b7kh38jmLEJ. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
UIB click handlers, GWTQuery, and TD's ;)
I'm building an app that has a really good use case for me to have my own/raw HTML Tables (I thought of flextable.. but the api pains me). Anyway.. i'm trying to figure out something and am a bit stuck, thought the crowd might have some ideas. piece of code: GQuery td = $(td colspan='x'/); ThingyBarUIB thingyBar = new ThingyBarUIB(); thingyBar.loadData(someObject); td.append(thingyBar.getElement()); addClickHandlerToBar(someObject, thingyBar); Now.. I easily add click handlers via the method/gwtquery all is well. I'd really like, just to be.. I dunno.. closer to GWT.. to be able to use @UiHandler on the UIBinder backed via class ThingyBarUIB. I realize this 'fails' the second I do thingyBar.getElement(). Any known techniques to get around this i.e. use UiHandler? reAttach()? Thanks! Roger -- 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
Re: UIB click handlers, GWTQuery, and TD's ;)
If you want to use @UiHandler and thus GWT's event handling I think you just have to call onAttach()/onDetach(). So your code would be: GQuery td = $(td colspan='x'/); ThingyBarUIB thingyBar = new ThingyBarUIB(); //UiBinder with @UiHandler thingyBar.loadData(someObject); thingyBar.attachTo(td); // implemented as: void attachTo(Element e) { e.append(getElement()); onAttach(); } and later on when you dont need thingybar anymore: thingyBar.detach(); //implemented as: void detach() { getElement().removeFromParent(); onDetach(); } If you, for some reason, cant say when to detach() you could add your thingyBar to RootPanel.detachOnWindowClose(Widget w); in your attachTo() method. This would be similar to what Button.wrap(Element e) does. Take a look at the source code. But as you add a widget to a td cell you should know when to remove it, so calling a detach() method should be preferred. -- J. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/Zzt1RztjTRcJ. 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.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.
[gwt-contrib] Re: Issue 7038: CompositeEditor and ListEditor optimizations (issue1664803)
On Fri, May 25, 2012 at 12:48 AM, Brian Slesinsky skybr...@google.com wrote: On Sat, May 19, 2012 at 9:16 AM, Thomas Broyer t.bro...@gmail.com wrote: So I agree that is seems logical that a live view would only last until the next flush() or at most until the next setValue(). But this isn't well-documented in this class or anywhere else that I've found so far. To me, https://developers.google.com/web-toolkit/doc/latest/DevGuideUiEditors is clear enough. YMMV though. It does explain a lot of things but I'm missing the part where it explains the lifetime of the view returned by getEditors(). I'd expect that to be explained in the javadoc for getEditors itself. Right. We should add that. So maybe we want to do that now? I also wonder if, for consistency, we want to make sure the live view goes stale on *every* call to setValue(), which would make our optimization a bit trickier; we should probably create a new ListValueProvider and copy all the subeditors into it. ListEditorWrapper could track this in detach() and from then on act as an immutable list (throwing exceptions if you try to change it). Sure, that seems like a separate issue though. Here's my concern: if you call setValue() twice with the same list, this patch will make the live view returned by getEditors() last longer than before. So I think maybe we shouldn't reuse the ListEditorWrapper instance, just the Editors themselves. ListEditorWrapper looks cheap to construct, so we might as well be consistent and avoid changing behavior. On the other hand, maybe you're expecting that the caller *knows* that they're calling setValue() twice with the same List, so they expect the view to last longer as a result, sort of like if we were returning the same list again without wrapping it. If so, maybe this is a change in behavior to be closer to what the user expects? I think the expected use of getEditors() is that users don't keep an handle on it. Even if they, if they call getEditors() after each setValue(), then it doesn't really matter whether the returned value will be the same instance or a different one. How about documenting that? (users shouldn't hold a reference on the returned list, or if they do, they should refresh it after any call to setValue(); the returned list only guaranteed to be the same between calls to setValue, and shouldn't be used after a call to setValue). If you ask me, for consistency, I'd remove the null-check in ListEditor and let it fail for 'null' values, just like it did originally. It might have been added by mistake, I don't know, it was added as part of a bigger change and wasn't tracked/documented at all, so who knows? I'm not sure what you mean. Do you mean that setValue() should just throw an exception for null lists? Or does it blow up later? Or do we want to avoid blowing up? Throw on 'null' (it will actually blow up with an NPE in ListEditorWrapper's constructor, when retrieving its size). I would just add an 'assert' in setValue as a hint for developers, and let it blow in ListEditorWrapper in prod mode. That's the kind of behavior I'd rather fight against: getValue just after setValue should try to preserve the value (null vs. empty string) Yes, good point. Except that in this case, there is no getValue() method, since this isn't a LeafValueEditor and doesn't implement HasValue. Yes, that's what I meant by Only if it was then flushed into the edited property (otherwise your changes to the empty list would be lost) and We could basically merge OptionalFieldEditor functionality into ListEditor: ListEditor would have to be made a LeafValueEditor if we wanted to turn nulls into empty lists. It looks like all changes get sent to the backing list via flush()? Yes This is the general contract of the Editor framework: do not change the edited object in real-time, instead queue changes and only apply them on flush(); similarly, LeafValueEditors are not supposed to modify the object in-place, but return the new value from getValue(), otherwise they should be ValueAwareEditors with no sub-editor. Maybe it should be made clearer in the doc? If we call setValue() with a null list, I don't think flush() can do anything, because we don't have any reference to a backing model to update! Therefore, any changes made in the ListEditor cannot be saved? You'd have to use an OptionalFieldEditor if you want to save it. So it seems like at most we can display a read-only, empty list. There's no point in letting the user edit something they can't save. Exactly. Unless we change ListEditor to be a LeafValueEditor, which would be equivalent to merging OptionalFieldEditor functionality into ListEditor. To sum up: ListEditor is currently able to display 'null' lists as if they were empty lists, but then you cannot edit the list's content (as there's actually no list), and more importantly getEditors() will throw a misleading exception, and flush() will throw (so
[gwt-contrib] Contributor License Agreements question
Hi all, A few days ago I submitted a patch ( http://gwt-code-reviews.appspot.com/1712803/ ) after having followed the steps described at https://developers.google.com/web-toolkit/makinggwtbetter#submittingpatches. My CTO had signed the Corporate Contributor License Agreement ( http://code.google.com/legal/corporate-cla-v1.0.html ) . He had provided my name and my corporate email ( alexandre.ardhuin at deveryware com ) in Schedule A. But with that email, I could not sign in at http://gwt-code-reviews.appspot.com , a Google Account was required. So I signed with a google account ( alexandre.ardhuin.dw at gmail com ) to submit my patch. How can I check to be identified as a cla-signer ? Will my patch be taken in account ? I don't see the review made by Thomas in this contributors group and I wonder why. Thanks in advance, Alexandre -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Contributor License Agreements question
On Friday, May 25, 2012 2:55:21 PM UTC+2, Alexandre Ardhuin wrote: I don't see the review made by Thomas in this contributors group and I wonder why. Ah, you didn't CC google-web-toolkit-contributors@googlegroups.com. -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
Re: [gwt-contrib] Re: Contributor License Agreements question
2012/5/25 Thomas Broyer t.bro...@gmail.com On Friday, May 25, 2012 2:55:21 PM UTC+2, Alexandre Ardhuin wrote: I don't see the review made by Thomas in this contributors group and I wonder why. Ah, you didn't CC google-web-toolkit-contributors@googlegroups.com.http://groups.google.com/group/Google-Web-Toolkit-Contributors Oops, I though it was done automatically. I have updated the issue. Thanks for the information. -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
Re: [gwt-contrib] Contributor License Agreements question
Hey Alexandre, You're not able to verify that you signed the CLA in the corporate case. I looked at our corporate CLA list, and I don't see your name (or that of your company) listed there. I'll do some more digging to see what happened. Did you receive any sort of confirmation e-mail? If so, could you forward it to me directly? Thanks, Rajeev On Fri May 25 08:55:21 GMT-400 2012, Alexandre Ardhuin alexandre.ardh...@gmail.com wrote: Hi all, A few days ago I submitted a patch ( http://gwt-code-reviews.appspot.com/1712803/ ) after having followed the steps described at https://developers.google.com/web-toolkit/makinggwtbetter#submittingpatches. My CTO had signed the Corporate Contributor License Agreement ( http://code.google.com/legal/corporate-cla-v1.0.html ) . He had provided my name and my corporate email ( alexandre.ardhuin at deveryware com ) in Schedule A. But with that email, I could not sign in at http://gwt-code-reviews.appspot.com , a Google Account was required. So I signed with a google account ( alexandre.ardhuin.dw at gmail com ) to submit my patch. How can I check to be identified as a cla-signer ? Will my patch be taken in account ? I don't see the review made by Thomas in this contributors group and I wonder why. Thanks in advance, Alexandre -- http://groups.google.com/group/Google-Web-Toolkit-Contributors -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
Re: [gwt-contrib] Contributor License Agreements question
Confirmation email forwarded. Thanks, Alexandre 2012/5/25 Rajeev Dayal rda...@google.com Hey Alexandre, You're not able to verify that you signed the CLA in the corporate case. I looked at our corporate CLA list, and I don't see your name (or that of your company) listed there. I'll do some more digging to see what happened. Did you receive any sort of confirmation e-mail? If so, could you forward it to me directly? Thanks, Rajeev On Fri May 25 08:55:21 GMT-400 2012, Alexandre Ardhuin alexandre.ardh...@gmail.com wrote: Hi all, A few days ago I submitted a patch ( http://gwt-code-reviews.appspot.com/1712803/ ) after having followed the steps described at https://developers.google.com/web-toolkit/makinggwtbetter#submittingpatches. My CTO had signed the Corporate Contributor License Agreement ( http://code.google.com/legal/corporate-cla-v1.0.html ) . He had provided my name and my corporate email ( alexandre.ardhuin at deveryware com ) in Schedule A. But with that email, I could not sign in at http://gwt-code-reviews.appspot.com , a Google Account was required. So I signed with a google account ( alexandre.ardhuin.dw at gmail com ) to submit my patch. How can I check to be identified as a cla-signer ? Will my patch be taken in account ? I don't see the review made by Thomas in this contributors group and I wonder why. Thanks in advance, Alexandre -- 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: Resubmission of Issue 1686803 (issue1717803)
http://gwt-code-reviews.appspot.com/1717803/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
Re: [gwt-contrib] HELP: Generated Javascript contains wrong prototype assignments
Using trunk with your patch does not solve the issue. Well, shoot. I've tried to recreate your issue and am not having any luck. I modified the Hello sample to have a few run asyncs, and put different constructor calls to the same class in each one, but it's working annoyingly well. I can get it to output the secondary split point (your activities splitpoint) with a defineSeed without the cast map...which should reproduce your error, but GWT only does this if it's statically removed the cast (as in my trivial sample it can tell it's not needed), so it doesn't end up calling dynamicCast anyway. If I turn on draftCompile to avoid the inlining (and subsequent cast removal), the cast remains, but then GWT is smart and *does* output the cast map in the 2nd split point's defineSeed for the split point-specific constructor, so then dynamicCast works just fine. It seems like you must be getting to a point where GWT *thinks* there are no casts, and so does not output the cast map for that constructor, but then there ends up being a cast. Unfortunately, I'm not familiar with where/how the cast map derivation is done, and so am generally not having a lot of progress hunting this down. - Stephen -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
Re: [gwt-contrib] HELP: Generated Javascript contains wrong prototype assignments
Hehe yeah its pretty hard to reproduce it in a new project. Even in our app branch for that issue I have to delete things out very carefully. As soon as I delete too much or something wrong, the ClassCastException disappears because split points are generated slightly different or GWT optimizes code in a way that it does not call dynamicCast() anymore. Another example: In our app we also use GIN and after upgrading GIN from r236 to latest trunk (r251) the issue disappears because now GIN generates its Ginjector slightly different which results in different split points assignments (I think the previously non working constructor is now in the left over fragment and works again.). You can see how fragile the situation must be and thats probably why its hard to reproduce. Seems like our app hits that single if statement in the compiler/optimizer/codesplitter that no one else hits ;-) -- J. -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
Re: [gwt-contrib] HELP: Generated Javascript contains wrong prototype assignments
Boy will this be a hard one to fix without a stable repro case. I hope you keep around a repeatable broken build. The code responsible for generating prototype assignments is here, you can see: http://code.google.com/p/google-web-toolkit/source/browse/trunk/dev/core/src/com/google/gwt/dev/jjs/impl/FragmentExtractor.java In extractStatements() and maybeRemoveCtorsFromDefineSeedStatement() you can see the logic it uses to compute which ctors to setup. What's supposed to happen is that in the exclusive fragments,you get another defineSeed() statement, e.g. defineSeed(id, superId, castMap, CustomPlace_1); this will essentially do CustomPlace_1.prototype = AbstractPlace prototype There's only a few cases I can see where it can fail to emit this: 1) extractStatements() believes CustomPlace itself is not live in this fragment (seems unlikely, does the exclusive fragment contain any other code related to CustomPlace? e.g. a call to its methods?) 2) maybeRemoveCtorsFromDefineSeedStatement() believes that CustomPlace_1 either a) isn't live (not called in the fragment) or b) is already loaded from a prior fragment 2b) would represent a serious bug in the compiler's control flow analyzer/CodeSplitter logic, because the compiler would have to arrive at the following: I) when doing the initial fragment, it believes CustomPlace 0 and 2 are live but not 1, so it omits 1 isLive(CustomPlace_1) returns false but somehow, alreadyLoaded(CustomPlace_1) gets set to true II) when going the exclusive fragment, it believes isLive(CustomPlace_1) returns true but somehow isAlreadyLoaded(CustomPlace_1) is true Needless to say it would be very hard to debug this without a small repro case. As far as the Cast maps are concerned, they are computed in CastNormalizer, but they are computed prior to code splitting. -Ray On Wed, May 23, 2012 at 6:12 AM, Jens jens.nehlme...@gmail.com wrote: Hi, I hope you can give me some advice on the following problem we currently have as I have no idea where to start. In our app we use activities and have used an ActivityProxy (pretty similar to the solution in http://code.google.com/p/google-web-toolkit/issues/detail?id=5129) to code split all of our activities and everything works great. Now we have refactored our code so that our ActivityProxy acts like an ActivityMapper so we can code split groups of activities to reduce the number of split points and make split points a bit bigger. This works in general, but now we got unexpected ClassCastException's for some of our classes which clearly should not happen: We cast specific implementations in an interface they implement (e.g. MyPlace implements IPlace, MyCommand implements ActionCommand). Currently we have found 3 classes where this happens and they have in common that the compile report says that each of this classes belongs to two different split points (no code in left over and no code in initial). The first split point is our web app split point (the whole app is behind a split point so we dont have to load the whole app to decide if someone is logged in or not) and the second split point is the mentioned group of activities (so the second split point could be treated as a child to the web app split point). Whenever this happens, the GWT compiler forgets to insert a prototype assignment which results in ClassCastExceptions. Some details of whats going on using on of our Place classes that cant be cast into its interface anymore: Our place class definitions: public interface IPlace { String getPlaceNameAndToken(); String getToken(); } public abstract class AbstractPlace extends Place implements IPlace { public AbstractPlace(String placeName, IPlace parent) { //assign to fields } //implement getPlaceNameAndToken() using placeName and getToken() } public class CustomPlace extends AbstractPlace { public CustomPlace() { this(null, null) //note: 1-arg constructor is skipped } public CustomPlace(Long dataBaseId1) { this(dataBaseId1, null); } public CustomPlace(Long dataBaseId1, Long dataBaseId2) { super(CustomPlace, new SomeParentPlace()); //assign parameters to fields } //implement getToken(); from IPlace } Now in our web app split point we have code that looks like new CustomPlace().getPlaceNameAndToken() to fill a Hyperlink. In our second split point (that contains a group of Activities), the CustomActivity uses the 1-arg constructor and the 2-arg constructor of CustomPlace to create places for placeController.goTo() calls. After compiling things in PRETTY mode the following has happend: The first split point (web app split point) contains the following code: function CustomPlace_0(){ $clinit_Place(); CustomPlace_2.call(this, null, null); } function CustomPlace_2(dataBaseId1, dataBaseId2){ $clinit_Place(); AbstractPlace_0.call(this, 'custom', new SomeParentPlace_0); this.dataBaseId1 =
[gwt-contrib] Re: Add Map support to RequestFactory (issue 6132056)
I added tests for complex keys and complex values which're passing so it should do yes. On 25 May 2012 17:01, alexisnou...@gmail.com wrote: Hello With your patch, does the function .with() works for a map for example in an entity: Map(String,ServiceParam) params; requestContext.find(id).with(**params.ServiceParam.Reader); ServiceParam and Reader are also Entity. Will it work? thanks, http://codereview.appspot.com/**6132056/http://codereview.appspot.com/6132056/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Issue 7038: CompositeEditor and ListEditor optimizations (issue1664803)
On Fri, May 25, 2012 at 1:43 AM, Thomas Broyer t.bro...@gmail.com wrote: I think the expected use of getEditors() is that users don't keep an handle on it. Even if they, if they call getEditors() after each setValue(), then it doesn't really matter whether the returned value will be the same instance or a different one. How about documenting that? (users shouldn't hold a reference on the returned list, or if they do, they should refresh it after any call to setValue(); the returned list only guaranteed to be the same between calls to setValue, and shouldn't be used after a call to setValue). Yes, that seems fine as a specification. In getEditors: The returned list will be live until the next call to setValue() and shouldn't be used after that. If you ask me, for consistency, I'd remove the null-check in ListEditor and let it fail for 'null' values, just like it did originally. It might have been added by mistake, I don't know, it was added as part of a bigger change and wasn't tracked/documented at all, so who knows? I'm not sure what you mean. Do you mean that setValue() should just throw an exception for null lists? Or does it blow up later? Or do we want to avoid blowing up? Throw on 'null' (it will actually blow up with an NPE in ListEditorWrapper's constructor, when retrieving its size). I would just add an 'assert' in setValue as a hint for developers, and let it blow in ListEditorWrapper in prod mode. That's the kind of behavior I'd rather fight against: getValue just after setValue should try to preserve the value (null vs. empty string) Yes, good point. Except that in this case, there is no getValue() method, since this isn't a LeafValueEditor and doesn't implement HasValue. Yes, that's what I meant by Only if it was then flushed into the edited property (otherwise your changes to the empty list would be lost) and We could basically merge OptionalFieldEditor functionality into ListEditor: ListEditor would have to be made a LeafValueEditor if we wanted to turn nulls into empty lists. It looks like all changes get sent to the backing list via flush()? Yes This is the general contract of the Editor framework: do not change the edited object in real-time, instead queue changes and only apply them on flush(); similarly, LeafValueEditors are not supposed to modify the object in-place, but return the new value from getValue(), otherwise they should be ValueAwareEditors with no sub-editor. Maybe it should be made clearer in the doc? If we call setValue() with a null list, I don't think flush() can do anything, because we don't have any reference to a backing model to update! Therefore, any changes made in the ListEditor cannot be saved? You'd have to use an OptionalFieldEditor if you want to save it. So it seems like at most we can display a read-only, empty list. There's no point in letting the user edit something they can't save. Exactly. Unless we change ListEditor to be a LeafValueEditor, which would be equivalent to merging OptionalFieldEditor functionality into ListEditor. To sum up: ListEditor is currently able to display 'null' lists as if they were empty lists, but then you cannot edit the list's content (as there's actually no list), and more importantly getEditors() will throw a misleading exception, and flush() will throw (so ListEditor can really only be used with 'null' lists in read-only use cases, where you call edit() on the EditorDriver without ever calling flush()). This is something we should fix IMO. There are three solutions: 1. make getEditors() return an empty list instead of throwing and avoid the NPE in flush(). Breaking change: getEditors() no longer throw if you call it before calling setValue() for the first time. 2. make setValue throw on a 'null' value, mandating the use of an OptionalFieldEditor if the list can be 'null'. This is consistent with all other editors (most importantly simple Editor-s with sub-editors, e.g. all the examples from the doc except LabelDecorator), with the exception of LeafValueEditors which are expected to accept nulls (at the editor's discretion actually, but all the LeafValueEditors provided in gwt-user.jar accept nulls). Breaking change: well, anyone using a ListEditor in a read-only scenario where 'null' values are expected would have to update his code to add an OptionalFieldEditor in from of the ListEditor. 3. merging OptionalFieldEditor functionality into ListEditor, turning a 'null' value into an empty list so it can be edited. But then one could no longer tell the difference between 'null' and an empty list, and we'd have to add code so that getValue returns 'null' if 'null' was passed to setValue and getList() is empty (but never return 'null' if a non-null value was passed to setValue!). Patch Set #3 implements #1 above, as it's less likely to break anyone's code (quite the contrary), at the expense of being inconsistent with most other
[gwt-contrib] Re: Add Map support to RequestFactory (issue 6132056)
I read Alexis's email too hastily and hadn't noted he was asking about nested complex types. I'll add some tests to see how it behaves. I'll be interested to dig into what AutoBean's behaviour is here as that's what I based on, mimicked, and leveraged for this patch. On 25 May 2012 19:38, t.bro...@gmail.com wrote: On 2012/05/25 17:09:32, james.horsley wrote: I added tests for complex keys and complex values which're passing so it should do yes. I don't see any change to addPathsToResolution... Also, how would it work? Say I have a MapA,B, A has a reference c to a proxy C, and B has a reference d to a proxy D. What should I pass to Request#with() to get the Ds of B without the Cs of A? with(theMap.d) ? Now what if A and B both have a property e referencing a proxy E, I want B's Es but not A's Es, with(theMap.e) wouldn't work here. I think maybe there should be special subproperties keys and values, so one can say: with(myMap.keys.c, myMap.values.d, myMap.values.e) to get A's Cs, and B's Ds and Es (without A's Es!) http://codereview.appspot.com/**6132056/http://codereview.appspot.com/6132056/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Generated EditorContext class names take actual parameterization into account. (issue1352806)
LGTM. (Some optional nitpicks.) It seems a little odd that you'd want to do this. I'd expect that the subtype (Manager or Intern) would have additional fields to edit, so you wouldn't be able to just reuse the editor for the parent type. But it should still be allowed. http://gwt-code-reviews.appspot.com/1352806/diff/2001/user/test/com/google/gwt/editor/client/SimpleBeanEditorTest.java File user/test/com/google/gwt/editor/client/SimpleBeanEditorTest.java (right): http://gwt-code-reviews.appspot.com/1352806/diff/2001/user/test/com/google/gwt/editor/client/SimpleBeanEditorTest.java#newcode67 user/test/com/google/gwt/editor/client/SimpleBeanEditorTest.java:67: interface Driver Having two levels of class nesting is rather confusing. Could you move the Driver and other 4 inner classes up a level? http://gwt-code-reviews.appspot.com/1352806/diff/2001/user/test/com/google/gwt/editor/client/SimpleBeanEditorTest.java#newcode73 user/test/com/google/gwt/editor/client/SimpleBeanEditorTest.java:73: static class SubPerson1 extends Person { I think this might be easier to follow if we made the example more concrete. Maybe rename these? HasPersons - Department SubPerson1 - Manager SubPerson2 - Intern http://gwt-code-reviews.appspot.com/1352806/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Resubmitting code review 1660804 (issue1716803)
On 2012/05/24 18:06:50, rchandia wrote: Submitted as r10994 http://gwt-code-reviews.appspot.com/1716803/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Issue 7230: allow absolute paths in ui:style's src= (issue1660804)
On 2012/05/24 18:07:45, rchandia wrote: Reposting for internal resubmission at: http://gwt-code-reviews.appspot.com/1716803 Submitted as r10994 http://gwt-code-reviews.appspot.com/1660804/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Resubmission of Issue 1686803 (issue1717803)
Submitter as r10995 http://gwt-code-reviews.appspot.com/1717803/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Add Map support to RequestFactory (issue 6132056)
AutoBean has no equivalent to these partial loading; just like a POJO has no notion of lazy loading, compared to JPA entities. Le 25 mai 2012 21:06, James Horsley james.hors...@gmail.com a écrit : I read Alexis's email too hastily and hadn't noted he was asking about nested complex types. I'll add some tests to see how it behaves. I'll be interested to dig into what AutoBean's behaviour is here as that's what I based on, mimicked, and leveraged for this patch. On 25 May 2012 19:38, t.bro...@gmail.com wrote: On 2012/05/25 17:09:32, james.horsley wrote: I added tests for complex keys and complex values which're passing so it should do yes. I don't see any change to addPathsToResolution... Also, how would it work? Say I have a MapA,B, A has a reference c to a proxy C, and B has a reference d to a proxy D. What should I pass to Request#with() to get the Ds of B without the Cs of A? with(theMap.d) ? Now what if A and B both have a property e referencing a proxy E, I want B's Es but not A's Es, with(theMap.e) wouldn't work here. I think maybe there should be special subproperties keys and values, so one can say: with(myMap.keys.c, myMap.values.d, myMap.values.e) to get A's Cs, and B's Ds and Es (without A's Es!) http://codereview.appspot.com/**6132056/http://codereview.appspot.com/6132056/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: HorizontalSplitPanel should use ScheduledCommand instead of Command (issue1718803)
http://gwt-code-reviews.appspot.com/1718803/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: HorizontalSplitPanel should use ScheduledCommand instead of Command (issue1694803)
On 2012/05/24 20:25:26, rchandia wrote: LGTM Reposting internally at: http://gwt-code-reviews.appspot.com/1718803 Submitted as r10996 http://gwt-code-reviews.appspot.com/1694803/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: HorizontalSplitPanel should use ScheduledCommand instead of Command (issue1718803)
On 2012/05/25 21:16:45, rchandia wrote: Submitted as r10996 http://gwt-code-reviews.appspot.com/1718803/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Fix for issue 5952: RequestContext#isChanged. (issue1601806)
On 2012/05/25 21:43:28, sjostrand.jonas wrote: When a proxy is edit()ed not only sub ENTITY proxies but also sub VALUE proxies are automatically edit()ed and considered as changed by the auto bean diff. Can this be fixed by the same technique? I tried the patch and it didn't solve the problem already. This is the TODO at http://gwt-code-reviews.appspot.com/1601806/diff/45014/user/src/com/google/web/bindery/requestfactory/shared/impl/AbstractRequestContext.java#newcode1214 The idea is that the ValueProxy wouldn't be sent to the server despite being edit()ed, because it wouldn't be referenced by the entity proxy (in the sense that the diff for the entity proxy wouldn't include the value proxy, as the value proxy before and after would compare equal). The only other solution would be to remove the auto-edit feature, or change how it's done. http://gwt-code-reviews.appspot.com/1601806/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] ExternalTextResourceGenerator is locale/machine-dependent. (issue1716804)
Reviewers: , Message: Looking for a reviewer on this. Note there are other uses of getBytes() without a specified encoding: - in XsrfProtectedServiceServlet and XsrfTokenServiceServlet (though it's not that important, as it's about creating and validating a token; it could be an issue only if you load-balance between instances that don't run with the same file.encoding), - in RunAsyncfailureServlet in unit tests, - in StringTest in unit-tests; that one is expected. Note also that all uses of new String() and getBytes() when a String charsetName is passed could be changed to using Charset charset, resolving that one only once. According to http://code.google.com/p/google-web-toolkit/source/detail?r=10933 that could possibly speed things up (including maybe the compiler). I'll leave that improvement to another CL. Description: ExternalTextResourceGenerator is locale/machine-dependent. Fixes issue 5200 Please review this at https://gwt-code-reviews.appspot.com/1716804/ Affected files: M user/src/com/google/gwt/resources/rg/ExternalTextResourceGenerator.java Index: user/src/com/google/gwt/resources/rg/ExternalTextResourceGenerator.java diff --git a/user/src/com/google/gwt/resources/rg/ExternalTextResourceGenerator.java b/user/src/com/google/gwt/resources/rg/ExternalTextResourceGenerator.java index 7bb445e67456669508b2bfd13c42843638652861..043075997136ed733dfa7f1c81aeb8dd652e6405 100644 --- a/user/src/com/google/gwt/resources/rg/ExternalTextResourceGenerator.java +++ b/user/src/com/google/gwt/resources/rg/ExternalTextResourceGenerator.java @@ -105,7 +105,7 @@ public final class ExternalTextResourceGenerator extends urlExpression = context.deploy( context.getClientBundleType().getQualifiedSourceName().replace('.', '_') -+ _jsonbundle.txt, text/plain, wrappedData.toString().getBytes(), true); ++ _jsonbundle.txt, text/plain, Util.getBytes(wrappedData.toString()), true); TypeOracle typeOracle = context.getGeneratorContext().getTypeOracle(); JClassType stringType = typeOracle.findType(String.class.getName()); @@ -171,7 +171,7 @@ public final class ExternalTextResourceGenerator extends } private String getMd5HashOfData() { -return Util.computeStrongName(data.toString().getBytes()); +return Util.computeStrongName(Util.getBytes(data.toString())); } private boolean shouldUseJsonp(ResourceContext context, TreeLogger logger) { -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Issue 7038: CompositeEditor and ListEditor optimizations (issue1664803)
On 2012/05/25 17:58:21, skybrian wrote: In getEditors: The returned list will be live until the next call to setValue() and shouldn't be used after that. [...] Yeah, #3 is out. Option #2 would make sense if we expected that complaining early means that most people would fix the problem before it reaches production. I'm not convinced of that; I think people won't test the corner cases that result in null list fields in their AutoBeans (particularly if those corner cases come from the server). AFAICT, that's already an issue with other editors though: in the DevGuide for editors [1], if the address or manager is null, then you'll have an NPE at runtime. (note: not necessarily AutoBeans, any POJO can be edited with the Editor framework ;-) ) [1] https://developers.google.com/web-toolkit/doc/latest/DevGuideUiEditors#Quickstart So I think #1 might actually be right; accept that the list might be null and don't break, but don't let the user edit the field either. Also, I see that having a null is actually the initial state of the ListEditor so it seems okay to go back to that state. It seems okay for getEditors to return an empty list when we have no backing list (yes, we have no editors). If that seems okay, here's the javadoc to fix so we don't have to have this discussion again: - ListEditor constructor: The ListEditor will have no backing list until setValue() is called with a non-null value. - setValue(): If a null is passed in, the ListEditor will have no backing list and edits cannot be made. - getEditors(): If there is no backing list, an empty list will be returned. - getList(): Returns null if there is no backing list and edits cannot be made. Done. https://gwt-code-reviews.appspot.com/1664803/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: ExternalTextResourceGenerator is locale/machine-dependent. (issue1716804)
LGTM https://gwt-code-reviews.appspot.com/1716804/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Fix for issue 5952: RequestContext#isChanged. (issue1601806)
http://gwt-code-reviews.appspot.com/1601806/diff/45014/user/test/com/google/web/bindery/requestfactory/server/SimpleBar.java File user/test/com/google/web/bindery/requestfactory/server/SimpleBar.java (right): http://gwt-code-reviews.appspot.com/1601806/diff/45014/user/test/com/google/web/bindery/requestfactory/server/SimpleBar.java#newcode95 user/test/com/google/web/bindery/requestfactory/server/SimpleBar.java:95: public static SimpleBar returnFirst(ListSimpleBar list) { On 2012/05/24 01:29:55, skybrian wrote: On 2012/05/24 00:28:11, tbroyer wrote: On 2012/05/23 18:05:24, skybrian wrote: It's weird that this method isn't just inlined. It can be called from the client-side, it's a service method (SimpleBarRequest). Oh, I see. (Off topic rant.) This is just test code, but I'm annoyed that I have to search the codebase for interfaces annotated with @Service or @ServiceName that point to this class in order to tell whether a method I'm looking at is directly called over the Internet or not. That's pretty dangerous. There needs to be some kind of annotation cluing the reader in that this is an RPC endpoint. This is what the RF ValidationTool is for ;-) It will detect methods in the RequestContext (and properties in proxies) that have no equivalent in the server code. If you configure it as an annotation processor in Eclipse, it will directly mark those methods in the editor. See http://code.google.com/p/google-web-toolkit/wiki/RequestFactoryInterfaceValidation This will still mark your shared interfaces though, not your server code. I'm not dismissing the issue, but I think it's up to developers to have rules if they want some documentation (JavaDoc or custom annotation). I think GWT-RPC did a better job here, because the class extends RemoteServiceServlet and implements the service interface. And people asked how to expose their existing services without the need to create RemoteServiceServlet proxies ;-) RF is more similar to Axis2 exposing POJOs as WS: http://axis.apache.org/axis2/java/core/docs/pojoguide.html (I'm sure there are other tools –notably in Spring– that expose POJOs as RESTful, JSON-RPC, XML-RPC or SOAP services without the POJO knowing about it; I haven't found them back right now) http://gwt-code-reviews.appspot.com/1601806/diff/45014/user/test/com/google/web/bindery/requestfactory/shared/impl/RequestPayloadTest.java File user/test/com/google/web/bindery/requestfactory/shared/impl/RequestPayloadTest.java (right): http://gwt-code-reviews.appspot.com/1601806/diff/45014/user/test/com/google/web/bindery/requestfactory/shared/impl/RequestPayloadTest.java#newcode117 user/test/com/google/web/bindery/requestfactory/shared/impl/RequestPayloadTest.java:117: SimpleProxyId? id = (SimpleProxyId?) foo.stableId(); On 2012/05/24 01:29:55, skybrian wrote: On 2012/05/24 00:28:11, tbroyer wrote: I could add a flag or counter in the 'if's and then check their values after the loops to assert this code has been reached? Sure, I think that's good. Increment a counter and assert that it's = 1 after the for loop. (If it drops to zero due to a code change and that's intentional, we have some dead code to delete.) Done. http://gwt-code-reviews.appspot.com/1601806/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors