Re: GWT Button style using HTML - Mozilla Compatibility
Hi Zak, Thanks for that. But i was planning to have uniform style for all the buttons. I have some 15-20 different kinds of buttons. I dint want to write a separate CSS for each of them. I just realized that using HTML would be a really convenient way of implementing the icons for buttons. And I finally got the right piece of HTML code which works perfect across all the browsers and my browser compatibility issue got solved!! Thanks anyways.. regards, Abhiram On Fri, Sep 25, 2009 at 12:33 AM, Zak zakn...@gmail.com wrote: The CSS for the background declaration is invalid. Also there's no need for tabs and carriage returns. Try this: button.setHTML(div style=\background:transparent url(home.gif) no- repeat; width:95px; height:23px;\ Home /div); The best practices solution, however, is to have an external stylesheet with styling rules defined: .cool-button { background: transparent url(home.gif) no-repeat; width:95px; height:23px; } And then add the stylename to the button: button.setStyleName(cool-button); button.setText(Home); This will keep a nice separation of presentation, structure, and content. Cheers! On Sep 24, 9:01 am, abhiram wuntakal abhir...@gmail.com wrote: I got some really cool styles with HTML tags and so thought of sticking on to it. Any idea why the image which I set on the button using HTML did not appear in Firefox? regards, Abhiram On Thu, Sep 24, 2009 at 4:55 PM, Venkatesh Babu venkatbab...@gmail.com wrote: Try setting the style using a css class rather than the style attribute, in the way specified in your code. If you don't have a css file, you can just create the css class within your html file. Hope this helps. -Venkatesh On Thu, Sep 24, 2009 at 2:08 AM, abhiram abhir...@gmail.com wrote: Hi all, I used the setHTML property for the Button to get some really nice styles for the buttons in my application. This works perfectly in IE but does not seem to work in Mozilla and Chrome. In Mozilla and Chrome I dont see the images on the button which are visible on IE. My sample code is as below: button.setHTML(div style=\background:url(home.gif) repeat no- repeat;\r\n\t\twidth:95px;\r\n\t\theight:23px;\ Home /div); Can someone please let me know if I am missing something here? regards, Abhiram --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Compilation Error
Why I am getting this while trying to compile... [ERROR] Line 3: The import java.text cannot be resolved [ERROR] Line 4: The import java.text cannot be resolved [ERROR] Line 5: The import java.text cannot be resolved [ERROR] Line 24: DateFormat cannot be resolved to a type [ERROR] Line 24: SimpleDateFormat cannot be resolved to a type [ERROR] Line 27: ParseException cannot be resolved to a type [ERROR] Line 3: The import java.security cannot be resolved . Computing all possible rebind results for 'com.test.client.testApp' Rebinding com.test.client.testApp Checking rule generate-with class='com.extjs.gxt.ui.rebind.core.BeanModelGenerator'/ [ERROR] Unable to find type 'com.test.client.testApp' [ERROR] Hint: Previous compiler errors may have made this type unavailable [ERROR] Hint: Check the inheritance chain from your module; it may not be inheriting a required module or a module may not be adding its source path entries properly I have used the java.text .. eclipse does not showed any error while importing that means it is able to find out the classes in classpath, but I am getting error while Compiling my Web Application Please help Raul --~--~-~--~~~---~--~~ 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: help on my small project
Hi Parvez, just a note.. Hupa moved to james.apache.org as subproject (I'm just in preparations to deploy the website). The website can be found ( after I finished the work) under http://james.apache.org/hupa. The svn repos is: http://svn.apache.org/repos/asf/james/hupa Bye, Norman Ps: README.txt should include everything to get it running ;) 2009/9/25 Parvez Shah parvezs...@gmail.com: If you are new to GWT based development my suggestion is learn from project HUPA http://svn.apache.org/repos/asf/labs/hupa its based on pretty good architecture and in my experience you straight lift lot of initial Boiler plate code. In my view dont get too much into running its ok if you cant run it, just read the code starting from entry point and you will be good to go . as far as your query goes its simple dialogbox.center and dialogbox.show/hide will do. On Fri, Sep 25, 2009 at 6:52 AM, Derrick Xiang derrick.xi...@gmail.com wrote: Hi all, I am quite new to GWT development, now am struggling in a small web application, my application include a lot of GUI. while, I got two questions here, 1). How can centralize the application on the final web page? e.g. I create a login window which is quite small, when I preview on the web page, it's not in the center of the page, how can i capture the web page size in my java code? 2). As the application has a lot of GUI, how should I switch between different windows? e.g. after login, the main window should display and the login window should be hide, how to do this? thanks for your attention, any comments are appreciate. Regards, Derrick --~--~-~--~~~---~--~~ 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: buttons in the title bar
maybe this will help you put the title area on top of your window; that add code will depend on what kind of layout you are using on window HorizontalPanel titleArea = new HorizontalPanel(); titleArea .setSize(100%,100%); HorizontalPanel leftSide= new HorizontalPanel(); leftSide.setSpacing(5); leftSide.add(new PushButton(button)): leftSide.add(new PushButton(button)): leftSide.add(new PushButton(button)): leftSide.add(new PushButton(button)): titleArea .add(leftSide); HorizontalPanel rightSide= new HorizontalPanel(); rightSide.setSpacing(5); rightSide.add(new PushButton(button)): rightSide.add(new PushButton(button)): rightSide.add(new PushButton(button)): rightSide.add(new PushButton(button)): titleArea .add(rightSide); titleArea .setCellHorizontalAlignment(rightSide, HasHorizontalAlignment.ALIGN_RIGHT); On Thu, Sep 24, 2009 at 11:48 PM, erico_morta...@hotmail.com erico_morta...@hotmail.com wrote: I want to create a window with eight buttons in the title bar using the GWT. The buttons do not need to have any event. Four are on the left side and four on the right. Could someone help me? 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: Subclass or member variable?
I'm afraid, I still don't really understand what you are trying todo. could you provide a concrete example of this? If there's only one MyType-class, there's no need to send anything just make it static final or skip it at all on the other hand, if you try to group several of your B-classes by type, it may be better implementing interfaces and then code against these interfaces on the client-side. On Sep 24, 6:49 pm, Lemao yde...@gmail.com wrote: The use case is dynamic dispatching of actions sent from the client to the server. Yes, in both cases MyType.cass will need to be created but its a single class, a constant overhead in JS as you pointed out. In case 1, there is A.class and any number of B.class'es in addition to one MyType.class and no additional MyType.class overhead in the RPC serialized format (i.e. sending MyType.class id/name). In case 2, there is one A.class and one MyType.class and there is an extra payload in the RPC serialized format. Whether you want to use one of the other depends on many factors and for most cases it probably doesnt matter. But if you have many B.class'es (large app) and the app is data intensive (many send/ receive over the wire) the question becomes more important. My initial approach is to choose case 1. Although the JS is larger its a one time hit since the JS, afaik, is aggressively cached on the browser and I have the added benefit of not having to pay the price for sending the extra bytes everytime B.class, or C.class, etc is sent/ received. I also like the fact that the code becomes more type checked etc. On Sep 24, 11:18 am, mars1412 martin.trum...@24act.at wrote: this looks very strange - what is your use case for this? anyway - if you really want/need this: I don't think, that example 1 will produce larger JS than 2, because in both cases you need to know MyType.class, don't you? On Sep 24, 3:23 pm, Lemao yde...@gmail.com wrote: Based on how JS is generated and how GWT-RPC encodes objects on the wire and serializes them, what would be a better course of action: Should I prefer a pattern of adding static members to a subclass or parameterize a class by using a member variable? For instance, should I prefer this: abstract class A{ Class getType();} class B extends A { Class getType(){ return MyType.class; } { OR this: class A { A type; A(Class type){ this.type = type; } Class getType(){ return type; } } Its a compromise between larger on the wire object size and JS size. I am tempted to stick with the static approach to reduce on the wire size but wanted to double check here for any words of wisdom. --~--~-~--~~~---~--~~ 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: Refresh is not working on Hosted mode and in IE
so first your app is loaded in IE - everything's fine then you press the browsers refresh button and get a blank page? On Sep 24, 7:31 pm, Rahul bhatt rahul.anubh...@googlemail.com wrote: HI I am using GWT and GXT to develop a rich application. I get blank page while refreshing home page in Hosted mode as well as with Internet Explorer. this works fine when I use Fire fox every thing works fine Please help Regards Rahul --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
'Best practice' for unit testing servlets with init-params?
Hi guys, When unit testing a GWT app that uses servlets, it seems you cannot use the 'real' servlet definition in your app's web.xml. Instead you must put a 'servlet' element into your unit test's module.gwt.xml. However, the module.gwt.xml 'servlet' element is not as capable as the web.xml 'servlet' element. Specifically, it does not support init- params. So what is the 'best practice' for simulating my app's init-params? Is there a way in module.gwt.xml? Or is there a way in my servlet to detect I am running as a GWT unit test? Should I subclass my servlet to make a test version? 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: Refresh is not working on Hosted mode and in IE
as per the issue if it works for firefox then we can rule out. History object creating problem. what abt logs are you getting any error logs in hosted mode. error log will be silent if you have server side issue, but that should not also be your problem as it works for the first time, so GET is doing its job, on that point is your GET request re-entrant. if not then that can be your problem. thats the only thing i can assume can go wrong when nothining shows up when you hit refresh check for History object manipulation code , check for GET maybe you are expecting some cookie in your servlet i can think if only these two parameter to be the culprit in pure GWT environment On Fri, Sep 25, 2009 at 2:09 PM, mars1412 martin.trum...@24act.at wrote: so first your app is loaded in IE - everything's fine then you press the browsers refresh button and get a blank page? On Sep 24, 7:31 pm, Rahul bhatt rahul.anubh...@googlemail.com wrote: HI I am using GWT and GXT to develop a rich application. I get blank page while refreshing home page in Hosted mode as well as with Internet Explorer. this works fine when I use Fire fox every thing works fine Please help Regards Rahul --~--~-~--~~~---~--~~ 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: Compilation Error
u can not use these classes in GWT - client side, read the doc for the allowed class, more specifically, this is what you are allowed to use on GWT client side: http://code.google.com/webtoolkit/doc/1.6/RefJreEmulation.html //A --~--~-~--~~~---~--~~ 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: Working with JSNI $wnd
I'm afraid I lost you somewhere... Suppose I make a global var canvasname, what should I assign it to then? The problem is that this defineBridgeMethodSubmitDone() is static, while in the JS function I need to call a function on a specific object. The name of the object is cnv_fu1, so I think $wnd.cnv_fu1 would return me my object. I do have that name in the variable canvasname, but I can't work out how to get my object. If you were pointing at something else, feel free to explain, I don't understand fully right now. Regards, Steven On Sep 25, 11:48 am, rudolf michael roud...@gmail.com wrote: I guess that you have a scope problem. function(canvasname, filename) { } canvasname is not accessible from outside the method scope. In order to make it global, you need to define in in your html header. by addsing scriptvar canvasname;/script Then you access it from anywhere you like using $wnd from native GWT or by its name if you wanna hit it from normal js code. regards, ruds On Fri, Sep 25, 2009 at 12:41 PM, Steven De Groote stevendegro...@gmail.com wrote: Hi, I'm struggling a bit with JSNI and would like your help. I have defined the following: public static native void defineBridgeMethodSubmitDone() /*-{ $wnd.submitDone = function(canvasname, filename) { $wnd.alert(Upload done: + canvasname + - + filename); var cnv = $wnd.canvasname; $wnd.alert(Form object: + cnv); var myvar = c...@be.sofico.montelli.mmc.client.custom.widgets.upload.srafileupload ::submitDoneInternal (Ljava/lang/String;)(filename); $wnd.alert(Incoming: + file + Processed: + form); } }-*/; Here the canvasname is a string with value cnv_fu1 I have checked with firebug, and there exists a $wnd.cnv_fu1 in my application. However, I cannot work out how to access this object. var cnv = $wnd.canvasname; is not working as I think it doesn't take the value of canvasname, rather just the string canvasname. Does anyone know how to solve this itching issue? Thanks, Steven --~--~-~--~~~---~--~~ 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: Working with JSNI $wnd
Does this work: var cnv = eval($wnd. + canvasname); Steven De Groote wrote: I'm afraid I lost you somewhere... Suppose I make a global var canvasname, what should I assign it to then? The problem is that this defineBridgeMethodSubmitDone() is static, while in the JS function I need to call a function on a specific object. The name of the object is cnv_fu1, so I think $wnd.cnv_fu1 would return me my object. I do have that name in the variable canvasname, but I can't work out how to get my object. If you were pointing at something else, feel free to explain, I don't understand fully right now. Regards, Steven On Sep 25, 11:48 am, rudolf michael roud...@gmail.com wrote: I guess that you have a scope problem. function(canvasname, filename) { } canvasname is not accessible from outside the method scope. In order to make it global, you need to define in in your html header. by addsing scriptvar canvasname;/script Then you access it from anywhere you like using $wnd from native GWT or by its name if you wanna hit it from normal js code. regards, ruds On Fri, Sep 25, 2009 at 12:41 PM, Steven De Groote stevendegro...@gmail.com wrote: Hi, I'm struggling a bit with JSNI and would like your help. I have defined the following: public static native void defineBridgeMethodSubmitDone() /*-{ $wnd.submitDone = function(canvasname, filename) { $wnd.alert(Upload done: + canvasname + - + filename); var cnv = $wnd.canvasname; $wnd.alert(Form object: + cnv); var myvar = c...@be.sofico.montelli.mmc.client.custom.widgets.upload.srafileupload ::submitDoneInternal (Ljava/lang/String;)(filename); $wnd.alert(Incoming: + file + Processed: + form); } }-*/; Here the canvasname is a string with value cnv_fu1 I have checked with firebug, and there exists a $wnd.cnv_fu1 in my application. However, I cannot work out how to access this object. var cnv = $wnd.canvasname; is not working as I think it doesn't take the value of canvasname, rather just the string canvasname. Does anyone know how to solve this itching issue? Thanks, Steven --~--~-~--~~~---~--~~ 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: Working with JSNI $wnd
OK.when you create a function in javascript with parameters then the function will look like function(var1, var2){}, you can use those variables by their name directly there is no need to use the $wnd with the variable name unless the variable is defined as global/outside the method scope {} Now in your case if canvasname is passed as param to the function then you wont have to use $wnd in order to access it. but in case you need to store its value in order to use it somewhere else then you will need to create a global variable per page scope; therefore you will need to include it in your header tag scriptvar canvasnameval ;/script then inside your call back method you will do $wnd.canvasnameval = canvasname; Hope that this help. On Fri, Sep 25, 2009 at 2:08 PM, Paul Robinson ukcue...@gmail.com wrote: Does this work: var cnv = eval($wnd. + canvasname); Steven De Groote wrote: I'm afraid I lost you somewhere... Suppose I make a global var canvasname, what should I assign it to then? The problem is that this defineBridgeMethodSubmitDone() is static, while in the JS function I need to call a function on a specific object. The name of the object is cnv_fu1, so I think $wnd.cnv_fu1 would return me my object. I do have that name in the variable canvasname, but I can't work out how to get my object. If you were pointing at something else, feel free to explain, I don't understand fully right now. Regards, Steven On Sep 25, 11:48 am, rudolf michael roud...@gmail.com wrote: I guess that you have a scope problem. function(canvasname, filename) { } canvasname is not accessible from outside the method scope. In order to make it global, you need to define in in your html header. by addsing scriptvar canvasname;/script Then you access it from anywhere you like using $wnd from native GWT or by its name if you wanna hit it from normal js code. regards, ruds On Fri, Sep 25, 2009 at 12:41 PM, Steven De Groote stevendegro...@gmail.com wrote: Hi, I'm struggling a bit with JSNI and would like your help. I have defined the following: public static native void defineBridgeMethodSubmitDone() /*-{ $wnd.submitDone = function(canvasname, filename) { $wnd.alert(Upload done: + canvasname + - + filename); var cnv = $wnd.canvasname; $wnd.alert(Form object: + cnv); var myvar = c...@be.sofico.montelli.mmc.client.custom.widgets.upload.srafileupload ::submitDoneInternal (Ljava/lang/String;)(filename); $wnd.alert(Incoming: + file + Processed: + form); } }-*/; Here the canvasname is a string with value cnv_fu1 I have checked with firebug, and there exists a $wnd.cnv_fu1 in my application. However, I cannot work out how to access this object. var cnv = $wnd.canvasname; is not working as I think it doesn't take the value of canvasname, rather just the string canvasname. Does anyone know how to solve this itching issue? Thanks, Steven --~--~-~--~~~---~--~~ 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: SuggestBox manual override?
Hi Trevis, Can you please let me know how you managed to get it working. I dont have any custom suggest oracle class. I directly use MultiWordSuggestion and want a similar functionality of populating the suggestion box with all suggestions when the focus is on the suggestion box. Once the user enters any letter then the suggestions are filtered as per that letter. Any help will be appreciated. Nairutee --~--~-~--~~~---~--~~ 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: Problem In implementing Right Click for Mozilla in smartgwt
still it is not coming i have written this code for disabling default effect but then it is showing menu once only on right click and then on again clicking it is not coming - MarketWatchGrid.java package com.example.mytest.client; import com.google.gwt.dom.client.Element; import com.smartgwt.client.types.Visibility; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.IButton; import com.smartgwt.client.widgets.events.RightMouseDownEvent; import com.smartgwt.client.widgets.events.RightMouseDownHandler; import com.smartgwt.client.widgets.form.DynamicForm; import com.smartgwt.client.widgets.form.fields.FormItem; import com.smartgwt.client.widgets.form.fields.TextItem; import com.smartgwt.client.widgets.form.fields.ToolbarItem; import com.smartgwt.client.widgets.grid.ListGrid; import com.smartgwt.client.widgets.grid.ListGridField; import com.smartgwt.client.widgets.layout.VLayout; import com.smartgwt.client.widgets.menu.Menu; import com.smartgwt.client.widgets.menu.MenuItem; import com.smartgwt.client.widgets.menu.events.ClickHandler; import com.smartgwt.client.widgets.menu.events.MenuItemClickEvent; public class MarketWatchGrid extends Canvas implements RightMouseDownHandler { private Menu menu; private DynamicForm dynamicForm = new DynamicForm(); private ListGrid marketWatchGrid = new ListGrid(); public MarketWatchGrid() { final VLayout vLayout = new VLayout(); vLayout.setWidth100(); vLayout.setHeight100(); ToolbarItem toolbarItem = new ToolbarItem(); menu = new Menu(); menu.setShowShadow(true); menu.setShadowDepth(10); dynamicForm.setWidth(150); dynamicForm.setHeight(150); dynamicForm.setStyleName(vpLayout); dynamicForm.setTitle(Add Security); dynamicForm.hide(); final TextItem exchangeItem = new TextItem(); exchangeItem.setTitle(Exchange); exchangeItem.setRequired(true); final TextItem settlementItem = new TextItem(); settlementItem.setTitle(Settlement Type); settlementItem.setRequired(true); final TextItem securityNameItem = new TextItem(); securityNameItem.setTitle(Security Type); securityNameItem.setRequired(true); IButton clearButton = new IButton(); clearButton.setTitle(Clear); IButton submitButton = new IButton(); submitButton.setTitle(Submit); IButton cancelButton = new IButton(); cancelButton.setTitle(Cancel); toolbarItem.setButtons(clearButton, submitButton, cancelButton); dynamicForm.setFields(new FormItem[] { exchangeItem, settlementItem, securityNameItem, toolbarItem }); marketWatchGrid.setWidth100(); marketWatchGrid.setHeight100(); marketWatchGrid.setAlternateRecordStyles(true); marketWatchGrid.setShowAllRecords(true); ListGridField exchangeNameField = new ListGridField(exchangeName, ExchangeName); ListGridField securityNameField = new ListGridField(securityName, Security Name); ListGridField securityCodeField = new ListGridField(securityCode, Security Code); ListGridField changeField = new ListGridField(change, Change); ListGridField bidQtyField = new ListGridField(bidQty, Bid Qty); ListGridField bidPriceField = new ListGridField(bidPrice, Bid Price); ListGridField askPriceField = new ListGridField(askPrice, Ask Price); ListGridField askQtyField = new ListGridField(askQty, AskQty); ListGridField lastTradedPriceField = new ListGridField( lastTradedPrice, Last Traded Price); ListGridField netChangeField = new ListGridField(netChange, Net Change); ListGridField preClosingPriceField = new ListGridField( preClosingPrice, Pre Closing Price); ListGridField totalTurnOverField = new ListGridField (totalTurnOver, Total TurnOver); ListGridField openingPriceField = new ListGridField(openingPrice, Opening Price); ListGridField dayLowField = new
Re: Input Validation
Dude , thanks a ton. its a gud idea to work on :) thanks again On Sep 23, 7:18 pm, monk3y darkside...@hotmail.com wrote: Expanding on what Geraldo already said you can have the following Button saveBtn = new Button(Save) saveBtn.addClickHandler( new ClickHandler() { public void onClick(Event event) { if(checkData()){ form.submit(); }else{ //no submit } } } }); public boolean checkData(){ if(nameEditBox.getText().trim().equals()){ Window.alert(Name can not be blank); return false; } if(phoneBox.getText().trim().equals()){ Window.alert(Phone can not be blank); return false; } return true; } You get the idea :). On Sep 23, 3:27 am, Geraldo Lopes geraldo...@gmail.com wrote: mohan, At client you can put an event on button that advises the user to enter proper information. Button saveBtn = new Button(Save) saveBtn.addClickHandler( new ClickHandler() { public void onClick(Event event) { if (nameEditBox.getText().equals()) { Window.alert(bla bla bla) return; } } }); if thevalidationdepends on the server you can use gwt rpc mechanism to achieve that http://code.google.com/intl/en/webtoolkit/doc/1.6/DevGuideServerCommu... Good Luck, Geraldo On 22 set, 06:49, mohan yen.mo...@gmail.com wrote: Hi, I am very new to GWT. I have a form with Name,phone and email. I need to validate theinput. How can i do that? Kindly guide me. Thanks in advance. Cheers!!! Mohan --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
using affine transformations in GWT
Hi, i want to use affine transformations in Google Web Toolkit... How do i do that? In AWT it's easy using the Graphics2D Object... thx --~--~-~--~~~---~--~~ 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: Cookies and RPC
excellent, thanks for the information! On Sep 24, 3:37 pm, Sripathi Krishnan sripathi.krish...@gmail.com wrote: And if you want to access cookies on the server side , do this within your RPC Servlet HttpServletRequest request = getThreadLocalRequest(); request.getCookies(); --Sri 2009/9/24 Dominik Steiner dominik.j.stei...@googlemail.com Tom, this code has to be on client side (GWT code). HTH Dominik Yep, I found that API when I did a Google Search ... So, I tried the code: String cookie = Cookie.getCookie (myCookieName); And I must have got some sort of error, because my code stopped, and there were no other log statements. So, I guess I was asking if this code has to be on the client side, server side, or both? Thanks! Tom On Sep 23, 11:01 pm, Dominik Steiner dominik.j.stei...@googlemail.com wrote: Hi Tom, not sure I understand yourcookiequestion, but in GWT you can query for cookies using the class com.google.gwt.user.client.Cookie and there have a look at the method /** * Gets thecookieassociated with the given name. * * @param name the name of thecookieto be retrieved * @return thecookie'svalue, or codenull/code if thecookie doesn't exist */ public static String getCookie(String name) So in your GWT code you would check if acookieexists like this Stringcookie=Cookie.getCookie(myCookieName); if(cookie!= null){ //cookieexists } HTH Dominik On 23 Sep., 12:00, Thomas Holmes thomas.j.hol...@gmail.com wrote: I have the demo StockWatcher Application working. I have client/ server side code working for the most part. I can use a Spring DAO class, make a call to the database to get Hibernate POJO's, and then convert that data to GWT-RPC DTO classes ... seems to work ok. I am using a TestAdvDataSource demo app for SmartGWT and GWT-RPC DataSource, and it is coming along well. Just having a few issues getting the data to appear, but I am working on that. So ... the question is, in my existing Spring Application, a user is capable of signing on and I put the users ID in acookie. So, where do I get thecookie? Do I get it from the server/TestServiceImpl code? I expect I would get the cookies from the request, and be able to use that data to filter what I want from the database. Or, would I get thecookiein the client/TestDataSource code and then pass that as an argument to the server/TestServiceImpl? Thanks! Tom --~--~-~--~~~---~--~~ 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: Cookies and RPC
excellent, I do appreciate the help. Thanks very much! On Sep 24, 10:31 am, Dominik Steiner dominik.j.stei...@googlemail.com wrote: Tom, this code has to be on client side (GWT code). HTH Dominik Yep, I found that API when I did a Google Search ... So, I tried the code: String cookie = Cookie.getCookie (myCookieName); And I must have got some sort of error, because my code stopped, and there were no other log statements. So, I guess I was asking if this code has to be on the client side, server side, or both? Thanks! Tom On Sep 23, 11:01 pm, Dominik Steiner dominik.j.stei...@googlemail.com wrote: Hi Tom, not sure I understand yourcookiequestion, but in GWT you can query forcookiesusing the class com.google.gwt.user.client.Cookie and there have a look at the method /** * Gets thecookieassociated with the given name. * * @param name the name of thecookieto be retrieved * @return thecookie'svalue, or codenull/code if thecookie doesn't exist */ public static String getCookie(String name) So in your GWT code you would check if acookieexists like this Stringcookie=Cookie.getCookie(myCookieName); if(cookie!= null){ //cookieexists } HTH Dominik On 23 Sep., 12:00, Thomas Holmes thomas.j.hol...@gmail.com wrote: I have the demo StockWatcher Application working. I have client/ server side code working for the most part. I can use a Spring DAO class, make a call to the database to get Hibernate POJO's, and then convert that data to GWT-RPC DTO classes ... seems to work ok. I am using a TestAdvDataSource demo app for SmartGWT and GWT-RPC DataSource, and it is coming along well. Just having a few issues getting the data to appear, but I am working on that. So ... the question is, in my existing Spring Application, a user is capable of signing on and I put the users ID in acookie. So, where do I get thecookie? Do I get it from the server/TestServiceImpl code? I expect I would get thecookiesfrom the request, and be able to use that data to filter what I want from the database. Or, would I get thecookiein the client/TestDataSource code and then pass that as an argument to the server/TestServiceImpl? Thanks! Tom --~--~-~--~~~---~--~~ 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: Does FileUpload/FormPanel not work in hosted mode?
This subtle difference did the trick -- thanks! On Thu, Sep 24, 2009 at 5:07 PM, David Durham david.durham...@gmail.com wrote: You already called: formPanel.setWidget(flexTable) then you called: // vPanel is from superclass which extends Composite vPanel.add(flexTable); vPanel.add(errorLabel); vPanel.add(formPanel); adding the flexTable, and adding the formPanel, try removing the call to add(flexTable) and see what happens --~--~-~--~~~---~--~~ 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: Working with JSNI $wnd
Yep, thanks a lot Paul! Now the alert shows me: Form object: [Canvas ID:cnv_fu1] Looks good to me, until I try this: var myvar = c...@be.sofico.montelli.mmc.client.custom.widgets.upload.srafileupload::submitDoneInternal (Ljava/lang/String;)(filename); I do have this defined on SRAFileUpload though: public int submitDoneInternal(String filename) { SRALogUtil.debug(submitDoneInternal called on form + uploadTargetId); return 10; } The generated JS looks like this: function defineBridgeMethodSubmitDone(){ $wnd.submitDone = function(canvasname, filename){ $wnd.alert('Upload done: ' + canvasname + ' - ' + filename); var cnv = eval('$wnd.' + canvasname); $wnd.alert('Form object: ' + cnv); var myvar = cnv.submitDoneInternal(filename); $wnd.alert('Incoming: ' + filename + ' Processed: ' + canvasname + ' Result: ' + myvar); } ; } function submitDoneInternal(filename){ $clinit_907(); $debug(impl, 'submitDoneInternal called on form ' + this.uploadTargetId, null); return 10; } Surprisingly, I get JS error submitDoneInternal is not a function. Any ideas on this? On Sep 25, 1:08 pm, Paul Robinson ukcue...@gmail.com wrote: Does this work: var cnv = eval($wnd. + canvasname); Steven De Groote wrote: I'm afraid I lost you somewhere... Suppose I make a global var canvasname, what should I assign it to then? The problem is that this defineBridgeMethodSubmitDone() is static, while in the JS function I need to call a function on a specific object. The name of the object is cnv_fu1, so I think $wnd.cnv_fu1 would return me my object. I do have that name in the variable canvasname, but I can't work out how to get my object. If you were pointing at something else, feel free to explain, I don't understand fully right now. Regards, Steven On Sep 25, 11:48 am, rudolf michael roud...@gmail.com wrote: I guess that you have a scope problem. function(canvasname, filename) { } canvasname is not accessible from outside the method scope. In order to make it global, you need to define in in your html header. by addsing scriptvar canvasname;/script Then you access it from anywhere you like using $wnd from native GWT or by its name if you wanna hit it from normal js code. regards, ruds On Fri, Sep 25, 2009 at 12:41 PM, Steven De Groote stevendegro...@gmail.com wrote: Hi, I'm struggling a bit with JSNI and would like your help. I have defined the following: public static native void defineBridgeMethodSubmitDone() /*-{ $wnd.submitDone = function(canvasname, filename) { $wnd.alert(Upload done: + canvasname + - + filename); var cnv = $wnd.canvasname; $wnd.alert(Form object: + cnv); var myvar = c...@be.sofico.montelli.mmc.client.custom.widgets.upload.srafileupload ::submitDoneInternal (Ljava/lang/String;)(filename); $wnd.alert(Incoming: + file + Processed: + form); } }-*/; Here the canvasname is a string with value cnv_fu1 I have checked with firebug, and there exists a $wnd.cnv_fu1 in my application. However, I cannot work out how to access this object. var cnv = $wnd.canvasname; is not working as I think it doesn't take the value of canvasname, rather just the string canvasname. Does anyone know how to solve this itching issue? Thanks, Steven --~--~-~--~~~---~--~~ 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: help on my small project
Hi derrck What i usually do is create a DockPanel, then set the width and height to 100% and stick my login box in the center panel of the DockPanel. TextBox login=new TextBox(); Dockpanel myDock=new DockPanel() myDock.setSize(100%,100%); myDock.add(login,DockPanel.CENTER); Something like that should do the trick. On Sep 25, 11:37 am, Derrick Xiang derrick.xi...@gmail.com wrote: Sorry to clarify, i am not using a dialogbox, i want my rootpanel to be centralized in the web page, as I previewed, it's always located at the top left corner. Regards, Derrick On Sep 25, 3:47 pm, Norman Maurer nor...@apache.org wrote: Hi Parvez, just a note.. Hupa moved to james.apache.org as subproject (I'm just in preparations to deploy the website). The website can be found ( after I finished the work) underhttp://james.apache.org/hupa. The svn repos is: http://svn.apache.org/repos/asf/james/hupa Bye, Norman Ps: README.txt should include everything to get it running ;) 2009/9/25 Parvez Shah parvezs...@gmail.com: If you are new to GWT based development my suggestion is learn from project HUPA http://svn.apache.org/repos/asf/labs/hupa its based on pretty good architecture and in my experience you straight lift lot of initial Boiler plate code. In my view dont get too much into running its ok if you cant run it, just read the code starting from entry point and you will be good to go . as far as your query goes its simple dialogbox.center and dialogbox.show/hide will do. On Fri, Sep 25, 2009 at 6:52 AM, Derrick Xiang derrick.xi...@gmail.com wrote: Hi all, I am quite new to GWT development, now am struggling in a small web application, my application include a lot of GUI. while, I got two questions here, 1). How can centralize the application on the final web page? e.g. I create a login window which is quite small, when I preview on the web page, it's not in the center of the page, how can i capture the web page size in my java code? 2). As the application has a lot of GUI, how should I switch between different windows? e.g. after login, the main window should display and the login window should be hide, how to do this? thanks for your attention, any comments are appreciate. Regards, Derrick --~--~-~--~~~---~--~~ 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: Embedded viewer for pdf
Hi Looks like their pages are actually pdf scanned images(.jpg). So its would be really simple to implement. User clicks on a book server gets a list/Map of pages(images) urls, serves it to the client Image page=new Image(); page.setUrl(responseFromServer.get(i)); Something toward that effect. let me know if you need more info. On Sep 24, 8:22 pm, marypfc 4pf...@gmail.com wrote: I have to develop a web application and I am thinking about using GWT for the first time. The requirements specification states that pdf files should be displayed and a google books way is preferred. I was wondering if this style is possible and if so, how. Otherwise, any other suggestion to display pdf files would be welcome. Thank you! --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Help - my web site based on GWT fails to load in IE8
I have just finished to develop a web site that is mostly written in GWT. During a non-trivial load that contains many panels and widgets build, asynchronous server requests for grabbing information from DB and XML file contents, it fails in IE8 on adding the main Composite object to the root panel with unclear JavaScript message. In Firefox and IE7 it works fine. How can I get information about the failure cause ? and this is, actually, a general question - How can I get information where is the failure in my Java classes when at runtime all Java classes are compiled to JS ? It looks like a nightmare when everything works at development environment where you can debug the Java code but it fails on runtime with an error that tells you nothing about the real problem. Thanks in advance Itzik Yatom --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
resizable dialog box
Hi, I want to make a Dialog box component resizable. But I could not make it work yet. I have 2 ideas I am working on right now. 1) if I understant it right DialogBox gets the size of components it contains. so if I can find a panel that can be resized I could put it in Dialog box so when I resize panel Dialogbox will be resized with it. But I could not find any resizable panel.(I think it does not exist yet :) ) 2) I somehow use events. But I could not find anythig useful yet. thanks in advance 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 -~--~~~~--~~--~--~---
advantages of hibernate
Hi guys! I'm new in GWT... I want to create a web app that will show a table from a database and I would like to know if I should use Hibernate and not the usual way in Java of fetching data from DB (i.e. resultset)? What are its advantages? thanks in advance for any information you'll give... :D --~--~-~--~~~---~--~~ 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: New GWT event system performance problems during onMouseMove
Hi, all! Have the same problem when use: onMouseMove(MouseMoveEvent event) Also interesting cast question cause use a lot of casts in my table. --~--~-~--~~~---~--~~ 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 Trunk UiBinder and UiHandler
Recently i have been investigating UiBinder, i must say that it makes life a great deal easier. I have however come across a problem when using @UiHandler method annotations where the event type is a generic type. The following is a simple example of the sort of method annotated that causes a problem. @UiHandler(checkBox) public void handleEvent(final ValueChangeEventBoolean event) { /* handle the checkbox changing */; } The error received during compilation is as follows. Invoking generate-with class='com.google.gwt.uibinder.rebind.UiBinderGenerator'/ [WARN] The method 'getAssociatedType()' in 'ValueChangeEvent' does not return Type? extends EventHandler. [ERROR] Parameter 'ValueChangeEvent' is not an event (subclass of GwtEvent). Is this expected behaviour? Andrew. --~--~-~--~~~---~--~~ 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: Embedded viewer for pdf
try google docs viewer http://docs.google.com/viewer On Fri, Sep 25, 2009 at 7:26 PM, monk3y darkside...@hotmail.com wrote: Hi Looks like their pages are actually pdf scanned images(.jpg). So its would be really simple to implement. User clicks on a book server gets a list/Map of pages(images) urls, serves it to the client Image page=new Image(); page.setUrl(responseFromServer.get(i)); Something toward that effect. let me know if you need more info. On Sep 24, 8:22 pm, marypfc 4pf...@gmail.com wrote: I have to develop a web application and I am thinking about using GWT for the first time. The requirements specification states that pdf files should be displayed and a google books way is preferred. I was wondering if this style is possible and if so, how. Otherwise, any other suggestion to display pdf files would be welcome. Thank you! --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
ClosingHandler to prevent user from navigating away
Hi, I have a classical situation where the user is trying to navigate away from a page while some of his works are not saved. How do I stop him from doing that. I tried to use the ClosingHandler, but unlike the deprecated closing Listener it does not give me the option to stop the event. 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 -~--~~~~--~~--~--~---
Re: Working with JSNI $wnd
On 25 sep, 13:08, Paul Robinson ukcue...@gmail.com wrote: Does this work: var cnv = eval($wnd. + canvasname); argl! Please: var cnv = $wnd[canvasname]; --~--~-~--~~~---~--~~ 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: AccessControlExeption: Access Denied
Hey, Ax and I are working on this together, so I wanted to thank you all for the replies. We got it working with all the help. Thanks!! On Sep 24, 3:39 pm, David Durham david.durham...@gmail.com wrote: On Thu, Sep 24, 2009 at 2:34 PM, Sripathi Krishnan sripathi.krish...@gmail.com wrote: This is related to Google App Engine, so you should send this email to that forum. That said, Google App Engine has certain restrictions - you cannot access a file except those that are a part of your war file. In this case, the file is a part of your file, but you are accessing it as a normal file system resource. Perhaps you should put it in your WEB-INF/classes folder, and then access the file using this.getClass().getClassLoader().getResourceAsStream() method. Here's an example appengine servlet that loads data web-inf/classes: http://code.google.com/p/gxtforms/source/browse/trunk/gxtforms-demo/s... --~--~-~--~~~---~--~~ 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: Usage Scenario
On 25 sep, 07:48, tin nitingupta...@gmail.com wrote: I am planning to use GWT in an already existing HTML GUI. I would request the group to point me to best practices for using GWT in this manner. Basically I am trying to make use of my existing MVC application and want to add the AJAX functionality to my existing HTML widgets using GWT. I will be doing no or very little markup in GWT and will mainly be accessing my HTML widgets using their IDs. Have a look at that: http://code.google.com/events/io/sessions/ProgressivelyEnhanceAjaxApps.html --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Adding Maps Script Tag Options
Ok, I am a MAPs novice, and having some trouble understanding where to add the scripts tag (I think this is for the API Key??) for my GWT project. The maps getting started tutorial provides a sample, which I don't think can possibly be right as written: script src=http://maps.google.com/maps? gwt=1amp;file=apiamp;v=2amp;sensor=false / First question: I believe this tag goes in the project's gwt.xml file, yes? Second question: if I am running local host for the time-being, what is the proper syntax for the tag (pretty sure above is not correct)? thanks for any 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 -~--~~~~--~~--~--~---
Re: Error installing Google Plugin on Galileo
I get the same problem... did you find a solution? Thanks On Sep 24, 8:18 pm, Ben Brown taipei...@gmail.com wrote: With a clean install of Galileo, I get the following error when installing using the update site:http://dl.google.com/eclipse/plugin/3.5 An error occurred while collecting items to be installed session context was:(profile=epp.package.java, phase=org.eclipse.equinox.internal.provisional.p2.engine.phases.Collect, operand=, action=). No repository found containing: osgi.bundle,org.eclipse.ant.ui, 3.4.1.v20090901_r351 No repository found containing: osgi.bundle,org.eclipse.cvs, 1.0.300.v200909170800 No repository found containing: osgi.bundle,org.eclipse.jdt, 3.5.1.v200909170800 No repository found containing: osgi.bundle,org.eclipse.jdt.apt.core, 3.3.201.R35x_v20090818-0235 No repository found containing: osgi.bundle,org.eclipse.jdt.apt.pluggable.core, 1.0.201.R35x_v20090818-0225 No repository found containing: osgi.bundle,org.eclipse.jdt.compiler.apt,1.0.201.R35x_v20090825-1530 No repository found containing: osgi.bundle,org.eclipse.jdt.compiler.tool,1.0.100.v_972_R35x No repository found containing: osgi.bundle,org.eclipse.jdt.core, 3.5.1.v_972_R35x No repository found containing: osgi.bundle,org.eclipse.jdt.debug.ui, 3.4.1.v20090811_r351 No repository found containing: osgi.bundle,org.eclipse.jdt.doc.user, 3.5.1.r351_v20090821-0800 No repository found containing: osgi.bundle,org.eclipse.jdt.junit, 3.5.1.r351_v20090708-0800 No repository found containing: osgi.bundle,org.eclipse.jdt.ui, 3.5.1.r351_v20090821-0800 No repository found containing: osgi.bundle,org.eclipse.team.cvs.ui, 3.3.201.R35x_v20090826-0905 No repository found containing: osgi.bundle,org.eclipse.ui.views.log, 1.0.100.v20090731 No repository found containing: osgi.bundle,org.junit4,4.5.0.v20090824 No repository found containing: org.eclipse.update.feature,org.eclipse.cvs, 1.1.101.R35x_v20090811-7E79FEd9KKF5H2YDWFLLBL01A16 No repository found containing: binary,org.eclipse.cvs_root, 1.1.101.R35x_v20090811-7E79FEd9KKF5H2YDWFLLBL01A16 No repository found containing: org.eclipse.update.feature,org.eclipse.jdt, 3.5.1.r351_v20090810-0600-7r88FEoFI0WTo6Az-1qFRHm37ChJ No repository found containing: binary,org.eclipse.jdt_root, 3.5.1.r351_v20090810-0600-7r88FEoFI0WTo6Az-1qFRHm37ChJ --~--~-~--~~~---~--~~ 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: Problem In implementing Right Click for Mozilla in smartgwt
I had asked you to post SmartGWT related questions on the SmatGWT forums and yet you post your question here?? On Fri, Sep 25, 2009 at 8:13 AM, Niks sharma.sweet...@gmail.com wrote: still it is not coming i have written this code for disabling default effect but then it is showing menu once only on right click and then on again clicking it is not coming - MarketWatchGrid.java package com.example.mytest.client; import com.google.gwt.dom.client.Element; import com.smartgwt.client.types.Visibility; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.IButton; import com.smartgwt.client.widgets.events.RightMouseDownEvent; import com.smartgwt.client.widgets.events.RightMouseDownHandler; import com.smartgwt.client.widgets.form.DynamicForm; import com.smartgwt.client.widgets.form.fields.FormItem; import com.smartgwt.client.widgets.form.fields.TextItem; import com.smartgwt.client.widgets.form.fields.ToolbarItem; import com.smartgwt.client.widgets.grid.ListGrid; import com.smartgwt.client.widgets.grid.ListGridField; import com.smartgwt.client.widgets.layout.VLayout; import com.smartgwt.client.widgets.menu.Menu; import com.smartgwt.client.widgets.menu.MenuItem; import com.smartgwt.client.widgets.menu.events.ClickHandler; import com.smartgwt.client.widgets.menu.events.MenuItemClickEvent; public class MarketWatchGrid extends Canvas implements RightMouseDownHandler { private Menu menu; private DynamicForm dynamicForm = new DynamicForm(); private ListGrid marketWatchGrid = new ListGrid(); public MarketWatchGrid() { final VLayout vLayout = new VLayout(); vLayout.setWidth100(); vLayout.setHeight100(); ToolbarItem toolbarItem = new ToolbarItem(); menu = new Menu(); menu.setShowShadow(true); menu.setShadowDepth(10); dynamicForm.setWidth(150); dynamicForm.setHeight(150); dynamicForm.setStyleName(vpLayout); dynamicForm.setTitle(Add Security); dynamicForm.hide(); final TextItem exchangeItem = new TextItem(); exchangeItem.setTitle(Exchange); exchangeItem.setRequired(true); final TextItem settlementItem = new TextItem(); settlementItem.setTitle(Settlement Type); settlementItem.setRequired(true); final TextItem securityNameItem = new TextItem(); securityNameItem.setTitle(Security Type); securityNameItem.setRequired(true); IButton clearButton = new IButton(); clearButton.setTitle(Clear); IButton submitButton = new IButton(); submitButton.setTitle(Submit); IButton cancelButton = new IButton(); cancelButton.setTitle(Cancel); toolbarItem.setButtons(clearButton, submitButton, cancelButton); dynamicForm.setFields(new FormItem[] { exchangeItem, settlementItem, securityNameItem, toolbarItem }); marketWatchGrid.setWidth100(); marketWatchGrid.setHeight100(); marketWatchGrid.setAlternateRecordStyles(true); marketWatchGrid.setShowAllRecords(true); ListGridField exchangeNameField = new ListGridField(exchangeName, ExchangeName); ListGridField securityNameField = new ListGridField(securityName, Security Name); ListGridField securityCodeField = new ListGridField(securityCode, Security Code); ListGridField changeField = new ListGridField(change, Change); ListGridField bidQtyField = new ListGridField(bidQty, Bid Qty); ListGridField bidPriceField = new ListGridField(bidPrice, Bid Price); ListGridField askPriceField = new ListGridField(askPrice, Ask Price); ListGridField askQtyField = new ListGridField(askQty, AskQty); ListGridField lastTradedPriceField = new ListGridField( lastTradedPrice, Last Traded Price); ListGridField netChangeField = new ListGridField(netChange, Net Change); ListGridField preClosingPriceField = new ListGridField( preClosingPrice, Pre Closing Price); ListGridField totalTurnOverField = new ListGridField (totalTurnOver,
list serialization
Hi, Quick question about serialization: If I have something to be serialized with the following type defined: private ListObject resultList gwt gives me a serialization error, but if I take away the Object tag: private List resultList it works fine. I'm a bit worried that I'm breaking a rule somehow, and if things get tightened up in a future version, my app might break. Can someone please shed a little light on this for me? Thanks, Mark --~--~-~--~~~---~--~~ 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: Working with JSNI $wnd
@Thomas Broyer: Both solutions work for retrieving the cnv object, but I still can't call the submitDoneInternal() ... Any ideas welcome! Steven On Sep 25, 4:17 pm, Thomas Broyer t.bro...@gmail.com wrote: On 25 sep, 13:08, Paul Robinson ukcue...@gmail.com wrote: Does this work: var cnv = eval($wnd. + canvasname); argl! Please: var cnv = $wnd[canvasname]; --~--~-~--~~~---~--~~ 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: CSS Reference Book
GWT doesnt support any version of CSS. You must decide which browsers you want your applications to support, and then look at each of the browsers' (slightly different) implementation of CSS. Most support almost all of CSS 2.1, while many are quickly adopting more and more bits of CSS3 On Sep 24, 5:55 pm, JamesEston jdrinka...@gmail.com wrote: So I take that to assume GWT 1.6 uses CSS 2.1? Thanks for the other responses as well! On Sep 23, 6:40 pm, Jim Douglas jdoug...@basis.com wrote: Also, the CSS 2.1 draft spec is available here: http://www.w3.org/TR/CSS2/ On Sep 23, 3:35 pm, Neha Chachra neha.chac...@gmail.com wrote: HiJames, I was recommended this book: CSS The Definitive Guidehttp://www.amazon.com/CSS-Definitive-Guide-Eric-Meyer/dp/0596527330/r... for learning CSS. Also, to deal with browser/system dependent bugs,http://www.quirksmode.org/isapretty useful resource. -Neha nay-ha On Wed, Sep 23, 2009 at 1:18 PM,Jamesjdrinka...@gmail.com wrote: Hello All, I'm a java dev that is working with GWT now and was wondering if there was a CSS book that would help me with the stylesheets as I've never been a web designer and don't have much experience with it. Also, what CSS version does GWT 1.6 support? That is the version we are using. Thanks, JamesEston --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
not removing event handlers -- bad practice?
When registering handlers that may live on after the source widget is removed from GUI, is it acceptable to never explicitly release the handler relationship? If it was plain Java, the answer would be yes, because the handler would not have references to the source and therefore would not preclude it from being garbage-collected. However, I'm not sure what happens in the GWT Javascript handler mechanism. --~--~-~--~~~---~--~~ 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 affine transformations in GWT
Stephan wrote: [...] i want to use affine transformations in Google Web Toolkit... How do i do that? GWT has no graphics toolkit --- you can't actually *draw* anything other than inserting HTML into your document. So if you're wanting to transform graphics, you can't do that. Or did you have something else in mind? If you just want to apply a transformation to a vector, there's no reason why you couldn't write some code to do it --- it's not hard. What do you actually want to do? -- ┌─── dg@cowlark.com ─ http://www.cowlark.com ─ │ │ They laughed at Newton. They laughed at Einstein. Of course, they │ also laughed at Bozo the Clown. --- Carl Sagan --~--~-~--~~~---~--~~ 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: Migration from 1.5 to 1.6 and 1.7
Thanks for posting this, it definitely saved me a couple of hours of aggravation. Removing the xerces jar fixed the problem for me. On Aug 21, 12:59 pm, Sumit Chandel sumitchan...@google.com wrote: Hi Erik, Are you using XercesImpl classes in your actual application code? If not, try removing it from your project and hosted mode launch configuration classpath and see if the error still occurs. You mentioned that you tried adding it, which suggests that it wasn't present the first time it occurred. In such a case, this may be an issue with GWT in that XercesImpl classes are bundled and property files that Xerces depends on may have different values, or it could also be an issue with the Apache module you're using if it uses Xerces and also defines different property files. In any case, please let me know the scenarios under which you reproduced this issue to follow-up from there. Cheers, -Sumit Chandel On Tue, Aug 18, 2009 at 5:12 AM, erikhedb erik.hedb...@tarinfo.com wrote: Hello, I am trying to migrate from GWT 1.5 on Mac to 1.7 and keep running into this error when stating hosted mode. I also switched to 1.6 and the same error occurs there. I did try to add xercesImpl.jar but the problem is still there. Any clues to what is going on? Thanx /Erik Hedblom [WARN] Error deploying web application directory ROOT javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.DocumentBuilderFactoryImpl not found at javax.xml.parsers.DocumentBuilderFactory.newInstance (DocumentBuilderFactory.java:104) at org.apache.commons.modeler.util.DomUtil.readXml(DomUtil.java:284) at org.apache.commons.modeler.modules.MbeansDescriptorsDOMSource.execute (MbeansDescriptorsDOMSource.java:130) at org.apache.commons.modeler.modules.MbeansDescriptorsDOMSource.loadDescriptors (MbeansDescriptorsDOMSource.java:120) at org.apache.commons.modeler.Registry.load(Registry.java:819) at org.apache.commons.modeler.Registry.loadDescriptors(Registry.java: 931) --~--~-~--~~~---~--~~ 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 can GWT handle real time data?
I want to know how GWT handles real time data? For example, a text field of a web page needs to display real time data got from the server, this means once the server receives real time data, it will send to the web page and the text field of the web page gets updated. Can GWT handle this and how? 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: buttons in the title bar
This code, you add the time or had already done? What GWT libraries you care? For code that you sent me I can not find. There are some parts that still accuse error here in my IDE. thanks! On 25 set, 05:13, Parvez Shah parvezs...@gmail.com wrote: maybe this will help you put the title area on top of your window; that add code will depend on what kind of layout you are using on window HorizontalPanel titleArea = new HorizontalPanel(); titleArea .setSize(100%,100%); HorizontalPanel leftSide= new HorizontalPanel(); leftSide.setSpacing(5); leftSide.add(new PushButton(button)): leftSide.add(new PushButton(button)): leftSide.add(new PushButton(button)): leftSide.add(new PushButton(button)): titleArea .add(leftSide); HorizontalPanel rightSide= new HorizontalPanel(); rightSide.setSpacing(5); rightSide.add(new PushButton(button)): rightSide.add(new PushButton(button)): rightSide.add(new PushButton(button)): rightSide.add(new PushButton(button)): titleArea .add(rightSide); titleArea .setCellHorizontalAlignment(rightSide, HasHorizontalAlignment.ALIGN_RIGHT); On Thu, Sep 24, 2009 at 11:48 PM, erico_morta...@hotmail.com erico_morta...@hotmail.com wrote: I want to create a window with eight buttons in the title bar using the GWT. The buttons do not need to have any event. Four are on the left side and four on the right. Could someone help me? 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: How to listen events for stack panel?
Jie, Subclass the StackPanel and override the showStack method: @Override public void showStack(int index) { super.showStack(index); // display your information } You could also add more methods to allow adding handlers/listeners if you want. HTH, Chad On Sep 24, 9:00 pm, Jie kgds...@tianya.cn wrote: Hi all, I created a stack panel, and I'd like to display some information when user clicks each header of the stack panel, but I can not find addListener() method for the stack panel, do you know how to add the listner for such events? Best Regards, Jie --~--~-~--~~~---~--~~ 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: building trunk version of gwt
OK, I figured out you need to chekc the tools project. But the credentials anonymous/anonymous do not work. Isn't this what it means to log in anonymously? Thanks. On Sep 25, 12:27 pm, badgerduke badgerd...@gmail.com wrote: Hello: I don't often checkout source code and try to build it so please excuse any ignorance I might display . . . Today I checked out the trunk and tried to build it using build.xml in the build-tools directory. I set the GWT_TOOLS environmental variable to the tools directory. I received a ton of compiler errors like: [gwt.javac] ^ [gwt.javac] C:\gwt\build-tools\customchecks\src\com\google\gwt \checkstyle\OrderC heck.java:209: cannot find symbol [gwt.javac] symbol : variable TokenTypes [gwt.javac] location: class com.google.gwt.checkstyle.OrderCheck [gwt.javac] if (aAST.findFirstToken(TokenTypes.LITERAL_STATIC) != null) { [gwt.javac] ^ [gwt.javac] 46 errors It seems like there shouldn't be errors here. Is there something I'm missing? 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: ClosingHandler to prevent user from navigating away
make sure you use ClosingHandler and not CloseHandler... if a ClosingEvent arises set a message on the event - this will cause the browser to show a dialog with your message where the user have to confirm that he wants to leave the page On 25 Sep., 16:22, Marcelo Sena marceloslace...@gmail.com wrote: Hi, I have a classical situation where the user is trying to navigate away from a page while some of his works are not saved. How do I stop him from doing that. I tried to use the ClosingHandler, but unlike the deprecated closing Listener it does not give me the option to stop the event. 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 -~--~~~~--~~--~--~---
Re: building trunk version of gwt
No. You should not be asked for credentials. Make sure you aren't using https. On Sep 25, 5:41 pm, John (Eric) Hamacher badgerd...@gmail.com wrote: OK, I figured out you need to chekc the tools project. But the credentials anonymous/anonymous do not work. Isn't this what it means to log in anonymously? Thanks. On Sep 25, 12:27 pm, badgerduke badgerd...@gmail.com wrote: Hello: I don't often checkout source code and try to build it so please excuse any ignorance I might display . . . Today I checked out the trunk and tried to build it using build.xml in the build-tools directory. I set the GWT_TOOLS environmental variable to the tools directory. I received a ton of compiler errors like: [gwt.javac] ^ [gwt.javac] C:\gwt\build-tools\customchecks\src\com\google\gwt \checkstyle\OrderC heck.java:209: cannot find symbol [gwt.javac] symbol : variable TokenTypes [gwt.javac] location: class com.google.gwt.checkstyle.OrderCheck [gwt.javac] if (aAST.findFirstToken(TokenTypes.LITERAL_STATIC) != null) { [gwt.javac] ^ [gwt.javac] 46 errors It seems like there shouldn't be errors here. Is there something I'm missing? 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: SmartGWT Extensions
Yep, I tried those forums and have left many messages over there. Some have gotten replies, and many have not ... that is VERY frustrating. So, I just figured someone over here might know something about the smartgwt-extensions, specifically the gwtrpcds (gwt rpc datasource). On Sep 24, 4:58 pm, tall dave da...@lorgeousdays.com wrote: might try the smartclient forums -http://forums.smartclient.com. they have one specific toSmartGWT, believe the authors are pretty active on it. there's a sticky thread - GWT-RPC DataSource implementation with sample code. using that i was able to build a GWT-RPC datasource successfully. On Sep 24, 1:35 pm, Thomas Holmes thomas.j.hol...@gmail.com wrote: I did use one example of a GWT-RPC datasource forSmartGWT, and I got very, very close. I can get the data from my spring beans, and I copied data to my DTO objects. But, theSmartGWTListGrid shows 23 rows, and the right column names, but no data is listed there. So, I was re-reading the thread again, and I was looking at the smartgwt-extensions ... but there is a bug in it, and I don't know how I can tell the author that it is broken. In SimpleGwtRPCDSServiceAsync the remove method: public abstract void remove (SimpleGwtRPCDSRecord record, AsyncCallbackObject asyncCallback); Breaks the code SimpleGwtRPCDSService Changing the line to: public abstract void remove (SimpleGwtRPCDSRecord record, AsyncCallbackVoid asyncCallback); This then breaks SimpleGwtRPCDS when we call: service.remove (testRec, new AsyncCallbackObject () {}); Anyone run into this before and how to fix it? --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
parent-child add/update
Ok ... I just figured out how to use a GWT-RPC Datasource with SmartGWT Widgets, specifically the ListGrid. so, there are two questions I have with gwt-rpc: 1) how are you handling a parent-child relationship from the database, how do you define the DTO(s). 2) how do you handle pushing parent-child data from the UI (in a DTO) back to the database for an update or add. Any examples, or any suggestions would be very helpful. Thanks! Tom --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
JSONNull oddness?
Hi, I have probably missed something simple but JSONNull is not acting as I expect. At least in my current testing phase my incoming JSON data does contain some null values. In Perl terms my in-bound JSON object is an array of hashes. I can get the JSON string and parse it. I create te JSONObject and am trying to do some sanity checking of the contents. It is common for me to want to ask the question, Does the current JSONObject have the key foo and is the value of that key NOT null? if (data.containsKey(foo) ! data.get(foo).isNull().toString ().equals(null) The thing is this always fails. I must be doing the null test incorrectly but a fix is not immediately apparent. ideas? --~--~-~--~~~---~--~~ 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 can GWT handle real time data?
You would poll from a GWT page via some call, RPC or an HTTP request (I personally use RPC's) to get the information from the server. There is no sever push available though. You do have to ask for information before you get it in a web page. On Sep 25, 11:32 am, looklook zhaoyu...@gmail.com wrote: I want to know how GWT handles real time data? For example, a text field of a web page needs to display real time data got from the server, this means once the server receives real time data, it will send to the web page and the text field of the web page gets updated. Can GWT handle this and how? 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: not removing event handlers -- bad practice?
On 25 sep, 18:07, Alexey inline_f...@yahoo.com wrote: When registering handlers that may live on after the source widget is removed from GUI, is it acceptable to never explicitly release the handler relationship? If it was plain Java, the answer would be yes, because the handler would not have references to the source and therefore would not preclude it from being garbage-collected. However, I'm not sure what happens in the GWT Javascript handler mechanism. If I'm not mistaken (i.e. IIUC how event registration work in GWT), it won't have side effects; i.e. 1. the actual JS function registered as an handler is the same for all events 2. the EventListener (the Widget) is attached to the widget's Element as a __listener expando property, which is set in Widget#onAttach and reset to 'null' in Widget#onDetach 3. your handlers only live within the HandlerManager that backs the widgets, i.e. a pure-JS object not bound to the DOM in any way That way, a. there won't be memory leaks b. your handler will be garbage-collected at the same time as the widget --~--~-~--~~~---~--~~ 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 can GWT handle real time data?
What would rock the world is to be able to do something like declare a variable on the server side volatile, and link it to the client side via some machinery built into a library. Then, you don't have to write all of the RPC stuff yourself. Something like a publish-subscribe mechanism, with a router in between. This would be great for events also. On Fri, Sep 25, 2009 at 11:47 AM, Sean slough...@gmail.com wrote: You would poll from a GWT page via some call, RPC or an HTTP request (I personally use RPC's) to get the information from the server. There is no sever push available though. You do have to ask for information before you get it in a web page. On Sep 25, 11:32 am, looklook zhaoyu...@gmail.com wrote: I want to know how GWT handles real time data? For example, a text field of a web page needs to display real time data got from the server, this means once the server receives real time data, it will send to the web page and the text field of the web page gets updated. Can GWT handle this and how? 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 -~--~~~~--~~--~--~---
Spam from JChimene
Hi Folks, Sumit just alerted me to a possible compromise of my GMail account. I have it set to always login via https so it may be another issue. Anyway, I'm changing the password after this email. My apologies for the spam. I'd seen the messages, but didn't check the sender, as they went right to spam via my TBird client. Cheers, jec --~--~-~--~~~---~--~~ 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 can GWT handle real time data?
One or the other -- GWT in Practice, or GWT in Action has a chapter on emulating server push using the Comet API. On Sep 25, 10:32 am, looklook zhaoyu...@gmail.com wrote: I want to know how GWT handles real time data? For example, a text field of a web page needs to display real time data got from the server, this means once the server receives real time data, it will send to the web page and the text field of the web page gets updated. Can GWT handle this and how? 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: not removing event handlers -- bad practice?
Thanks, this clarifies things, except I have one point of contention, likely having no bearing on the original question: On Sep 25, 2:32 pm, Thomas Broyer t.bro...@gmail.com wrote: 1. the actual JS function registered as an handler is the same for all events Unless I misunderstood, this can't be true for cases involving anonymous inner classes that refer to final variables inside the method and/or internal state: private int counter = 0; public Button createButton(final String name) { final int buttonCount = ++counter; final Button button = new Button(Hello, + name); button.addClickHandler(new ClickHandler() { private int clickCounter = 0; public void onClick(final ClickEvent ev) { Window.alert( Hello, + name + \nThis is button + buttonCount + \nIt has been clicked + (++clickCounter) + times ); } } } --~--~-~--~~~---~--~~ 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: Help - my web site based on GWT fails to load in IE8
i had IE8 issues when it first came out. i'm still on GWT 1.5.3 - thought later versions should play nicer with IE8, but what fixed my issue was adding the following to the html host page: meta http-equiv=X-UA-Compatible content=IE=EmulateIE7 / not sure if that's a good long term solution, but made my app go from non-functional to functional. hope that helps On Sep 25, 9:06 am, Itzik Yatom itzik...@hotmail.com wrote: I have just finished to develop a web site that is mostly written in GWT. During a non-trivial load that contains many panels and widgets build, asynchronous server requests for grabbing information from DB and XML file contents, it fails in IE8 on adding the main Composite object to the root panel with unclear JavaScript message. In Firefox and IE7 it works fine. How can I get information about the failure cause ? and this is, actually, a general question - How can I get information where is the failure in my Java classes when at runtime all Java classes are compiled to JS ? It looks like a nightmare when everything works at development environment where you can debug the Java code but it fails on runtime with an error that tells you nothing about the real problem. Thanks in advance Itzik Yatom --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
Problem with Getting Scripts Tag Working
Hi, I am creating a very simple GWT that uses Google Maps API, and trying to run in hosted mode. At runtime, I receive the exception: The Maps API has not been loaded. Is a script tag missing from your host HTML or module file? Is the Maps key missing or invalid? However, since I am running localhost, the documentation (Getting Started with Google Maps) indicates I will not need a key, so I did not acquire one from Google. Do I still need the script tag in the gwt.xml file? If so, how do I construct the tag? I would be grateful for any advice. 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: JSONNull oddness?
heh, never mind. I was of course using the idea in the wrong way. Everything is fine. Have a nice day --~--~-~--~~~---~--~~ 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 -~--~~~~--~~--~--~---
swt-win32-3235.dll
Today I built GWT from the trunk. I'm baffled by the following error when I build my project. This file is present in gwt- windows-0.0.0.zip which I installed to repository. I pretty new to both GWT and Maven. java.lang.UnsatisfiedLinkError: Can't load library: C:\Documents and Settings\er ic_hamacher\.m2\repository\com\google\gwt\gwt-dev\0.0.0/swt- win32-3235.dll at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1650) at java.lang.Runtime.load0(Runtime.java:769) at java.lang.System.load(System.java:968) at org.eclipse.swt.internal.Library.loadLibrary(Library.java: 132) at org.eclipse.swt.internal.win32.OS.clinit(OS.java:18) at org.eclipse.swt.widgets.Display.clinit(Display.java:125) at com.google.gwt.dev.SwtHostedModeBase.clinit (SwtHostedModeBase.java: 105) Exception in thread main [INFO] -- I used the following command to install the zip file: mvn install:install-file -Dfile=gwt-windows-0.0.0.zip -Dpackaging=zip - DgroupId=com.google.gwt -DartifactId=gwt-dev -Dclassifier=windows-libs -Dversion=0.0.0 and my dependency in my pom.xml is: dependency groupIdcom.google.gwt/groupId artifactIdgwt-dev/artifactId version${gwtVersion}/version classifier${platform}-libs/classifier typezip/type scopeprovided/scope /dependency Any help would be appreciated! Eric --~--~-~--~~~---~--~~ 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: Why Not Bypass The Middle Man
Well it looks like this discussion is fizzling out, but just in case there are still people actually view this, I wanted to add some other related thoughts. I started doing some research into this idea, and found some interesting things. Like for one, that there are people much larger than me that not only agree, but are actually already working on the problem. Stanford University has a project team currently working toward creating a new, more-secure, application-friendly internet. http://www.networkworld.com/community/node/12501 here is a link to a NYTimes article about the need for a new internet: http://www.nytimes.com/2009/02/15/weekinreview/15markoff.html and finally, I just wanted to put this out there. According to wikipedia there are currently well over 100 different frameworks all attempting to ease the ability to create web applications. Most of them are based on either JAVA, or .NET, or Python, or PHP. Of course GWT is one of them. And they are all basically kludges, trying to take the powerful programming capabilities of higher languages, and through a series of crutches and slight of hand, make them presentable for the web. The thing that is obvious is that the need to have high level programming capabilities on the web is great. The thing that, though slightly less obvious, seems apparent is that no one of these over a hundred solutions have seemed to quench the developers' thirst. And even if people are happy using this or that framework, when you stand back at look at it, at least to me, it seems quite ridiculous that we can't just cut out all those middle men, and build our applications in one of the appropriate high level languages, and have it work directly on a network. Here's the wikipedia list of web application development frameworks: http://en.wikipedia.org/wiki/List_of_web_application_frameworks Thanks for those who participated in this discussion. I am going to continue to research, and I hope that someday I can see this idea in action. --~--~-~--~~~---~--~~ 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: Problem In implementing Right Click for Mozilla in smartgwt
Sorry man... --~--~-~--~~~---~--~~ 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 listen events for stack panel?
Chad, Thanks a lot! You have been a great help! Regards, Jie On Sep 26, 1:23 am, Chad chad...@gmail.com wrote: Jie, Subclass the StackPanel and override the showStack method: @Override public void showStack(int index) { super.showStack(index); // display your information } You could also add more methods to allow adding handlers/listeners if you want. HTH, Chad On Sep 24, 9:00 pm, Jie kgds...@tianya.cn wrote: Hi all, I created a stack panel, and I'd like to display some information when user clicks each header of the stack panel, but I can not find addListener() method for the stack panel, do you know how to add the listner for such events? Best Regards, Jie- Hide quoted text - - Show quoted text - --~--~-~--~~~---~--~~ 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] r6210 committed - Fix the Showcase launch config after the Eclipse gwt-dev project was c...
Revision: 6210 Author: j...@google.com Date: Fri Sep 25 06:49:07 2009 Log: Fix the Showcase launch config after the Eclipse gwt-dev project was changed. Patch by: jat Review by: amitmanjhi (TBR) http://code.google.com/p/google-web-toolkit/source/detail?r=6210 Modified: /branches/farewellSwt/eclipse/samples/Showcase/Showcase.launch === --- /branches/farewellSwt/eclipse/samples/Showcase/Showcase.launch Sun Sep 20 12:33:31 2009 +++ /branches/farewellSwt/eclipse/samples/Showcase/Showcase.launch Fri Sep 25 06:49:07 2009 @@ -1,7 +1,7 @@ ?xml version=1.0 encoding=UTF-8 standalone=no? launchConfiguration type=org.eclipse.jdt.launching.localJavaApplication listAttribute key=org.eclipse.debug.core.MAPPED_RESOURCE_PATHS -listEntry value=/gwt-dev/core/overlay/com/google/gwt/dev/HostedMode.java/ +listEntry value=/gwt-dev/oophm/overlay/com/google/gwt/dev/HostedMode.java/ /listAttribute listAttribute key=org.eclipse.debug.core.MAPPED_RESOURCE_TYPES listEntry value=1/ --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Proposed API Addition - GWTTestCase#getStrategy() to allow precompilation of JUnit tests
If you override JUnitShell.Strategy, you should consider this email. JUnitShell.Strategy, which determines how GWT modules are compiled for test cases, is currently an interface. We would like to change it to be a class so we can add methods without breaking code. This is a relatively obscure class, so it should have, limited effect. See the Benchmark class for an example of its use. What prompted this change is a patch that pmuetschard created which allows users to annotate individual test methods with @WithModuleParameters, controlling the deferred bindings for that specific test. The patch adds a method to the existing JUnitShell.Strategy interface. http://gwt-code-reviews.appspot.com/71801/show Thanks, John LaBanca jlaba...@google.com --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: RR : Fix virtual override dispatch in SingleJsoImpl
On Fri, Sep 25, 2009 at 8:52 AM, b...@vawter.org wrote: What's the de-facto version of Eclipse that's canonical for formatting? Good question, I have an 3.3 based Eclipse that's probably out of date now, and should probably update. But I was talking less about the particular settings, and more meant to suggest committing the reformat separately so as to make clear the syntactic vs. semantic change in the history. http://gwt-code-reviews.appspot.com/71802/diff/1/3 File dev/core/src/com/google/gwt/dev/jjs/impl/JavaScriptObjectNormalizer.java (right): http://gwt-code-reviews.appspot.com/71802/diff/1/3#newcode197 Line 197: if (program.typeOracle.getAllVirtualOverrides(m).contains(method)) { I *think* getAllOverrides() includes getAllVirtualOverrides(); if so, can you roll the two separate loops together? No, getMethods() only returns methods declared on the type, not methods inherited from supertypes. In this second loop, the code is examining methods declared on the supertypes (c.f. 194), and only virtual overrides are relevant here. I'm sure you're right on this, but as I haven't looked into it deeply, I don't quite understand your explanation. Specifically, what would break if you simply deleted lines 181-194 (inclusive) and changed like 197 to getAllOverrides. In other words: private JMethod findConcreteImplementation(JMethod method, JClassType concreteType) { /* * Include supertypes so we can find virtual overrides via subclass. See * {...@link JTypeOracle#getAllVirtualOverrides()} for an example. */ while (concreteType != null) { for (JMethod m : concreteType.getMethods()) { if (!m.isAbstract()) { if (program.typeOracle.getAllOverrides(m).contains(method)) { return m; } } } concreteType = concreteType.getSuperClass(); } } --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Proposed API Addition - GWTTestCase#getStrategy() to allow precompilation of JUnit tests
Please forward this to GWT announce, and cc skybrian On Friday, September 25, 2009, John LaBanca jlaba...@google.com wrote: If you override JUnitShell.Strategy, you should consider this email. JUnitShell.Strategy, which determines how GWT modules are compiled for test cases, is currently an interface. We would like to change it to be a class so we can add methods without breaking code. This is a relatively obscure class, so it should have, limited effect. See the Benchmark class for an example of its use. What prompted this change is a patch that pmuetschard created which allows users to annotate individual test methods with @WithModuleParameters, controlling the deferred bindings for that specific test. The patch adds a method to the existing JUnitShell.Strategy interface. http://gwt-code-reviews.appspot.com/71801/show Thanks, John LaBanca jlaba...@google.com --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: RR : Fix virtual override dispatch in SingleJsoImpl
Good question, I have an 3.3 based Eclipse that's probably out of date now, and should probably update. But I was talking less about the particular settings, and more meant to suggest committing the reformat separately so as to make clear the syntactic vs. semantic change in the history. ACK. I'm sure you're right on this, but as I haven't looked into it deeply, I don't quite understand your explanation. Specifically, what would break if you simply deleted lines 181-194 (inclusive) and changed like 197 to getAllOverrides. In other words: Nothing would break, it's just asking a less precise question. Since it's less code that's functionally equivalent, I'll make the change. -- Bob Vawter Google Web Toolkit Team --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Proposed API Addition - @WithModuleParameters on test cases
Patch courtesy of pmuetschard. We propose adding the annotation @WithModuleParameters to specify deferred binding properties on specific test methods, as per this patch: http://gwt-code-reviews.appspot.com/71801/show For a specific example, see the test file in the patch: http://gwt-code-reviews.appspot.com/71801/patch/45/49 This patch is pretty cool, but there are a couple of important items to consider: 1. Using these annotations increases the number of compilations. In the example above, the single test class would require two compilations (one for each test case). If the test case had a third, non-annotated method, the number of compilations would be three. This is a natural side effect that would be true even if the user creates a separate test case with a separate test module for each parameter combination. 2. As the patch stands now, @WithModuleParameters is NOT inherited, so if a subclass overrides a test method, the annotations will not apply. I suggest we add t...@inherited tag to the definition so that overriding subclasses do inherit the annotation. Thanks, John LaBanca jlaba...@google.com --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Proposed API Addition - @WithModuleParameters on test cases
Looks convenient, but I have a few questions/comments. 1) What happens if the module returned by getModuleName() already specifies a fix value for a given property? More generally, how should one think about how these annotations dovetail with the settings in the module config? 2) The terminology is different than we've used in the past. Granted, we haven't been very consistent with the term for deferred binding properties (e.g. we've also called them client properties), but we've never called them module parameters. I know that doesn't make for a nice annotation name, but I do want to avoid introducing yet another name for the same concept. 3) Would these annotations apply to the benchmarking subsystem? Should they? Could they? On Fri, Sep 25, 2009 at 12:09 PM, John LaBanca jlaba...@google.com wrote: Patch courtesy of pmuetschard. We propose adding the annotation @WithModuleParameters to specify deferred binding properties on specific test methods, as per this patch: http://gwt-code-reviews.appspot.com/71801/show For a specific example, see the test file in the patch: http://gwt-code-reviews.appspot.com/71801/patch/45/49 This patch is pretty cool, but there are a couple of important items to consider: 1. Using these annotations increases the number of compilations. In the example above, the single test class would require two compilations (one for each test case). If the test case had a third, non-annotated method, the number of compilations would be three. This is a natural side effect that would be true even if the user creates a separate test case with a separate test module for each parameter combination. 2. As the patch stands now, @WithModuleParameters is NOT inherited, so if a subclass overrides a test method, the annotations will not apply. I suggest we add t...@inherited tag to the definition so that overriding subclasses do inherit the annotation. Thanks, John LaBanca jlaba...@google.com --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: RR : Fix virtual override dispatch in SingleJsoImpl
LGTM then. On Fri, Sep 25, 2009 at 12:09 PM, BobV b...@google.com wrote: Good question, I have an 3.3 based Eclipse that's probably out of date now, and should probably update. But I was talking less about the particular settings, and more meant to suggest committing the reformat separately so as to make clear the syntactic vs. semantic change in the history. ACK. I'm sure you're right on this, but as I haven't looked into it deeply, I don't quite understand your explanation. Specifically, what would break if you simply deleted lines 181-194 (inclusive) and changed like 197 to getAllOverrides. In other words: Nothing would break, it's just asking a less precise question. Since it's less code that's functionally equivalent, I'll make the change. -- Bob Vawter Google Web Toolkit Team --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit] r6211 committed - Changes to Showcase to make it crawlable.
Revision: 6211 Author: kpro...@google.com Date: Fri Sep 25 09:27:51 2009 Log: Changes to Showcase to make it crawlable. http://code.google.com/p/google-web-toolkit/source/detail?r=6211 Added: /branches/crawlability/samples/showcase/src/com/google/gwt/sample/showcase/server /branches/crawlability/samples/showcase/src/com/google/gwt/sample/showcase/server/CrawlServlet.java /branches/crawlability/samples/showcase/war/WEB-INF/lib Modified: /branches/crawlability/samples/showcase/src/com/google/gwt/sample/showcase/Showcase.gwt.xml /branches/crawlability/samples/showcase/src/com/google/gwt/sample/showcase/client/Showcase.java /branches/crawlability/samples/showcase/war/Showcase.html /branches/crawlability/samples/showcase/war/WEB-INF/web.xml === --- /dev/null +++ /branches/crawlability/samples/showcase/src/com/google/gwt/sample/showcase/server/CrawlServlet.java Fri Sep 25 09:27:51 2009 @@ -0,0 +1,133 @@ +/* + * Copyright 2009 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the License); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.google.gwt.sample.showcase.server; + +import com.gargoylesoftware.htmlunit.BrowserVersion; +import com.gargoylesoftware.htmlunit.WebClient; +import com.gargoylesoftware.htmlunit.html.HtmlPage; + +import java.io.IOException; +import java.io.PrintWriter; +import java.net.URLDecoder; + +import javax.servlet.Filter; +import javax.servlet.FilterChain; +import javax.servlet.FilterConfig; +import javax.servlet.ServletException; +import javax.servlet.ServletRequest; +import javax.servlet.ServletResponse; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * Servlet that makes this application crawlable + */ +public final class CrawlServlet implements Filter { + + private static String rewriteQueryString(String queryString) { +StringBuilder queryStringSb = new StringBuilder(queryString); +int i = queryStringSb.indexOf(_escaped_fragment_); +if (i != -1) { + StringBuilder tmpSb = new StringBuilder(queryStringSb.substring(0, i)); + tmpSb.append(#!); + tmpSb.append(URLDecoder.decode(queryStringSb.substring(i + 20, queryStringSb.length()),UTF-8)); + queryStringSb = tmpSb; +} + +i = queryStringSb.indexOf(_escaped_fragment_); +if (i != -1) { + StringBuilder tmpSb = new StringBuilder(queryStringSb.substring(0, i)); + tmpSb.append(#!); + tmpSb.append(URLDecoder.decode(queryStringSb.substring(i + 19, queryStringSb.length()), UTF-8)); + queryStringSb = tmpSb; +} +if (queryStringSb.indexOf(#!) != 0) { + queryStringSb.insert(0, '?'); +} +queryString = queryStringSb.toString(); + + + +return queryString; + } + + private FilterConfig filterConfig = null; + + /** + * Destroys the filter configuration + */ + public void destroy() { +this.filterConfig = null; + } + + /** + * Filters all requests and invokes headless browser if necessary + */ + public void doFilter(ServletRequest request, ServletResponse response, + FilterChain chain) throws IOException { +if (filterConfig == null) { + return; +} + +HttpServletRequest req = (HttpServletRequest) request; +HttpServletResponse res = (HttpServletResponse) response; +String queryString = req.getQueryString(); + +if ((queryString != null) (queryString.contains(_escaped_fragment_))) { + StringBuilder pageNameSb = new StringBuilder(http://;); + pageNameSb.append(req.getServerName()); + if (req.getServerPort() != 0) { +pageNameSb.append(:); +pageNameSb.append(req.getServerPort()); + } + pageNameSb.append(req.getRequestURI()); + queryString = rewriteQueryString(queryString); + pageNameSb.append(queryString); + + final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3); + webClient.setJavaScriptEnabled(true); + String pageName = pageNameSb.toString(); + HtmlPage page = webClient.getPage(pageName); + webClient.waitForBackgroundJavaScriptStartingBefore(2000); + + res.setContentType(text/html;charset=UTF-8); + PrintWriter out = res.getWriter(); + out.println(hr); + out.println(centerh3You are viewing a non-interactive page that is intended for the crawler. You probably want to see this page: a href=\ + + pageName + \ + pageName + /a/h3/center); + out.println(hr); + +
[gwt-contrib] [google-web-toolkit] r6212 committed - Changes to History and Hyperlink to enable crawlability.
Revision: 6212 Author: kpro...@google.com Date: Fri Sep 25 09:28:36 2009 Log: Changes to History and Hyperlink to enable crawlability. http://code.google.com/p/google-web-toolkit/source/detail?r=6212 Modified: /branches/crawlability/user/src/com/google/gwt/user/client/History.java /branches/crawlability/user/src/com/google/gwt/user/client/impl/HistoryImpl.java /branches/crawlability/user/src/com/google/gwt/user/client/ui/Hyperlink.java === --- /branches/crawlability/user/src/com/google/gwt/user/client/History.java Thu Jan 22 08:32:30 2009 +++ /branches/crawlability/user/src/com/google/gwt/user/client/History.java Fri Sep 25 09:28:36 2009 @@ -138,7 +138,7 @@ public static String getToken() { return impl != null ? HistoryImpl.getToken() : ; } - + /** * Adds a new browser history entry. In hosted mode, the 'back' and 'forward' * actions are accessible via the standard Alt-Left and Alt-Right keystrokes. === --- /branches/crawlability/user/src/com/google/gwt/user/client/impl/HistoryImpl.java Thu Jul 9 09:10:32 2009 +++ /branches/crawlability/user/src/com/google/gwt/user/client/impl/HistoryImpl.java Fri Sep 25 09:28:36 2009 @@ -80,6 +80,12 @@ * Fires the {...@link ValueChangeEvent} to all handlers with the given tokens. */ public void fireHistoryChangedImpl(String newToken) { +if ((newToken.length() 0) (newToken.startsWith(!))) { + newToken = newToken.substring(1); +} +if (newToken.compareTo(home) == 0) { + newToken = ; +} ValueChangeEvent.fire(this, newToken); } === --- /branches/crawlability/user/src/com/google/gwt/user/client/ui/Hyperlink.java Fri May 15 13:39:00 2009 +++ /branches/crawlability/user/src/com/google/gwt/user/client/ui/Hyperlink.java Fri Sep 25 09:28:36 2009 @@ -189,8 +189,8 @@ public void setTargetHistoryToken(String targetHistoryToken) { assert targetHistoryToken != null : targetHistoryToken must not be null, consider using Anchor instead; -this.targetHistoryToken = targetHistoryToken; -DOM.setElementProperty(anchorElem, href, # + targetHistoryToken); +this.targetHistoryToken = ! + targetHistoryToken; +DOM.setElementProperty(anchorElem, href, #! + targetHistoryToken); } public void setText(String text) { --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Proposed API Addition - GWTTestCase#getStrategy() to allow precompilation of JUnit tests
John, I'm kind of puzzled... how would a user actually override getStrategy()? The Strategy type is not compilable GWT client code, so a GWTTestCase that actually does the override should fail to compile as GWT client code. What am I missing? On Fri, Sep 25, 2009 at 11:33 AM, John LaBanca jlaba...@google.com wrote: If you override JUnitShell.Strategy, you should consider this email. JUnitShell.Strategy, which determines how GWT modules are compiled for test cases, is currently an interface. We would like to change it to be a class so we can add methods without breaking code. This is a relatively obscure class, so it should have, limited effect. See the Benchmark class for an example of its use. What prompted this change is a patch that pmuetschard created which allows users to annotate individual test methods with @WithModuleParameters, controlling the deferred bindings for that specific test. The patch adds a method to the existing JUnitShell.Strategy interface. http://gwt-code-reviews.appspot.com/71801/show Thanks, John LaBanca jlaba...@google.com --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Fix GC handling in hosted mode
LGTM. Why use a TreeMap in RemoteObjectTable? On Thu, Sep 24, 2009 at 4:26 PM, j...@google.com wrote: Reviewers: amitmanjhi, Description: This corrects an issue that was there before and implements it on the client side of BrowserChannel, as needed by HtmlUnit in hosted mode. Please review this at http://gwt-code-reviews.appspot.com/71805 Affected files: dev/oophm/src/com/google/gwt/dev/shell/BrowserChannel.java dev/oophm/src/com/google/gwt/dev/shell/BrowserChannelClient.java dev/oophm/src/com/google/gwt/dev/shell/BrowserChannelServer.java dev/oophm/src/com/google/gwt/dev/shell/JsValueOOPHM.java dev/oophm/src/com/google/gwt/dev/shell/ObjectsTable.java dev/oophm/src/com/google/gwt/dev/shell/OophmSessionHandler.java dev/oophm/src/com/google/gwt/dev/shell/RemoteObjectTable.java dev/oophm/src/com/google/gwt/dev/shell/ServerObjectsTable.java dev/oophm/test/com/google/gwt/dev/shell/BrowserChannelTest.java dev/oophm/test/com/google/gwt/dev/shell/RemoteObjectTableTest.java user/src/com/google/gwt/junit/RunStyle.java --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Fix GC handling in hosted mode
On Fri, Sep 25, 2009 at 1:22 PM, Amit Manjhi amitman...@google.com wrote: LGTM. Why use a TreeMap in RemoteObjectTable? I basically kept the same thing that Bob had there before, just moved it from ThreadLocals to an isolated synchronized class. I don't see any reason it needs to be ordered, so I will change it to a HashMap. Ok to commit with that change? -- John A. Tamplin Software Engineer (GWT), Google --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Fix GC handling in hosted mode
Yes. On Fri, Sep 25, 2009 at 10:35 AM, John Tamplin j...@google.com wrote: On Fri, Sep 25, 2009 at 1:22 PM, Amit Manjhi amitman...@google.comwrote: LGTM. Why use a TreeMap in RemoteObjectTable? I basically kept the same thing that Bob had there before, just moved it from ThreadLocals to an isolated synchronized class. I don't see any reason it needs to be ordered, so I will change it to a HashMap. Ok to commit with that change? -- John A. Tamplin Software Engineer (GWT), Google --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Proposed API Addition - @WithModuleParameters on test cases
On Fri, Sep 25, 2009 at 1:19 PM, Pascal Muetschard pmuetsch...@google.comwrote: 1) What happens if the module returned by getModuleName() already specifies a fix value for a given property? More generally, how should one think about how these annotations dovetail with the settings in the module config? The annotation will override what is defined in the module. I think that's what is expected and it just works. Makes sense. Normally, when you set-property you can specify multiple values (which often generates multiple permutations, though not always). Seems like the annotation should support that if it doesn't. 2) The terminology is different than we've used in the past. Granted, we haven't been very consistent with the term for deferred binding properties (e.g. we've also called them client properties), but we've never called them module parameters. I know that doesn't make for a nice annotation name, but I do want to avoid introducing yet another name for the same concept. Good point. I will do the rename and publish another patch. Sadly, I'm not positive what the right name should be. Perhaps @WithClientProperties? I'd like to hear from others as to the best term. @WithDeferredBindingProperties seems too weighty. 3) Would these annotations apply to the benchmarking subsystem? Should they? Could they? Yes it could. The simplest way would be to change the benchmark JUnitShell.Strategy to extend the new strategy. I don't know the benchmark system well, so I didn't want to change it. If somebody that does know the benchmark system well could look at this, I'd be more than happy to help... I'd really like to look into this at the same time. It's always so much harder to find time to go back and retrofit these kinds of enhancements than to just add them uniformly when they first go in. @John L: Thoughts? Could you point Pascal in the right direction w.r.t. benchmarking? --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Proposed API Addition - @WithModuleParameters on test cases
I'll help Pascal with the changes, but it might be good to get a few more comments before changing too much. It *might *not be trivial for Benchmark to subclass the new Strategy because it does its own thing as well, but it shouldn't be too difficult. I agree that the annotation should override existing properties. I vote for @WithBindingProperties for the annotation name. Thanks, John LaBanca jlaba...@google.com On Fri, Sep 25, 2009 at 1:41 PM, Bruce Johnson br...@google.com wrote: On Fri, Sep 25, 2009 at 1:19 PM, Pascal Muetschard pmuetsch...@google.com wrote: 1) What happens if the module returned by getModuleName() already specifies a fix value for a given property? More generally, how should one think about how these annotations dovetail with the settings in the module config? The annotation will override what is defined in the module. I think that's what is expected and it just works. Makes sense. Normally, when you set-property you can specify multiple values (which often generates multiple permutations, though not always). Seems like the annotation should support that if it doesn't. 2) The terminology is different than we've used in the past. Granted, we haven't been very consistent with the term for deferred binding properties (e.g. we've also called them client properties), but we've never called them module parameters. I know that doesn't make for a nice annotation name, but I do want to avoid introducing yet another name for the same concept. Good point. I will do the rename and publish another patch. Sadly, I'm not positive what the right name should be. Perhaps @WithClientProperties? I'd like to hear from others as to the best term. @WithDeferredBindingProperties seems too weighty. 3) Would these annotations apply to the benchmarking subsystem? Should they? Could they? Yes it could. The simplest way would be to change the benchmark JUnitShell.Strategy to extend the new strategy. I don't know the benchmark system well, so I didn't want to change it. If somebody that does know the benchmark system well could look at this, I'd be more than happy to help... I'd really like to look into this at the same time. It's always so much harder to find time to go back and retrofit these kinds of enhancements than to just add them uniformly when they first go in. @John L: Thoughts? Could you point Pascal in the right direction w.r.t. benchmarking? --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit] r6213 committed - Remove extra lines that got added while removing SWT....
Revision: 6213 Author: j...@google.com Date: Fri Sep 25 10:52:39 2009 Log: Remove extra lines that got added while removing SWT. Patch by: jat Review by: amitmanjhi (TBR) http://code.google.com/p/google-web-toolkit/source/detail?r=6213 Modified: /branches/farewellSwt/eclipse/samples/Showcase/Showcase.launch === --- /branches/farewellSwt/eclipse/samples/Showcase/Showcase.launch Fri Sep 25 06:49:07 2009 +++ /branches/farewellSwt/eclipse/samples/Showcase/Showcase.launch Fri Sep 25 10:52:39 2009 @@ -1,11 +1,5 @@ ?xml version=1.0 encoding=UTF-8 standalone=no? launchConfiguration type=org.eclipse.jdt.launching.localJavaApplication -listAttribute key=org.eclipse.debug.core.MAPPED_RESOURCE_PATHS -listEntry value=/gwt-dev/oophm/overlay/com/google/gwt/dev/HostedMode.java/ -/listAttribute -listAttribute key=org.eclipse.debug.core.MAPPED_RESOURCE_TYPES -listEntry value=1/ -/listAttribute booleanAttribute key=org.eclipse.debug.core.appendEnvironmentVariables value=true/ listAttribute key=org.eclipse.jdt.launching.CLASSPATH listEntry value=lt;?xml version=quot;1.0quot; encoding=quot;UTF-8quot; standalone=quot;noquot;?gt;#10;lt;runtimeClasspathEntry containerPath=quot;org.eclipse.jdt.launching.JRE_CONTAINERquot; javaProject=quot;Showcasequot; path=quot;1quot; type=quot;4quot;/gt;#10;/ --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Proposed API Addition - @WithModuleParameters on test cases
On Fri, Sep 25, 2009 at 1:51 PM, John LaBanca jlaba...@google.com wrote: I vote for @WithBindingProperties for the annotation name. Is that a vote that we should start using the term binding properties in general? I think that's not quite the right term (perhaps this should be a separate thread) because increasingly, those properties will affect things like compiler optimization behavior, code splitting, etc. That is, they don't only affect how GWT.create() calls get bound. How about the term client property? It is a property that affects what the client receives and is in every case somehow a function of the client that is requesting the script. -- Bruce --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit] r6214 committed - Made this launch config consistent with trunk (the only difference is ...
Revision: 6214 Author: amitman...@google.com Date: Fri Sep 25 10:58:07 2009 Log: Made this launch config consistent with trunk (the only difference is the reference to gwt-dev instead of gwt-dev-windows) and other samples. Patch by: amitmanjhi Review by: jat http://code.google.com/p/google-web-toolkit/source/detail?r=6214 Modified: /branches/farewellSwt/eclipse/samples/Showcase/Showcase.launch === --- /branches/farewellSwt/eclipse/samples/Showcase/Showcase.launch Fri Sep 25 10:52:39 2009 +++ /branches/farewellSwt/eclipse/samples/Showcase/Showcase.launch Fri Sep 25 10:58:07 2009 @@ -2,13 +2,12 @@ launchConfiguration type=org.eclipse.jdt.launching.localJavaApplication booleanAttribute key=org.eclipse.debug.core.appendEnvironmentVariables value=true/ listAttribute key=org.eclipse.jdt.launching.CLASSPATH -listEntry value=lt;?xml version=quot;1.0quot; encoding=quot;UTF-8quot; standalone=quot;noquot;?gt;#10;lt;runtimeClasspathEntry containerPath=quot;org.eclipse.jdt.launching.JRE_CONTAINERquot; javaProject=quot;Showcasequot; path=quot;1quot; type=quot;4quot;/gt;#10;/ -listEntry value=lt;?xml version=quot;1.0quot; encoding=quot;UTF-8quot; standalone=quot;noquot;?gt;#10;lt;runtimeClasspathEntry internalArchive=quot;/Showcase/core/srcquot; path=quot;3quot; type=quot;2quot;/gt;#10;/ -listEntry value=lt;?xml version=quot;1.0quot; encoding=quot;UTF-8quot; standalone=quot;noquot;?gt;#10;lt;runtimeClasspathEntry internalArchive=quot;/gwt-user/core/srcquot; path=quot;3quot; type=quot;2quot;/gt;#10;/ -listEntry value=lt;?xml version=quot;1.0quot; encoding=quot;UTF-8quot; standalone=quot;noquot;?gt;#10;lt;runtimeClasspathEntry internalArchive=quot;/gwt-user/core/superquot; path=quot;3quot; type=quot;2quot;/gt;#10;/ -listEntry value=lt;?xml version=quot;1.0quot; encoding=quot;UTF-8quot; standalone=quot;noquot;?gt;#10;lt;runtimeClasspathEntry internalArchive=quot;/gwt-dev/core/srcquot; path=quot;3quot; type=quot;2quot;/gt;#10;/ -listEntry value=lt;?xml version=quot;1.0quot; encoding=quot;UTF-8quot; standalone=quot;noquot;?gt;#10;lt;runtimeClasspathEntry internalArchive=quot;/gwt-dev/core/superquot; path=quot;3quot; type=quot;2quot;/gt;#10;/ -listEntry value=lt;?xml version=quot;1.0quot; encoding=quot;UTF-8quot; standalone=quot;noquot;?gt;#10;lt;runtimeClasspathEntry id=quot;org.eclipse.jdt.launching.classpathentry.defaultClasspathquot;gt;#10;lt;memento exportedEntriesOnly=quot;falsequot; project=quot;Showcasequot;/gt;#10;lt;/runtimeClasspathEntrygt;#10;/ +listEntry value=lt;?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?gt;#10;lt;runtimeClasspathEntry containerPath=quot;org.eclipse.jdt.launching.JRE_CONTAINERquot; javaProject=quot;Showcasequot; path=quot;1quot; type=quot;4quot;/gt;#10;/ +listEntry value=lt;?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?gt;#10;lt;runtimeClasspathEntry internalArchive=quot;/Showcase/core/srcquot; path=quot;3quot; type=quot;2quot;/gt;#10;/ +listEntry value=lt;?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?gt;#10;lt;runtimeClasspathEntry internalArchive=quot;/gwt-user/core/srcquot; path=quot;3quot; type=quot;2quot;/gt;#10;/ +listEntry value=lt;?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?gt;#10;lt;runtimeClasspathEntry internalArchive=quot;/gwt-user/core/superquot; path=quot;3quot; type=quot;2quot;/gt;#10;/ +listEntry value=lt;?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?gt;#10;lt;runtimeClasspathEntry internalArchive=quot;/gwt-dev/core/superquot; path=quot;3quot; type=quot;2quot;/gt;#10;/ +listEntry value=lt;?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?gt;#10;lt;runtimeClasspathEntry id=quot;org.eclipse.jdt.launching.classpathentry.defaultClasspathquot;gt;#10;lt;memento exportedEntriesOnly=quot;falsequot; project=quot;Showcasequot;/gt;#10;lt;/runtimeClasspathEntrygt;#10;/ /listAttribute booleanAttribute key=org.eclipse.jdt.launching.DEFAULT_CLASSPATH value=false/ stringAttribute key=org.eclipse.jdt.launching.MAIN_TYPE value=com.google.gwt.dev.HostedMode/ --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Proposed API Addition - @WithModuleParameters on test cases
@WithClientProperties is fine with me. I thought we used the term binding somewhere, but creating a DeferredBinding doesn't actual require the use of the term binding. The gwt.xml files just refer to these as properties. Thanks, John LaBanca jlaba...@google.com On Fri, Sep 25, 2009 at 1:57 PM, Bruce Johnson br...@google.com wrote: On Fri, Sep 25, 2009 at 1:51 PM, John LaBanca jlaba...@google.com wrote: I vote for @WithBindingProperties for the annotation name. Is that a vote that we should start using the term binding properties in general? I think that's not quite the right term (perhaps this should be a separate thread) because increasingly, those properties will affect things like compiler optimization behavior, code splitting, etc. That is, they don't only affect how GWT.create() calls get bound. How about the term client property? It is a property that affects what the client receives and is in every case somehow a function of the client that is requesting the script. -- Bruce --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit] r6215 committed - Fix GC handling for HtmlUnit in development mode....
Revision: 6215 Author: j...@google.com Date: Fri Sep 25 11:00:02 2009 Log: Fix GC handling for HtmlUnit in development mode. Patch by: jat Review by: amitmanjhi http://code.google.com/p/google-web-toolkit/source/detail?r=6215 Added: /branches/farewellSwt/dev/oophm/src/com/google/gwt/dev/shell/RemoteObjectTable.java /branches/farewellSwt/dev/oophm/src/com/google/gwt/dev/shell/ServerObjectsTable.java /branches/farewellSwt/dev/oophm/test/com/google/gwt/dev/shell/RemoteObjectTableTest.java Deleted: /branches/farewellSwt/dev/oophm/src/com/google/gwt/dev/shell/ObjectsTable.java Modified: /branches/farewellSwt/dev/oophm/src/com/google/gwt/dev/shell/BrowserChannel.java /branches/farewellSwt/dev/oophm/src/com/google/gwt/dev/shell/BrowserChannelClient.java /branches/farewellSwt/dev/oophm/src/com/google/gwt/dev/shell/BrowserChannelServer.java /branches/farewellSwt/dev/oophm/src/com/google/gwt/dev/shell/JsValueOOPHM.java /branches/farewellSwt/dev/oophm/src/com/google/gwt/dev/shell/OophmSessionHandler.java /branches/farewellSwt/dev/oophm/test/com/google/gwt/dev/shell/BrowserChannelTest.java /branches/farewellSwt/user/src/com/google/gwt/junit/RunStyle.java === --- /dev/null +++ /branches/farewellSwt/dev/oophm/src/com/google/gwt/dev/shell/RemoteObjectTable.java Fri Sep 25 11:00:02 2009 @@ -0,0 +1,142 @@ +/* + * Copyright 2009 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the License); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.google.gwt.dev.shell; + +import com.google.gwt.dev.shell.BrowserChannel.RemoteObjectRef; + +import java.lang.ref.Reference; +import java.lang.ref.ReferenceQueue; +import java.lang.ref.WeakReference; +import java.util.HashMap; +import java.util.HashSet; +import java.util.IdentityHashMap; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; + +/** + * Keeps track of references to remote objects. When the objects are no longer + * needed, their ids are returned in {...@link #getRefIdsForCleanup()}. + * + * @param T subtype of RemoteObjectRef contained in this table + */ +public class RemoteObjectTableT extends RemoteObjectRef { + + /** + * This maps References to RemoteObjectRefs back to the original refId. + * Because we need the refId of the RemoteObjectRef after it's been + * garbage-collected, this state must be stored externally. + */ + private final MapReferenceT, Integer idFromRemoteObject; + + /** + * This accumulates remote objects that are no longer referenced on this side + * of the channel. + */ + private final ReferenceQueueT refQueue; + + /** + * This map associates a remote object ID with a Reference to the + * RemoteObjectRef that currently represents that id. + */ + private final MapInteger, ReferenceT remoteObjectFromId; + + /** + * Create a new RemoteObjectTable. + */ + public RemoteObjectTable() { +refQueue = new ReferenceQueueT(); +remoteObjectFromId = new HashMapInteger, ReferenceT(); +idFromRemoteObject = new IdentityHashMapReferenceT, Integer(); + } + + /** + * @return the set of remote object reference IDs that should be freed. + */ + public synchronized SetInteger getRefIdsForCleanup() { +// Access to these objects is inherently synchronous +MapInteger, ReferenceT objectMap = remoteObjectFromId; +MapReferenceT, Integer refIdMap = idFromRemoteObject; +SetInteger toReturn = new HashSetInteger(); + +// Find all refIds associated with previous garbage collection cycles +Reference? extends RemoteObjectRef ref; +while ((ref = refQueue.poll()) != null) { + Integer i = refIdMap.remove(ref); + assert i != null; + toReturn.add(i); +} + +/* + * Check for liveness. This is necessary because the last reference to a + * RemoteObjectRef could have been cleared and a new reference to that refId + * created before this method has been called. + */ +for (IteratorInteger i = toReturn.iterator(); i.hasNext();) { + Integer refId = i.next(); + if (objectMap.containsKey(refId)) { +if (objectMap.get(refId).get() != null) { + i.remove(); +} else { + objectMap.remove(refId); +} + } +} + +return toReturn; + } + + /** + * Obtain the RemoteObjectRef that is currently in use to act as a proxy for + * the given remote object ID. + * + * @return the RemoteObjectRef or null if the ID is not currently in
[gwt-contrib] Changes served location of UiBinder's xhtml.ent from svn to downloads
Reviewers: jgw, Message: Joel, this is to change the served location of xhtml.ent after discussion with Andrew Please review this at http://gwt-code-reviews.appspot.com/72801 Affected files: M user/src/com/google/gwt/uibinder/rebind/GwtResourceEntityResolver.java M user/src/com/google/gwt/uibinder/resources/xhtml.ent M user/src/com/google/gwt/uibinder/sample/client/WidgetBasedUi.ui.xml M user/test/com/google/gwt/uibinder/rebind/GwtResourceEntityResolverTest.java --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit] r6216 committed - Fix compiler and hosted-mode crash caused by virtual overrides in Sing...
Revision: 6216 Author: b...@google.com Date: Fri Sep 25 11:27:03 2009 Log: Fix compiler and hosted-mode crash caused by virtual overrides in SingleJsoImpl types. Patch by: bobv Review by: scottb http://code.google.com/p/google-web-toolkit/source/detail?r=6216 Modified: /trunk/dev/core/src/com/google/gwt/dev/jjs/ast/JTypeOracle.java /trunk/dev/core/src/com/google/gwt/dev/jjs/impl/JavaScriptObjectNormalizer.java /trunk/dev/core/src/com/google/gwt/dev/shell/CompilingClassLoader.java /trunk/user/test/com/google/gwt/dev/jjs/test/singlejso/TypeHierarchyTest.java === --- /trunk/dev/core/src/com/google/gwt/dev/jjs/ast/JTypeOracle.java Tue Jul 21 18:31:48 2009 +++ /trunk/dev/core/src/com/google/gwt/dev/jjs/ast/JTypeOracle.java Fri Sep 25 11:27:03 2009 @@ -448,7 +448,6 @@ } } } -jsoSubType.clearImplements(); } } === --- /trunk/dev/core/src/com/google/gwt/dev/jjs/impl/JavaScriptObjectNormalizer.java Tue Jul 21 18:30:12 2009 +++ /trunk/dev/core/src/com/google/gwt/dev/jjs/impl/JavaScriptObjectNormalizer.java Fri Sep 25 11:27:03 2009 @@ -177,13 +177,21 @@ private JMethod findConcreteImplementation(JMethod method, JClassType concreteType) { - for (JMethod m : concreteType.getMethods()) { -if (program.typeOracle.getAllOverrides(m).contains(method)) { - if (!m.isAbstract()) { -return m; + /* + * Search supertypes for virtual overrides via subclass. See the javadoc + * on JTypeOracle.getAllVirtualOverrides for an example. + */ + while (concreteType != null) { +for (JMethod m : concreteType.getMethods()) { + if (program.typeOracle.getAllOverrides(m).contains(method)) { +if (!m.isAbstract()) { + return m; +} } } - } +concreteType = concreteType.getSuperClass(); + } + return null; } === --- /trunk/dev/core/src/com/google/gwt/dev/shell/CompilingClassLoader.java Fri Jul 31 13:43:46 2009 +++ /trunk/dev/core/src/com/google/gwt/dev/shell/CompilingClassLoader.java Fri Sep 25 11:27:03 2009 @@ -36,9 +36,9 @@ import com.google.gwt.dev.shell.rewrite.HostedModeClassRewriter; import com.google.gwt.dev.shell.rewrite.HostedModeClassRewriter.InstanceMethodOracle; import com.google.gwt.dev.util.JsniRef; -import com.google.gwt.dev.util.Name.SourceOrBinaryName; -import com.google.gwt.dev.util.Name.InternalName; import com.google.gwt.dev.util.Util; +import com.google.gwt.dev.util.Name.InternalName; +import com.google.gwt.dev.util.Name.SourceOrBinaryName; import com.google.gwt.util.tools.Utility; import org.apache.commons.collections.map.AbstractReferenceMap; @@ -910,6 +910,21 @@ */ String mangledName = getBinaryName(type).replace('.', '_') + _ + m.getName(); + +JType[] parameterTypes = new JType[m.getParameters().length]; +for (int i = 0; i parameterTypes.length; i++) { + parameterTypes[i] = m.getParameters()[i].getType(); +} + +/* + * Handle virtual overrides by finding the method that we would normally + * invoke and using its declaring class as the dispatch target. + */ +while (implementingType.findMethod(m.getName(), parameterTypes) == null) { + implementingType = implementingType.getSuperclass(); +} +assert implementingType != null : Unable to find virtual override for ++ m.toString(); /* * Cook up the a pseudo-method declaration for the concrete type. This @@ -921,9 +936,9 @@ */ String decl = getBinaryOrPrimitiveName(m.getReturnType()) + + m.getName() + $ ( + getBinaryOrPrimitiveName(implementingType); -for (JParameter p : m.getParameters()) { +for (JType paramType : parameterTypes) { decl += ,; - decl += getBinaryOrPrimitiveName(p.getType()); + decl += getBinaryOrPrimitiveName(paramType); } decl += ); === --- /trunk/user/test/com/google/gwt/dev/jjs/test/singlejso/TypeHierarchyTest.java Mon Jul 20 14:25:19 2009 +++ /trunk/user/test/com/google/gwt/dev/jjs/test/singlejso/TypeHierarchyTest.java Fri Sep 25 11:27:03 2009 @@ -22,6 +22,16 @@ * Tests SingleJso semantics in non-trivial type hierarchies. */ public class TypeHierarchyTest extends GWTTestCase { + + /** + * Used with PlainJso and PlainJsoWithInterface to mix interfaces into + * existing base classes. + */ + interface Arrayish { +int getLength(); + +JavaScriptObject getObject(int i); + } /** * The bottom type for a non-trivial diamond-shaped inheritance pattern. @@ -58,6 +68,35 @@ */ interface
[gwt-contrib] Re: RR : Speed up class selector rewriting
Committed at r6218. http://gwt-code-reviews.appspot.com/67807 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit] r6218 committed - Speed CssResource class selector rewriting....
Revision: 6218 Author: b...@google.com Date: Fri Sep 25 12:26:41 2009 Log: Speed CssResource class selector rewriting. Patch by: amirkashani, bobv Review by: bobv, amirkashani http://code.google.com/p/google-web-toolkit/source/detail?r=6218 Modified: /trunk/user/src/com/google/gwt/resources/rg/CssResourceGenerator.java === --- /trunk/user/src/com/google/gwt/resources/rg/CssResourceGenerator.java Wed Sep 9 10:35:52 2009 +++ /trunk/user/src/com/google/gwt/resources/rg/CssResourceGenerator.java Fri Sep 25 12:26:41 2009 @@ -1,12 +1,12 @@ /* * Copyright 2008 Google Inc. - * + * * Licensed under the Apache License, Version 2.0 (the License); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an AS IS BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the @@ -97,7 +97,6 @@ import java.util.SortedSet; import java.util.TreeSet; import java.util.regex.Matcher; -import java.util.regex.Pattern; import java.util.zip.Adler32; /** @@ -105,21 +104,59 @@ */ public final class CssResourceGenerator extends AbstractResourceGenerator { static class ClassRenamer extends CssVisitor { -private final MapJMethod, String actualReplacements = new IdentityHashMapJMethod, String(); /** - * This is a map of local prefixes to the obfuscated names of imported - * methods. If a CssResource makes use of the {...@link Import} annotation, the - * keys of this map will correspond to the {...@link ImportedWithPrefix} value - * defined on the imported CssResource. The zero-length string key holds the - * obfuscated names for the CssResource that is being generated. + * A tag to indicate that an externally-defined CSS class has no JMethod + * that is used to access it. */ -private final MapString, MapJMethod, String classReplacementsWithPrefix; +private static final Replacement UNREFERENCED_EXTERNAL = new Replacement( +null, null); + +/* + * TODO: Replace with PairA, B. + */ +private static class Replacement { + + private JMethod method; + private String obfuscatedClassName; + + public Replacement(JMethod method, String obfuscatedClassName) { +this.method = method; +this.obfuscatedClassName = obfuscatedClassName; + } + + public JMethod getMethod() { +return method; + } + + public String getObfuscatedClassName() { +return obfuscatedClassName; + } + + /** + * For debugging use only. + */ + public String toString() { +if (this == UNREFERENCED_EXTERNAL) { + return Unreferenced external class name; +} else { + return method.getName() + = + obfuscatedClassName; +} + } +} + +/** + * Records replacements that have actually been performed. + */ +private final MapJMethod, String actualReplacements = new IdentityHashMapJMethod, String(); private final SetString cssDefs = new HashSetString(); -private final SetString externalClasses; + +/** + * The task-list of replacements to perform in the stylesheet. + */ +private final MapString, Replacement potentialReplacements; private final TreeLogger logger; private final SetJMethod missingClasses; -private final SetString replacedClasses = new HashSetString(); private final boolean strict; private final SetString unknownClasses = new HashSetString(); @@ -127,9 +164,10 @@ MapString, MapJMethod, String classReplacementsWithPrefix, boolean strict, SetString externalClasses) { this.logger = logger.branch(TreeLogger.DEBUG, Replacing CSS class names); - this.classReplacementsWithPrefix = classReplacementsWithPrefix; this.strict = strict; - this.externalClasses = externalClasses; + + potentialReplacements = computeReplacements(classReplacementsWithPrefix, + externalClasses); // Require a definition for all classes in the default namespace assert classReplacementsWithPrefix.containsKey(); @@ -144,56 +182,45 @@ @Override public void endVisit(CssSelector x, Context ctx) { + String sel = x.getSelector(); - - // TODO This would be simplified by having a class hierarchy for selectors - for (Map.EntryString, MapJMethod, String outerEntry : classReplacementsWithPrefix.entrySet()) { -String prefix = outerEntry.getKey(); -for (Map.EntryJMethod, String entry : outerEntry.getValue().entrySet()) { - JMethod method = entry.getKey(); - String sourceClassName = method.getName(); - String
[gwt-contrib] Support more structured GWT versions for 2.0+
Reviewers: Ray Ryan, Description: As discussed, this does not include any support for snapshot version numbers, but would be trivial to add. Please review this at http://gwt-code-reviews.appspot.com/72802 Affected files: dev/core/src/com/google/gwt/dev/About.java dev/core/src/com/google/gwt/dev/GwtVersion.java dev/core/src/com/google/gwt/dev/cfg/ModuleDef.java dev/core/src/com/google/gwt/dev/shell/CheckForUpdates.java dev/core/test/com/google/gwt/dev/AboutTest.java dev/core/test/com/google/gwt/dev/GwtVersionTest.java dev/core/test/com/google/gwt/dev/shell/CheckForUpdatesTest.java user/src/com/google/gwt/user/tools/WebAppCreator.java --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Support more structured GWT versions for 2.0+
http://gwt-code-reviews.appspot.com/72802/diff/1/8 File dev/core/src/com/google/gwt/dev/cfg/ModuleDef.java (right): http://gwt-code-reviews.appspot.com/72802/diff/1/8#newcode131 Line 131: public void addLinker(String linkerName) { Hmm, not sure how these changes got into here. I think this is a useful patch to avoid warnings, but should not be part of the version patch. http://gwt-code-reviews.appspot.com/72802 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Changes served location of UiBinder's xhtml.ent from svn to downloads
Can you look again? One of my unit tests was passing vacuously, and I also wasn't being strict enough when matching short circuited resource paths (needed to look for trailing '/' too). http://gwt-code-reviews.appspot.com/72801 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Changes served location of UiBinder's xhtml.ent from svn to downloads
LGTM Code looks fine, but I really don't know what these files are doing, so I can't review the logic. http://gwt-code-reviews.appspot.com/72801 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Changes served location of UiBinder's xhtml.ent from svn to downloads
Committed r6219 On Fri, Sep 25, 2009 at 1:48 PM, Ray Ryan rj...@google.com wrote: Since the logic hasn't changed, I'll take your LGTM and run with it. FYI, this is an object we plug in to the XML parser. It gets to turn URLs into streams. When it sees us serving from the magic url where our xhtml.ent file lives, it returns a local copy. Otherwise each time someone compiled a ui.xml file referencing that resource they would hit our project hosting page. The CL changes the magic location. On Fri, Sep 25, 2009 at 1:40 PM, jlaba...@google.com wrote: LGTM Code looks fine, but I really don't know what these files are doing, so I can't review the logic. http://gwt-code-reviews.appspot.com/72801 --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit] r6219 committed - Changes served location of UiBinder's xhtml.ent from svn to downloads...
Revision: 6219 Author: rj...@google.com Date: Fri Sep 25 13:56:23 2009 Log: Changes served location of UiBinder's xhtml.ent from svn to downloads Also makes match more stringent, and fixes vaccuous test case Review: jgw, jlabanca http://code.google.com/p/google-web-toolkit/source/detail?r=6219 Modified: /trunk/user/src/com/google/gwt/uibinder/rebind/GwtResourceEntityResolver.java /trunk/user/src/com/google/gwt/uibinder/resources/xhtml.ent /trunk/user/src/com/google/gwt/uibinder/sample/client/WidgetBasedUi.ui.xml /trunk/user/test/com/google/gwt/uibinder/rebind/GwtResourceEntityResolverTest.java === --- /trunk/user/src/com/google/gwt/uibinder/rebind/GwtResourceEntityResolver.java Wed Aug 5 20:27:52 2009 +++ /trunk/user/src/com/google/gwt/uibinder/rebind/GwtResourceEntityResolver.java Fri Sep 25 13:56:23 2009 @@ -1,12 +1,12 @@ /* * Copyright 2009 Google Inc. - * + * * Licensed under the Apache License, Version 2.0 (the License); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an AS IS BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the @@ -25,13 +25,13 @@ /** * Does special handling of external entities encountered by sax xml parser, * e.g. the uri in - * + * * pre - * lt;!DOCTYPE gwt:UiBinder - SYSTEM http://google-web-toolkit.googlecode.com/svn/resources/xhtml.ent;/pre + * lt;!DOCTYPE gwt:UiBinder + SYSTEM http://google-web-toolkit.googlecode.com/files/xhtml.ent;/pre * p * Specifically, if the requested uri starts with - * codehttp://google-web-toolkit.googlecode.com/svn/resources/code, provide + * codehttp://google-web-toolkit.googlecode.com/files/code, provide * the contents from a built in resource rather than allowing sax to make a * network request. */ @@ -40,9 +40,9 @@ InputStream fetch(String name); } - private static final String EXTERNAL_ENTITY_PREFIX = http://google-web-toolkit.googlecode.com/svn/resources;; - - private static final String RESOURCES = com/google/gwt/uibinder/resources; + private static final String EXTERNAL_ENTITY_PREFIX = http://google-web-toolkit.googlecode.com/files/;; + + private static final String RESOURCES = com/google/gwt/uibinder/resources/; private final ResourceLoader resourceLoader; === --- /trunk/user/src/com/google/gwt/uibinder/resources/xhtml.ent Wed Aug 5 20:27:52 2009 +++ /trunk/user/src/com/google/gwt/uibinder/resources/xhtml.ent Fri Sep 25 13:56:23 2009 @@ -6,12 +6,22 @@ -- !-- - This is the complete set of named character entites defined in XHTML1.0. It's - essentially a union of: + This is the complete set of named character entites defined in + XHTML1.0. Though this file was created for the convenience of users + of the Google Web Toolkit, it should be useful for any XML + document. It's essentially a union of: http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent + + Sample usage: + !DOCTYPE ui:UiBinder +SYSTEM http://google-web-toolkit.googlecode.com/files/xhtml.ent; + + This file is maintained at + http://google-web-toolkit.googlecode.com/svn/trunk/user/src/com/google/gwt/uibinder/resources/xhtml.ent. Changes + made to it must be propagated to the URL in the sample above. -- !-- Latin-1 characters -- @@ -208,7 +218,7 @@ existing ISO 8879 entity names. ISO 10646 character numbers are given for each character, in hex. values are decimal conversions of the ISO 10646 values and refer to the document - character set. Names are Unicode names. + character set. Names are Unicode names. -- !-- C0 Controls and Basic Latin -- @@ -394,7 +404,7 @@ !ENTITY uArr #8657; !-- upwards double arrow, U+21D1 ISOamsa -- !ENTITY rArr #8658; !-- rightwards double arrow, U+21D2 ISOtech -- - !-- Unicode does not say this is the 'implies' character but does not have + !-- Unicode does not say this is the 'implies' character but does not have another character with this function so rArr can be used for 'implies' as ISOtech suggests -- !ENTITY dArr #8659; !-- downwards double arrow, U+21D3 ISOamsa -- @@ -467,11 +477,11 @@ !ENTITY rfloor #8971; !-- right floor, U+230B ISOamsc -- !ENTITY lang #9001; !-- left-pointing angle bracket = bra, U+2329 ISOtech -- - !-- lang is NOT the same character as U+003C 'less than sign' + !-- lang is NOT the same character as U+003C 'less
[gwt-contrib] Re: Support more structured GWT versions for 2.0+
John, this seems awfully complicated, and a lot of that complixity is in support of big public API that as far as I can see is unused. Is all of this really necessary for us to tell that 2.0.0-rc 2.0.0, or whatever convention it was that we settled on? I also don't think this should gate release of MS1. http://gwt-code-reviews.appspot.com/72802/diff/1/5 File dev/core/src/com/google/gwt/dev/About.java (right): http://gwt-code-reviews.appspot.com/72802/diff/1/5#newcode50 Line 50: * @deprecated use {...@link #getGwtVersionObject()} or I take it getGwtVersionArray was not public api? Would library writers be relying on it? http://gwt-code-reviews.appspot.com/72802/diff/1/5#newcode97 Line 97: gwtVersionNum = tmp; Seems like gwtVersionNum field should go away, and String getGwtVersionNum() should now be gwtVersion().getNumberString(), something like that. For that matter, I wonder if GwtVersion should take over the gwtName as well? So its constructor would actually be GwtVersion(String name, String number)? (Less certain of this, please push back.) Then About becomes entirely about finding property values and cramming them into GwtVersion, where all the smarts lie. http://gwt-code-reviews.appspot.com/72802/diff/1/7 File dev/core/src/com/google/gwt/dev/GwtVersion.java (right): http://gwt-code-reviews.appspot.com/72802/diff/1/7#newcode25 Line 25: public final class GwtVersion implements ComparableGwtVersion { Please break out VersionComponent and ReleaseNumber into their own .java files, this is hard to read. Do they really need to be public? If they have no clients yet, they shouldn't be. And that makes me wonder if a lot of this code is unneeded. Seems like I see a lot of public methods that are never called outside of a unit test, which therefore shouldn't be committed. http://gwt-code-reviews.appspot.com/72802/diff/1/7#newcode33 Line 33: public static final ReleaseNumber RELEASE = new ReleaseNumber(ReleaseType.Release, 0); Should RELEASE be DEFAULT_RELEASE? NULL_RELEASE? Unclear from its name what its role is. http://gwt-code-reviews.appspot.com/72802/diff/1/7#newcode51 Line 51: public static ReleaseNumber parse(String value) { shouldn't be public. http://gwt-code-reviews.appspot.com/72802/diff/1/7#newcode135 Line 135: public enum ReleaseType { why public http://gwt-code-reviews.appspot.com/72802/diff/1/7#newcode187 Line 187: * soley of digits, it will be stored as an integer component instead. Why? http://gwt-code-reviews.appspot.com/72802/diff/1/7#newcode401 Line 401: public ListVersionComponent getComponents() { I don't see any calls to this. If I didn't miss some, why is it public? Why does it exist? http://gwt-code-reviews.appspot.com/72802/diff/1/7#newcode405 Line 405: public ReleaseNumber getReleaseNumber() { ditto http://gwt-code-reviews.appspot.com/72802/diff/1/7#newcode430 Line 430: public boolean isReleased() { unused? http://gwt-code-reviews.appspot.com/72802/diff/1/3 File dev/core/test/com/google/gwt/dev/AboutTest.java (right): http://gwt-code-reviews.appspot.com/72802/diff/1/3#newcode55 Line 55: public void tstGwtVersionObject() { bad test name. This isn't running. http://gwt-code-reviews.appspot.com/72802/diff/1/2 File dev/core/test/com/google/gwt/dev/GwtVersionTest.java (right): http://gwt-code-reviews.appspot.com/72802/diff/1/2#newcode100 Line 100: * Test that GwtVersion.compareTo produced expected results. s/compareTo/equals/ This is why I think javadoc on test methods is stupid. But I digress. http://gwt-code-reviews.appspot.com/72802/diff/1/2#newcode197 Line 197: assertTrue(components.get(1).isInteger()); Seems like a lot of this kind of thing should be in a separate unit test on VersionComponent. You could get rid of a lot of these redundant isInteger checks that way w/o reducing coverage. http://gwt-code-reviews.appspot.com/72802/diff/1/2#newcode204 Line 204: assertEquals(ReleaseType.ReleaseCandidate, releaseNumber.getReleaseType()); Similarly, seems like a lot of redundant coverage of ReleaseNumber#getReleaseType() and makes me think you need ReleaseNumberTest. Or, flipside--I see no code that actually uses ReleaseType. Should it even exist? http://gwt-code-reviews.appspot.com/72802/diff/1/4 File dev/core/test/com/google/gwt/dev/shell/CheckForUpdatesTest.java (left): http://gwt-code-reviews.appspot.com/72802/diff/1/4#oldcode6 Line 6: public class CheckForUpdatesTest extends TestCase { Seems like you still need at least some kind of test at this level, to make sure that CheckForUpdates is actually using GwtVerison objects properly. It'd be silly for it to duplicate the coverage of GwtVersionTest, but we still at least want to see that isServerVersionNewer works at all. Also, how did you confirm that the old code will see the new style strings as newer? http://gwt-code-reviews.appspot.com/72802/diff/1/4#oldcode40 Line 40: //assertFalse(CheckForUpdates.isServerVersionNewer(2, 1.2.3)); Oh. You're telling me that the tests I'm saying we shouldn't delete
[gwt-contrib] [google-web-toolkit] r6220 committed - Turning off the batch mode for test.hosted and test.web targets ...
Revision: 6220 Author: amitman...@google.com Date: Fri Sep 25 16:33:38 2009 Log: Turning off the batch mode for test.hosted and test.web targets since batching currently does not honor the @DoNotRunWith annotation. Patch by: amitmanjhi http://code.google.com/p/google-web-toolkit/source/detail?r=6220 Modified: /branches/farewellSwt/user/build.xml === --- /branches/farewellSwt/user/build.xmlMon Sep 21 15:06:15 2009 +++ /branches/farewellSwt/user/build.xmlFri Sep 25 16:33:38 2009 @@ -142,7 +142,7 @@ property name=gwt.junit.testcase.hosted.includes value=${gwt.junit.testcase.includes} / property name=gwt.junit.testcase.hosted.excludes value=${gwt.junit.testcase.excludes} / fileset id=test.hosted.tests dir=${javac.junit.out} includes=${gwt.junit.testcase.hosted.includes} excludes=${gwt.junit.testcase.hosted.excludes} / -gwt.junit test.args=${test.args} -batch module test.out=${junit.out}/${build.host.platform}-hosted-mode test.cases=test.hosted.tests +gwt.junit test.args=${test.args} test.out=${junit.out}/${build.host.platform}-hosted-mode test.cases=test.hosted.tests extraclasspaths path refid=test.extraclasspath / /extraclasspaths @@ -165,7 +165,7 @@ target name=test.web depends=compile, compile.tests description=Run only web-mode tests for this project. fileset id=test.web.tests dir=${javac.junit.out} includes=${gwt.junit.testcase.web.includes} excludes=${gwt.junit.testcase.web.excludes} / -gwt.junit test.args=${test.args} -out www -web -batch module test.out=${junit.out}/${build.host.platform}-web-mode test.cases=test.web.tests +gwt.junit test.args=${test.args} -out www -web test.out=${junit.out}/${build.host.platform}-web-mode test.cases=test.web.tests extraclasspaths path refid=test.extraclasspath / /extraclasspaths --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Re: Support more structured GWT versions for 2.0+
Milestone users are savvy, and shouldn't rely on the update mechanism to know what's going on. We don't need to worry about this case. On Fri, Sep 25, 2009 at 4:41 PM, Ray Ryan rj...@google.com wrote: On Fri, Sep 25, 2009 at 4:29 PM, John Tamplin j...@google.com wrote: On Fri, Sep 25, 2009 at 7:25 PM, rj...@google.com wrote: John, this seems awfully complicated, and a lot of that complixity is in support of big public API that as far as I can see is unused. Is all of this really necessary for us to tell that 2.0.0-rc 2.0.0, or whatever convention it was that we settled on? I mentioned that it was over general for what is needed, but Bruce said we should go with that if it is well tested rather than trying to write something else given the time constraints. I also don't think this should gate release of MS1. The existing code will fail notice that any later release is an upgrade of MS1, which seems pretty damaging. A user with MS1 could happily continue to use it long after we release the final version. If it were my call, I would say we can live with that. Review responses separately. -- John A. Tamplin Software Engineer (GWT), Google --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Comment on CssResource in google-web-toolkit
Comment by matt.smillie: An alternate approach to background images is not to use `...@sprite`s at all, but defining them as DataResource and using `...@url` replacement, e.g.: {{{ class SomeBundle extends ClientBundle { @Source(/some/tiling/background) DataResource aTile(); } --- css --- @url tileName aTile; .tiledElement { background: tileName repeat-x 0 0; } }}} Main advantage seems to be that you don't have to override/work-around the width/height generated by `...@sprite` rules. For more information: http://code.google.com/p/google-web-toolkit/wiki/CssResource --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] Comment on CssResource in google-web-toolkit
Comment by matt.smillie: The above also raises a couple of questions: * would an @tile rule be useful? * should @url rules work on any class defining getUrl(), i.e., should ImageResource extend DataResource (or some hypothetical HasURL interface)? For more information: http://code.google.com/p/google-web-toolkit/wiki/CssResource --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---
[gwt-contrib] [google-web-toolkit] r6221 committed - Checkstyle fix, unused import in BrowserChannel.java
Revision: 6221 Author: rj...@google.com Date: Fri Sep 25 20:31:26 2009 Log: Checkstyle fix, unused import in BrowserChannel.java http://code.google.com/p/google-web-toolkit/source/detail?r=6221 Modified: /branches/farewellSwt/dev/oophm/src/com/google/gwt/dev/shell/BrowserChannel.java === --- /branches/farewellSwt/dev/oophm/src/com/google/gwt/dev/shell/BrowserChannel.java Fri Sep 25 11:00:02 2009 +++ /branches/farewellSwt/dev/oophm/src/com/google/gwt/dev/shell/BrowserChannel.java Fri Sep 25 20:31:26 2009 @@ -30,7 +30,6 @@ import java.io.OutputStream; import java.io.UnsupportedEncodingException; import java.net.Socket; -import java.util.Collections; import java.util.Set; /** --~--~-~--~~~---~--~~ http://groups.google.com/group/Google-Web-Toolkit-Contributors -~--~~~~--~~--~--~---