Re: Best practices for inlining build (revision) number into GWT App?
Hi Honza, your implementation sounds intresting. Can you provide more informations about your solution? Thanks Frank Am Mittwoch, 12. Juni 2013 09:50:41 UTC+2 schrieb Honza Rames: I have a XML file that stores various information about my build and is updated by a Linker which increments build number each build I make. And I have a generator that returns an interface that I can use in GWT app which includes the build number, revision, build date etc. Regards Honza On Tuesday, June 11, 2013 7:17:42 PM UTC+2, Joseph Lust wrote: For various reasons you need to know the revision of the GWT app code. For example to verify that the server API is not newer than the JS code (i.e. if you deploy GWT JS to a CDN). Some common approaches which I find to be rather hackish: - Use Maven replacer to replace a sequence in a *source* file at the validation stage and have that inlined into your GWT file at compile (hackish) - Use Maven replacer or Maven war plugin filters to add the build number to the index.html page, or a backend service (JS code still not independently versioned, more API calls) - Hardcode it (don't hardcode things) After two years, the best method I've see is to create a *code generator* to allow deferred binding of the build number. This however has always stuck me as massively overkill to add a number to a build artifact. So, I was curious how others here have dealt with this common issue. Hopefully there is a simpler way. Sincerely, Joseph -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Re: ScrollPanel.scrollToBottom has no effect
Hy, I have the same Problem. I tried the solution of Paul Robinson, but nevertheless, nothing happens. Where is my mistake? Here is my code: public static ScrollPanel scrollPanel; // ... private void loadInputFunctions() { input.addKeyDownHandler(new KeyDownHandler() { @Override public void onKeyDown(KeyDownEvent event) { if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) { // ... } input.setText(); Scheduler.get().scheduleDeferred( new Scheduler.ScheduledCommand() { @Override public void execute() { scrollPanel.scrollToBottom(); } }); } } }); } Thanks in advance. Am Donnerstag, 16. August 2012 07:55:04 UTC+2 schrieb Paul Robinson: Try calling scrollToBottom after the event loop has finished by running it inside a call to Scheduler.get().scheduleDeferred(...) Paul On 16/08/12 06:15, Magnus wrote: Hello, I have a CellTable within a ScrollPanel with a fixed number of rows (40). Whenever the CellTable is filled with data by an AsyncDataProvider, the ScrollPanel should scroll down to the end of the CellTable. So I call scrollToBottom at the end of the load process triggered by onRangeChanged, i. e. within onRangeChangend a RPC call is made to fetch the new data, and on response to this call the data is pushed into the CellTable and scrollToBottom is called (see below). However, the scrolling does not work. I tried to trace it with a Window.alert call, and I believe that the CellTable with the new data is not yet displayed when scrollToBottom is called. What can I do? Any hints are welcome! Thank you Magnus // AsyncDataProvider: protected void onRangeChanged(HasDataMyData display) { Range r = display.getVisibleRange(); int start = r.getStart() + 1; int end = start + r.getLength() - 1; loadData (start,end); } protected void loadData(int start,int end) { AsyncCallbackListMyData cbk = new AsyncCallbackListMyData() { public void onFailure (Throwable thr) { } public void onSuccess (ListMyData lst) { loadData (lst); } }; dataService.loadData (start,end,cbk); } protected void loadData (ListMyData lst) { Range r = pager.getDisplay().getVisibleRange(); int start = r.getStart(); dataProvider.updateRowData (start,lst); Window.alert(scroll to bottom); scp.scrollToBottom(); } -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To view this discussion on the web visit https://groups.google.com/d/msg/google-web-toolkit/-/oGv5jvVSM3cJ. To post to this group, send email to google-we...@googlegroups.comjavascript:. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com javascript:. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
scrollpanel.scrollToBottom() doesn't work...
Hy, I have the same Problem. I found a solution with Scheduler. ... but it doesn't work. Where is my mistake? Here is my code: public static ScrollPanel scrollPanel; // ... private void loadInputFunctions() { input.addKeyDownHandler(new KeyDownHandler() { @Override public void onKeyDown(KeyDownEvent event) { if (event.getNativeKeyCode() == KeyCodes.KEY_ENTER) { // ... } input.setText(); Scheduler.get().scheduleDeferred( new Scheduler.ScheduledCommand() { @Override public void execute() { scrollPanel.scrollToBottom(); } }); } } }); } Thanks in advance. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
get the month integer value by passing month name as a inout
Hi all, this particular logic in java returns the logic what I am asking for but GWT does not support java util package of calender. Can someone help me converting this logic with GWT util package Calendar cal = Calendar.getInstance(); cal.setTime(new SimpleDateFormat(MMM).parse(July));int monthInt = cal.get(Calendar.MONTH) + 1; -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Re: Export Pie Chart to Excel
Thanks all. Have done with the help of apache POI. On Thursday, June 6, 2013 5:18:24 PM UTC-4, Joseph Lust wrote: POI has the limited ability to do this if you can create a standard template pie chart for it to start from. http://poi.apache.org/spreadsheet/limitations.html Sincerely, Joseph -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Re: ScrollPanel.scrollToBottom has no effect
Hy, I have the same problem with the Scrollpanel. I tried the solution of Paul Robinson, but nevertheless nothing happens. Here's my code: public static ScrollPanel scrollPanel; // ... private void loadInputFunctions() { input.addKeyDownHandler(new KeyDownHandler() { @Override public void onKeyDown(KeyDownEvent event) { // ... } input.setText(); * Scheduler.get().scheduleDeferred( new Scheduler.ScheduledCommand() { @Override public void execute() { scrollPanel.scrollToBottom(); } });* } } }); } Thanks in advance. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
RequestFactory/EntityProxy basic architecture/design question
Hi GWT Gurus, I have a pretty fundamental question about how to design the server-side of my system using RequestFactory. I'm sure I'm missing something pretty obvious, so I apologize in advance for the stupidity of the question. I have a server side entity (using Objectify for persistence), @Entity public class Foo { @Id private Long id; private String name; private int accumulator; private ListBar bars = new ArrayListBar(); public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAccumulator() { return accumulator; } public void setAccumulator(int accumulator) { this.accumulator = accumulator; } public ListBar getBars() { return new ArrayListBar(bars); } public void setBars(ListBar bars) { this.bars = new ArrayListBar(bars); } } @Embed public class Bar { private String baz; public String getBaz() { return baz; } public void setBaz(String baz) { this.baz = baz; } } And then the shared interfaces, @ProxyFor(value=Foo.class, locator=FooLocator.class) public interface FooProxy extends EntityProxy { String getName(); void setName(String name); int getAccumulator(); void setAccumulator(int accumulator); ListBar getBars(); setBars(ListBar bars); } @ProxyFor(value=Bar.class) public interface BarProxy extends ValueProxy { String getBaz(); void setBaz(String baz); } So far, so good. The problem I have is that when the client modifies the entity, when processing that action on the server side I need to be able to see what the user has changed and do things based on what the user has changed. E.g. if the stored list bars has been modified in the meantime, I need to merge the users changes; I might want to ensure that the accumulator only goes up -- that the user cannot set it to a value below the value stored on the server side. Essentially, I want the 'stored' version of the object and the 'modified' version of the object so I can write code that merges the changes, applies any logic I might need, and saves the object. Any help on how to structure my code to allow this, would be much appreciated. Kind regards, Rich -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Failure to send xml POST request in GWT
Hello guys, I am trying to send xml in POST request in GWT, but no responses or success, see my code below: RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, URL.encode(url)); logger.log(Level.INFO, Building payload+builder.toString()); try { builder.setHeader(Content-Type, application/xml); builder.setHeader(Accept, application/xml); Request response = builder.sendRequest(postData, new RequestCallback() { public void onError(Request request, Throwable exception) { logger.log(Level.INFO, there was a problem in connecting to the server); // Couldn't connect to server (could be timeout, SOP violation, etc.) } public void onResponseReceived(Request request, Response response) { if (200 == response.getStatusCode()) { Window.alert(success+response.getText()); // Process the response in response.getText() logger.log(Level.INFO, response from the server+response.getText()); } else { logger.log(Level.INFO, status is not 200_OK +response.getText()); // Handle the error. Can get the status text from response.getStatusText() } logger.log(Level.INFO, response.toString()); } }); } catch (RequestException e) { Window.alert(Failed to send the request: + e.getMessage()); } My post data looks is : request login= password= version=1.0 data id= msisdn= service-number= priority=1 content type=text/plainTes/content /data /request Please advice -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Re: get the month integer value by passing month name as a inout
HI, take a look at the DateTimeFormat class. Am Donnerstag, 13. Juni 2013 05:15:52 UTC+2 schrieb Shashank Beerla: Hi all, this particular logic in java returns the logic what I am asking for but GWT does not support java util package of calender. Can someone help me converting this logic with GWT util package Calendar cal = Calendar.getInstance(); cal.setTime(new SimpleDateFormat(MMM).parse(July));int monthInt = cal.get(Calendar.MONTH) + 1; -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
CodeMirror and GWT.
Hey guys. I've gotten a task to make a Textarea syntax highlighted and to have the autofill method implemented. My Textarea will consist of XML markup and I am using gwt and smartgwt. So, what I have done so far is to look into [url]http://codemirror.net/demo/xmlcomplete.html[/url] source code and tried that out. It all works if I copy paste this into my .html file. But when Im trying to implement this dynamically using GWT, things start to get troublesome. Here is my XMLWindow class that creates the textarea: (Its very primitive. The real textarea and form has more to it) [CODE] DynamicForm form2 = new DynamicForm(); TextAreaItem textA = new TextAreaItem(); textA.setValue(test/test); String id = test; form2.getElement().getElementsByTagName(textarea).getItem(0) .setId(id); form2.setNumCols(1); form2.setItems(textA); vl.setMembers(form2); addStyleToTextArea(String id) [/CODE] And a native method to call for my javascript function: [CODE] native void addStyleToTextArea(String id) /*-{ $wnd.addTest(id); //$wnd is a NSNI synonym for 'window' }-*/; [/CODE] The javascript function is so to say a function including adding the codemirror functions and style to my textarea. It is very long, but it has everything from line 32 to line 108 in the source code from [url]http://codemirror.net/demo/xmlcomplete.html[/url], basically: [CODE] function addTest(id){ //All the styling done from the source code from [url]http://codemirror.net/demo/xmlcomplete.html[/url] var editor = CodeMirror.fromTextArea(document.getElementById(id), { . } [/CODE] I am getting a : [CODE] com.google.gwt.event.shared.UmbrellaException: Exception caught: (TypeError) @no.uninett.pncweb.client.XMLWindow::addStyleToTextArea(Ljava/lang/String;)([string: 'test']): place is null [/CODE] I have been looking into the [url]http://code.google.com/p/codemirror2-gwt/[/url]. But following his examples basically resulted in nothing happening at all. Have anyone tried the same and would know If I am doing it right or have some tips on how to solve this? Regards! -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Re: unwanted .junit_symbolMaps in war compiled by GWT
Thanks. If I delete this folder .junit_symbolMaps from war. Can i safely run GWT Test cases. Is there any harm. ? Please let me know. On Friday, June 7, 2013 7:03:37 PM UTC+5:30, Thomas Broyer wrote: On Friday, June 7, 2013 3:15:56 PM UTC+2, anilva...@gmail.com wrote: Hi Everyone, we are generating one war for our application by using GWT. But the war contains a folder called .junit_symbolMaps . I need to know how and why this folder generated, then i can stop in generation phase. And i don't want to delete this folder before war created. I want to reduce the compilation time. You must be compiling a module that has an inherits name=com.google.gwt.junit.JUnit/ , there's no single reason to ever inherit the JUnit module. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Re: Failure to send xml POST request in GWT
I have noted also, even firebug does not register the POST request I made, it just load loaded the post domain. On Thursday, June 13, 2013 12:30:55 PM UTC+3, Daniel wrote: Hello guys, I am trying to send xml in POST request in GWT, but no responses or success, see my code below: RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, URL.encode(url)); logger.log(Level.INFO, Building payload+builder.toString()); try { builder.setHeader(Content-Type, application/xml); builder.setHeader(Accept, application/xml); Request response = builder.sendRequest(postData, new RequestCallback() { public void onError(Request request, Throwable exception) { logger.log(Level.INFO, there was a problem in connecting to the server); // Couldn't connect to server (could be timeout, SOP violation, etc.) } public void onResponseReceived(Request request, Response response) { if (200 == response.getStatusCode()) { Window.alert(success+response.getText()); // Process the response in response.getText() logger.log(Level.INFO, response from the server+response.getText()); } else { logger.log(Level.INFO, status is not 200_OK +response.getText()); // Handle the error. Can get the status text from response.getStatusText() } logger.log(Level.INFO, response.toString()); } }); } catch (RequestException e) { Window.alert(Failed to send the request: + e.getMessage()); } My post data looks is : request login= password= version=1.0 data id= msisdn= service-number= priority=1 content type=text/plainTes/content /data /request Please advice -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Re: unwanted .junit_symbolMaps in war compiled by GWT
On Thursday, June 13, 2013 11:58:42 AM UTC+2, anilva...@gmail.com wrote: Thanks. If I delete this folder .junit_symbolMaps from war. Can i safely run GWT Test cases. Is there any harm. ? Please let me know. These files are *created* by running GWTTestCases (generally; they can also be produced by compiling a module that inherits name=com.google.gwt.junit.JUnit/, something you shouldn't do). When running GWTTestCases, they'll be created in the -out or -war directory passed to -Dgwt.args=, which should (quite obviously) be different from the one of your app (defaults to www-test in Eclipse, to target/www-test in CodeHaus' gwt-maven-plugin, and target/gwt-tests/www in net.ltgt.gwt.maven:gwt-maven-plugin) -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Re: Code splittingmysteries
FYI I updated http://code.google.com/p/google-web-toolkit/issues/detail?id=7874 with some of my findings. I haven't found a workaround other than reverting to GWT 2.5.0 and am not sure I can dedicate any more time to this right now so will just revert I guess :( On 12 June 2013 19:34, Ed post2edb...@gmail.com wrote: Ed, out of interest, are you using Gin? No, but probably would use it if I would start blank. When I started with GWT (about 7 years ago), there was no GIN, so I had to make my own thinks like factories, which I use nowadays . This all resulted in having build my own rich gwt framework/lib, which I am happy about thought, works well.. But in general I am careful using external gwt lib's there are many out there being not maintained anymore, which can result in gwt upgrade problems.. I started out with mygwt, contributed some things... but then It became gxt and became half commercial :( -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Re: Failure to send xml POST request in GWT
Notorious SOP issue at hand perhaps? Sent from my iPhone On Jun 13, 2013, at 6:11 AM, Daniel rudan...@gmail.com wrote: I have noted also, even firebug does not register the POST request I made, it just load loaded the post domain. On Thursday, June 13, 2013 12:30:55 PM UTC+3, Daniel wrote: Hello guys, I am trying to send xml in POST request in GWT, but no responses or success, see my code below: RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, URL.encode(url)); logger.log(Level.INFO, Building payload+builder.toString()); try { builder.setHeader(Content-Type, application/xml); builder.setHeader(Accept, application/xml); Request response = builder.sendRequest(postData, new RequestCallback() { public void onError(Request request, Throwable exception) { logger.log(Level.INFO, there was a problem in connecting to the server); // Couldn't connect to server (could be timeout, SOP violation, etc.) } public void onResponseReceived(Request request, Response response) { if (200 == response.getStatusCode()) { Window.alert(success+response.getText()); // Process the response in response.getText() logger.log(Level.INFO, response from the server+response.getText()); } else { logger.log(Level.INFO, status is not 200_OK +response.getText()); // Handle the error. Can get the status text from response.getStatusText() } logger.log(Level.INFO, response.toString()); } }); } catch (RequestException e) { Window.alert(Failed to send the request: + e.getMessage()); } My post data looks is : request login= password= version=1.0 data id= msisdn= service-number= priority=1 content type=text/plainTes/content /data /request Please advice -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
RequestFactory Issue 6115
Hello group, Is the issue 6115 Fixed in GWT 2.5 or not?? http://code.google.com/p/google-web-toolkit/issues/detail?id=6115 My problem is that on a entity with recursive relation the ancestors are not loaded when calling with(ancestors). Here is my code: @Entity public class *JobCategory *{ // -- Recursive Relation mainCategory - SubCategories @*OneToMany*(mappedBy = mainCategory, cascade = CascadeType.ALL) private Set*JobCategory* *subCategories *= new HashSetJobCategory(); @ManyToOne private *JobCategory *mainCategory; ... Getters / Setters public static ListJobCategory findAllJobCategories() { EntityManager em = EMFService.get().createEntityManager(); try { Query query = em.createQuery(SELECT e FROM + JobCategory.class.getSimpleName() + e ORDER BY i18nKey); return (ListJobCategory) query.getResultList(); } catch (Exception e) { e.printStackTrace(); } finally { em.close(); } return new ArrayListJobCategory(); // Return empty list. } } When I call: JobCategoryRequest jobCategoryReq = this.requestFactory.jobCategoryRequest(); RequestListJobCategoryProxy req = jobCategoryReq.findAllJobCategories().with(*subCategories*); req.fire(receiver); ... The call will return categories but without subcatgeories. (The list is always empty). I checked the DB, it is all fine there. Can it be that the Bug 6115 has not been fixed, even though its status says so, or am I doing something wrong here? Thank you in advance: Nermin -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Re: RequestFactory Issue 6115
On Thursday, June 13, 2013 2:57:02 PM UTC+2, Nermin wrote: Hello group, Is the issue 6115 Fixed in GWT 2.5 or not?? http://code.google.com/p/google-web-toolkit/issues/detail?id=6115 My problem is that on a entity with recursive relation the ancestors are not loaded when calling with(ancestors). Here is my code: @Entity public class *JobCategory *{ // -- Recursive Relation mainCategory - SubCategories @*OneToMany*(mappedBy = mainCategory, cascade = CascadeType.ALL) private Set*JobCategory* *subCategories *= new HashSetJobCategory(); @ManyToOne private *JobCategory *mainCategory; ... Getters / Setters public static ListJobCategory findAllJobCategories() { EntityManager em = EMFService.get().createEntityManager(); try { Query query = em.createQuery(SELECT e FROM + JobCategory.class.getSimpleName() + e ORDER BY i18nKey); return (ListJobCategory) query.getResultList(); } catch (Exception e) { e.printStackTrace(); } finally { em.close(); } return new ArrayListJobCategory(); // Return empty list. } } When I call: JobCategoryRequest jobCategoryReq = this.requestFactory.jobCategoryRequest(); RequestListJobCategoryProxy req = jobCategoryReq.findAllJobCategories().with(*subCategories*); req.fire(receiver); ... The call will return categories but without subcatgeories. (The list is always empty). I checked the DB, it is all fine there. Can it be that the Bug 6115 has not been fixed, even though its status says so, or am I doing something wrong here? Have you checked whether the caller is called? if it is, does it return a populated set? You're supposed to use an open-session-in-view (aka session-per-request) pattern with RequestFactory, rather than creating/closing an EntityManager in each service method. In this simple example (a single service method call in the RequestContext, with no shared object between the request –arguments– and the response), it shouldn't cause any harm *except* if you lazy-load your linked entities. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Re: RequestFactory Issue 6115
Hello Thomas, yes the caller gets called, but the subcategories HashSet is empty??? The select findAllJobCategories() returns entities with populated ancestors. However, when getSubCategories() method gets called, all ancestors are empty. Any idea what could be the reason? Is there an working example available on the net? Thank you in advance: Nermin Am Donnerstag, 13. Juni 2013 15:05:56 UTC+2 schrieb Thomas Broyer: On Thursday, June 13, 2013 2:57:02 PM UTC+2, Nermin wrote: Hello group, Is the issue 6115 Fixed in GWT 2.5 or not?? http://code.google.com/p/google-web-toolkit/issues/detail?id=6115 My problem is that on a entity with recursive relation the ancestors are not loaded when calling with(ancestors). Here is my code: @Entity public class *JobCategory *{ // -- Recursive Relation mainCategory - SubCategories @*OneToMany*(mappedBy = mainCategory, cascade = CascadeType.ALL) private Set*JobCategory* *subCategories *= new HashSetJobCategory(); @ManyToOne private *JobCategory *mainCategory; ... Getters / Setters public static ListJobCategory findAllJobCategories() { EntityManager em = EMFService.get().createEntityManager(); try { Query query = em.createQuery(SELECT e FROM + JobCategory.class.getSimpleName() + e ORDER BY i18nKey); return (ListJobCategory) query.getResultList(); } catch (Exception e) { e.printStackTrace(); } finally { em.close(); } return new ArrayListJobCategory(); // Return empty list. } } When I call: JobCategoryRequest jobCategoryReq = this.requestFactory.jobCategoryRequest(); RequestListJobCategoryProxy req = jobCategoryReq.findAllJobCategories().with(*subCategories*); req.fire(receiver); ... The call will return categories but without subcatgeories. (The list is always empty). I checked the DB, it is all fine there. Can it be that the Bug 6115 has not been fixed, even though its status says so, or am I doing something wrong here? Have you checked whether the caller is called? if it is, does it return a populated set? You're supposed to use an open-session-in-view (aka session-per-request) pattern with RequestFactory, rather than creating/closing an EntityManager in each service method. In this simple example (a single service method call in the RequestContext, with no shared object between the request –arguments– and the response), it shouldn't cause any harm *except* if you lazy-load your linked entities. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Re: Failure to send xml POST request in GWT
Hi Alfredo; Still not sure what is the issue, but when i try to remove the port and send my POST request to the IP only, the request goes out, but with a port it does not , does WTP have issues with port? Regards, Daniel. On Thursday, June 13, 2013 3:43:30 PM UTC+3, Alfredo Quiroga-Villamil wrote: Notorious SOP issue at hand perhaps? Sent from my iPhone On Jun 13, 2013, at 6:11 AM, Daniel ruda...@gmail.com javascript: wrote: I have noted also, even firebug does not register the POST request I made, it just load loaded the post domain. On Thursday, June 13, 2013 12:30:55 PM UTC+3, Daniel wrote: Hello guys, I am trying to send xml in POST request in GWT, but no responses or success, see my code below: RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, URL.encode(url)); logger.log(Level.INFO, Building payload+builder.toString()); try { builder.setHeader(Content-Type, application/xml); builder.setHeader(Accept, application/xml); Request response = builder.sendRequest(postData, new RequestCallback() { public void onError(Request request, Throwable exception) { logger.log(Level.INFO, there was a problem in connecting to the server); // Couldn't connect to server (could be timeout, SOP violation, etc.) } public void onResponseReceived(Request request, Response response) { if (200 == response.getStatusCode()) { Window.alert(success+response.getText()); // Process the response in response.getText() logger.log(Level.INFO, response from the server+response.getText()); } else { logger.log(Level.INFO, status is not 200_OK +response.getText()); // Handle the error. Can get the status text from response.getStatusText() } logger.log(Level.INFO, response.toString()); } }); } catch (RequestException e) { Window.alert(Failed to send the request: + e.getMessage()); } My post data looks is : request login= password= version=1.0 data id= msisdn= service-number= priority=1 content type=text/plainTes/content /data /request Please advice -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com javascript:. To post to this group, send email to google-we...@googlegroups.comjavascript: . Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Re: Failure to send xml POST request in GWT
yes true, seemed SOP is the problem https://developers.google.com/web-toolkit/doc/latest/FAQ_Server#What_is_the_Same_Origin_Policy,_and_how_does_it_affect_GWT Regards, Daniel. On Thursday, June 13, 2013 3:43:30 PM UTC+3, Alfredo Quiroga-Villamil wrote: Notorious SOP issue at hand perhaps? Sent from my iPhone On Jun 13, 2013, at 6:11 AM, Daniel ruda...@gmail.com javascript: wrote: I have noted also, even firebug does not register the POST request I made, it just load loaded the post domain. On Thursday, June 13, 2013 12:30:55 PM UTC+3, Daniel wrote: Hello guys, I am trying to send xml in POST request in GWT, but no responses or success, see my code below: RequestBuilder builder = new RequestBuilder(RequestBuilder.POST, URL.encode(url)); logger.log(Level.INFO, Building payload+builder.toString()); try { builder.setHeader(Content-Type, application/xml); builder.setHeader(Accept, application/xml); Request response = builder.sendRequest(postData, new RequestCallback() { public void onError(Request request, Throwable exception) { logger.log(Level.INFO, there was a problem in connecting to the server); // Couldn't connect to server (could be timeout, SOP violation, etc.) } public void onResponseReceived(Request request, Response response) { if (200 == response.getStatusCode()) { Window.alert(success+response.getText()); // Process the response in response.getText() logger.log(Level.INFO, response from the server+response.getText()); } else { logger.log(Level.INFO, status is not 200_OK +response.getText()); // Handle the error. Can get the status text from response.getStatusText() } logger.log(Level.INFO, response.toString()); } }); } catch (RequestException e) { Window.alert(Failed to send the request: + e.getMessage()); } My post data looks is : request login= password= version=1.0 data id= msisdn= service-number= priority=1 content type=text/plainTes/content /data /request Please advice -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com javascript:. To post to this group, send email to google-we...@googlegroups.comjavascript: . Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. For more options, visit https://groups.google.com/groups/opt_out. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
upgrading Client application in GWT version 2.1.0 to GWT version 2.3.0
I am upgrading my application that is designed in GWT version 2.1.0. and the upgrade version will 2.3.0. Please tell me what kind of changes i have to do for upgrade. and i am also using GWT maven plugin. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
Re: Best practices for inlining build (revision) number into GWT App?
Hi Frank, I have a XML (version.xml) document in my war directory: ?xml version=1.0 encoding=UTF-8? !DOCTYPE version [!ATTLIST build id ID #IMPLIED] version build id=build76/build !-- Another data if you need it -- /version A linker that increments the build number after the link process has been completed: package my.pkg; import com.google.gwt.core.ext.LinkerContext; import com.google.gwt.core.ext.TreeLogger; import com.google.gwt.core.ext.UnableToCompleteException; import com.google.gwt.core.ext.linker.AbstractLinker; import com.google.gwt.core.ext.linker.ArtifactSet; import com.google.gwt.core.ext.linker.LinkerOrder; import com.google.gwt.core.ext.linker.LinkerOrder.Order; import com.google.gwt.core.ext.linker.Shardable; /** * Just a linker that will increment build after compilation is done * @author SHadoW * */ @LinkerOrder(Order.POST) @Shardable public class IncBuildLinker extends AbstractLinker { private static boolean incremented = false; @Override public String getDescription() { return IncBuildLinker; } @Override public ArtifactSet link(TreeLogger logger, LinkerContext context, ArtifactSet artifacts, boolean onePermutation) throws UnableToCompleteException { //Do this only once after the entire link process has completed if (onePermutation (! incremented)) { BuildHelper.incBuildAndSave(logger); //Do this only after all permutations has been compiled incremented = true; } return super.link(logger, context, artifacts); } } the BuildHelper class accesses the version.xml and I don't want to post it here because it is pretty straight forward but still a lot of code ;-). And the generator (it uses some of my classes that ease the code generation) which creates an implementation for BuildInfo interface that you instantiate with GWT.create(BuildInfo.class) which looks as follows: package my.pkg; import java.util.Date; import com.google.gwt.dev.About; import my.pkg.generators.BaseGenerator; import my.pkg.generators.BaseGeneratorClient; public class BuildGenerator extends BaseGenerator { /* I'm using some helpers in generation process that's why I have the Client class here, it defines some functions that make it easier to generate java code in hand*/ @Override protected BaseGeneratorClient getClient() { return new Client(); } class Client extends BaseGeneratorClient { /* This gets called by the generator once the class imports and declaration is written by the generator */ @Override protected void doGenerate() { writeBlockIntro(public String getBuildDate()); writeReturn(STR, (new Date()).toString()); writeBlockOutro(); writeBlockIntro(public int getBuildNumber()); writeReturn(BuildHelper.getBuildNumber()); writeBlockOutro(); writeBlockIntro(public String getGwtSvnRev()); writeReturn(STR, About.getGwtSvnRev()); //This is saved during GWT build process and can only be accessed in plain java writeBlockOutro(); } } } and of course appropriately set module.gwt.xml that includes: define-linker name=incbuild class=my.pkg.IncBuildLinker / add-linker name=incbuild / generate-with class=my.pkg.BuildGenerator when-type-is class=my.pkg.client.BuildInfo/ /generate-with it is useful to have multiple modules that only one of them includes the linker so you only increment the build number after you compile for production so that development builds don't increment the build number. Everybody else not interested in my solution sorry for the longish post, I din't see any other way how to do this. If anybody else need more explanation I could provide full source codes directly if needed, feel free to ask any questions ;-) Honza On Thursday, June 13, 2013 9:46:22 AM UTC+2, Frank Hossfeld wrote: Hi Honza, your implementation sounds intresting. Can you provide more informations about your solution? Thanks Frank Am Mittwoch, 12. Juni 2013 09:50:41 UTC+2 schrieb Honza Rames: I have a XML file that stores various information about my build and is updated by a Linker which increments build number each build I make. And I have a generator that returns an interface that I can use in GWT app which includes the build number, revision, build date etc. Regards Honza On Tuesday, June 11, 2013 7:17:42 PM UTC+2, Joseph Lust wrote: For various reasons you need to know the revision of the GWT app code. For example to verify that the server API is not newer than the JS code (i.e. if you deploy GWT JS to a CDN). Some common approaches which I find to be rather hackish: - Use Maven replacer to replace a sequence in a *source* file at the validation stage and have that inlined into your GWT file at compile (hackish) - Use Maven replacer or Maven war plugin filters to add the build number to the index.html page, or a backend service (JS code still not independently versioned,
Re: Best practices for inlining build (revision) number into GWT App?
Honza, Nice solution. My old solution using shell scripts and ant was a lot simpler. -- A java class object with just static variables, BUILD_DATE, BUILD_NUMBER…. -- In shell scrips I would pull the date and last revision number from subversion. Then using a simple echo command I would build a new java class file. -- I have yet to take the time and see how I can integrate the ability to pull the information from subversion into Maven. I even had shell scripts to generate release changes, store the RPM in a repository…. At some point I think I will have to spend a few weeks converting all my shell scripts, ant build scripts to Maven. Tim On Jun 13, 2013, at 10:21 AM, Honza Rames rame...@gmail.com wrote: Hi Frank, I have a XML (version.xml) document in my war directory: ?xml version=1.0 encoding=UTF-8? !DOCTYPE version [!ATTLIST build id ID #IMPLIED] version build id=build76/build !-- Another data if you need it -- /version A linker that increments the build number after the link process has been completed: package my.pkg; import com.google.gwt.core.ext.LinkerContext; import com.google.gwt.core.ext.TreeLogger; import com.google.gwt.core.ext.UnableToCompleteException; import com.google.gwt.core.ext.linker.AbstractLinker; import com.google.gwt.core.ext.linker.ArtifactSet; import com.google.gwt.core.ext.linker.LinkerOrder; import com.google.gwt.core.ext.linker.LinkerOrder.Order; import com.google.gwt.core.ext.linker.Shardable; /** * Just a linker that will increment build after compilation is done * @author SHadoW * */ @LinkerOrder(Order.POST) @Shardable public class IncBuildLinker extends AbstractLinker { private static boolean incremented = false; @Override public String getDescription() { return IncBuildLinker; } @Override public ArtifactSet link(TreeLogger logger, LinkerContext context, ArtifactSet artifacts, boolean onePermutation) throws UnableToCompleteException { //Do this only once after the entire link process has completed if (onePermutation (! incremented)) { BuildHelper.incBuildAndSave(logger); //Do this only after all permutations has been compiled incremented = true; } return super.link(logger, context, artifacts); } } the BuildHelper class accesses the version.xml and I don't want to post it here because it is pretty straight forward but still a lot of code ;-). And the generator (it uses some of my classes that ease the code generation) which creates an implementation for BuildInfo interface that you instantiate with GWT.create(BuildInfo.class) which looks as follows: package my.pkg; import java.util.Date; import com.google.gwt.dev.About; import my.pkg.generators.BaseGenerator; import my.pkg.generators.BaseGeneratorClient; public class BuildGenerator extends BaseGenerator { /* I'm using some helpers in generation process that's why I have the Client class here, it defines some functions that make it easier to generate java code in hand*/ @Override protected BaseGeneratorClient getClient() { return new Client(); } class Client extends BaseGeneratorClient { /* This gets called by the generator once the class imports and declaration is written by the generator */ @Override protected void doGenerate() { writeBlockIntro(public String getBuildDate()); writeReturn(STR, (new Date()).toString()); writeBlockOutro(); writeBlockIntro(public int getBuildNumber()); writeReturn(BuildHelper.getBuildNumber()); writeBlockOutro(); writeBlockIntro(public String getGwtSvnRev()); writeReturn(STR, About.getGwtSvnRev()); //This is saved during GWT build process and can only be accessed in plain java writeBlockOutro(); } } } and of course appropriately set module.gwt.xml that includes: define-linker name=incbuild class=my.pkg.IncBuildLinker / add-linker name=incbuild / generate-with class=my.pkg.BuildGenerator when-type-is class=my.pkg.client.BuildInfo/ /generate-with it is useful to have multiple modules that only one of them includes the linker so you only increment the build number after you compile for production so that development builds don't increment the build number. Everybody else not interested in my solution sorry for the longish post, I din't see any other way how to do this. If anybody else need more explanation I could provide full source codes directly if needed, feel free to ask any questions ;-) Honza On Thursday, June 13, 2013 9:46:22 AM UTC+2, Frank Hossfeld wrote: Hi Honza, your implementation sounds intresting. Can you provide more informations about your solution? Thanks Frank Am Mittwoch, 12. Juni 2013 09:50:41 UTC+2 schrieb Honza Rames: I have a XML file that stores various information about my build and is
GWT-RPC: loose vs. tight coupling
I know it has been mentioned that GWT-RPC code should be tightly coupled (i.e., use ArrayList vs. List), but is that true for both the RemoteService interface and the Async interface? Or rather, is the performance gain only from using it in the RemoteService and server-side implementation of it? -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/groups/opt_out.
Re: GWT-RPC: loose vs. tight coupling
Its not so much about performance its more about the resulting code size of your final JS. If you use List in your interface that extends RemoteService (or any DTO that is used with GWT-RPC) the GWT-RPC code generator can not know which concrete types the server side may return. Thus it has to generate de/serializer for all possible List implementations. This bloats your final JS code. The interface that extends RemoteService should have the concrete type. Not sure about the Async interface, but I think GWT forces you that both interfaces match each other. I guess you can easily test it yourself with a small GWT project. If you know that you use all possible implementations of an interface, then its totally fine to use the interface instead of a concrete type. E.g. in a command pattern you can have an execute(Command) method because at some point in your app flow you have used all possible commands anyways. -- J. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/groups/opt_out.
Re: upgrading Client application in GWT version 2.1.0 to GWT version 2.3.0
It's impossible to answer such a broad question, but I wouldn't anticipate any major issues. Upgrade your development copy of GWT, rebuild your application, and chase down any build errors that pop up. But if you're putting in the effort to upgrade your version of GWT, you really should use the current version -- 2.5.1. On Jun 13, 8:21 am, Lovish Sharma lovishgau...@gmail.com wrote: I am upgrading my application that is designed in GWT version 2.1.0. and the upgrade version will 2.3.0. Please tell me what kind of changes i have to do for upgrade. and i am also using GWT maven plugin. -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/groups/opt_out.
Uibinder inheriting and extending css classes (not just sharing them), best method?
Hi all, I have a Css resource that I would like to have inherited in other uibinders and be able to have these binders extend the css classes if need be. For example: Let's say I have .myTestClass{ ...properties...} in MyCss.css which is setup as a CssResource syntactically. Then I have UiBinder A and B. I want to inherit the class in both of them and extend the properties so that in binder A and B I would have ui:style .myTestClass{ ...more properties specific for this binder...} /ui:style finally when I would access style.myTestClass respectively in A and B all the properties would be available (including the inherited ones). Currently I can do this by setting ui:style src='relativepath/MyCss.css in A and B and it works nicely, uibinder takes care of injecting the styles and everything. However I'm not sure if this is the best way. There's also the issue that if I move A and B then the relative path breaks (since absolute paths still aren't 100% functional issue#7230http://code.google.com/p/google-web-toolkit/issues/detail?id=7230). Does anyone have a clue or is this the preferred method? Thanks in advance, -Seth -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/groups/opt_out.
How to play audio from the jar?
Hi, I would like to play audio in the browser and I found this: com.google.gwt.media.client.Audio This class requires to set the audio source by calling: setSrc (String url); However, I have all my resources in the class path and I usually access them as an InputStream by calling Class.getResourceAsStream. How can I pass such an audio file to the Audio class? Thanks Magnus -- You received this message because you are subscribed to the Google Groups Google Web Toolkit group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscr...@googlegroups.com. To post to this group, send email to google-web-toolkit@googlegroups.com. Visit this group at http://groups.google.com/group/google-web-toolkit. For more options, visit https://groups.google.com/groups/opt_out.
Re: [gwt-contrib] Issue 8083, needs some input from GWT team
Hi, The lazy parsing would only happen during deserialisation in the client. I think it is safe to assume that a BigInteger created through toString on the server will not result in a parse exception in the client code - or are there known incompatibilities ? I don't want that the regular constructor of BigInteger( String ) or BigInteger( String, int) would behave differently than before. Not even in the client when those BigInts are created in the client. That's why I was asking about the possibility to have different serialisers on client and server side. As the why, well currently the custom field serializer converts the BigInteger to a String, the client side needs to parse the string and convert it to an int array, which involves multiple substring, Integer.parseInt and multiply and add operations. Somehow IE8 has a problem with this. IE9 and other browsers are more efficient, but still that is a lot of CPU operations that can be avoided in my use case. In my particular use case they used BigInteger to represent a key in the database (oracle uses sequence numbers that are bigger than what can be represented with long). That might have not been the best idea, but those decisions have been made a long time ago, when I was not around. On the server side there is a usage of equals and compareTo happening, which would be hard to implement without a BigInteger, so there is logic in the choice. They obviously don't want to have an extra layer of objects to avoid the BigInteger in the GWT client since a lot of code is independent of client or server, this would hinder code sharing between the tiers. On the client side these id's are only send forth and back between client and server, no operation is ever performed, so making the custom field serialiser and the BigInteger cooperate gives a big performance improvement. They only operation needed on the client-side is equals, which can also be optimized to do a String comparison when bother have not been parsed after RPC. David On Thu, Jun 13, 2013 at 2:30 AM, John A. Tamplin j...@jaet.org wrote: Have we evaluated why it is so slow on ie8? It might be easier to fix that. The one thing it does is heavy use of StringBuffers so that could be where the issue is. On Jun 12, 2013 8:09 PM, Brian Slesinsky skybr...@google.com wrote: Lazy parsing can be a performance win, but it also complicates the API in the case of a parse error. Have you thought about how to report errors when they happen later? It might less confusing to solve this using a separate LazyBigDecimal class. People can declare fields of this type in their data transfer objects when they're concerned about performance. On Tue, Jun 11, 2013 at 1:56 AM, stuckagain david.no...@gmail.comwrote: Hi, I am working on a fix for this issue: https://code.google.com/p/google-web-toolkit/issues/detail?id=8083 I am avoiding converting from string to the internal format of BigInteger because it has a big performance impact on IE8 when sending it over RPC. It performs much better in IE9 and other browsers, but still I want to optimize this since this is having a major impact in an application I am working on (And I saw some other people in the banking industry having similar issues with BigDecimal). In many cases this data is never modified in the client, so I am delaying the actual parsing of the String to the internal format of BigInteger. Is it feasible to have custom field serializers depending on running in the client or server ? The question I am asking is because I don't want to break the BigInteger(String) constructor that will throw exceptions when you feed it a non parseable string. so my solution would be to use a static method or custom constructor for BigInteger when deserializing on the client. But this method is not available in the real java.math.BigInteger class. So is it possible to have different client and server serializers/deserializer code for RPC ? David -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com . For more options, visit https://groups.google.com/groups/opt_out. -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop
Re: [gwt-contrib] Issue 8083, needs some input from GWT team
Forgot to mention this code-snippet I found in the BigInteger class: /** * The magnitude of this big integer. This array is in little endian order and * each digit is a 32-bit unsigned integer. For example: {@code 13} is * represented as [ 13 ] {@code -13} is represented as [ 13 ] {@code 2^32 + * 13} is represented as [ 13, 1 ] {@code 2^64 + 13} is represented as [ 13, * 0, 1 ] {@code 2^31} is represented as [ Integer.MIN_VALUE ] The magnitude * array may be longer than strictly necessary, which results in additional * trailing zeros. * * pTODO(jat): consider changing to 24-bit integers for better performance * in browsers. */ transient int digits[]; Always nice to have TODO's in code that are not done :-) Who is jat ? David On Thu, Jun 13, 2013 at 9:14 AM, David david.no...@gmail.com wrote: Hi, The lazy parsing would only happen during deserialisation in the client. I think it is safe to assume that a BigInteger created through toString on the server will not result in a parse exception in the client code - or are there known incompatibilities ? I don't want that the regular constructor of BigInteger( String ) or BigInteger( String, int) would behave differently than before. Not even in the client when those BigInts are created in the client. That's why I was asking about the possibility to have different serialisers on client and server side. As the why, well currently the custom field serializer converts the BigInteger to a String, the client side needs to parse the string and convert it to an int array, which involves multiple substring, Integer.parseInt and multiply and add operations. Somehow IE8 has a problem with this. IE9 and other browsers are more efficient, but still that is a lot of CPU operations that can be avoided in my use case. In my particular use case they used BigInteger to represent a key in the database (oracle uses sequence numbers that are bigger than what can be represented with long). That might have not been the best idea, but those decisions have been made a long time ago, when I was not around. On the server side there is a usage of equals and compareTo happening, which would be hard to implement without a BigInteger, so there is logic in the choice. They obviously don't want to have an extra layer of objects to avoid the BigInteger in the GWT client since a lot of code is independent of client or server, this would hinder code sharing between the tiers. On the client side these id's are only send forth and back between client and server, no operation is ever performed, so making the custom field serialiser and the BigInteger cooperate gives a big performance improvement. They only operation needed on the client-side is equals, which can also be optimized to do a String comparison when bother have not been parsed after RPC. David On Thu, Jun 13, 2013 at 2:30 AM, John A. Tamplin j...@jaet.org wrote: Have we evaluated why it is so slow on ie8? It might be easier to fix that. The one thing it does is heavy use of StringBuffers so that could be where the issue is. On Jun 12, 2013 8:09 PM, Brian Slesinsky skybr...@google.com wrote: Lazy parsing can be a performance win, but it also complicates the API in the case of a parse error. Have you thought about how to report errors when they happen later? It might less confusing to solve this using a separate LazyBigDecimal class. People can declare fields of this type in their data transfer objects when they're concerned about performance. On Tue, Jun 11, 2013 at 1:56 AM, stuckagain david.no...@gmail.comwrote: Hi, I am working on a fix for this issue: https://code.google.com/p/google-web-toolkit/issues/detail?id=8083 I am avoiding converting from string to the internal format of BigInteger because it has a big performance impact on IE8 when sending it over RPC. It performs much better in IE9 and other browsers, but still I want to optimize this since this is having a major impact in an application I am working on (And I saw some other people in the banking industry having similar issues with BigDecimal). In many cases this data is never modified in the client, so I am delaying the actual parsing of the String to the internal format of BigInteger. Is it feasible to have custom field serializers depending on running in the client or server ? The question I am asking is because I don't want to break the BigInteger(String) constructor that will throw exceptions when you feed it a non parseable string. so my solution would be to use a static method or custom constructor for BigInteger when deserializing on the client. But this method is not available in the real java.math.BigInteger class. So is it possible to have different client and server serializers/deserializer code for RPC ? David -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed
[gwt-contrib] Change in gwt[master]: Adds Timer#isRunning().
Daniel Kurka has posted comments on this change. Change subject: Adds Timer#isRunning(). .. Patch Set 2: (1 comment) File user/src/com/google/gwt/user/client/Timer.java Line 151: lets add a note in the javadoc of is running making this clear. -- To view, visit https://gwt-review.googlesource.com/3321 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I0133c64de75d5d95cff863c5ab950d474dda0c56 Gerrit-PatchSet: 2 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-HasComments: Yes -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [gwt-contrib] Issue 8083, needs some input from GWT team
On Thursday, June 13, 2013 9:18:23 AM UTC+2, stuckagain wrote: Forgot to mention this code-snippet I found in the BigInteger class: /** * The magnitude of this big integer. This array is in little endian order and * each digit is a 32-bit unsigned integer. For example: {...@codejavascript:13} is * represented as [ 13 ] {...@code javascript: -13} is represented as [ 13 ] {...@code javascript: 2^32 + * 13} is represented as [ 13, 1 ] {...@code javascript: 2^64 + 13} is represented as [ 13, * 0, 1 ] {...@code javascript: 2^31} is represented as [ Integer.MIN_VALUE ] The magnitude * array may be longer than strictly necessary, which results in additional * trailing zeros. * * pTODO(jat): consider changing to 24-bit integers for better performance * in browsers. */ transient int digits[]; Always nice to have TODO's in code that are not done :-) Who is jat ? jat == John A. Tamplin -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: adding compare for several number types
Hello John A. Tamplin, Thomas Broyer, Leeroy Jenkins, I'd like you to reexamine a change. Please visit https://gwt-review.googlesource.com/3180 to look at the new patch set (#12). Change subject: adding compare for several number types .. adding compare for several number types -Byte.compare -Short.compare -Integer.compare -Long.compare -Float.compare (Double already exists) fixes issue 7998 Change-Id: Ib33c93ff0fb3f7e4b93994a29d6e2a65898be246 Review-Link: https://gwt-review.googlesource.com/#/c/3180/ --- M user/super/com/google/gwt/emul/java/lang/Byte.java M user/super/com/google/gwt/emul/java/lang/Double.java M user/super/com/google/gwt/emul/java/lang/Float.java M user/super/com/google/gwt/emul/java/lang/Integer.java M user/super/com/google/gwt/emul/java/lang/Long.java M user/super/com/google/gwt/emul/java/lang/Short.java M user/test/com/google/gwt/emultest/java/lang/ByteTest.java M user/test/com/google/gwt/emultest/java/lang/FloatTest.java M user/test/com/google/gwt/emultest/java/lang/IntegerTest.java M user/test/com/google/gwt/emultest/java/lang/LongTest.java M user/test/com/google/gwt/emultest/java/lang/ShortTest.java 11 files changed, 84 insertions(+), 50 deletions(-) -- To view, visit https://gwt-review.googlesource.com/3180 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib33c93ff0fb3f7e4b93994a29d6e2a65898be246 Gerrit-PatchSet: 12 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: John A. Tamplin j...@jaet.org Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: adding compare for several number types
Daniel Kurka has posted comments on this change. Change subject: adding compare for several number types .. Patch Set 12: Updated Patch to deal with normal numbers first, but I don't think this ends up being more readable. But I am fine either way. Float.compare also uses Double.compare to avoid redundancy. -- To view, visit https://gwt-review.googlesource.com/3180 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib33c93ff0fb3f7e4b93994a29d6e2a65898be246 Gerrit-PatchSet: 12 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: John A. Tamplin j...@jaet.org Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: No -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Add show relative to Element in PopupPanel
Daniel Kurka has posted comments on this change. Change subject: Add show relative to Element in PopupPanel .. Patch Set 2: (2 comments) File tools/api-checker/config/gwt25_26userApi.conf Line 176: #adding method to PopupPanel to show relative to an Element Done Line 177: com.google.gwt.user.client.ui.PopupPanel::showRelativeTo(Lcom/google/gwt/dom/client/Element;) OVERLOADED_METHOD_CALL Done -- To view, visit https://gwt-review.googlesource.com/3340 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8991b1cb1c3ec4ecabd299ee4c5bf4e5992e4b5e Gerrit-PatchSet: 2 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Matthew Dempsky mdemp...@google.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: Yes -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Add show relative to Element in PopupPanel
Hello Leeroy Jenkins, Thomas Broyer, I'd like you to reexamine a change. Please visit https://gwt-review.googlesource.com/3340 to look at the new patch set (#3). Change subject: Add show relative to Element in PopupPanel .. Add show relative to Element in PopupPanel fixes issue 6006 Change-Id: I8991b1cb1c3ec4ecabd299ee4c5bf4e5992e4b5e --- M tools/api-checker/config/gwt25_26userApi.conf M user/src/com/google/gwt/user/client/ui/PopupPanel.java 2 files changed, 20 insertions(+), 3 deletions(-) -- To view, visit https://gwt-review.googlesource.com/3340 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I8991b1cb1c3ec4ecabd299ee4c5bf4e5992e4b5e Gerrit-PatchSet: 3 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Matthew Dempsky mdemp...@google.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Add static is(...) to complement as as(...).
Hello Goktug Gokdogan, I'd like you to reexamine a rebased change. Please visit https://gwt-review.googlesource.com/2976 to look at the new rebased patch set (#4). Change subject: Add static is(...) to complement as as(...). .. Add static is(...) to complement as as(...). Adds static is(Element elem) method to complement static as(Element elem) in each Element sub-class. Fixes issue 5723. Change-Id: I14aa6163e52adb2f71cd1ca3557ff3514571a6a2 --- M user/src/com/google/gwt/dom/client/AnchorElement.java M user/src/com/google/gwt/dom/client/AreaElement.java M user/src/com/google/gwt/dom/client/BRElement.java M user/src/com/google/gwt/dom/client/BaseElement.java M user/src/com/google/gwt/dom/client/BodyElement.java M user/src/com/google/gwt/dom/client/ButtonElement.java M user/src/com/google/gwt/dom/client/DListElement.java M user/src/com/google/gwt/dom/client/DivElement.java M user/src/com/google/gwt/dom/client/FieldSetElement.java M user/src/com/google/gwt/dom/client/FormElement.java M user/src/com/google/gwt/dom/client/FrameElement.java M user/src/com/google/gwt/dom/client/FrameSetElement.java M user/src/com/google/gwt/dom/client/HRElement.java M user/src/com/google/gwt/dom/client/HeadElement.java M user/src/com/google/gwt/dom/client/HeadingElement.java M user/src/com/google/gwt/dom/client/IFrameElement.java M user/src/com/google/gwt/dom/client/ImageElement.java M user/src/com/google/gwt/dom/client/InputElement.java M user/src/com/google/gwt/dom/client/LIElement.java M user/src/com/google/gwt/dom/client/LabelElement.java M user/src/com/google/gwt/dom/client/LegendElement.java M user/src/com/google/gwt/dom/client/LinkElement.java M user/src/com/google/gwt/dom/client/MapElement.java M user/src/com/google/gwt/dom/client/MetaElement.java M user/src/com/google/gwt/dom/client/ModElement.java M user/src/com/google/gwt/dom/client/OListElement.java M user/src/com/google/gwt/dom/client/ObjectElement.java M user/src/com/google/gwt/dom/client/OptGroupElement.java M user/src/com/google/gwt/dom/client/OptionElement.java M user/src/com/google/gwt/dom/client/ParagraphElement.java M user/src/com/google/gwt/dom/client/ParamElement.java M user/src/com/google/gwt/dom/client/PreElement.java M user/src/com/google/gwt/dom/client/QuoteElement.java M user/src/com/google/gwt/dom/client/ScriptElement.java M user/src/com/google/gwt/dom/client/SelectElement.java M user/src/com/google/gwt/dom/client/SourceElement.java M user/src/com/google/gwt/dom/client/SpanElement.java M user/src/com/google/gwt/dom/client/StyleElement.java M user/src/com/google/gwt/dom/client/TableCaptionElement.java M user/src/com/google/gwt/dom/client/TableCellElement.java M user/src/com/google/gwt/dom/client/TableColElement.java M user/src/com/google/gwt/dom/client/TableElement.java M user/src/com/google/gwt/dom/client/TableRowElement.java M user/src/com/google/gwt/dom/client/TableSectionElement.java M user/src/com/google/gwt/dom/client/TextAreaElement.java M user/src/com/google/gwt/dom/client/TitleElement.java M user/src/com/google/gwt/dom/client/UListElement.java M user/test/com/google/gwt/dom/client/ElementTest.java 48 files changed, 1,721 insertions(+), 59 deletions(-) -- To view, visit https://gwt-review.googlesource.com/2976 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I14aa6163e52adb2f71cd1ca3557ff3514571a6a2 Gerrit-PatchSet: 4 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Roy Paterson roy.pater...@gmail.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: Roy Paterson roy.pater...@gmail.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Fix support for Document.{get,set}ScrollLeft() in RTL for sa...
Thomas Broyer has posted comments on this change. Change subject: Fix support for Document.{get,set}ScrollLeft() in RTL for safari and ie9. .. Patch Set 2: Code-Review+1 (1 comment) File user/src/com/google/gwt/dom/client/DOMImplStandardBase.java Line 226: if (!BODY.equals(elem.getTagName()) isRTL(elem)) { Use !elem.hasTagName(BodyElement.TAG) We should soon have BodyElement.is(elem) to make it even more readable: I14aa6163e52adb2f71cd1ca3557ff3514571a6a2 -- To view, visit https://gwt-review.googlesource.com/3420 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8ce64ab4bbbae02ee7519ed8d24241cdfbc28617 Gerrit-PatchSet: 2 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Emmanuel Pellereau emmanu...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: Yes -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Failing tests for java.util.Objects
Thomas Broyer has posted comments on this change. Change subject: Failing tests for java.util.Objects .. Patch Set 1: Code-Review+2 (1 comment) File user/test/com/google/gwt/emultest/java/util/ObjectsTest.java Line 86 This is not how Objects.equals is implemented in OpenJDK, contrary to what the javadoc says, so the test fails in dev mode. -- To view, visit https://gwt-review.googlesource.com/3400 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I394c80559ce4e872826f832f0aca24fcd0e156ba Gerrit-PatchSet: 1 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Andrey Korzhevskiy a.korzhevs...@gmail.com Gerrit-Reviewer: Matthew Dempsky mdemp...@google.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: Yes -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Emulate java.util.Objects
Thomas Broyer has posted comments on this change. Change subject: Emulate java.util.Objects .. Patch Set 9: @Andrey: thanks; but no need to create a new issue here, it's the continuity of the original issue (and fixing failing tests / failing builds shouldn't need an issue filed generally speaking) @Matthew Goktug: OK. We should write it somewhere I think. Actually, I think we should write out how we want to run code reviews: does +2 really means ready to merge? who should merge? the person giving the +2 or the submitted –if he can, of course–? For instance, Daniel gave a +2 and merged one of Goktug's change before he could test the implications Ia3e4870e85ea5825bfbd1ccef6c635a4b331601c, so it was later reverted Id162c4e9b553a5981f09d26a3d1112dbf085825e; stating somewhere that Goktug should have given his review a -1 or -2 until he tested the implications of the change would have prevented it. Do you have such a doc already inside Google that could be used as a first draft? -- To view, visit https://gwt-review.googlesource.com/3184 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I15a10e7c52eb39baac2c22b9f6596ad0a5c1c599 Gerrit-PatchSet: 9 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Andrey Korzhevskiy a.korzhevs...@gmail.com Gerrit-Reviewer: Andrey Korzhevskiy a.korzhevs...@gmail.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: John A. Tamplin j...@jaet.org Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Matthew Dempsky mdemp...@google.com Gerrit-Reviewer: Ray Cromwell cromwell...@gmail.com Gerrit-Reviewer: Ray Cromwell cromwell...@google.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: No -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Failing tests for java.util.Objects
Thomas Broyer has submitted this change and it was merged. Change subject: Failing tests for java.util.Objects .. Failing tests for java.util.Objects Fixes issue 8193 Change-Id: I394c80559ce4e872826f832f0aca24fcd0e156ba --- M user/super/com/google/gwt/emul/java/util/Objects.java M user/test/com/google/gwt/emultest/java/util/ObjectsTest.java 2 files changed, 7 insertions(+), 9 deletions(-) Approvals: Leeroy Jenkins: Verified Thomas Broyer: Looks good to me, approved diff --git a/user/super/com/google/gwt/emul/java/util/Objects.java b/user/super/com/google/gwt/emul/java/util/Objects.java index ca0f5e1..ec5e9a4 100644 --- a/user/super/com/google/gwt/emul/java/util/Objects.java +++ b/user/super/com/google/gwt/emul/java/util/Objects.java @@ -29,7 +29,13 @@ } public static boolean deepEquals(Object a, Object b) { -if (equals(a, b)) { +if (a == b) { + return true; +} +if (a == null || b == null) { + return false; +} +if (a.equals(b)) { return true; } diff --git a/user/test/com/google/gwt/emultest/java/util/ObjectsTest.java b/user/test/com/google/gwt/emultest/java/util/ObjectsTest.java index 96cd788..f6416e2 100644 --- a/user/test/com/google/gwt/emultest/java/util/ObjectsTest.java +++ b/user/test/com/google/gwt/emultest/java/util/ObjectsTest.java @@ -82,14 +82,6 @@ Object obj = new Object(); assertTrue(Objects.equals(obj, obj)); - -assertFalse(Objects.equals(new Object() { - @Override - public boolean equals(Object other) { -fail(Shouldn't call equals if second argument is null); -return false; - } -}, null)); } public void testHashCode() { -- To view, visit https://gwt-review.googlesource.com/3400 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: merged Gerrit-Change-Id: I394c80559ce4e872826f832f0aca24fcd0e156ba Gerrit-PatchSet: 1 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Andrey Korzhevskiy a.korzhevs...@gmail.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Matthew Dempsky mdemp...@google.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Failing tests for java.util.Objects
Thomas Broyer has posted comments on this change. Change subject: Failing tests for java.util.Objects .. Patch Set 1: Now let's see if it indeed fixes the build ;-) -- To view, visit https://gwt-review.googlesource.com/3400 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I394c80559ce4e872826f832f0aca24fcd0e156ba Gerrit-PatchSet: 1 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Andrey Korzhevskiy a.korzhevs...@gmail.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Matthew Dempsky mdemp...@google.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: No -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Change DOM access in HTMLTable for IE
Daniel Kurka has posted comments on this change. Change subject: Change DOM access in HTMLTable for IE .. Patch Set 2: (2 comments) File user/src/com/google/gwt/user/HTMLTable.gwt.xml Line 2: !-- Copyright 2007 Google Inc. -- Done Line 23: !-- Fall through to this rule is the browser isn't IE -- Done -- To view, visit https://gwt-review.googlesource.com/3212 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I5789589a307f457a1295b9ed72111ad4c040fa97 Gerrit-PatchSet: 2 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: Yes -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Change DOM access in HTMLTable for IE
Hello Leeroy Jenkins, I'd like you to reexamine a change. Please visit https://gwt-review.googlesource.com/3212 to look at the new patch set (#3). Change subject: Change DOM access in HTMLTable for IE .. Change DOM access in HTMLTable for IE using table.rows or table.rows[i].cells causes memory leaks in IE Added two different implementations to access table rows and cells. One for IE and one for the rest fixes issue 6938 Change-Id: I5789589a307f457a1295b9ed72111ad4c040fa97 Review-Link: https://gwt-review.googlesource.com/#/c/3212/ --- A user/src/com/google/gwt/user/HTMLTable.gwt.xml M user/src/com/google/gwt/user/User.gwt.xml M user/src/com/google/gwt/user/client/ui/FlexTable.java M user/src/com/google/gwt/user/client/ui/HTMLTable.java 4 files changed, 144 insertions(+), 23 deletions(-) -- To view, visit https://gwt-review.googlesource.com/3212 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I5789589a307f457a1295b9ed72111ad4c040fa97 Gerrit-PatchSet: 3 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Change DOM access in HTMLTable for IE
Thomas Broyer has posted comments on this change. Change subject: Change DOM access in HTMLTable for IE .. Patch Set 3: Code-Review+1 According to the MDN, using 'children' in all browsers would work. The problem is that IE6-8 include comment nodes too, so we cannot actually move it to com.google.gwt.dom (even with deferred-binding only for the ie6/ie8/ie9 permutations) :-( https://developer.mozilla.org/en-US/docs/Web/API/Element.children -- To view, visit https://gwt-review.googlesource.com/3212 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I5789589a307f457a1295b9ed72111ad4c040fa97 Gerrit-PatchSet: 3 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: No -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Change DOM access in HTMLTable for IE
Hello Thomas Broyer, Leeroy Jenkins, I'd like you to reexamine a change. Please visit https://gwt-review.googlesource.com/3212 to look at the new patch set (#4). Change subject: Change DOM access in HTMLTable for IE .. Change DOM access in HTMLTable for IE using table.rows or table.rows[i].cells causes memory leaks in IE Added two different implementations to access table rows and cells. One for IE and one for the rest fixes issue 6938 Change-Id: I5789589a307f457a1295b9ed72111ad4c040fa97 Review-Link: https://gwt-review.googlesource.com/#/c/3212/ --- A user/src/com/google/gwt/user/HTMLTable.gwt.xml M user/src/com/google/gwt/user/User.gwt.xml M user/src/com/google/gwt/user/client/ui/FlexTable.java M user/src/com/google/gwt/user/client/ui/HTMLTable.java 4 files changed, 144 insertions(+), 23 deletions(-) -- To view, visit https://gwt-review.googlesource.com/3212 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I5789589a307f457a1295b9ed72111ad4c040fa97 Gerrit-PatchSet: 4 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Change DOM access in HTMLTable for IE
Thomas Broyer has posted comments on this change. Change subject: Change DOM access in HTMLTable for IE .. Patch Set 4: Code-Review+1 (1 comment) File user/src/com/google/gwt/user/HTMLTable.gwt.xml Line 15: !-- Deferred binding rules HTMLTable and FlexTable.-- Should probably read HTMLTable only, or FlexTable and Grid -- To view, visit https://gwt-review.googlesource.com/3212 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I5789589a307f457a1295b9ed72111ad4c040fa97 Gerrit-PatchSet: 4 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: Yes -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Change DOM access in HTMLTable for IE
Daniel Kurka has posted comments on this change. Change subject: Change DOM access in HTMLTable for IE .. Patch Set 4: I am about to test behavior on IE10 and see if it leaks as well. If it does not we can simply leave it as is and mark this as an IE quirk. -- To view, visit https://gwt-review.googlesource.com/3212 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I5789589a307f457a1295b9ed72111ad4c040fa97 Gerrit-PatchSet: 4 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: No -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Add drawImage(VideoElement, …) overloads
Thomas Broyer has uploaded a new change for review. https://gwt-review.googlesource.com/3421 Change subject: Add drawImage(VideoElement, …) overloads .. Add drawImage(VideoElement, …) overloads Bug: issue 8192 Change-Id: I31012c21053d0e8219b731ff547ecb9c7364854a --- M user/src/com/google/gwt/canvas/dom/client/Context2d.java 1 file changed, 44 insertions(+), 0 deletions(-) diff --git a/user/src/com/google/gwt/canvas/dom/client/Context2d.java b/user/src/com/google/gwt/canvas/dom/client/Context2d.java index 0be7e00..d7128db 100644 --- a/user/src/com/google/gwt/canvas/dom/client/Context2d.java +++ b/user/src/com/google/gwt/canvas/dom/client/Context2d.java @@ -19,6 +19,7 @@ import com.google.gwt.core.client.JavaScriptObject; import com.google.gwt.dom.client.CanvasElement; import com.google.gwt.dom.client.ImageElement; +import com.google.gwt.dom.client.VideoElement; /** * Rendering interface used to draw on a {@link CanvasElement}. @@ -504,6 +505,49 @@ }-*/; /** + * Draws a video's current frame. + * + * @param image a {@link VideoElement} object + * @param dx the x coordinate of the upper-left corner of the destination rectangle + * @param dy the y coordinate of the upper-left corner of the destination rectangle + */ + public final native void drawImage(VideoElement image, double dx, double dy) /*-{ +this.drawImage(image, dx, dy); + }-*/; + + /** + * Draws a scaled video's current frame. + * + * @param image a {@link VideoElement} object + * @param dx the x coordinate of the upper-left corner of the destination rectangle + * @param dy the y coordinate of the upper-left corner of the destination rectangle + * @param dw the width of the destination rectangle + * @param dh the height of the destination rectangle + */ + public final native void drawImage(VideoElement image, double dx, double dy, double dw, + double dh) /*-{ +this.drawImage(image, dx, dy, dw, dh); + }-*/; + + /** + * Draws a scaled subset of a video's current frame. + * + * @param image a {@link VideoElement} object + * @param sx the x coordinate of the upper-left corner of the source rectangle + * @param sy the y coordinate of the upper-left corner of the source rectangle + * @param sw the width of the source rectangle + * @param sh the width of the source rectangle + * @param dx the x coordinate of the upper-left corner of the destination rectangle + * @param dy the y coordinate of the upper-left corner of the destination rectangle + * @param dw the width of the destination rectangle + * @param dh the height of the destination rectangle + */ + public final native void drawImage(VideoElement image, double sx, double sy, double sw, double sh, + double dx, double dy, double dw, double dh) /*-{ +this.drawImage(image, sx, sy, sw, sh, dx, dy, dw, dh); + }-*/; + + /** * Fills the current path. */ public final native void fill() /*-{ -- To view, visit https://gwt-review.googlesource.com/3421 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I31012c21053d0e8219b731ff547ecb9c7364854a Gerrit-PatchSet: 1 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Thomas Broyer t.bro...@gmail.com -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Change DOM access in HTMLTable for IE
Daniel Kurka has posted comments on this change. Change subject: Change DOM access in HTMLTable for IE .. Patch Set 4: So IE10 leaks as well without the workaround. Sending out a repro to MS, but I think we have to deal with that. I would like to implement this without any major changes in other parts of the SDK, but we might want to open a bug just to be sure that we are not leaking memory on other occasions as well. -- To view, visit https://gwt-review.googlesource.com/3212 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I5789589a307f457a1295b9ed72111ad4c040fa97 Gerrit-PatchSet: 4 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: No -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Add drawImage(VideoElement, …) overloads
Daniel Kurka has posted comments on this change. Change subject: Add drawImage(VideoElement, …) overloads .. Patch Set 1: Code-Review+2 -- To view, visit https://gwt-review.googlesource.com/3421 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I31012c21053d0e8219b731ff547ecb9c7364854a Gerrit-PatchSet: 1 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Thomas Broyer t.bro...@gmail.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-HasComments: No -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Use JSON.parse() instead of eval() to deserialize rpc callba...
Leif Åstrand has posted comments on this change. Change subject: Use JSON.parse() instead of eval() to deserialize rpc callback payload .. Patch Set 11: Code-Review-1 This patch does not work as it stands for a couple of reasons: Special numbers (e.g. NaN) values are sent as strings, but they are in the string table which means that the receiver just gets an index to the table without knowing whether that is the actual value or just a string table index. The sent value is not valid JSON in a couple of situations. This does at least include escaping unicode values using \x (JSON only supports \u) and sending long values as base64 strings enclosed using ' (JSON only supports ) A readVersion method has been added to the super sourced version of ClientSerializationStreamReader but it is missing from the original version. -- To view, visit https://gwt-review.googlesource.com/2900 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I6062180397f5fabed1dd5f08140c2bd43a19fa9f Gerrit-PatchSet: 11 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: John Ahlroos j...@vaadin.com Gerrit-Reviewer: Artur Signell ar...@vaadin.com Gerrit-Reviewer: Brian Slesinsky skybr...@google.com Gerrit-Reviewer: Colin Alworth niloc...@gmail.com Gerrit-Reviewer: John Ahlroos j...@vaadin.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Leif Åstrand l...@vaadin.com Gerrit-Reviewer: Matthew Dempsky mdemp...@google.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: No -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Make Element.hasTagName(...) case-insensitive.
Thomas Broyer has posted comments on this change. Change subject: Make Element.hasTagName(...) case-insensitive. .. Patch Set 7: Code-Review+2 @Matthew: any idea why Jenkins doesn't pick it up? -- To view, visit https://gwt-review.googlesource.com/2975 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib24bee7fa494c0345a7bc97e1b5df1095a05d024 Gerrit-PatchSet: 7 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Roy Paterson roy.pater...@gmail.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Manuel Carrasco Moñino manuel.carrasc...@gmail.com Gerrit-Reviewer: Matthew Dempsky mdemp...@google.com Gerrit-Reviewer: Roy Paterson roy.pater...@gmail.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: No -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Fix support for Document.{get,set}ScrollLeft() in RTL for sa...
Thomas Broyer has posted comments on this change. Change subject: Fix support for Document.{get,set}ScrollLeft() in RTL for safari and ie9. .. Patch Set 2: (1 comment) File user/src/com/google/gwt/dom/client/DOMImplStandardBase.java Line 226: if (!BODY.equals(elem.getTagName()) isRTL(elem)) { Ib24bee7fa494c0345a7bc97e1b5df1095a05d024 is only waiting for Verified+1 (for some reason, Jenkins doesn't verifies it). You can rebase your change on top of it (or I14aa6163e52adb2f71cd1ca3557ff3514571a6a2 for BodyElement.is(elem)) -- To view, visit https://gwt-review.googlesource.com/3420 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8ce64ab4bbbae02ee7519ed8d24241cdfbc28617 Gerrit-PatchSet: 2 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Emmanuel Pellereau emmanu...@google.com Gerrit-Reviewer: Emmanuel Pellereau emmanu...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: Yes -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Make Element.hasTagName(...) case-insensitive.
Thomas Broyer has posted comments on this change. Change subject: Make Element.hasTagName(...) case-insensitive. .. Patch Set 7: Hoorays! -- To view, visit https://gwt-review.googlesource.com/2975 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib24bee7fa494c0345a7bc97e1b5df1095a05d024 Gerrit-PatchSet: 7 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Roy Paterson roy.pater...@gmail.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Manuel Carrasco Moñino manuel.carrasc...@gmail.com Gerrit-Reviewer: Matthew Dempsky mdemp...@google.com Gerrit-Reviewer: Roy Paterson roy.pater...@gmail.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: No -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Make Element.hasTagName(...) case-insensitive.
Thomas Broyer has submitted this change and it was merged. Change subject: Make Element.hasTagName(...) case-insensitive. .. Make Element.hasTagName(...) case-insensitive. Helpful because the various Element TAG constants are in lower-case, but Element.getTagName() returns upper-case. Fixes issue 7756. Change-Id: Ib24bee7fa494c0345a7bc97e1b5df1095a05d024 --- M user/src/com/google/gwt/dom/client/Element.java M user/test/com/google/gwt/dom/client/ElementTest.java 2 files changed, 13 insertions(+), 1 deletion(-) Approvals: Leeroy Jenkins: Verified Thomas Broyer: Looks good to me, approved diff --git a/user/src/com/google/gwt/dom/client/Element.java b/user/src/com/google/gwt/dom/client/Element.java index f8768e4..c801f5d 100644 --- a/user/src/com/google/gwt/dom/client/Element.java +++ b/user/src/com/google/gwt/dom/client/Element.java @@ -514,7 +514,7 @@ */ public final boolean hasTagName(String tagName) { assert tagName != null : tagName must not be null; -return tagName.equals(getTagName()); +return tagName.equalsIgnoreCase(getTagName()); } /** diff --git a/user/test/com/google/gwt/dom/client/ElementTest.java b/user/test/com/google/gwt/dom/client/ElementTest.java index 907f736..911d788 100644 --- a/user/test/com/google/gwt/dom/client/ElementTest.java +++ b/user/test/com/google/gwt/dom/client/ElementTest.java @@ -356,6 +356,18 @@ assertFalse(div.hasAttribute(null)); } + public void testHasTagName() { +DivElement div = Document.get().createDivElement(); + +// hasTagName is case-insensitive +assertTrue(div.hasTagName(div)); +assertTrue(div.hasTagName(DIV)); +assertTrue(div.hasTagName(DivElement.TAG)); +assertTrue(div.hasTagName(div.getTagName())); + +assertFalse(div.hasTagName(dove)); + } + /** * Tests HeadingElement.as() (it has slightly more complex assertion logic * than most). -- To view, visit https://gwt-review.googlesource.com/2975 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ib24bee7fa494c0345a7bc97e1b5df1095a05d024 Gerrit-PatchSet: 7 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Roy Paterson roy.pater...@gmail.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Manuel Carrasco Moñino manuel.carrasc...@gmail.com Gerrit-Reviewer: Matthew Dempsky mdemp...@google.com Gerrit-Reviewer: Roy Paterson roy.pater...@gmail.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Fix support for Document.{get,set}ScrollLeft() in RTL for sa...
Thomas Broyer has posted comments on this change. Change subject: Fix support for Document.{get,set}ScrollLeft() in RTL for safari and ie9. .. Patch Set 2: (1 comment) File user/src/com/google/gwt/dom/client/DOMImplStandardBase.java Line 226: if (!BODY.equals(elem.getTagName()) isRTL(elem)) { I've just merged Ib24bee7fa494c0345a7bc97e1b5df1095a05d024 so you can now use hasTagName(BodyElement.TAG) -- To view, visit https://gwt-review.googlesource.com/3420 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I8ce64ab4bbbae02ee7519ed8d24241cdfbc28617 Gerrit-PatchSet: 2 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Emmanuel Pellereau emmanu...@google.com Gerrit-Reviewer: Emmanuel Pellereau emmanu...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: Yes -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Change DOM access in HTMLTable for IE
Hello Thomas Broyer, Leeroy Jenkins, I'd like you to reexamine a change. Please visit https://gwt-review.googlesource.com/3212 to look at the new patch set (#5). Change subject: Change DOM access in HTMLTable for IE .. Change DOM access in HTMLTable for IE using table.rows or table.rows[i].cells causes memory leaks in IE Added two different implementations to access table rows and cells. One for IE and one for the rest fixes issue 6938 Change-Id: I5789589a307f457a1295b9ed72111ad4c040fa97 Review-Link: https://gwt-review.googlesource.com/#/c/3212/ --- A user/src/com/google/gwt/user/HTMLTable.gwt.xml M user/src/com/google/gwt/user/User.gwt.xml M user/src/com/google/gwt/user/client/ui/FlexTable.java M user/src/com/google/gwt/user/client/ui/HTMLTable.java 4 files changed, 144 insertions(+), 23 deletions(-) -- To view, visit https://gwt-review.googlesource.com/3212 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I5789589a307f457a1295b9ed72111ad4c040fa97 Gerrit-PatchSet: 5 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Change DOM access in HTMLTable for IE
Daniel Kurka has posted comments on this change. Change subject: Change DOM access in HTMLTable for IE .. Patch Set 4: (1 comment) File user/src/com/google/gwt/user/HTMLTable.gwt.xml Line 15: !-- Deferred binding rules HTMLTable and FlexTable.-- Done -- To view, visit https://gwt-review.googlesource.com/3212 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I5789589a307f457a1295b9ed72111ad4c040fa97 Gerrit-PatchSet: 4 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: Yes -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Adding a DOM clear method to RootPanel
Hello Matthew Dempsky, Leeroy Jenkins, Brian Slesinsky, I'd like you to reexamine a change. Please visit https://gwt-review.googlesource.com/2512 to look at the new patch set (#5). Change subject: Adding a DOM clear method to RootPanel .. Adding a DOM clear method to RootPanel By calling rootPanel.clear(true) the user can clear widgets AND DOM elements located under this RootPanel. fixes Issue 516 Change-Id: I712989276142460b91514713eaf8d8f74dbecd7b Review-Link: https://gwt-review.googlesource.com/#/c/2512/ --- M user/src/com/google/gwt/user/client/ui/RootPanel.java M user/test/com/google/gwt/user/client/ui/RootPanelTest.java 2 files changed, 91 insertions(+), 0 deletions(-) -- To view, visit https://gwt-review.googlesource.com/2512 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I712989276142460b91514713eaf8d8f74dbecd7b Gerrit-PatchSet: 5 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Brian Slesinsky skybr...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Matthew Dempsky mdemp...@google.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Adding a DOM clear method to RootPanel
Daniel Kurka has posted comments on this change. Change subject: Adding a DOM clear method to RootPanel .. Patch Set 4: (1 comment) File user/src/com/google/gwt/user/client/ui/RootPanel.java Line 311:* {@code getElement().appendChild(...)}./p Done -- To view, visit https://gwt-review.googlesource.com/2512 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I712989276142460b91514713eaf8d8f74dbecd7b Gerrit-PatchSet: 4 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Brian Slesinsky skybr...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Matthew Dempsky mdemp...@google.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: Yes -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Adding a DOM clear method to RootPanel
Daniel Kurka has posted comments on this change. Change subject: Adding a DOM clear method to RootPanel .. Patch Set 5: I would like to see this get landed or abandoned. I think having it would have a small value, but if Brian feels strongly I could also drop it. At the very least we should update javadoc and all removeChildren to dom.Element @Hilbrand A clear(true) will remove the history frame. But it is only used for IE6 anyway and we are phasing that out. -- To view, visit https://gwt-review.googlesource.com/2512 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I712989276142460b91514713eaf8d8f74dbecd7b Gerrit-PatchSet: 5 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Brian Slesinsky skybr...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Matthew Dempsky mdemp...@google.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: No -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Adding a DOM clear method to RootPanel
Hello Matthew Dempsky, Leeroy Jenkins, Brian Slesinsky, I'd like you to reexamine a change. Please visit https://gwt-review.googlesource.com/2512 to look at the new patch set (#6). Change subject: Adding a DOM clear method to RootPanel .. Adding a DOM clear method to RootPanel By calling rootPanel.clear(true) the user can clear widgets AND DOM elements located under this RootPanel. fixes Issue 516 Change-Id: I712989276142460b91514713eaf8d8f74dbecd7b Review-Link: https://gwt-review.googlesource.com/#/c/2512/ --- M user/src/com/google/gwt/user/client/ui/RootPanel.java M user/test/com/google/gwt/user/client/ui/RootPanelTest.java 2 files changed, 88 insertions(+), 0 deletions(-) -- To view, visit https://gwt-review.googlesource.com/2512 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I712989276142460b91514713eaf8d8f74dbecd7b Gerrit-PatchSet: 6 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Brian Slesinsky skybr...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Matthew Dempsky mdemp...@google.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Failing tests for java.util.Objects
Matthew Dempsky has posted comments on this change. Change subject: Failing tests for java.util.Objects .. Patch Set 1: (1 comment) Thanks for submitting and getting the build green (or blue) again! :) File user/test/com/google/gwt/emultest/java/util/ObjectsTest.java Line 86 Ahh, okay. -- To view, visit https://gwt-review.googlesource.com/3400 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I394c80559ce4e872826f832f0aca24fcd0e156ba Gerrit-PatchSet: 1 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Andrey Korzhevskiy a.korzhevs...@gmail.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Matthew Dempsky mdemp...@google.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: Yes -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Emulate java.util.Objects
Matthew Dempsky has posted comments on this change. Change subject: Emulate java.util.Objects .. Patch Set 9: Gerrit is a bit different than Google practices internally, because internally only the CL author can actually submit their changes. So there's no issue of someone else submitting a CL before you're ready. I agree we need some better conventions on how things should work, I just don't know what those should be. Perhaps better discussed on gwt-contrib directly, since it's awkward replying on Gerrit threads. :) -- To view, visit https://gwt-review.googlesource.com/3184 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I15a10e7c52eb39baac2c22b9f6596ad0a5c1c599 Gerrit-PatchSet: 9 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Andrey Korzhevskiy a.korzhevs...@gmail.com Gerrit-Reviewer: Andrey Korzhevskiy a.korzhevs...@gmail.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: John A. Tamplin j...@jaet.org Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Matthew Dempsky mdemp...@google.com Gerrit-Reviewer: Ray Cromwell cromwell...@gmail.com Gerrit-Reviewer: Ray Cromwell cromwell...@google.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: No -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: adding compare for several number types
John A. Tamplin has posted comments on this change. Change subject: adding compare for several number types .. Patch Set 12: Code-Review+2 The intent wasn't to make it more readable, but to give a slight performance optimization on the assumption that most comparisons don't involve NaNs. -- To view, visit https://gwt-review.googlesource.com/3180 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib33c93ff0fb3f7e4b93994a29d6e2a65898be246 Gerrit-PatchSet: 12 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: John A. Tamplin j...@jaet.org Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: No -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [gwt-contrib] Issue 8083, needs some input from GWT team
On Thu, Jun 13, 2013 at 3:18 AM, David david.no...@gmail.com wrote: Forgot to mention this code-snippet I found in the BigInteger class: /** * The magnitude of this big integer. This array is in little endian order and * each digit is a 32-bit unsigned integer. For example: {@code 13} is * represented as [ 13 ] {@code -13} is represented as [ 13 ] {@code2^32 + * 13} is represented as [ 13, 1 ] {@code 2^64 + 13} is represented as [ 13, * 0, 1 ] {@code 2^31} is represented as [ Integer.MIN_VALUE ] The magnitude * array may be longer than strictly necessary, which results in additional * trailing zeros. * * pTODO(jat): consider changing to 24-bit integers for better performance * in browsers. */ transient int digits[]; Always nice to have TODO's in code that are not done :-) Who is jat ? So where else should TODO's go? Clearly this is something that was intended for future exploration - would you prefer there be nothing there at all? -- John A. Tamplin -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [gwt-contrib] Issue 8083, needs some input from GWT team
On Thu, Jun 13, 2013 at 3:14 AM, David david.no...@gmail.com wrote: The lazy parsing would only happen during deserialisation in the client. I think it is safe to assume that a BigInteger created through toString on the server will not result in a parse exception in the client code - or are there known incompatibilities ? I don't want that the regular constructor of BigInteger( String ) or BigInteger( String, int) would behave differently than before. Not even in the client when those BigInts are created in the client. That's why I was asking about the possibility to have different serialisers on client and server side. As the why, well currently the custom field serializer converts the BigInteger to a String, the client side needs to parse the string and convert it to an int array, which involves multiple substring, Integer.parseInt and multiply and add operations. Somehow IE8 has a problem with this. IE9 and other browsers are more efficient, but still that is a lot of CPU operations that can be avoided in my use case. In my particular use case they used BigInteger to represent a key in the database (oracle uses sequence numbers that are bigger than what can be represented with long). That might have not been the best idea, but those decisions have been made a long time ago, when I was not around. On the server side there is a usage of equals and compareTo happening, which would be hard to implement without a BigInteger, so there is logic in the choice. They obviously don't want to have an extra layer of objects to avoid the BigInteger in the GWT client since a lot of code is independent of client or server, this would hinder code sharing between the tiers. On the client side these id's are only send forth and back between client and server, no operation is ever performed, so making the custom field serialiser and the BigInteger cooperate gives a big performance improvement. They only operation needed on the client-side is equals, which can also be optimized to do a String comparison when bother have not been parsed after RPC. I'm beginning to think such a change does not belong in GWT. In your example, wouldn't you be better served by only sending strings to the client rather than BigDecimals, if they client never does anything with them but send them back? I think it is going to be pretty rare in normal situations that you instantiate a BigDecimal but never actually use it in the client, so it seems the special-case hack for your use-case should be performed in your code instead. Too often people want to send things to the client that really don't belong there, and that includes particular representations of it. I know DTOs are extra work over just shipping your regular objects over the wire and GWT RPC makes that easy, but in many cases it is the wrong thing to do. Think about if you were building a proto for the communication -- would you send the data in the current form? If not, you shouldn't be sending it that way via RPC just because it is easy to do so. BTW, I thought Oracle sequence numbers did fit in long (aren't they int64?) -- at least all the JDBC code I see for manipulating them stores them in a Java long. -- John A. Tamplin -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Ensure clinits get called for JSO instance methods.
Hello Leeroy Jenkins, I'd like you to reexamine a change. Please visit https://gwt-review.googlesource.com/3361 to look at the new patch set (#2). Change subject: Ensure clinits get called for JSO instance methods. .. Ensure clinits get called for JSO instance methods. In following Java semantics, any static initialization code in a class (collectively a clinit) should be run before any part of that class is used. To achieve this, GWT ensures that this clinit was invoked before any (actually) static method, and as part of any constructor. This way, instance methods are sure to have already run the clinit, so it doesn't need to be run again. However, JSO constructors don't exist, so instance methods are not guaranteed to have had the clinit already run. This is the bug that this patch is trying to fix. Two locations are changed, both with the effect of ensuring that a clinit is emitted for JSOs. First, the MethodInliner must not skip adding a call to the clinit when the jso body is inlined and the method invocation (and ref to the class) is dropped, and second, GenerateJavaScriptAST must likewise write out explicit clinits for any static method or jso instance method. The jso methods for the unit tests include methods that seem slightly convoluted to avoid being inlined - once inlined, the clinit would re-appear (as it shoud, since the static field is being accessed directly). Each situation being tested requires its own type, since the test app would require being restarted to empty out each static field. Note that prior to this fix, only the instance method case failed and returned null - the other situations are added just to ensure that everything else is behaving as expected going forward. Bug: issue 3192 Change-Id: If09885382bcf2d6c149cd8e48bfdd3ae527d67cb --- M dev/core/src/com/google/gwt/dev/jjs/impl/GenerateJavaScriptAST.java M dev/core/src/com/google/gwt/dev/jjs/impl/MethodInliner.java M user/test/com/google/gwt/dev/jjs/test/JsoTest.java 3 files changed, 70 insertions(+), 4 deletions(-) -- To view, visit https://gwt-review.googlesource.com/3361 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: If09885382bcf2d6c149cd8e48bfdd3ae527d67cb Gerrit-PatchSet: 2 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Colin Alworth niloc...@gmail.com Gerrit-Reviewer: Colin Alworth niloc...@gmail.com Gerrit-Reviewer: John A. Tamplin j...@jaet.org Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [gwt-contrib] Issue 8083, needs some input from GWT team
John, Well, if I don't have support for this patch then I better stop working on it. I can understand that this is not seen as a priority for GWT. Worst case I just replace the BigInteger/BigDecimal class in the project itself, that is basically what I did right now. Oracle sequences can be configured as a range between -10ˆ-26 and 10ˆ27. The Oracle JDBC drivers return a BigInteger if you force it to the extremes. Changing the application is not feasible, that will be too much work, we are talking about many thousands of dependencies in a huge codebase where BigIntegers and BigDecimals are used - while handling this optimisation on the RPC level can be done in just a few lines of code. In many cases we send large lists of objects that contain BigInteger, BigDecimals but only a few will actually be interacted with. So in that case we only need to convert the Strings to BigInteger (or BigDecimal) when really needed. David On Thu, Jun 13, 2013 at 7:52 PM, John A. Tamplin j...@jaet.org wrote: On Thu, Jun 13, 2013 at 3:14 AM, David david.no...@gmail.com wrote: The lazy parsing would only happen during deserialisation in the client. I think it is safe to assume that a BigInteger created through toString on the server will not result in a parse exception in the client code - or are there known incompatibilities ? I don't want that the regular constructor of BigInteger( String ) or BigInteger( String, int) would behave differently than before. Not even in the client when those BigInts are created in the client. That's why I was asking about the possibility to have different serialisers on client and server side. As the why, well currently the custom field serializer converts the BigInteger to a String, the client side needs to parse the string and convert it to an int array, which involves multiple substring, Integer.parseInt and multiply and add operations. Somehow IE8 has a problem with this. IE9 and other browsers are more efficient, but still that is a lot of CPU operations that can be avoided in my use case. In my particular use case they used BigInteger to represent a key in the database (oracle uses sequence numbers that are bigger than what can be represented with long). That might have not been the best idea, but those decisions have been made a long time ago, when I was not around. On the server side there is a usage of equals and compareTo happening, which would be hard to implement without a BigInteger, so there is logic in the choice. They obviously don't want to have an extra layer of objects to avoid the BigInteger in the GWT client since a lot of code is independent of client or server, this would hinder code sharing between the tiers. On the client side these id's are only send forth and back between client and server, no operation is ever performed, so making the custom field serialiser and the BigInteger cooperate gives a big performance improvement. They only operation needed on the client-side is equals, which can also be optimized to do a String comparison when bother have not been parsed after RPC. I'm beginning to think such a change does not belong in GWT. In your example, wouldn't you be better served by only sending strings to the client rather than BigDecimals, if they client never does anything with them but send them back? I think it is going to be pretty rare in normal situations that you instantiate a BigDecimal but never actually use it in the client, so it seems the special-case hack for your use-case should be performed in your code instead. Too often people want to send things to the client that really don't belong there, and that includes particular representations of it. I know DTOs are extra work over just shipping your regular objects over the wire and GWT RPC makes that easy, but in many cases it is the wrong thing to do. Think about if you were building a proto for the communication -- would you send the data in the current form? If not, you shouldn't be sending it that way via RPC just because it is easy to do so. BTW, I thought Oracle sequence numbers did fit in long (aren't they int64?) -- at least all the JDBC code I see for manipulating them stores them in a Java long. -- John A. Tamplin -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more
Re: [gwt-contrib] Issue 8083, needs some input from GWT team
I'm beginning to think such a change does not belong in GWT. In your example, wouldn't you be better served by only sending strings to the client rather than BigDecimals, if they client never does anything with them but send them back? Thats exactly what I thought too. If its just a database key then transform it on server side to something that does not cost you performance on client side. We also use GWT-RPC and all our database ids are converted to base64 strings before they go to the client. Works pretty well. -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Corp Textarea annoucement (google-web-toolkit-contributors@googlegroups.com)
I've shared an item with you: Corp Textarea annoucement https://docs.google.com/document/d/1uSFPO8tKsVvbs9RVOz9Mbyg-Llf_VABI-eoiWBfV_vs/edit?usp=sharing It's not an attachment -- it's stored online. To open this item, just click the link above. Hey Goktug, please let me know if this is a good message to send out. - Daniel -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Add support for 'ImageResource' to @url substitution in css....
Goktug Gokdogan has submitted this change and it was merged. Change subject: Add support for 'ImageResource' to @url substitution in css. Only 'DataResource' used to be supported. .. Add support for 'ImageResource' to @url substitution in css. Only 'DataResource' used to be supported. Change-Id: Ie6ae9fe0ace59eb682a77a761fe252bf46cafa9f Review-Link: https://gwt-review.googlesource.com/#/c/3290/ --- M user/src/com/google/gwt/resources/css/SubstitutionReplacer.java M user/test/com/google/gwt/resources/client/CSSResourceTest.java M user/test/com/google/gwt/resources/client/test.css 3 files changed, 30 insertions(+), 4 deletions(-) Approvals: Leeroy Jenkins: Verified Goktug Gokdogan: Looks good to me, approved diff --git a/user/src/com/google/gwt/resources/css/SubstitutionReplacer.java b/user/src/com/google/gwt/resources/css/SubstitutionReplacer.java index 885a2b4..0fe893f 100644 --- a/user/src/com/google/gwt/resources/css/SubstitutionReplacer.java +++ b/user/src/com/google/gwt/resources/css/SubstitutionReplacer.java @@ -17,8 +17,10 @@ import com.google.gwt.core.ext.TreeLogger; import com.google.gwt.core.ext.typeinfo.JClassType; +import com.google.gwt.core.ext.typeinfo.JType; import com.google.gwt.core.ext.typeinfo.NotFoundException; import com.google.gwt.resources.client.DataResource; +import com.google.gwt.resources.client.ImageResource; import com.google.gwt.resources.css.ast.Context; import com.google.gwt.resources.css.ast.CssCompilerException; import com.google.gwt.resources.css.ast.CssDef; @@ -44,6 +46,7 @@ public class SubstitutionReplacer extends CssVisitor { private final ResourceContext context; private final JClassType dataResourceType; + private final JClassType imageResourceType; private final TreeLogger logger; private final MapString, CssDef substitutions; @@ -52,6 +55,8 @@ this.context = context; this.dataResourceType = context.getGeneratorContext().getTypeOracle().findType( DataResource.class.getCanonicalName()); +this.imageResourceType = context.getGeneratorContext().getTypeOracle().findType( +ImageResource.class.getCanonicalName()); this.logger = logger; this.substitutions = substitutions; } @@ -95,21 +100,34 @@ assert def.getValues().get(0).isDotPathValue() != null; DotPathValue functionName = def.getValues().get(0).isDotPathValue(); +JType methodType = null; try { - ResourceGeneratorUtil.getMethodByPath(context.getClientBundleType(), - functionName.getParts(), dataResourceType); + methodType = ResourceGeneratorUtil.getMethodByPath(context.getClientBundleType(), + functionName.getParts(), null).getReturnType(); } catch (NotFoundException e) { logger.log(TreeLogger.ERROR, e.getMessage()); throw new CssCompilerException(Cannot find data method); } -String instance = (( + DataResource.class.getName() + )( +if (!methodType.equals(dataResourceType) +!methodType.equals(imageResourceType)) { + String message = Invalid method type for url substitution: + methodType + . + + Only DataResource and ImageResource are supported.; + logger.log(TreeLogger.ERROR, message); + throw new CssCompilerException(message); +} + +String instance = (( + methodType.getQualifiedSourceName() + )( + context.getImplementationSimpleSourceName() + .this. + functionName.getExpression() + )); StringBuilder expression = new StringBuilder(); expression.append(\url('\ + ); -expression.append(instance).append(.getUrl()); +if (methodType.equals(dataResourceType)) { + expression.append(instance).append(.getUrl()); +} else if (methodType.equals(imageResourceType)) { + expression.append(instance).append(.getURL()); +} expression.append( + \')\); result.add(new ExpressionValue(expression.toString())); } else { diff --git a/user/test/com/google/gwt/resources/client/CSSResourceTest.java b/user/test/com/google/gwt/resources/client/CSSResourceTest.java index ab91748..be907ae 100644 --- a/user/test/com/google/gwt/resources/client/CSSResourceTest.java +++ b/user/test/com/google/gwt/resources/client/CSSResourceTest.java @@ -313,6 +313,10 @@ + Resources.INSTANCE.dataMethod().getUrl() + '))); assertTrue(text.contains(backgroundNested:url(' + Resources.INSTANCE.nested().dataMethod().getUrl() + '))); +assertTrue(text.contains(backgroundImage:url(' ++ Resources.INSTANCE.spriteMethod().getURL() + '))); +assertTrue(text.contains(backgroundImageNested:url(' ++ Resources.INSTANCE.nested().spriteMethod().getURL() + '))); // Check @eval expansion assertTrue(text.contains(red() + ;)); diff --git
[gwt-contrib] Change in gwt[master]: Add support for 'ImageResource' to @url substitution in css....
Goktug Gokdogan has posted comments on this change. Change subject: Add support for 'ImageResource' to @url substitution in css. Only 'DataResource' used to be supported. .. Patch Set 2: Code-Review+2 -- To view, visit https://gwt-review.googlesource.com/3290 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ie6ae9fe0ace59eb682a77a761fe252bf46cafa9f Gerrit-PatchSet: 2 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Emmanuel Pellereau emmanu...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Emmanuel Pellereau emmanu...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-HasComments: No -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [gwt-contrib] Issue 8083, needs some input from GWT team
On Thu, Jun 13, 2013 at 3:03 PM, David david.no...@gmail.com wrote: Well, if I don't have support for this patch then I better stop working on it. I can understand that this is not seen as a priority for GWT. Worst case I just replace the BigInteger/BigDecimal class in the project itself, that is basically what I did right now. I'm just one person and I'm not even on the steering committee, so you shouldn't take my opinion as gospel. To summarize, I don't think there is any value in having lazy initialization of BigInteger in GWT since it doesn't strike me as an important use-case that you would instantiate a lot of them but never use them, but it might be worth looking at performance on IE8 to see if it can be improved (which might fix your problem in a more generally useful way). Changing the application is not feasible, that will be too much work, we are talking about many thousands of dependencies in a huge codebase where BigIntegers and BigDecimals are used - while handling this optimisation on the RPC level can be done in just a few lines of code. You can also maintain a local fork of GWT if you think that is easier. In many cases we send large lists of objects that contain BigInteger, BigDecimals but only a few will actually be interacted with. So in that case we only need to convert the Strings to BigInteger (or BigDecimal) when really needed. Well, if you are sending lots of stuff to the client that isn't actually used on the client, that seems an obvious avenue for optimization. Again, just because you can easily ship it to the client doesn't mean you should. -- John A. Tamplin -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Adding a DOM clear method to RootPanel
Brian Slesinsky has posted comments on this change. Change subject: Adding a DOM clear method to RootPanel .. Patch Set 6: (1 comment) I still don't think it's necessary but I'm okay with a helper method if it's very simple to use. File user/src/com/google/gwt/user/client/ui/RootPanel.java Line 316: public void clear(boolean clearDom) { How about calling this clearDom() and removing the boolean? If they don't want to clear the dom then they can call clear(). Rationale: clear(true) is less readable and memorable because you have to look up the method definition to see what true means. Hardly anyone would call this with any value other than a constant true. -- To view, visit https://gwt-review.googlesource.com/2512 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I712989276142460b91514713eaf8d8f74dbecd7b Gerrit-PatchSet: 6 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Brian Slesinsky skybr...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Matthew Dempsky mdemp...@google.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: Yes -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Adding a DOM clear method to RootPanel
Daniel Kurka has posted comments on this change. Change subject: Adding a DOM clear method to RootPanel .. Patch Set 6: With that rationale we should name it clearWidgetsAndDom? -- To view, visit https://gwt-review.googlesource.com/2512 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I712989276142460b91514713eaf8d8f74dbecd7b Gerrit-PatchSet: 6 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Brian Slesinsky skybr...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Matthew Dempsky mdemp...@google.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: No -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: adding compare for several number types
Goktug Gokdogan has posted comments on this change. Change subject: adding compare for several number types .. Patch Set 12: (1 comment) The comparison functions are usually used in non linear algorithm like sorting so average # of checks done for each comparison can significantly impact performance. File user/super/com/google/gwt/emul/java/lang/Double.java Line 95: x == y is also more common than NaN so it is better to check it earlier: { if (x y) { return -1; } if (x y) { return 1; } if (x == y) { return 0; } // At this point, at least one of them is NaN if (isNaN(x)) { if (isNaN(y)) { return 0; } return 1; } else { return -1; } } -- To view, visit https://gwt-review.googlesource.com/3180 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib33c93ff0fb3f7e4b93994a29d6e2a65898be246 Gerrit-PatchSet: 12 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: John A. Tamplin j...@jaet.org Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: Yes -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [gwt-contrib] Issue 8083, needs some input from GWT team
I agree; this seems like a workaround for one application that picked the wrong datatype. Maybe we should warn about BigDecimal being slow somewhere? If someone wants to do some performance tests of GWT-RPC serialization, publishing the results would be useful to the community. My recommendation in this case would be create a new class named Id or Key that simply contains the BigDecimal, then modify the code to use it, then change the implementation to store the data in a string field instead. In the end you'll have more readable code. - Brian On Thu, Jun 13, 2013 at 12:03 PM, David david.no...@gmail.com wrote: John, Well, if I don't have support for this patch then I better stop working on it. I can understand that this is not seen as a priority for GWT. Worst case I just replace the BigInteger/BigDecimal class in the project itself, that is basically what I did right now. Oracle sequences can be configured as a range between -10ˆ-26 and 10ˆ27. The Oracle JDBC drivers return a BigInteger if you force it to the extremes. Changing the application is not feasible, that will be too much work, we are talking about many thousands of dependencies in a huge codebase where BigIntegers and BigDecimals are used - while handling this optimisation on the RPC level can be done in just a few lines of code. In many cases we send large lists of objects that contain BigInteger, BigDecimals but only a few will actually be interacted with. So in that case we only need to convert the Strings to BigInteger (or BigDecimal) when really needed. David On Thu, Jun 13, 2013 at 7:52 PM, John A. Tamplin j...@jaet.org wrote: On Thu, Jun 13, 2013 at 3:14 AM, David david.no...@gmail.com wrote: The lazy parsing would only happen during deserialisation in the client. I think it is safe to assume that a BigInteger created through toString on the server will not result in a parse exception in the client code - or are there known incompatibilities ? I don't want that the regular constructor of BigInteger( String ) or BigInteger( String, int) would behave differently than before. Not even in the client when those BigInts are created in the client. That's why I was asking about the possibility to have different serialisers on client and server side. As the why, well currently the custom field serializer converts the BigInteger to a String, the client side needs to parse the string and convert it to an int array, which involves multiple substring, Integer.parseInt and multiply and add operations. Somehow IE8 has a problem with this. IE9 and other browsers are more efficient, but still that is a lot of CPU operations that can be avoided in my use case. In my particular use case they used BigInteger to represent a key in the database (oracle uses sequence numbers that are bigger than what can be represented with long). That might have not been the best idea, but those decisions have been made a long time ago, when I was not around. On the server side there is a usage of equals and compareTo happening, which would be hard to implement without a BigInteger, so there is logic in the choice. They obviously don't want to have an extra layer of objects to avoid the BigInteger in the GWT client since a lot of code is independent of client or server, this would hinder code sharing between the tiers. On the client side these id's are only send forth and back between client and server, no operation is ever performed, so making the custom field serialiser and the BigInteger cooperate gives a big performance improvement. They only operation needed on the client-side is equals, which can also be optimized to do a String comparison when bother have not been parsed after RPC. I'm beginning to think such a change does not belong in GWT. In your example, wouldn't you be better served by only sending strings to the client rather than BigDecimals, if they client never does anything with them but send them back? I think it is going to be pretty rare in normal situations that you instantiate a BigDecimal but never actually use it in the client, so it seems the special-case hack for your use-case should be performed in your code instead. Too often people want to send things to the client that really don't belong there, and that includes particular representations of it. I know DTOs are extra work over just shipping your regular objects over the wire and GWT RPC makes that easy, but in many cases it is the wrong thing to do. Think about if you were building a proto for the communication -- would you send the data in the current form? If not, you shouldn't be sending it that way via RPC just because it is easy to do so. BTW, I thought Oracle sequence numbers did fit in long (aren't they int64?) -- at least all the JDBC code I see for manipulating them stores them in a Java long. -- John A. Tamplin -- http://groups.google.com/group/Google-Web-Toolkit-Contributors ---
[gwt-contrib] Change in gwt[master]: adding compare for several number types
Hello John A. Tamplin, Thomas Broyer, Leeroy Jenkins, I'd like you to reexamine a change. Please visit https://gwt-review.googlesource.com/3180 to look at the new patch set (#13). Change subject: adding compare for several number types .. adding compare for several number types -Byte.compare -Short.compare -Integer.compare -Long.compare -Float.compare (Double already exists) fixes issue 7998 Change-Id: Ib33c93ff0fb3f7e4b93994a29d6e2a65898be246 Review-Link: https://gwt-review.googlesource.com/#/c/3180/ --- M user/super/com/google/gwt/emul/java/lang/Byte.java M user/super/com/google/gwt/emul/java/lang/Double.java M user/super/com/google/gwt/emul/java/lang/Float.java M user/super/com/google/gwt/emul/java/lang/Integer.java M user/super/com/google/gwt/emul/java/lang/Long.java M user/super/com/google/gwt/emul/java/lang/Short.java M user/test/com/google/gwt/emultest/java/lang/ByteTest.java M user/test/com/google/gwt/emultest/java/lang/FloatTest.java M user/test/com/google/gwt/emultest/java/lang/IntegerTest.java M user/test/com/google/gwt/emultest/java/lang/LongTest.java M user/test/com/google/gwt/emultest/java/lang/ShortTest.java 11 files changed, 86 insertions(+), 52 deletions(-) -- To view, visit https://gwt-review.googlesource.com/3180 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib33c93ff0fb3f7e4b93994a29d6e2a65898be246 Gerrit-PatchSet: 13 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: John A. Tamplin j...@jaet.org Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: adding compare for several number types
Hello John A. Tamplin, Thomas Broyer, Leeroy Jenkins, I'd like you to reexamine a change. Please visit https://gwt-review.googlesource.com/3180 to look at the new patch set (#14). Change subject: adding compare for several number types .. adding compare for several number types -Byte.compare -Short.compare -Integer.compare -Long.compare -Float.compare (Double already exists) fixes issue 7998 Change-Id: Ib33c93ff0fb3f7e4b93994a29d6e2a65898be246 Review-Link: https://gwt-review.googlesource.com/#/c/3180/ --- M user/super/com/google/gwt/emul/java/lang/Byte.java M user/super/com/google/gwt/emul/java/lang/Double.java M user/super/com/google/gwt/emul/java/lang/Float.java M user/super/com/google/gwt/emul/java/lang/Integer.java M user/super/com/google/gwt/emul/java/lang/Long.java M user/super/com/google/gwt/emul/java/lang/Short.java M user/test/com/google/gwt/emultest/java/lang/ByteTest.java M user/test/com/google/gwt/emultest/java/lang/FloatTest.java M user/test/com/google/gwt/emultest/java/lang/IntegerTest.java M user/test/com/google/gwt/emultest/java/lang/LongTest.java M user/test/com/google/gwt/emultest/java/lang/ShortTest.java 11 files changed, 85 insertions(+), 51 deletions(-) -- To view, visit https://gwt-review.googlesource.com/3180 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: Ib33c93ff0fb3f7e4b93994a29d6e2a65898be246 Gerrit-PatchSet: 14 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: John A. Tamplin j...@jaet.org Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: adding compare for several number types
Goktug Gokdogan has posted comments on this change. Change subject: adding compare for several number types .. Patch Set 14: Code-Review+2 -- To view, visit https://gwt-review.googlesource.com/3180 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: Ib33c93ff0fb3f7e4b93994a29d6e2a65898be246 Gerrit-PatchSet: 14 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: John A. Tamplin j...@jaet.org Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: No -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: adding compare for several number types
Daniel Kurka has submitted this change and it was merged. Change subject: adding compare for several number types .. adding compare for several number types -Byte.compare -Short.compare -Integer.compare -Long.compare -Float.compare (Double already exists) fixes issue 7998 Change-Id: Ib33c93ff0fb3f7e4b93994a29d6e2a65898be246 Review-Link: https://gwt-review.googlesource.com/#/c/3180/ --- M user/super/com/google/gwt/emul/java/lang/Byte.java M user/super/com/google/gwt/emul/java/lang/Double.java M user/super/com/google/gwt/emul/java/lang/Float.java M user/super/com/google/gwt/emul/java/lang/Integer.java M user/super/com/google/gwt/emul/java/lang/Long.java M user/super/com/google/gwt/emul/java/lang/Short.java M user/test/com/google/gwt/emultest/java/lang/ByteTest.java M user/test/com/google/gwt/emultest/java/lang/FloatTest.java M user/test/com/google/gwt/emultest/java/lang/IntegerTest.java M user/test/com/google/gwt/emultest/java/lang/LongTest.java M user/test/com/google/gwt/emultest/java/lang/ShortTest.java 11 files changed, 85 insertions(+), 51 deletions(-) Approvals: Leeroy Jenkins: Verified Goktug Gokdogan: Looks good to me, approved diff --git a/user/super/com/google/gwt/emul/java/lang/Byte.java b/user/super/com/google/gwt/emul/java/lang/Byte.java index 664589e..ec3e4d9 100644 --- a/user/super/com/google/gwt/emul/java/lang/Byte.java +++ b/user/super/com/google/gwt/emul/java/lang/Byte.java @@ -33,6 +33,10 @@ private static Byte[] boxedValues = new Byte[256]; } + public static int compare(byte x, byte y) { +return x - y; + } + public static Byte decode(String s) throws NumberFormatException { return Byte.valueOf((byte) __decodeAndValidateInt(s, MIN_VALUE, MAX_VALUE)); } @@ -93,13 +97,7 @@ } public int compareTo(Byte b) { -if (value b.value) { - return -1; -} else if (value b.value) { - return 1; -} else { - return 0; -} +return compare(value, b.value); } @Override diff --git a/user/super/com/google/gwt/emul/java/lang/Double.java b/user/super/com/google/gwt/emul/java/lang/Double.java index e32f9d2..74bdcd9 100644 --- a/user/super/com/google/gwt/emul/java/lang/Double.java +++ b/user/super/com/google/gwt/emul/java/lang/Double.java @@ -86,22 +86,24 @@ }; public static int compare(double x, double y) { +if (x y) { + return -1; +} +if (x y) { + return 1; +} +if (x == y) { + return 0; +} + if (isNaN(x)) { if (isNaN(y)) { return 0; } else { return 1; } -} else if (isNaN(y)) { - return -1; -} - -if (x y) { - return -1; -} else if (x y) { - return 1; } else { - return 0; + return -1; } } diff --git a/user/super/com/google/gwt/emul/java/lang/Float.java b/user/super/com/google/gwt/emul/java/lang/Float.java index fe4bc2b..84e2ef1 100644 --- a/user/super/com/google/gwt/emul/java/lang/Float.java +++ b/user/super/com/google/gwt/emul/java/lang/Float.java @@ -34,13 +34,7 @@ private static final long POWER_32_INT = 4294967296L; public static int compare(float x, float y) { -if (x y) { - return -1; -} else if (x y) { - return 1; -} else { - return 0; -} +return Double.compare(x, y); } public static int floatToIntBits(float value) { @@ -187,13 +181,7 @@ } public int compareTo(Float b) { -if (value b.value) { - return -1; -} else if (value b.value) { - return 1; -} else { - return 0; -} +return compare(value, b.value); } @Override diff --git a/user/super/com/google/gwt/emul/java/lang/Integer.java b/user/super/com/google/gwt/emul/java/lang/Integer.java index 04e2b00..a0c2f6f 100644 --- a/user/super/com/google/gwt/emul/java/lang/Integer.java +++ b/user/super/com/google/gwt/emul/java/lang/Integer.java @@ -57,6 +57,10 @@ return x 0x003f; } + public static int compare(int x, int y) { +return signum(x - y); + } + public static Integer decode(String s) throws NumberFormatException { return Integer.valueOf((int) __decodeAndValidateInt(s, MIN_VALUE, MAX_VALUE)); } @@ -287,13 +291,7 @@ } public int compareTo(Integer b) { -if (value b.value) { - return -1; -} else if (value b.value) { - return 1; -} else { - return 0; -} +return compare(value, b.value); } @Override diff --git a/user/super/com/google/gwt/emul/java/lang/Long.java b/user/super/com/google/gwt/emul/java/lang/Long.java index c0b08d7..eaee9ec 100644 --- a/user/super/com/google/gwt/emul/java/lang/Long.java +++ b/user/super/com/google/gwt/emul/java/lang/Long.java @@ -58,6 +58,10 @@ return Integer.bitCount(high) + Integer.bitCount(low); } + public static int compare(long x, long y) { +return signum(x - y); + } + public static Long decode(String s) throws
[gwt-contrib] Change in gwt[master]: Ensure clinits get called for JSO instance methods.
John A. Tamplin has posted comments on this change. Change subject: Ensure clinits get called for JSO instance methods. .. Patch Set 2: Code-Review+2 -- To view, visit https://gwt-review.googlesource.com/3361 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: If09885382bcf2d6c149cd8e48bfdd3ae527d67cb Gerrit-PatchSet: 2 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Colin Alworth niloc...@gmail.com Gerrit-Reviewer: Colin Alworth niloc...@gmail.com Gerrit-Reviewer: John A. Tamplin j...@jaet.org Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-HasComments: No -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Adding a DOM clear method to RootPanel
Brian Slesinsky has posted comments on this change. Change subject: Adding a DOM clear method to RootPanel .. Patch Set 6: Admittedly it's a judgment call. I'm somewhat biased in favor of shorter names and somewhat against giving two methods the same name. I don't think there's a sensible interpretation of clearing the DOM that doesn't include the widgets too, so it seems like we don't need to include that in the name. (By the way, if we did have to do something tricky like avoid clearing the history frame then that would actually be an argument in favor of having this method.) -- To view, visit https://gwt-review.googlesource.com/2512 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I712989276142460b91514713eaf8d8f74dbecd7b Gerrit-PatchSet: 6 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Brian Slesinsky skybr...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Matthew Dempsky mdemp...@google.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: No -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Use JSON.parse() instead of eval() to deserialize rpc callba...
Brian Slesinsky has posted comments on this change. Change subject: Use JSON.parse() instead of eval() to deserialize rpc callback payload .. Patch Set 11: Sounds like we need more tests. Serialization code generally does benefit from a thorough test suite. -- To view, visit https://gwt-review.googlesource.com/2900 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I6062180397f5fabed1dd5f08140c2bd43a19fa9f Gerrit-PatchSet: 11 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: John Ahlroos j...@vaadin.com Gerrit-Reviewer: Artur Signell ar...@vaadin.com Gerrit-Reviewer: Brian Slesinsky skybr...@google.com Gerrit-Reviewer: Colin Alworth niloc...@gmail.com Gerrit-Reviewer: John Ahlroos j...@vaadin.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Leif Åstrand l...@vaadin.com Gerrit-Reviewer: Matthew Dempsky mdemp...@google.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: No -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Set display to none for table columns that should not be vis...
Goktug Gokdogan has posted comments on this change. Change subject: Set display to none for table columns that should not be visible. .. Patch Set 3: Aliseya, you very likely responded to my comments but I can't see them. In order to publish them, you need to press review and publish in the specific patch set that you responded. -- To view, visit https://gwt-review.googlesource.com/3390 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: Id5eabeda8a3ef2f7b851d540c3776026984654c3 Gerrit-PatchSet: 3 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Aliseya Wright alis...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-HasComments: No -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Adding a DOM clear method to RootPanel
Goktug Gokdogan has posted comments on this change. Change subject: Adding a DOM clear method to RootPanel .. Patch Set 6: It is better to just call it clear so that people will need to read the javadoc instead of making assumptions what clearDom means (widgets inc. or not?) =) Note that, the whole purpose of this patch is just for stuff like loading indicator then that it is better and safer to be done with: Document.get().getElementById(loading).removeFromParent(); -- To view, visit https://gwt-review.googlesource.com/2512 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I712989276142460b91514713eaf8d8f74dbecd7b Gerrit-PatchSet: 6 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Brian Slesinsky skybr...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Matthew Dempsky mdemp...@google.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: No -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Adding a DOM clear method to RootPanel
Brian Slesinsky has posted comments on this change. Change subject: Adding a DOM clear method to RootPanel .. Patch Set 6: Code-Review+2 This is a pretty minor change, breakage is unlikely, and I don't think it matters too much, so I'm going to stop bikeshedding. Daniel, I'm okay with whatever you decide. -- To view, visit https://gwt-review.googlesource.com/2512 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I712989276142460b91514713eaf8d8f74dbecd7b Gerrit-PatchSet: 6 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Brian Slesinsky skybr...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-Reviewer: Matthew Dempsky mdemp...@google.com Gerrit-Reviewer: Thomas Broyer t.bro...@gmail.com Gerrit-HasComments: No -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Set display to none for table columns that should not be vis...
Goktug Gokdogan has posted comments on this change. Change subject: Set display to none for table columns that should not be visible. .. Patch Set 1: (1 comment) File user/src/com/google/gwt/user/cellview/client/CellTable.java Line 905: ensureTableColElement(i).getStyle().setDisplay(Display.NONE); Actually I'm referring to what he originally said but I'm talking about some other potential problems. In the original email (you might have not seen it) Alan said, ...it makes changes CSS attribute display to none, and the column element loses its table-column properties, and its width attributes do not propagate to the th and td elements (because this element is not a table-column and does not describe a column of cells)... so I thought that with your change we will have a problem with columns transitioning from hidden to visible. If the column was hidden and made just visible again the setWidth calls from super.refreshColumnWidths() will not be propagated to the cells because display property is not a table-column. -- To view, visit https://gwt-review.googlesource.com/3390 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: Id5eabeda8a3ef2f7b851d540c3776026984654c3 Gerrit-PatchSet: 1 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Aliseya Wright alis...@google.com Gerrit-Reviewer: Aliseya Wright alis...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-HasComments: Yes -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Adding a DOM clear method to RootPanel
Daniel Kurka has submitted this change and it was merged. Change subject: Adding a DOM clear method to RootPanel .. Adding a DOM clear method to RootPanel By calling rootPanel.clear(true) the user can clear widgets AND DOM elements located under this RootPanel. fixes Issue 516 Change-Id: I712989276142460b91514713eaf8d8f74dbecd7b Review-Link: https://gwt-review.googlesource.com/#/c/2512/ --- M user/src/com/google/gwt/user/client/ui/RootPanel.java M user/test/com/google/gwt/user/client/ui/RootPanelTest.java 2 files changed, 88 insertions(+), 0 deletions(-) Approvals: Leeroy Jenkins: Verified Brian Slesinsky: Looks good to me, approved diff --git a/user/src/com/google/gwt/user/client/ui/RootPanel.java b/user/src/com/google/gwt/user/client/ui/RootPanel.java index 8d22da0..c4929c6 100644 --- a/user/src/com/google/gwt/user/client/ui/RootPanel.java +++ b/user/src/com/google/gwt/user/client/ui/RootPanel.java @@ -300,4 +300,27 @@ super(elem.com.google.gwt.user.client.Element cast()); onAttach(); } + + /** + * Clears the rootPanel. If clearDom is true, then also remove any DOM + * elements that are not widgets. + * + * pBy default {@link #clear()} will only remove children that are GWT widgets. + * This method also provides the option to remove all children including the + * non-widget DOM elements that are directly added (e.g. elements added via + * {@code getElement().appendChild(...)}. + * + * @param clearDom if {@code true} this method will also remove any DOM + * elements that are not widgets. + */ + public void clear(boolean clearDom) { +clear(); + +if (clearDom) { + com.google.gwt.user.client.Element containerElement = getElement(); + while (containerElement.hasChildNodes()) { +containerElement.removeChild(containerElement.getFirstChild()); + } +} + } } diff --git a/user/test/com/google/gwt/user/client/ui/RootPanelTest.java b/user/test/com/google/gwt/user/client/ui/RootPanelTest.java index 6584fef..d455bd1 100644 --- a/user/test/com/google/gwt/user/client/ui/RootPanelTest.java +++ b/user/test/com/google/gwt/user/client/ui/RootPanelTest.java @@ -19,6 +19,7 @@ import com.google.gwt.dom.client.Document; import com.google.gwt.dom.client.Element; import com.google.gwt.junit.client.GWTTestCase; +import com.google.gwt.user.client.DOM; /** * Tests {@link RootPanel}. @@ -28,6 +29,56 @@ @Override public String getModuleName() { return com.google.gwt.user.User; + } + + public void testClearRootPanelAndDOM() { + +RootPanel rootPanel = createDOM(testClearRootPanelAndDOM); + +rootPanel.add(new Button(a)); +rootPanel.add(new Button(b)); + +com.google.gwt.user.client.Element newDiv = DOM.createDiv(); +newDiv.setInnerText(c); +rootPanel.getElement().appendChild(newDiv); + +assertEquals(3, rootPanel.getElement().getChildCount()); + +rootPanel.clear(true); +assertEquals(0, rootPanel.getElement().getChildCount()); + } + + public void testClearRootPanel() { + +RootPanel rootPanel = createDOM(testClearRootPanel); + +rootPanel.add(new Button(a)); +rootPanel.add(new Button(b)); + +com.google.gwt.user.client.Element newDiv = DOM.createDiv(); +newDiv.setInnerText(c); +rootPanel.getElement().appendChild(newDiv); + +assertEquals(3, rootPanel.getElement().getChildCount()); + +rootPanel.clear(false); +assertEquals(1, rootPanel.getElement().getChildCount()); + +// clean up +rootPanel.clear(true); +assertEquals(0, rootPanel.getElement().getChildCount()); + } + + public void testClearRootPanelContainingTextNodes() { + +RootPanel rootPanel = createDOM(testClearRootPanelAndDOM); + +rootPanel.getElement().setInnerHTML(Some imixed/i content); + +assertEquals(3, rootPanel.getElement().getChildCount()); + +rootPanel.clear(true); +assertEquals(0, rootPanel.getElement().getChildCount()); } public void testDetachNowWithErrorOnDetach() { @@ -131,4 +182,18 @@ RootPanel.getBodyElement().appendChild(elem); return elem; } + + private RootPanel createDOM(String id) { +// create our own part in the document +com.google.gwt.user.client.Element div = DOM.createDiv(); +div.setId(id); +Document.get().getBody().appendChild(div); + +// get it via RootPanel +RootPanel rootPanel = RootPanel.get(id); + +// no elements in the DOM prior to test +assertEquals(0, rootPanel.getElement().getChildCount()); +return rootPanel; + } } -- To view, visit https://gwt-review.googlesource.com/2512 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: merged Gerrit-Change-Id: I712989276142460b91514713eaf8d8f74dbecd7b Gerrit-PatchSet: 6 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Daniel Kurka danku...@google.com Gerrit-Reviewer: Brian Slesinsky skybr...@google.com Gerrit-Reviewer:
[gwt-contrib] Change in gwt[master]: Set display to none for table columns that should not be vis...
Goktug Gokdogan has posted comments on this change. Change subject: Set display to none for table columns that should not be visible. .. Patch Set 3: Code-Review+2 Ok, I (or him) might have misinterpreted what is going on. If toggling columns works in practice, let's go ahead and see if it breaks anybody. (You can click submit now if you are ready to merge.) -- To view, visit https://gwt-review.googlesource.com/3390 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: Id5eabeda8a3ef2f7b851d540c3776026984654c3 Gerrit-PatchSet: 3 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Aliseya Wright alis...@google.com Gerrit-Reviewer: Aliseya Wright alis...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-HasComments: No -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Set display to none for table columns that should not be vis...
Goktug Gokdogan has submitted this change and it was merged. Change subject: Set display to none for table columns that should not be visible. .. Set display to none for table columns that should not be visible. Change-Id: Id5eabeda8a3ef2f7b851d540c3776026984654c3 Review-Link: https://gwt-review.googlesource.com/#/c/3390/ --- M user/src/com/google/gwt/user/cellview/client/CellTable.java M user/test/com/google/gwt/user/cellview/client/CellTableTest.java 2 files changed, 14 insertions(+), 5 deletions(-) Approvals: Leeroy Jenkins: Verified Goktug Gokdogan: Looks good to me, approved diff --git a/user/src/com/google/gwt/user/cellview/client/CellTable.java b/user/src/com/google/gwt/user/cellview/client/CellTable.java index 12b3db2..a3a1d57 100644 --- a/user/src/com/google/gwt/user/cellview/client/CellTable.java +++ b/user/src/com/google/gwt/user/cellview/client/CellTable.java @@ -18,6 +18,7 @@ import com.google.gwt.core.client.GWT; import com.google.gwt.dom.client.BrowserEvents; import com.google.gwt.dom.client.Document; +import com.google.gwt.dom.client.Style.Display; import com.google.gwt.dom.client.Style.TableLayout; import com.google.gwt.dom.client.Style.Unit; import com.google.gwt.dom.client.TableCellElement; @@ -889,14 +890,21 @@ super.refreshColumnWidths(); /* - * Set the width to zero for all col elements that appear after the last - * column. Clearing the width would cause it to take up the remaining width - * in a fixed layout table. + * Set the width to zero and the display to none for all col elements that + * appear after the last column. Clearing the width would cause it to take + * up the remaining width in a fixed layout table. + * + * Clear the display for all columns that appear in the table. */ if (colGroupEnabled) { int colCount = colgroup.getChildCount(); - for (int i = getRealColumnCount(); i colCount; i++) { + int lastColumn = getRealColumnCount(); + for (int i = 0; i lastColumn; i++) { +ensureTableColElement(i).getStyle().clearDisplay(); + } + for (int i = lastColumn; i colCount; i++) { doSetColumnWidth(i, 0px); +ensureTableColElement(i).getStyle().setDisplay(Display.NONE); } } } diff --git a/user/test/com/google/gwt/user/cellview/client/CellTableTest.java b/user/test/com/google/gwt/user/cellview/client/CellTableTest.java index c54266f..965e59a 100644 --- a/user/test/com/google/gwt/user/cellview/client/CellTableTest.java +++ b/user/test/com/google/gwt/user/cellview/client/CellTableTest.java @@ -283,7 +283,7 @@ } /** - * Test that removing a column sets its width to zero. + * Test that removing a column sets its width to zero and the display to none. */ public void testRemoveColumnWithWidth() { CellTableString table = createAbstractHasData(new TextCell()); @@ -297,6 +297,7 @@ table.removeColumn(column1); table.getPresenter().flush(); assertEquals(0px, col1.getStyle().getWidth()); +assertEquals(none, col1.getStyle().getDisplay().toLowerCase()); } @Override -- To view, visit https://gwt-review.googlesource.com/3390 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: merged Gerrit-Change-Id: Id5eabeda8a3ef2f7b851d540c3776026984654c3 Gerrit-PatchSet: 3 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Aliseya Wright alis...@google.com Gerrit-Reviewer: Aliseya Wright alis...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[gwt-contrib] Change in gwt[master]: Adds Timer#isRunning().
Goktug Gokdogan has posted comments on this change. Change subject: Adds Timer#isRunning(). .. Patch Set 2: (1 comment) File user/src/com/google/gwt/user/client/Timer.java Line 151: I think javadoc looks good right now: Returns {@code true} if the timer is running. Timer is running if and only if it is scheduled but it is not expired or cancelled. Actually it is more clear than java.swing.Timer's description which has the same behavior =) : Returns true if the Timer is running. If you have something specific in your mind then we can change it. However, we should be careful when adding more data on the javadoc as developers start thinking about if there is a special behavior and if they should be doing something specific to handle that. In this case, they should not have any concerns. -- To view, visit https://gwt-review.googlesource.com/3321 To unsubscribe, visit https://gwt-review.googlesource.com/settings Gerrit-MessageType: comment Gerrit-Change-Id: I0133c64de75d5d95cff863c5ab950d474dda0c56 Gerrit-PatchSet: 2 Gerrit-Project: gwt Gerrit-Branch: master Gerrit-Owner: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: Daniel Kurka danku...@google.com Gerrit-Reviewer: Goktug Gokdogan gok...@google.com Gerrit-Reviewer: Leeroy Jenkins jenk...@gwtproject.org Gerrit-HasComments: Yes -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [gwt-contrib] Work to do for bug 3042
In my opinion, having the tool-bar in gwt makes perfectly sense, RichTextArea is almost unusable without a bar in any project. It's plenty of gwt projects which have copied and pasted the code from the showcase. I think that you should face this issue in some steps: 1.- Listen to GWT contributors for the convenience of moving RichTextToolbar from samples to gwt. So maintain live this thread until you get enough feedback. 2.- Send a first patch just moving the code from show-case to gwt (showcase should use the new code) 3.- When the patch were accepted, continue adding other features like adding/removing widgets from the toolbar, or a panel grouping RichTextArea + RichTextToolbar, etc. because each thing needs a different review/discussion. - Manolo On Tue, Jun 11, 2013 at 7:25 PM, Adolfo Panizo Touzon adolfo.pan...@gmail.com wrote: Oh! Sorry I saw you were the owner and I thought you had plenty of responsability. Thanks, but everything is fine, the installation process is quite simple/clear, so, all is up and running. :D. Keep an eye into the Issue 1127 because maybe you are interested in giving instructions related to both issues. Thanks, Adolfo. On Tue, Jun 11, 2013 at 10:28 AM, Daniel Kurka danku...@google.com wrote: Hi Adolfo, this is not my issue and I am not solely responsible for it. We should see wait and see if anybody opposes to adding this to GWT, before you actually start working on it, so that your time will not be wasted. On the other hand you can already setup your IDE and tools to be able to start. James pointed out the resources. If there is anything wrong / unclear in those resources please let us know. Or you could even send a patch for the homepage to be updated. - Daniel On Mon, Jun 10, 2013 at 8:07 PM, Adolfo Panizo Touzon adolfo.pan...@gmail.com wrote: Thanks James! But I have done those steps yet (indeed I read in that link I should ask here first :D) . When I said the necessary work I meant the steps for develop the RichTextArea according to the GWT steering committee (for this issue I think Daniel is responsible) so I need to wait for his opinion. Thanks anyway for your quick response. Adolfo. On Mon, Jun 10, 2013 at 1:02 PM, James Horsley james.hors...@gmail.com wrote: Adolfo, To get the source checked out and compiling follow: http://www.gwtproject.org/makinggwtbetter.html#workingoncode To submit the patch use: http://www.gwtproject.org/makinggwtbetter.html#submittingpatches I recently had to move an old svn patch into gerrit and the following gave a very simple way to apply it http://stackoverflow.com/questions/659467/how-to-apply-svn-diff-to-git just remember to clean up any leftover .orij and .rej files. Cheers, James On 10 June 2013 10:01, Adolfo Panizo adolfo.pan...@gmail.com wrote: Hi, as I wrote in the issue, I am able to do the necessary work for solving it. So, can you guide me about the steps that I need to follow in order to create a patch properly? Would you like to reuse some code of the old patch? I am going to contact the creator of it because maybe he continues interested on fixing the issue and rebase the patch with the last code. Of course if there are other issues related to RichTextArea I can solve as well. Thanks in advance, Adolfo. -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- El precio es lo que pagas. El valor es lo que recibes. Warren Buffet -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit-contributors+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Google Germany GmbH Dienerstr. 12 80331 München Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg Geschäftsführer: Graham Law, Katherine Stephens -- http://groups.google.com/group/Google-Web-Toolkit-Contributors --- You received this message because you are subscribed to the Google Groups GWT Contributors group. To unsubscribe from this group and stop receiving