Re: Poor performance for simple query - seems to be in the deserialisation mostly
Hi John, then have a look at the table stuff in the incubator project. That contains sortable, pageable, scrollable table solutions which can have bulk renderers. It's also worth seeing the gwt mosaic project. It's table solutions are based on the tables of the incubator project (and seems to be easy to use but it is still under development). Best regards, Tibor On Dec 29, 9:58 pm, John Lonergan john.loner...@gmail.com wrote: Hi - I've taken a look at the grids in the incubator and they are definitely much faster (200ms in IE7). But those grids are very basic. I need a grid that's a bit more functional .. - sorting - scrolling - fixed non-scrolling header row (i.e.header doesn't scroll with rest of grid) Are such features available in a fast grid and are there any examples? Thanks John On Dec 29, 1:18 pm, gregor greg.power...@googlemail.com wrote: Hi John, 1) I concur with your timings on that incubator scroll table demo for FF at 3s, but not on IE at 15s: mine does it in 5s. Suggest something strange about your IE set up?? 2) The DHTMLX example lazily loads rows on demand using what looks like a scroll listener. Overall table size probably calculated from secondary DB query for num rows and overall height of scroll panel set accordingly. So user gets an impression of the overall size of table and can use scroll bar and/or page ip/down up/down arrows to navigate it. It only ever fills in the visible portion. Impressive trickery, but IMO the only advantage this has over the more traditional -prev : next- button navigation format is user can scroll right down table quickly using the scroll bar handle. But how could user know which records they might hit by doing this? Clever programming maybe but is it good UI design? IMO that is questionable. There are other ways to make sense of large data sets in the UI. 3) Although it takes 3s for FF and 5s for IE to render the incubator scroll table example for 100 rows, my little test does this in both browsers 0.5s for 200 records, about 0.5s for 500, and about 3s for 2000 in FF, slightly longer for the 2000 in IE. OK, mine is running local and the examples are running over the net, but that doesn't account for all of the massive difference. This should be telling you something: tabular data grids can be complicated things, and people have wide variations in requirements for them, so ready made generalized grid components need shed loads of code to make them configurable for everybody's needs. In most cases if you roll your own component from base GWT widgets you will get blisteringperformance for your own use cases by comparison because you can build it to do exactly what you need it to do, and only what you need it to do. 4) If I wanted to use a ready made component for this I would head straight for the new PagingScrollTable in the incubator. Reason being that nothing makes into official GWT code unless it works as fast as is reasonably possible. GWT makes no compromise on this. What does a user care most about: a) how quickly and easily they can get at the information they need, or b) how pretty it looks in the screen? 5) If you are using an Ext family grid widget it will definitely run slow because there is heaps of Ext framework javascript running as well as actual widget code. Ext looks great, but does not compete with base GWT forperformanceor reconfigurability. 6) Paging *is* the answer to this problem: As you can see from your DHTMLX example above, what they do is paging but in a hidden way, i.e. they try to give the impression that the whole 50,000 rows are loaded, but of course in reality they are not, and this is obvious when you play with it because it simply isn't fast enough to deceive the eye. regards gregor On Dec 29, 9:30 am, fin tibor.fi...@freemail.hu wrote: Hi John, have a look at the bulk renderer feature of the GWT incubator project:http://code.google.com/p/google-web-toolkit-incubator/wiki/BulkTableR... andhttp://code.google.com/docreader/#p=google-web-toolkit-incubators=go... Best regards, Tibor On Dec 29, 5:32 am, John Lonergan john.loner...@gmail.com wrote: Hi - yep there was a problem in my test program but now that that's ironed out I'm getting ok'ishperformancein FF3 and Chrome however in IE the perf is poor. All the time is spent populating the grid / rendering. IE is the target deployment platform - they only have IE installed. Have been looking for online samples that are useful for demonstrating a sort of problem I'm seeing. I found this useful demo that allowed me to verify that what I'm seeing re rendering times is not just a result of my dodgy program. http://google-web-toolkit-incubator.googlecode.com/svn/trunk/demo/Scr... I tested by clicking Add 100 rows on the Data Manipulation tab. The relative timings are ... IE
Re: how to print the Window
give child.window.print On Tue, Dec 30, 2008 at 2:16 PM, rajasekhar raja...@gmail.com wrote: Hi All, how to print content of a Window.After clicking on print image one new Window is opening(like print preview),but When I call Window.print() it is printing the Parent page and Window page, I need to print the Window data only.Please let me know how to do this. Regards, Rajasekhar --~--~-~--~~~---~--~~ 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: how to print the Window
Hi Kiran, Can you explain me litter more about this.I am getting one panel from another class and adding to the window. Here is my code. EditRequestPrint editRequestPrint=new EditRequestPrint(); Panel p=editRequestPrint.getSongPanel (licenseRequestVO); //getting SongPanel p.setAutoScroll(true); licenseDetaisPrintWindow.add(p); licenseDetaisPrintWindow.show(); I added printImage to the SongPanel printImage.addClickListener(new ClickListener(){ public void onClick(Widget sender) { Window.alert(EditRequestPrint print .); - } }); Please let me know what statement can I place in dotted lines. Regards, Rajasekhar --~--~-~--~~~---~--~~ 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: Is there a way to hide root item in GWT Tree?
Every Widget has a setVisibile(boolean) method (it comes from UIObject). You should be able to just call this method on the root widget and have it made invisible. -- Arthur Kalmenson On Fri, Dec 26, 2008 at 8:05 AM, anglers sserdyu...@gmail.com wrote: Hi all! How to hide root item in tree (standart gwt widget)? I want to hide tree root item and show just first level of child tree items. Help me please --~--~-~--~~~---~--~~ 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: Undo/Redo Event Handlings
I'm still in thirst for solution,I am not able to handle in Button ;-) _Anurag On Dec 24, 11:40 am, Anurag Tripathi anurag...@gmail.com wrote: Yeah, Thats true , simply my objective is to add undo(Ctrl+Z) functionality in Button. _Anurag On Dec 23, 6:18 pm, todd.sei...@gmail.com todd.sei...@gmail.com wrote: You will probably not find this in RichTextArea source since this functionality is provided by the web browser and not GWT. I believe that you may want to try looking at event previews. This would allow you to capture keyboard input regardless of the widget which has focus because I suspect that you really are not looking to have focus on the button to handle this. On Dec 23, 7:10 am, Anurag Tripathi anurag...@gmail.com wrote: If anybody has any idea on this please let me know - How to catch Keyboard Undo(ctrl+z) and Redo(Ctrl+y) events in a Button ? Its already supported in Rich Text Area as an action of ctrl +z keyPress but need to encapsulate in a Button. The Implementation I'm not finding in RichTextArea.class _Anurag --~--~-~--~~~---~--~~ 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's , PLEASE HELP ME :)
This looks like the problem-tab in Eclipse. More interesting would be the log-window of the server when you start your project in hosted mode. I get the same error message like before in hosted mode: [ERROR] Unable to load module entry point class se1.gwt.client.StringCounterClient (see associated exception for details) com.google.gwt.core.client.JavaScriptException: (TypeError): '$wnd.Ext.StatusBar' ist Null oder kein Objekt number: -2146823281 description: '$wnd.Ext.StatusBar' ist Null oder kein Objekt at com.gwtext.client.widgets.Component.checkExtVer(Native Method) at com.gwtext.client.widgets.Component.clinit(Component.java:108) at se1.gwt.client.StringCounterClient.onModuleLoad (StringCounterClient.java:22) But i dont understand, why i get the error symbol on the public folder in the gwt projekt... I included the file system of gwt-ext after that i have a red, x on the icon of the public folder! If you're not using GWT 1.5 you should change your JDK to 1.4 BTW. I use GWT 1.5.3 ... If nothing works you might consider changing the list to the mailing-list of GWT-Ext. They also reside at Google Groups but the people should be different. how can i change 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-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's , PLEASE HELP ME :)
This looks like the problem-tab in Eclipse. More interesting would be the log-window of the server when you start your project in hosted mode. I get the same error message like before in hosted mode: [ERROR] Unable to load module entry point class se1.gwt.client.StringCounterClient (see associated exception for details) com.google.gwt.core.client.JavaScriptException: (TypeError): '$wnd.Ext.StatusBar' ist Null oder kein Objekt number: -2146823281 description: '$wnd.Ext.StatusBar' ist Null oder kein Objekt at com.gwtext.client.widgets.Component.checkExtVer(Native Method) at com.gwtext.client.widgets.Component.clinit(Component.java:108) at se1.gwt.client.StringCounterClient.onModuleLoad (StringCounterClient.java:22) But i dont understand, why i get the error symbol on the public folder in the gwt projekt... I included the file system of gwt-ext after that i have a red, x on the icon of the public folder! If you're not using GWT 1.5 you should change your JDK to 1.4 BTW. I use GWT 1.5.3 ... If nothing works you might consider changing the list to the mailing-list of GWT-Ext. They also reside at Google Groups but the people should be different. how can i change 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-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: Undo/Redo Event Handlings
Please someone can get back on this ? On Dec 30, 6:44 pm, Anurag Tripathi anurag...@gmail.com wrote: I'm still in thirst for solution,I am not able to handle in Button ;-) _Anurag On Dec 24, 11:40 am, Anurag Tripathi anurag...@gmail.com wrote: Yeah, Thats true , simply my objective is to add undo(Ctrl+Z) functionality in Button. _Anurag On Dec 23, 6:18 pm, todd.sei...@gmail.com todd.sei...@gmail.com wrote: You will probably not find this in RichTextArea source since this functionality is provided by the web browser and not GWT. I believe that you may want to try looking at event previews. This would allow you to capture keyboard input regardless of the widget which has focus because I suspect that you really are not looking to have focus on the button to handle this. On Dec 23, 7:10 am, Anurag Tripathi anurag...@gmail.com wrote: If anybody has any idea on this please let me know - How to catch Keyboard Undo(ctrl+z) and Redo(Ctrl+y) events in a Button ? Its already supported in Rich Text Area as an action of ctrl +z keyPress but need to encapsulate in a Button. The Implementation I'm not finding in RichTextArea.class _Anurag --~--~-~--~~~---~--~~ 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: Login security question
FYI - I figured out how to elegantly handle this requirement. I overrode the onBeforeRequestDeserialized method and verify the verifID (what I call it) in there. I ignore the login method and invoke doUnexpectedFailure for any method that does not pass the correct verifID. // Find the name of the method being invoked. Pattern p = Pattern.compile (^.*com.lostcreations.vmm.client.ServerService\\|([^\\|]*?)\\|.*$); Matcher m = p.matcher(serializedRequest); if (!m.matches()) { this.doUnexpectedFailure(new Exception(unabled to match rpc request for method name)); } // We don't need to verify the login method. String method = m.group(1); if (method.equals(login)) { return; } p = Pattern.compile (^.*com.lostcreations.vmm.client.ServerService\\|([^\\|]*?)\\| java.lang.String\\|([^\\|]*?)\\|.*$); m = p.matcher(serializedRequest); if (!m.matches()) { this.doUnexpectedFailure(new Exception(unabled to match rpc request for verifid)); } // Verify the verifID. Log.debug(getLogString(verifying method + m.group(1))); Log.debug(getLogString(verifID= + m.group(2))); // TODO: Verify the verifID Thank you everyone for your help. --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
just a basic idea
i dont know xactl wt u want but i undrstand the applet y cant run again again.. initialise 1 button( b ) only set caption as Run b.setActionCommand(Run); in public action prerformed(ActionEvent e) { JButton b1=new (JButton)e.getSource(); if(b.getActionCommand().quals(run); { // b1.(cod to run) b1.setActionCommand(Cancel); } els { // b1.(cod to cancel)b1.setActionCommand(Run); } } --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
How to JSONize the object and array in gwt
i want convert String array and Object array into JSON directly. is there any wrapper to do it i need class ClassName { public String name; public String address; public Integer phone; } public class Index implements EntryPoint { ClassName obj = new ClassName(); // now i want to jsonize obj // how can it be done. // and also ArrayList a = new ArrayList(); a.add(roc); a.add(monday); // now i again want to jsonize this arraylist } --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
how to use Ajax in jsp
plz i hv said to use jsp in my T.Y.IT projectso helpme..by giving eg: for simple textbox/ comboboxwaitg for reply --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Deploy GWT application with hibernate config xml files
I have hibernate.cfg.xml and *.hbm.xml files in a package /com/test/ server/config folder. /com/test/client/Example.java /com/test/server/ How do i deploy these cfg.xml and hbm.xml files to the tomcat. --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Defect: Menu Items stay hovered, even though mouse isn't over them
Does anyone know if this is a defect to be corrected, or if there is a work-around for this? For clarity, I'll describe the scenario fully according to two cases: 1) When a menu bar is set to automatically open its sub-menus, MenuBar.setAutoOpen(true), and the user does not select a menu item, the menus do not close until the user clicks outside of the menu bar area. That functionality is _correct_. HOWEVER, once the sub-menu does close in response to a click, the header text/icon on the menu bar for that sub-menu stays highlighted with its hover style. That is _not_ correct. 2) When the menu bar is not set to automatically open it's sub-menus (default operation), and the user merely moves their mouse over the menu bar, the menu items hovered over will highlight. However, if the user does not click any menu item, but moves the mouse off the menu bar, the last hovered item will remain highlighted. That is not correct GUI behavior. I know of no application which functions in this manner, so I believe this should rightly be called a defect. Can anyone tell me if this has already been identified, or how I can work around it? john... --~--~-~--~~~---~--~~ 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: Using JavaScript 'var s in obj' on a GWT object
Reinier, Thanks for your quick response. I'm a bit confused, though. If... GWT compresses the java identifier of any method or field down to a very short random collection of symbols ...then how come I can still do... o...@org.foo.foo::myMethod()(); ...and even... alert( obj[ '@org.foo.Foo::myMethod()' ] ); ...is there some kind of one-way mapping going on? Regards, Richard. --~--~-~--~~~---~--~~ 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: Defect: Menu Items stay hovered, even though mouse isn't over them
In searching through the source code, I decided on the following work- around when instantiating a MenuBar. Unfortunately, it doesn't handle every scenario, but it gets most of them right. MenuBar bar = new MenuBar() { @Override public void onBrowserEvent(Event event) { super.onBrowserEvent(event); if (DOM.eventGetType(event) == Event.ONMOUSEOUT) { Element barEle = getElement(); Element outEle = DOM.eventGetFromElement(event); Element toEle = DOM.eventGetToElement(event); if (DOM.isOrHasChild(barEle, outEle) !DOM.isOrHasChild(barEle, toEle)) { // Focus has shifted off of the MenuBar. But is it now on a sub- menu? boolean onSubMenu = false; for (MenuItem mi : this.getItems()) { MenuBar subMenu = mi.getSubMenu(); Widget parent = subMenu == null ? null : subMenu.getParent(); Element parEle = parent == null ? null : parent.getElement(); if ((parEle != null) (DOM.isOrHasChild(parEle, toEle))) { onSubMenu = true; break; } } if (!onSubMenu) { MenuItem mi = getSelectedItem(); if (mi != null) { mi.removeStyleDependentName(selected); } } } } } @Override public void onPopupClosed(PopupPanel sender, boolean autoClosed) { MenuItem mi = getSelectedItem(); if (mi != null) { // Is the closed Popup the currently selected menu item? if (mi.getSubMenu() == sender.getWidget()) { mi.removeStyleDependentName(selected); } } super.onPopupClosed(sender, autoClosed); } }; Hope this helps someone else, john... PS. Please let me know if this is going to be fixed in a future release, or let me know what I can do to get it on that list. On Dec 30, 10:54 am, John Fowler john_c_fow...@yahoo.com wrote: Does anyone know if this is a defect to be corrected, or if there is a work-around for this? For clarity, I'll describe the scenario fully according to two cases: 1) When a menu bar is set to automatically open its sub-menus, MenuBar.setAutoOpen(true), and the user does not select a menu item, the menus do not close until the user clicks outside of the menu bar area. That functionality is _correct_. HOWEVER, once the sub-menu does close in response to a click, the header text/icon on the menu bar for that sub-menu stays highlighted with its hover style. That is _not_ correct. 2) When the menu bar is not set to automatically open it's sub-menus (default operation), and the user merely moves their mouse over the menu bar, the menu items hovered over will highlight. However, if the user does not click any menu item, but moves the mouse off the menu bar, the last hovered item will remain highlighted. That is not correct GUI behavior. I know of no application which functions in this manner, so I believe this should rightly be called a defect. Can anyone tell me if this has already been identified, or how I can work around it? john... --~--~-~--~~~---~--~~ 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: Defect: Menu Items stay hovered, even though mouse isn't over them
Slight revision to my code: Removing the selected style directly from the MenuItem was causing too many bad side-effects. What really needs to happen, is a call to void selectItem(MenuItem item) { ... } on MenuBar. Unfortunately, that method's visibility doesn't allow such a call. Unless, of course, you're willing to bend a few rules. ;) Menu bar = new MenuBar() { @Override public void onBrowserEvent(Event event) { super.onBrowserEvent(event); if (DOM.eventGetType(event) == Event.ONMOUSEOUT) { Element barEle = getElement(); Element outEle = DOM.eventGetFromElement(event); Element toEle = DOM.eventGetToElement(event); if (DOM.isOrHasChild(barEle, outEle) !DOM.isOrHasChild(barEle, toEle)) { // Focus has shifted off of the MenuBar. But is it now on a sub- menu? boolean onSubMenu = false; for (MenuItem mi : this.getItems()) { MenuBar subMenu = mi.getSubMenu(); Widget parent = subMenu == null ? null : subMenu.getParent(); Element parEle = parent == null ? null : parent.getElement(); if ((parEle != null) (DOM.isOrHasChild(parEle, toEle))) { onSubMenu = true; break; } } if (!onSubMenu) { MenuItem mi = getSelectedItem(); if (mi != null) { unselectItem(); } } } } } @Override public void onPopupClosed(PopupPanel sender, boolean autoClosed) { MenuItem mi = getSelectedItem(); if (mi != null) { // Is the closed Popup the currently selected menu item? if (mi.getSubMenu() == sender.getWidget()) { unselectItem(); } } super.onPopupClosed(sender, autoClosed); } private native String unselectItem() /*-{ th...@com.google.gwt.user.client.ui.menubar::selectItem(Lcom/ google/gwt/user/client/ui/MenuItem;)(null); }-*/; }; Hope this helps someone else, john... PS. The only scenario I have found where the above does not work is when the user repeatedly clicks a menu item to open it's sub-menu over and over again. --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit commit] r4374 - trunk/tools/soyc-vis/src/com/google/gwt/soyc
Author: kpro...@google.com Date: Mon Dec 29 07:09:32 2008 New Revision: 4374 Modified: trunk/tools/soyc-vis/src/com/google/gwt/soyc/GlobalInformation.java trunk/tools/soyc-vis/src/com/google/gwt/soyc/MakeTopLevelHtmlForPerm.java trunk/tools/soyc-vis/src/com/google/gwt/soyc/SoycDashboard.java Log: Updated dashboard to include method-level control-flow dependencies Modified: trunk/tools/soyc-vis/src/com/google/gwt/soyc/GlobalInformation.java == --- trunk/tools/soyc-vis/src/com/google/gwt/soyc/GlobalInformation.java (original) +++ trunk/tools/soyc-vis/src/com/google/gwt/soyc/GlobalInformation.java Mon Dec 29 07:09:32 2008 @@ -53,6 +53,7 @@ public static HashMapString, HashSetString storiesToCorrClassesAndMethods = new HashMapString, HashSetString(); public static HashMapString, String storiesToLitType = new HashMapString, String(); + public static void computePackageSizes(){ cumSizeFromPackages = 0; packageToSize.clear(); Modified: trunk/tools/soyc-vis/src/com/google/gwt/soyc/MakeTopLevelHtmlForPerm.java == --- trunk/tools/soyc-vis/src/com/google/gwt/soyc/MakeTopLevelHtmlForPerm.java (original) +++ trunk/tools/soyc-vis/src/com/google/gwt/soyc/MakeTopLevelHtmlForPerm.java Mon Dec 29 07:09:32 2008 @@ -23,11 +23,16 @@ import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; +import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; +import java.util.Map; import java.util.TreeMap; import java.util.TreeSet; +import java.util.jar.JarEntry; +import java.util.jar.JarFile; +import java.util.jar.JarInputStream; public class MakeTopLevelHtmlForPerm { @@ -416,20 +421,55 @@ outFile.close(); } - public static void copyFileOrDirectory(File srcPath, File dstPath) throws IOException{ + + public static void copyFileOrDirectoryFromJar(String jarFileName, String inputFileName, File dstPath, boolean isDirectory) throws IOException{ + +JarFile jarFile = new JarFile(jarFileName); +if (isDirectory){ + dstPath.mkdir(); + + JarInputStream jarFileIS = new JarInputStream(new FileInputStream(jarFileName)); + JarEntry jarEntry = jarFileIS.getNextJarEntry(); + while(jarEntry != null){ +if (! inputFileName.endsWith(/)){ + inputFileName += /; +} +if ((jarEntry.getName().compareTo(inputFileName) != 0)(jarEntry.getName().startsWith(inputFileName))){ + File newDstPath = new File(jarEntry.getName()); + copyFileOrDirectoryFromJar(jarFileName, jarEntry.getName(), newDstPath, false); +} +jarEntry = jarFileIS.getNextJarEntry(); + } + jarFileIS.close(); +} + +else{ + InputStream in = jarFile.getInputStream(jarFile.getEntry(inputFileName)); + OutputStream out = new FileOutputStream(dstPath); + + int c; + while ((c = in.read()) != -1){ +out.write(c); + } + in.close(); + out.close(); + jarFile.close(); +} + } + + public static void copyFileOrDirectory(File srcPath, File dstPath, String classPath, String inputFileName, boolean isDirectory) throws IOException{ if (srcPath.isDirectory()){ if (!dstPath.exists()){ dstPath.mkdir(); } String files[] = srcPath.list(); for(int i = 0; i files.length; i++){ -copyFileOrDirectory(new File(srcPath, files[i]), new File(dstPath, files[i])); +copyFileOrDirectory(new File(srcPath, files[i]), new File(dstPath, files[i]), classPath, inputFileName, isDirectory); } } else{ if(!srcPath.exists()){ -System.out.println(File or directory does not exist.); - System.exit(0); +copyFileOrDirectoryFromJar(classPath, inputFileName, dstPath, isDirectory); } else{ InputStream in = new FileInputStream(srcPath); @@ -631,11 +671,11 @@ outFile.println(width:100%;); outFile.println(background-color:#eee;); outFile.println(border:1px solid #66;); - outFile.println(border-spacing:5px;/*cellspacing:poor IE support for this*/); + outFile.println(border-spacing:5px;); outFile.println(border-collapse:separate;); outFile.println(}); outFile.println(.celldiv {); - outFile.println(float:left;/*fix for buggy browsers*/); + outFile.println(float:left;); outFile.println(display: table-cell;); outFile.println(width:49.5%;); outFile.println(font-size: 14px;); @@ -679,22 +719,26 @@ public static void makeHTMLShell(HashMapString, CodeCollection nameToCodeColl, TreeMapString, LiteralsCollection nameToLitColl) throws IOException{ //this will contain the place holder iframes where the
[gwt-contrib] [google-web-toolkit commit] r4371 - in trunk: dev/core/src/com/google/gwt/core/ext/linker/impl dev/core/src/com/google/gwt/co...
Author: j...@google.com Date: Tue Dec 23 22:38:21 2008 New Revision: 4371 Modified: trunk/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardCompilationAnalysis.java trunk/dev/core/src/com/google/gwt/core/linker/soyc/SoycReportLinker.java trunk/dev/core/src/com/google/gwt/dev/jjs/impl/ReplaceRunAsyncs.java trunk/user/test/com/google/gwt/dev/jjs/test/RunAsyncTest.java Log: Sort/format/remove checkstyle warnings. Patch by: jat Review by: kprobst (TBR) Modified: trunk/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardCompilationAnalysis.java == --- trunk/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardCompilationAnalysis.java (original) +++ trunk/dev/core/src/com/google/gwt/core/ext/linker/impl/StandardCompilationAnalysis.java Tue Dec 23 22:38:21 2008 @@ -116,7 +116,7 @@ private transient MapCorrelation, Member membersByCorrelation = new IdentityHashMapCorrelation, Member(); /** - * Map from split point numbers to the method where they were set + * Map from split point numbers to the method where they were set. */ private MapInteger, String splitPointMap = new TreeMapInteger, String(); @@ -200,14 +200,13 @@ return new IterableSnippet() { public IteratorSnippet iterator() { -assert stories != null; return new SnippetIterator(stories); } }; } @Override - public MapInteger, String getSplitPointMap(){ + public MapInteger, String getSplitPointMap() { return splitPointMap; } Modified: trunk/dev/core/src/com/google/gwt/core/linker/soyc/SoycReportLinker.java == --- trunk/dev/core/src/com/google/gwt/core/linker/soyc/SoycReportLinker.java (original) +++ trunk/dev/core/src/com/google/gwt/core/linker/soyc/SoycReportLinker.java Tue Dec 23 22:38:21 2008 @@ -65,7 +65,6 @@ @LinkerOrder(Order.PRE) public class SoycReportLinker extends AbstractLinker { - public String escapeXml(String unescaped) { String escaped = unescaped.replaceAll(\\, amp;); escaped = escaped.replaceAll(\\, lt;); @@ -176,13 +175,12 @@ if (methodAliases.size() 0) { htmlOut.indentOut(); htmlOut.indentOut(); - + curLine = /aliases; htmlOut.printRaw(curLine); htmlOut.newline(); htmlOut.indentOut(); htmlOut.indentOut(); - } } @@ -234,7 +232,6 @@ htmlOut.newline(); htmlOut.indentIn(); htmlOut.indentIn(); - } for (Member dependency : dependencies) { curLine = on idref=\ + dependency.getSourceName() + \/; @@ -244,14 +241,12 @@ if (dependencies.size() 0) { htmlOut.indentOut(); htmlOut.indentOut(); - curLine = /depends; htmlOut.printRaw(curLine); htmlOut.newline(); htmlOut.indentOut(); htmlOut.indentOut(); - } } @@ -261,7 +256,6 @@ if (fields.size() 0) { htmlOut.indentIn(); htmlOut.indentIn(); - } for (FieldMember field : fields) { curLine = field id=\ + field.getSourceName() + \ jsName=\ @@ -276,7 +270,6 @@ if (fields.size() 0) { htmlOut.indentOut(); htmlOut.indentOut(); - } } @@ -313,7 +306,6 @@ htmlOut.newline(); htmlOut.indentIn(); htmlOut.indentIn(); - } for (Member dependency : dependencies) { curLine = on idref=\ + dependency.getSourceName() + \/; @@ -323,13 +315,12 @@ if (dependencies.size() 0) { htmlOut.indentOut(); htmlOut.indentOut(); - + curLine = /depends; htmlOut.printRaw(curLine); htmlOut.newline(); htmlOut.indentOut(); htmlOut.indentOut(); - curLine = /function; htmlOut.printRaw(curLine); @@ -349,7 +340,6 @@ htmlOut.newline(); htmlOut.indentIn(); htmlOut.indentIn(); - for (Snippet snippet : report.getSnippets(fragment)) { Range range = snippet.getRange(); @@ -372,7 +362,6 @@ htmlOut.indentOut(); htmlOut.indentOut(); - curLine = /js; htmlOut.printRaw(curLine); @@ -406,7 +395,6 @@ htmlOut.newline(); htmlOut.indentIn(); htmlOut.indentIn(); - for (Map.EntryCompilationResult, String entry : partialPathsByResult.entrySet()) { curLine = report href=\ + entry.getValue() + \; @@ -414,7 +402,6 @@ htmlOut.newline(); htmlOut.indentIn(); htmlOut.indentIn(); - for (MapSelectionProperty, String map : entry.getKey().getPropertyMap()) { @@ -424,7 +411,6 @@ htmlOut.newline(); htmlOut.indentIn(); htmlOut.indentIn(); - } else { curLine = permutation/; @@ -440,7 +426,6 @@ if (map.size() 0)
[gwt-contrib] Code review request, Creating gen2 versions of Time and Date Spinner to use the new 1.6 datepicker and event system
Dear Daniel, I hope you are having a great holiday. I've added a gen2 version of TimePicker and DatePickerPicker in a new com.google.gwt.gen2.picker package. It now depends upon the gwt 1.6 date picker and event system. If you could review my changes and make any more you deem appropriate, that would be great! Thanks, Emily Change link: http://code.google.com/p/google-web-toolkit-incubator/source/detail?r=1379 There are only 10 types of people in the world: Those who understand binary, and those who don't --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---