[gwt-contrib] factory methods
many other developers, including me, would appreciate if you'd use protected factory methods in non-final classes (even if the class is not abstract), like: a no-go: void func() { A = new A(); A.doSomething(); } instead, a better pattern: --- protected A createA() { return new A(); } void func() { A = createA(); A.doSomething(); } - because in some situations the integration of GWT into existing environment becomes a little nightmare, and it would be great pay more attention to DI thank you!! -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Deprecate DeferredCommand and IncrementalCommand. (issue982802)
http://gwt-code-reviews.appspot.com/982802/diff/1/5 File user/src/com/google/gwt/user/client/DeferredCommand.java (right): http://gwt-code-reviews.appspot.com/982802/diff/1/5#newcode27 user/src/com/google/gwt/user/client/DeferredCommand.java:27: * API prevents effective mocking. On 2010/10/13 03:50:36, rjrjr wrote: I thought it was deprecated because it was redundant...TMI? IMHO, I don't think you can give too much information on the impetus behind this change. Its going to be painful to see all those deprecation warnings come out the first time for most users. http://gwt-code-reviews.appspot.com/982802/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Test timeout in JUnitShell ? (GWT 2.0.0)
I give up for now :(... This issue is getting me against the roof... :( Even with remote debugging it all go well But let's not forget that the error only occurs sometimes: about 50% of the time and mostly during the day when I run the build manually when the server is more busy. During the night when the build server isn't doing much, most of the time the timeout exception doesn't occur. Almost always the exception occurs in a test class (extending GWTTestCase) that contains more then one test. As far as I can see, it never happens in test classes with only one test method... So it seems that more tests in one GWTTestCase class take more time and in someway triggers the timeout exception... Also, in case the timeout exception occurs, the logging indicates that the GWT servlet GWTShellServlet is correctly informed, but still the exception occurs... For now, I disabled these GWT test case that need the backend (through RPC) as I can't work with this unpredictable behavior. On Oct 5, 4:56 pm, Ed post2edb...@gmail.com wrote: running the test in your continuous build environment with remote debugging enabled and attaching to it with a debugger to see what is going on. Thanks again. John I did that already but will do it again now that I have a better understanding of the GWT Junit code. (I only have to use some tricks to attach the remote debugger correctly ...) On Oct 5, 4:24 pm, John Tamplin j...@google.com wrote: On Tue, Oct 5, 2010 at 10:12 AM, Ed post2edb...@gmail.com wrote: I found the servlet you meant: JUnitHostImpl I see that the url that touches this servlet is correctly forwarded by the proxy and received by this servlet when debugging in Eclipse: The url that touches it: / com.bv.gwt.profile.intern.ProfileGwtTest.JUnit/junithost (also appears in the logging below) However, when it's running during the nightly build and fails, I's hard to find out what went wrong as the this servlet doesn't contain debug/trace logging. It would be nice to see the path of execution in the logging such that I can see why the servlet isn't touched. Any idea's how to solve this? Or any idea about what would be going wrong ? If it works when you run it directly, yet fails in the continuous build, then something is different between the two that matters. I would suggest running the test in your continuous build environment with remote debugging enabled and attaching to it with a debugger to see what is going on. -- John A. Tamplin Software Engineer (GWT), Google -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Use the response setContentType() in RequestFactoryServlet instead (issue980801)
LGTM. http://gwt-code-reviews.appspot.com/980801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
Re: [gwt-contrib] factory methods
Specific examples might be helpful here. I can see how this might be useful in some specific cases, but wrapping every new in a template method sounds like a horribly contorting way to have to write all one's code. Le 13 octobre 2010 05:19, cokol eplisc...@googlemail.com a écrit : many other developers, including me, would appreciate if you'd use protected factory methods in non-final classes (even if the class is not abstract), like: a no-go: void func() { A = new A(); A.doSomething(); } instead, a better pattern: --- protected A createA() { return new A(); } void func() { A = createA(); A.doSomething(); } - because in some situations the integration of GWT into existing environment becomes a little nightmare, and it would be great pay more attention to DI thank you!! -- http://groups.google.com/group/Google-Web-Toolkit-Contributors -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Setting the background color of LoggingPopup using Style so it works correctly on IE. Also scrol... (issue989801)
Reviewers: unnurg, Description: Setting the background color of LoggingPopup using Style so it works correctly on IE. Also scrolling the log to the bottom when log items are added. Please review this at http://gwt-code-reviews.appspot.com/989801/show Affected files: M user/src/com/google/gwt/logging/client/LoggingPopup.java Index: user/src/com/google/gwt/logging/client/LoggingPopup.java === --- user/src/com/google/gwt/logging/client/LoggingPopup.java(revision 9038) +++ user/src/com/google/gwt/logging/client/LoggingPopup.java(working copy) @@ -138,7 +138,7 @@ super(false, false); VerticalPanel mainPanel = new VerticalPanel(); mainPanel.setBorderWidth(1); -mainPanel.getElement().setAttribute(style, background-color:white); +mainPanel.getElement().getStyle().setBackgroundColor(white); final HTML titleBar = new HTML(centerbLogging/b/center); mainPanel.add(titleBar); @@ -184,12 +184,12 @@ @Override public void add(Widget w) { logArea.add(w); + scrollPanel.setScrollPosition(scrollPanel.getElement().getScrollHeight()); } @Override public void setWidget(Widget w) { logArea.clear(); -logArea.add(w); +add(w); } - } -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Minor tweaks for dynatablerd and showcase. (issue990801)
Reviewers: rchandia, Description: Minor tweaks for dynatablerd and showcase. Please review this at http://gwt-code-reviews.appspot.com/990801/show Affected files: M samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/SummaryWidget.ui.xml M samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellList.java M samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellTable.ui.xml Index: samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/SummaryWidget.ui.xml === --- samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/SummaryWidget.ui.xml (revision 9038) +++ samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/SummaryWidget.ui.xml (working copy) @@ -8,6 +8,10 @@ .thirty { width: 30% + } + + .table { + width: 100%; } /ui:style g:DockLayoutPanel ui:field=dock unit=EX @@ -29,7 +33,7 @@ /g:DockLayoutPanel /g:north g:center - cv:CellTable ui:field=table / + cv:CellTable ui:field=table stylePrimaryName={style.table} / /g:center /g:DockLayoutPanel /ui:UiBinder \ No newline at end of file Index: samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellList.java === --- samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellList.java (revision 9038) +++ samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellList.java (working copy) @@ -33,6 +33,7 @@ import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.cellview.client.CellList; import com.google.gwt.user.cellview.client.HasKeyboardPagingPolicy.KeyboardPagingPolicy; +import com.google.gwt.user.cellview.client.HasKeyboardSelectionPolicy.KeyboardSelectionPolicy; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.AbstractImagePrototype; import com.google.gwt.user.client.ui.Button; @@ -174,6 +175,7 @@ ContactDatabase.ContactInfo.KEY_PROVIDER); cellList.setPageSize(30); cellList.setKeyboardPagingPolicy(KeyboardPagingPolicy.INCREASE_RANGE); + cellList.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.BOUND_TO_SELECTION); // Add a selection model so we can select cells. final SingleSelectionModelContactInfo selectionModel = new SingleSelectionModelContactInfo( Index: samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellTable.ui.xml === --- samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellTable.ui.xml (revision 9038) +++ samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellTable.ui.xml (working copy) @@ -6,7 +6,6 @@ ui:style .cellTable { - height: 400px; width: 600px; border: 1px solid #ccc; text-align: left; -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Minor tweaks for dynatablerd and showcase. (issue990801)
LGTM http://gwt-code-reviews.appspot.com/990801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Added jaxb to DynaTableRf WEB-INF/lib for 1.5 compatibility (issue991801)
Reviewers: jlabanca, Description: Added jaxb to DynaTableRf WEB-INF/lib for 1.5 compatibility Please review this at http://gwt-code-reviews.appspot.com/991801/show Affected files: M samples/dynatablerf/build.xml Index: samples/dynatablerf/build.xml === --- samples/dynatablerf/build.xml (revision 9038) +++ samples/dynatablerf/build.xml (working copy) @@ -13,5 +13,6 @@ include name=apache/log4j/log4j-1.2.16.jar / include name=slf4j/slf4j-api/slf4j-api-1.6.1.jar / include name=slf4j/slf4j-log4j12/slf4j-log4j12-1.6.1.jar / +include name=javax/xml/bind/jaxb-api-2.1.jar / /fileset /project -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Added jaxb to DynaTableRf WEB-INF/lib for 1.5 compatibility (issue991801)
LGTM http://gwt-code-reviews.appspot.com/991801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
Re: [gwt-contrib] Selection Cell Option value vs Display Value
Sound reasonable. Can you open an issue to create a ValueSelectionCell that takes an arbitrary type T and a SafeHtmlRenderer to convert the type T to a String. Thanks, John LaBanca jlaba...@google.com On Wed, Oct 13, 2010 at 11:06 AM, Ed M mwamuf...@gmail.com wrote: The current implementation of 'SelectionCell' only accepts a 'ListString' to be used in the creation of the drop down 'select' menu. ie: Liststring options = new ArrayListString() options.add(option1); options.add(option2); SelectionCell cell = new SelectionCell(options); When rendered this results in select option value=option1Option1/option /select Given that in most cases, the human readable value does not match the value submitted to the server, this class should allow for the more traditional practice of having one value for the 'value' attribute of the option element, and another value for the display value. ie: select... option value='ServerVal' DisplayVal/option /select -- http://groups.google.com/group/Google-Web-Toolkit-Contributors -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
Re: [gwt-contrib] Selection Cell Option value vs Display Value
On Wed, Oct 13, 2010 at 12:10 PM, John LaBanca jlaba...@google.com wrote: Sound reasonable. Can you open an issue to create a ValueSelectionCell that takes an arbitrary type T and a SafeHtmlRenderer to convert the type T to a String. A simpler option would be to accept MapString,String with the key the select value and the value what is displayed. -- John A. Tamplin Software Engineer (GWT), Google -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
Re: [gwt-contrib] Selection Cell Option value vs Display Value
Users will probably want to set the ordering of the values. Letting users define the type would be more useful. A while back I started working on a ListBoxCell, which is a custom drop box of options. It allows selection of typed values, and you can render custom options. Hopefully we'll get it into a future GWT version. Thanks, John LaBanca jlaba...@google.com On Wed, Oct 13, 2010 at 12:22 PM, John Tamplin j...@google.com wrote: On Wed, Oct 13, 2010 at 12:10 PM, John LaBanca jlaba...@google.com wrote: Sound reasonable. Can you open an issue to create a ValueSelectionCell that takes an arbitrary type T and a SafeHtmlRenderer to convert the type T to a String. A simpler option would be to accept MapString,String with the key the select value and the value what is displayed. -- John A. Tamplin Software Engineer (GWT), Google -- http://groups.google.com/group/Google-Web-Toolkit-Contributors -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Deprecate DeferredCommand and IncrementalCommand. (issue982802)
On Wed, Oct 13, 2010 at 5:28 AM, zun...@google.com wrote: http://gwt-code-reviews.appspot.com/982802/diff/1/5 File user/src/com/google/gwt/user/client/DeferredCommand.java (right): http://gwt-code-reviews.appspot.com/982802/diff/1/5#newcode27 user/src/com/google/gwt/user/client/DeferredCommand.java:27: * API prevents effective mocking. On 2010/10/13 03:50:36, rjrjr wrote: I thought it was deprecated because it was redundant...TMI? IMHO, I don't think you can give too much information on the impetus behind this change. Its going to be painful to see all those deprecation warnings come out the first time for most users. We might want to provide more justification then. We're not just deprecating the thing for mockability, it's redundant code, right? http://gwt-code-reviews.appspot.com/982802/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Relaxing the data parameter of HasData#setRowData() from a ListT to a List? extends T. (issue994801)
Reviewers: rice, Description: Relaxing the data parameter of HasData#setRowData() from a ListT to a List? extends T. Please review this at http://gwt-code-reviews.appspot.com/994801/show Affected files: M user/src/com/google/gwt/user/cellview/client/AbstractHasData.java M user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java M user/src/com/google/gwt/user/cellview/client/HasDataPresenter.java M user/src/com/google/gwt/view/client/HasData.java M user/test/com/google/gwt/view/client/MockHasData.java Index: user/src/com/google/gwt/user/cellview/client/AbstractHasData.java === --- user/src/com/google/gwt/user/cellview/client/AbstractHasData.java (revision 9038) +++ user/src/com/google/gwt/user/cellview/client/AbstractHasData.java (working copy) @@ -535,7 +535,7 @@ presenter.setRowCount(size, isExact); } - public void setRowData(int start, ListT values) { + public void setRowData(int start, List? extends T values) { presenter.setRowData(start, values); } Index: user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java === --- user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java (revision 9038) +++ user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java (working copy) @@ -492,7 +492,7 @@ presenter.setRowCount(size, isExact); } -public void setRowData(int start, ListC values) { +public void setRowData(int start, List? extends C values) { presenter.setRowData(start, values); } Index: user/src/com/google/gwt/user/cellview/client/HasDataPresenter.java === --- user/src/com/google/gwt/user/cellview/client/HasDataPresenter.java (revision 9038) +++ user/src/com/google/gwt/user/cellview/client/HasDataPresenter.java (working copy) @@ -651,7 +651,7 @@ RowCountChangeEvent.fire(display, count, rowCountIsExact); } - public void setRowData(int start, ListT values) { + public void setRowData(int start, List? extends T values) { int valuesLength = values.size(); int valuesEnd = start + valuesLength; Index: user/src/com/google/gwt/view/client/HasData.java === --- user/src/com/google/gwt/view/client/HasData.java(revision 9038) +++ user/src/com/google/gwt/view/client/HasData.java(working copy) @@ -39,7 +39,7 @@ * @param start the start index of the data * @param values the values within the range */ - void setRowData(int start, ListT values); + void setRowData(int start, List? extends T values); /** * Set the {...@link SelectionModel} used by this {...@link HasData}. Index: user/test/com/google/gwt/view/client/MockHasData.java === --- user/test/com/google/gwt/view/client/MockHasData.java (revision 9038) +++ user/test/com/google/gwt/view/client/MockHasData.java (working copy) @@ -81,7 +81,7 @@ private final HandlerManager handlerManager = new HandlerManager(this); private Range lastRange; - private ListT lastRowData; + private List? extends T lastRowData; private int pageStart; private int pageSize = DEFAULT_PAGE_SIZE; @@ -117,7 +117,7 @@ * * @return the last data set */ - public ListT getLastRowData() { + public List? extends T getLastRowData() { return lastRowData; } @@ -146,7 +146,7 @@ return rowCountExact; } - public void setRowData(int start, ListT values) { + public void setRowData(int start, List? extends T values) { lastRange = new Range(start, values.size()); lastRowData = values; } -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] The proposed fix will disambiguate setter overloads by ranking them according (issue993801)
Reviewers: rjrjr, Description: The proposed fix will disambiguate setter overloads by ranking them according to the 'cost' of conversion. Fewer arguments will be preferred over many arguments (e.g. setValue(boolean) will be preferred over setValue(boolean, boolean)). Within a group os setters with the same number of arguments, Strings will be preferred over other primitive types (boxed or not); and primitive types will be preferred over non-primitive types. The fix also reduces the need of two passes over the list of setters during disambiguation, now done in one pass. Please review this at http://gwt-code-reviews.appspot.com/993801/show Affected files: M user/src/com/google/gwt/uibinder/rebind/model/OwnerFieldClass.java M user/test/com/google/gwt/uibinder/rebind/model/OwnerFieldClassTest.java -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: DeadCodeElimination should only run once. (issue983802)
This is good, it confirms that the number of changes to the AST hasn't changed (or haven't changed much). I was thinking of the speedtracer logs which would show a change in the real-time performance of each pass the optimizers. (re-run with -Dgwt.speedtracerlog=/tmp/speedtracer-trunk.html ) On Wed, Oct 13, 2010 at 2:12 PM, Scott Blum sco...@google.com wrote: Eric, You mentioned before that I should run the trace logging to analyze the behavior of DeadCode before and after my change. I did so, and my change resulted in the same number of top-level optimization loops. The numbers are mostly identical, I think perhaps a small accounting change is the only discrepancy. Logs attached. Scott On Tue, Oct 12, 2010 at 4:07 PM, zun...@google.com wrote: FYI, I like the refactoring of JModVisitor I have no idea how you came up with these changes other than to pick up a huge piece of code and start setting break points in the compiler and iterating until you fixed them. That's a difficult tasks for mere mortal coders to repeat. At the very least, the DeadCodeEliminationTest needs a TODO for someone to add new test() methods for the types of things you found that took more than one pass to resolve. -- Eric Z. Ayers Google Web Toolkit, Atlanta, GA USA -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: DeadCodeElimination should only run once. (issue983802)
On Wed, Oct 13, 2010 at 2:39 PM, Eric Ayers zun...@google.com wrote: This is good, it confirms that the number of changes to the AST hasn't changed (or haven't changed much). I was thinking of the speedtracer logs which would show a change in the real-time performance of each pass the optimizers. (re-run with -Dgwt.speedtracerlog=/tmp/speedtracer-trunk.html ) I did that first, but I found the results kind of hard to understand for the particular application relative to using the logs. Lemme put a bit more effort in. -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: DeadCodeElimination should only run once. (issue983802)
Okay, so when I drill down, optimization is net faster with my patch. A typical example, on one particular optimize loop, before DCE would take ~15-20ms, but with my patch more like ~7-15ms. On the down side, MethodInliner seems very slightly slower, but it appears to be a decent net win. On Wed, Oct 13, 2010 at 2:46 PM, Scott Blum sco...@google.com wrote: On Wed, Oct 13, 2010 at 2:39 PM, Eric Ayers zun...@google.com wrote: This is good, it confirms that the number of changes to the AST hasn't changed (or haven't changed much). I was thinking of the speedtracer logs which would show a change in the real-time performance of each pass the optimizers. (re-run with -Dgwt.speedtracerlog=/tmp/speedtracer-trunk.html ) I did that first, but I found the results kind of hard to understand for the particular application relative to using the logs. Lemme put a bit more effort in. -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
Re: [gwt-contrib] Add Support for server side script selection in linker (issue941802)
Hi Arthur - Yes - we probably could build it, but then you wouldn't be able to customize any of the aspects of that HTML page. Most people want something else on that page other than just the GWT module include (even if it's something as simple as setting the title tag in the head to something specific). In general, we sort of count on people who are trying to do semi-advanced optimizations to be able to do some work, like adding the contents of the nocache.js file to the initial html file themselves. Alternatively - you could subclass the linker and have it do what you want for your specific project since you would know exactly what other stuff you might want in your particular html file. I also just wanted to reiterate one more time that support for server side selection is not coming soon. We are (experimentally) adding the ability for people do server side selection, assuming that they do some configuration themselves. Specifically, you'll have to subclass the linker to turn on some of the options. More significantly, you'll need parse the configuration-mappings.txt file to determine the correct md5 file and dynamically generate your HTML with a script tag pointing to that md5 file. Doing this is harder than inlining the selection script, so if your primary interest is in cutting out one of the round trips, I'd recommend that you go ahead with getting that working first. Although we may add it eventually, there is no current plan to make server side selection available out of the box. - Unnur On Wed, Oct 13, 2010 at 9:28 AM, Arthur Kalmenson arthur.k...@gmail.com wrote: Hey Unnur, You're right, gwt doesn't have access to the initial HTML page, but I wonder if it'd be possible to build a linker to make that dynamically generated page. Doesn't the linker have access to what gets generated in the nocache.js? Theoretically you could just output a simple HTML page that includes its contents. Then again, if this server side selection is coming soon (gwt 2.2?), building this linker won't make much sense. Thanks again for all the info! All the best, -- Arthur Kalmenson On Mon, Oct 11, 2010 at 1:03 PM, Unnur Gretarsdottir unn...@google.com wrote: Hi Arthur - Are you asking if there's an existing linker for the inlining of your selection script? If so, no - the linker has no access to the contents of your initital html page. What you need to do is, rather than serve a static html page, your server will have to dynamically generate it, by reading the content of the nocache.js file and putting it directly in the html which is served on the initial request. In theory, if you rarely release your code, you could do this manually - basically, every time you do a gwt compile, manually copy the contents of nocahce.js into the initial html page. - Unnur On Fri, Oct 8, 2010 at 12:41 PM, Arthur Kalmenson arthur.k...@gmail.com wrote: That's a great idea Unnur. Is there an existing linker for this or would I have to build it (it seems like something the linker would do, if I understood them correctly)? -- Arthur Kalmenson On Fri, Oct 8, 2010 at 1:57 PM, Unnur Gretarsdottir unn...@google.com wrote: Hi Arthur - This is, and will probably remain for some time, experimental. In order to use this, you'll need to extend the linker and change the variable - also, you'll need to write your own server code to parse the compilation mappings text file and decide which permutation you want to use. Sorry not to have a better answer - we did want to make sure that this new linker is set up to support this sort of linking, but it is not currently a feature that we are officially releasing. FYI - if your primary concern is the double round trips, as opposed to the size of the permutation selection JS, then an easy solution for you is to simply inline the foo.nocache.js script into your page rather than requesting it using a script tag - Unnur On Mon, Oct 4, 2010 at 2:06 PM, Arthur Kalmenson arthur.k...@gmail.com wrote: Wow, this is great! I'm guessing this means we can cut the startup round trips to one? Is this going into GWT 2.1? Exciting stuff. -- Arthur Kalmenson On Fri, Oct 1, 2010 at 6:09 PM, unn...@google.com wrote: Reviewers: jgw, Description: Add Support for server side script selection in linker Please review this at http://gwt-code-reviews.appspot.com/941802/show Affected files: A dev/core/src/com/google/gwt/core/ext/linker/impl/PermutationsUtil.java A dev/core/src/com/google/gwt/core/ext/linker/impl/PropertiesMappingArtifact.java A dev/core/src/com/google/gwt/core/ext/linker/impl/ResourceInjectionUtil.java M dev/core/src/com/google/gwt/core/ext/linker/impl/SelectionScriptLinker.java M dev/core/src/com/google/gwt/core/ext/linker/impl/computeScriptBase.js M dev/core/src/com/google/gwt/core/ext/linker/impl/installLocationIframe.js A dev/core/src/com/google/gwt/core/ext/linker/impl/installScriptCommon.js
[gwt-contrib] Fixing a few logic and usability bugs in Cell Widgets. CellTree items are now easier to click. ... (issue995801)
Reviewers: rice, Description: Fixing a few logic and usability bugs in Cell Widgets. CellTree items are now easier to click. Fixed a bug in CellBrowser keyboard navigation on Chrome where we would get async blur events that prevented keyboard navigation. Fixed a few IE7 specific bugs that occur when delayed events fire on elements that have been replaced. Please review this at http://gwt-code-reviews.appspot.com/995801/show Affected files: M user/src/com/google/gwt/user/cellview/CellView.gwt.xml A user/src/com/google/gwt/user/cellview/client/CellBasedWidgetImplSafari.java M user/src/com/google/gwt/user/cellview/client/CellBrowser.css M user/src/com/google/gwt/user/cellview/client/CellBrowser.java M user/src/com/google/gwt/user/cellview/client/CellList.java M user/src/com/google/gwt/user/cellview/client/CellTable.java M user/src/com/google/gwt/user/cellview/client/CellTree.java M user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] [google-web-toolkit] r9040 committed - Use Java to generate the list of packages for javadoc...
Revision: 9040 Author: r...@google.com Date: Wed Oct 13 03:51:52 2010 Log: Use Java to generate the list of packages for javadoc Review at http://gwt-code-reviews.appspot.com/980803 Review by: j...@google.com http://code.google.com/p/google-web-toolkit/source/detail?r=9040 Added: /trunk/build-tools/doctool/src/com/google/doctool/custom/FindPackages.java Deleted: /trunk/doc/find-packages.sh Modified: /trunk/doc/build.xml /trunk/user/src/com/google/gwt/event/logical/shared/ValueChangeEvent.java === --- /dev/null +++ /trunk/build-tools/doctool/src/com/google/doctool/custom/FindPackages.java Wed Oct 13 03:51:52 2010 @@ -0,0 +1,212 @@ +/* + * Copyright 2010 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the License); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.google.doctool.custom; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.PrintStream; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; +import java.util.regex.Pattern; + +/** + * Used by trunk/doc/build.xml to generate the packages.properties file. + */ +public class FindPackages { + + /** + * A list of regular expressions to exclude. For readability, a '.' character + * will be interpreted literally (i.e., it will be transformed into '\.' + * before being compiled). Add rules here as needed. + */ + private static final String[] EXCLUSIONS = { + ^com.example., ^com.google.gwt.dev(.|$), ^com.google.gwt.emul., + ^com.google.gwt.examples(.|$), ^com.google.gwt.i18n.server(.|$), + ^com.google.gwt.i18n.tools, ^com.google.gwt.lang, + ^com.google.gwt.junit(.|$), ^com.google.gwt.resources.css(.|$), + ^com.google.gwt.resources.rg(.|$), + ^com.google.gwt.rpc.client.ast(.|$), ^com.google.gwt.soyc(.|$), + ^com.google.gwt.validation(.|$), + ^com.google.gwt.user.client.rpc.core., ^javax., ^junit., ^org., + .impl(.|$), .rebind(.|$) + }; + + /** + * A list of emulated packages under java.lang, to be emitted as + * the LANG_PKGS property. Add packages here as needed. + */ + private static final String[] LANG_PKGS = { + java.lang, java.lang.annotation, java.io, java.sql, java.util}; + + /** + * User packages to include, regardless of exclusions. Add packages here + * as needed. + */ + private static final String[] PACKAGE_WHITELIST = { + com.google.gwt.i18n.rebind.format, com.google.gwt.i18n.rebind.keygen, + com.google.gwt.junit.client}; + + /** + * Source directories under the root directory to traverse. Add directories + * here as needed. + */ + private static final String[] SOURCE_DIRS = { + user/src, user/javadoc, user/super, dev/core/src, + dev/core/super}; + + /** + * Individual user classes to include, even if the rest of their packages + * is not included. Add classes here as needed. + */ + private static final String[] USER_CLASSES = { + user/src/com/google/gwt/junit/tools/GWTTestSuite.java, + user/src/com/google/gwt/i18n/rebind/LocaleUtils.java, + user/src/com/google/gwt/i18n/server/GwtLocaleFactoryImpl.java, + user/src/com/google/gwt/i18n/server/GwtLocaleImpl.java}; + + private static Pattern exclusions; + static { +StringBuilder sb = new StringBuilder(); +for (int i = 0; i EXCLUSIONS.length; i++) { + String ex = EXCLUSIONS[i]; + ex = ex.replace(., \\.); + if (i EXCLUSIONS.length - 1) { +sb.append(ex + |); + } else { +sb.append(ex); + } +} +exclusions = Pattern.compile(sb.toString()); + } + + public static void main(String[] args) { +if (args.length 1) { + System.err.println(usage: java com.google.doctool.custom.FindPackages root dir); + System.exit(1); +} + +try { + File rootDir = new File(args[0]); + // Output to root/doc/packages.properties + File build = new File(rootDir, build); + File buildOut = new File(build, out); + File outFile = new File(buildOut, packages.properties); + PrintStream out = new PrintStream(new FileOutputStream(outFile), false, UTF-8); + + out.println(# THIS FILE IS AUTOMATICALLY GENERATED BY); + out.println(# com.google.doctool.custom.FindPackages); + out.println(#); + out.println(# This file contains all of the user javadoc packages); + out.println(#); + out.println(# JRE emulation packages); +
[gwt-contrib] Re: Fixing a few logic and usability bugs in Cell Widgets. CellTree items are now easier to click. ... (issue995801)
LGTM http://gwt-code-reviews.appspot.com/995801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] [google-web-toolkit] r9042 committed - Fixing a bug where headers are not redrawn when the data changes. I w...
Revision: 9042 Author: jlaba...@google.com Date: Wed Oct 13 05:03:29 2010 Log: Fixing a bug where headers are not redrawn when the data changes. I was trying to be crafty and keep track of when headers are stale, but since they can depend on the data, we need to refesh them every time. This patch also allows headers to span multiple columns if adjacent headers == each other. Review at http://gwt-code-reviews.appspot.com/971801 Review by: r...@google.com http://code.google.com/p/google-web-toolkit/source/detail?r=9042 Modified: /trunk/user/src/com/google/gwt/user/cellview/client/CellTable.java /trunk/user/test/com/google/gwt/user/cellview/client/CellTableTest.java === --- /trunk/user/src/com/google/gwt/user/cellview/client/CellTable.java Tue Oct 12 07:55:56 2010 +++ /trunk/user/src/com/google/gwt/user/cellview/client/CellTable.java Wed Oct 13 05:03:29 2010 @@ -52,7 +52,25 @@ /** * A tabular view that supports paging and columns. - * + * + * p + * h3Columns/h3 + * The {...@link Column} class defines the {...@link Cell} used to render a column. + * Implement {...@link Column#getValue(Object)} to retrieve the field value from + * the row object that will be rendered in the {...@link Cell}. + * /p + * + * p + * h3Headers and Footers/h3 + * A {...@link Header} can be placed at the top (header) or bottom (footer) of the + * {...@link CellTable}. You can specify a header as text using + * {...@link #addColumn(Column, String)}, or you can create a custom {...@link Header} + * that can change with the value of the cells, such as a column total. The + * {...@link Header} will be rendered every time the row data changes or the table + * is redrawn. If you pass the same header instance (==) into adjacent columns, + * the header will span the columns. + * /p + * * p * h3Examples/h3 * dl @@ -269,8 +287,8 @@ @Template(tabletfoot{0}/tfoot/table) SafeHtml tfoot(SafeHtml rowHtml); -@Template(th class=\{0}\{1}/th) -SafeHtml th(String classes, SafeHtml contents); +@Template(th colspan=\{0}\ class=\{1}\{2}/th) +SafeHtml th(int colspan, String classes, SafeHtml contents); @Template(tablethead{0}/thead/table) SafeHtml thead(SafeHtml rowHtml); @@ -432,11 +450,6 @@ private final ListHeader? headers = new ArrayListHeader?(); - /** - * Set to true when the footer is stale. - */ - private boolean headersStale; - private TableRowElement hoveringRow; /** @@ -640,7 +653,6 @@ } CellBasedWidgetImpl.get().sinkEvents(this, consumedEvents); -headersStale = true; scheduleRedraw(); } @@ -778,7 +790,6 @@ headers.remove(index); footers.remove(index); updateDependsOnSelection(); -headersStale = true; // Find an interactive column. Stick with 0 if no column is interactive. if (index = keyboardSelectedColumn) { @@ -1149,7 +1160,7 @@ /** * Render the header or footer. - * + * * @param isFooter true if this is the footer table, false if the header table */ private void createHeaders(boolean isFooter) { @@ -1162,30 +1173,52 @@ SafeHtmlBuilder sb = new SafeHtmlBuilder(); sb.appendHtmlConstant(tr); int columnCount = columns.size(); -int curColumn = 0; -for (Header? header : theHeaders) { +if (columnCount 0) { + // Setup the first column. + Header? prevHeader = theHeaders.get(0); + int prevColspan = 1; StringBuilder classesBuilder = new StringBuilder(className); - if (curColumn == 0) { -classesBuilder.append( ); -classesBuilder.append(isFooter ? style.cellTableFirstColumnFooter() -: style.cellTableFirstColumnHeader()); - } - // The first and last columns could be the same column. - if (curColumn == columnCount - 1) { -classesBuilder.append( ); -classesBuilder.append(isFooter ? style.cellTableLastColumnFooter() -: style.cellTableLastColumnHeader()); + classesBuilder.append( ); + classesBuilder.append(isFooter ? style.cellTableFirstColumnFooter() + : style.cellTableFirstColumnHeader()); + + // Loop through all column headers. + for (int curColumn = 1; curColumn columnCount; curColumn++) { +Header? header = theHeaders.get(curColumn); + +if (header != prevHeader) { + // The header has changed, so append the previous one. + SafeHtmlBuilder headerBuilder = new SafeHtmlBuilder(); + if (prevHeader != null) { +hasHeader = true; +prevHeader.render(headerBuilder); + } + sb.append(template.th(prevColspan, classesBuilder.toString(), + headerBuilder.toSafeHtml())); + + // Reset the previous header. + prevHeader = header; + prevColspan = 1; + classesBuilder = new StringBuilder(className); +} else { + // Increment the colspan if the headers == each
[gwt-contrib] Re: Relaxing the data parameter of HasData#setRowData() from a ListT to a List? extends T. (issue994801)
LGTM http://gwt-code-reviews.appspot.com/994801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] [google-web-toolkit] r9041 committed - Deprecate DeferredCommand and IncrementalCommand....
Revision: 9041 Author: gwt.mirror...@gmail.com Date: Wed Oct 13 12:25:22 2010 Log: Deprecate DeferredCommand and IncrementalCommand. Add MockScheduler. Patch by: bobv Review by: rjrjr Review at http://gwt-code-reviews.appspot.com/982802 http://code.google.com/p/google-web-toolkit/source/detail?r=9041 Added: /trunk/user/src/com/google/gwt/core/client/testing /trunk/user/src/com/google/gwt/core/client/testing/StubScheduler.java Modified: /trunk/user/src/com/google/gwt/core/client/Scheduler.java /trunk/user/src/com/google/gwt/user/client/Command.java /trunk/user/src/com/google/gwt/user/client/DeferredCommand.java /trunk/user/src/com/google/gwt/user/client/IncrementalCommand.java === --- /dev/null +++ /trunk/user/src/com/google/gwt/core/client/testing/StubScheduler.java Wed Oct 13 12:25:22 2010 @@ -0,0 +1,84 @@ +/* + * Copyright 2010 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the License); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.google.gwt.core.client.testing; + +import com.google.gwt.core.client.Scheduler; + +import java.util.ArrayList; +import java.util.List; + +/** + * A no-op implementation of Scheduler that simply records its arguments. + */ +public class StubScheduler extends Scheduler { + private final ListRepeatingCommand repeatingCommands = new ArrayListRepeatingCommand(); + + private final ListScheduledCommand scheduledCommands = new ArrayListScheduledCommand(); + + /** + * Returns the RepeatingCommands that have been passed into the MockScheduler. + */ + public ListRepeatingCommand getRepeatingCommands() { +return repeatingCommands; + } + + /** + * Returns the ScheduledCommands that have been passed into the MockScheduler. + */ + public ListScheduledCommand getScheduledCommands() { +return scheduledCommands; + } + + @Override + public void scheduleDeferred(ScheduledCommand cmd) { +scheduledCommands.add(cmd); + } + + @Override + public void scheduleEntry(RepeatingCommand cmd) { +repeatingCommands.add(cmd); + } + + @Override + public void scheduleEntry(ScheduledCommand cmd) { +scheduledCommands.add(cmd); + } + + @Override + public void scheduleFinally(RepeatingCommand cmd) { +repeatingCommands.add(cmd); + } + + @Override + public void scheduleFinally(ScheduledCommand cmd) { +scheduledCommands.add(cmd); + } + + @Override + public void scheduleFixedDelay(RepeatingCommand cmd, int delayMs) { +repeatingCommands.add(cmd); + } + + @Override + public void scheduleFixedPeriod(RepeatingCommand cmd, int delayMs) { +repeatingCommands.add(cmd); + } + + @Override + public void scheduleIncremental(RepeatingCommand cmd) { +repeatingCommands.add(cmd); + } +} === --- /trunk/user/src/com/google/gwt/core/client/Scheduler.java Tue Dec 15 13:40:53 2009 +++ /trunk/user/src/com/google/gwt/core/client/Scheduler.java Wed Oct 13 12:25:22 2010 @@ -21,6 +21,8 @@ * This class provides low-level task scheduling primitives. Any exceptions * thrown by the command objects executed by the scheduler will be passed to the * {...@link GWT.UncaughtExceptionHandler} if one is installed. + * + * @see com.google.gwt.core.client.testing.StubScheduler */ public abstract class Scheduler { === --- /trunk/user/src/com/google/gwt/user/client/Command.java Tue Aug 10 10:18:55 2010 +++ /trunk/user/src/com/google/gwt/user/client/Command.java Wed Oct 13 12:25:22 2010 @@ -15,6 +15,8 @@ */ package com.google.gwt.user.client; +import com.google.gwt.core.client.Scheduler; + /** * Encapsulates an action for later execution, often from a different context. * @@ -22,14 +24,16 @@ * The Command interface provides a layer of separation between the code * specifying some behavior and the code invoking that behavior. This separation * aids in creating reusable code. For example, a - * {...@link com.google.gwt.user.client.ui.MenuItem} can have a Command - * associated with it that it executes when the menu item is chosen by the user. + * {...@link com.google.gwt.user.client.ui.MenuItem} can have a Command associated + * with it that it executes when the menu item is chosen by the user. * Importantly, the code that constructed the Command to be executed when the * menu item is invoked knows nothing about the internals of the MenuItem class - * and vice-versa./p + * and vice-versa. + * /p * - * p The
[gwt-contrib] [google-web-toolkit] r9043 committed - Cherry picking bug fixes from trunk into release branch: 974801, 97680...
Revision: 9043 Author: p...@google.com Date: Wed Oct 13 06:23:15 2010 Log: Cherry picking bug fixes from trunk into release branch: 974801, 976801, 887804, 846801, 978801. http://code.google.com/p/google-web-toolkit/source/detail?r=9043 Modified: /releases/2.1/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/AddressProxy.java /releases/2.1/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/PersonProxy.java /releases/2.1/user/src/com/google/gwt/logging/server/RemoteLoggingServiceUtil.java /releases/2.1/user/src/com/google/gwt/requestfactory/client/impl/EntityProxyCategory.java /releases/2.1/user/src/com/google/gwt/requestfactory/server/JsonRequestProcessor.java /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellList.java /releases/2.1/user/src/com/google/gwt/user/client/ui/CheckBox.java /releases/2.1/user/src/com/google/gwt/user/client/ui/MenuBar.java /releases/2.1/user/src/com/google/gwt/user/client/ui/MenuItem.java /releases/2.1/user/src/com/google/gwt/user/client/ui/ToggleButton.java /releases/2.1/user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/chrome.css /releases/2.1/user/src/com/google/gwt/user/theme/chrome/public/gwt/chrome/chrome_rtl.css /releases/2.1/user/src/com/google/gwt/user/theme/dark/public/gwt/dark/dark.css /releases/2.1/user/src/com/google/gwt/user/theme/dark/public/gwt/dark/dark_rtl.css /releases/2.1/user/src/com/google/gwt/user/theme/standard/public/gwt/standard/standard.css /releases/2.1/user/src/com/google/gwt/user/theme/standard/public/gwt/standard/standard_rtl.css /releases/2.1/user/test/com/google/gwt/requestfactory/client/FindServiceTest.java /releases/2.1/user/test/com/google/gwt/requestfactory/client/RequestFactoryStringTest.java /releases/2.1/user/test/com/google/gwt/requestfactory/client/RequestFactoryTest.java /releases/2.1/user/test/com/google/gwt/requestfactory/shared/SimpleBarProxy.java /releases/2.1/user/test/com/google/gwt/user/client/ui/CustomButtonTest.java /releases/2.1/user/test/com/google/gwt/user/client/ui/MenuBarTest.java === --- /releases/2.1/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/AddressProxy.java Tue Sep 21 12:24:16 2010 +++ /releases/2.1/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/AddressProxy.java Wed Oct 13 06:23:15 2010 @@ -27,8 +27,6 @@ public interface AddressProxy extends EntityProxy { String getCity(); - String getId(); - String getState(); String getStreet(); === --- /releases/2.1/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/PersonProxy.java Sun Oct 3 11:35:25 2010 +++ /releases/2.1/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/shared/PersonProxy.java Wed Oct 13 06:23:15 2010 @@ -30,8 +30,6 @@ String getDescription(); - String getId(); - PersonProxy getMentor(); String getName(); === --- /releases/2.1/user/src/com/google/gwt/logging/server/RemoteLoggingServiceUtil.java Thu Sep 30 09:09:15 2010 +++ /releases/2.1/user/src/com/google/gwt/logging/server/RemoteLoggingServiceUtil.java Wed Oct 13 06:23:15 2010 @@ -16,8 +16,6 @@ package com.google.gwt.logging.server; -import org.json.JSONException; - import java.util.logging.LogRecord; import java.util.logging.Logger; @@ -71,7 +69,9 @@ lr = JsonLogRecordServerUtil.logRecordFromJson( serializedLogRecordJson); logOnServer(lr, strongName, deobfuscator, loggerNameOverride); -} catch (JSONException e) { +} catch (Exception e) { + // We don't want to import the JsonException, which will require the json + // jar when this class loads, so we just catch all exceptions here throw new RemoteLoggingException(Failed to deserialize JSON, e); } } === --- /releases/2.1/user/src/com/google/gwt/requestfactory/client/impl/EntityProxyCategory.java Fri Oct 1 18:15:55 2010 +++ /releases/2.1/user/src/com/google/gwt/requestfactory/client/impl/EntityProxyCategory.java Wed Oct 13 06:23:15 2010 @@ -49,8 +49,7 @@ return stableId(bean).hashCode(); } - public static AbstractRequestContext requestContext( - AutoBean? extends EntityProxy bean) { + public static AbstractRequestContext requestContext(AutoBean? bean) { return (AbstractRequestContext) bean.getTag(REQUEST_CONTEXT); } @@ -70,13 +69,11 @@ * EntityProxy, that its return values are mutable. */ // CHECKSTYLE_OFF - public static T T __intercept(AutoBean? extends EntityProxy bean, - T returnValue) { + public static T T __intercept(AutoBean? bean, T returnValue) { // CHECKSTYLE_ON -if (!(returnValue instanceof EntityProxy)) { - return returnValue; -} + AbstractRequestContext context = requestContext(bean); + /* * The context will be null if the bean is
[gwt-contrib] Re: Fixing a bug where headers are not redrawn when the data changes. I was trying to be crafty and... (issue971801)
committed as r9042 http://gwt-code-reviews.appspot.com/971801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Modifying WebAppCreator to include jars from the war/WEB-INF/lib folder on the Eclipse classpath... (issue976802)
committed as r9044 http://gwt-code-reviews.appspot.com/976802/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] [google-web-toolkit] r9044 committed - Modifying WebAppCreator to include jars from the war/WEB-INF/lib folde...
Revision: 9044 Author: jlaba...@google.com Date: Wed Oct 13 05:26:50 2010 Log: Modifying WebAppCreator to include jars from the war/WEB-INF/lib folder on the Eclipse classpath when generating an Eclipse project view the ant build target eclipse.generate. Currently, if the user adds jars to WEB-INF/lib (such as the DynaTableRf sample), then generates an Eclipse project, those jars are not on the classpath, which causes Eclipse compile errors. With this change, they will be on the classpath. This puts gwt-servlet.jar on the classpath as well, but that seems like the desired behavior now that gwt-servlet.jar includes external jars which are not contained in gwt-user.jar. Issue: 5362 Review at http://gwt-code-reviews.appspot.com/976802 Review by: rchan...@google.com http://code.google.com/p/google-web-toolkit/source/detail?r=9044 Modified: /trunk/user/src/com/google/gwt/user/tools/.classpathsrc /trunk/user/src/com/google/gwt/user/tools/WebAppCreator.java === --- /trunk/user/src/com/google/gwt/user/tools/.classpathsrc Mon Jun 7 12:20:31 2010 +++ /trunk/user/src/com/google/gwt/user/tools/.classpathsrc Wed Oct 13 05:26:50 2010 @@ -6,4 +6,5 @@ classpathentry kind=con path=org.eclipse.jdt.launching.JRE_CONTAINER/ classpathentry kind=con path=org.eclipse.jdt.junit.JUNIT_CONTAINER/3/ classpathentry kind=output path=@warFolder/WEB-INF/classes/ +...@serverclasspathlibs /classpath === --- /trunk/user/src/com/google/gwt/user/tools/WebAppCreator.java Mon Oct 11 05:45:17 2010 +++ /trunk/user/src/com/google/gwt/user/tools/WebAppCreator.java Wed Oct 13 05:26:50 2010 @@ -337,6 +337,7 @@ File srcDir = Utility.getDirectory(outDir, srcFolder, true); File warDir = Utility.getDirectory(outDir, warFolder, true); File webInfDir = Utility.getDirectory(warDir, WEB-INF, true); +File libDir = Utility.getDirectory(webInfDir, lib, true); File moduleDir = Utility.getDirectory(srcDir, modulePackageName.replace( '.', '/'), true); File clientDir = Utility.getDirectory(moduleDir, client, true); @@ -368,6 +369,19 @@ replacements.put(@testFolder, testFolder); replacements.put(@warFolder, warFolder); +// Collect the list of server libs to include on the eclipse classpath. +StringBuilder serverLibs = new StringBuilder(); +if (libDir.exists()) { + for (File file : libDir.listFiles()) { +if (file.getName().toLowerCase().endsWith(.jar)) { + serverLibs.append( classpathentry kind=\lib\ path=\war/WEB-INF/lib/); + serverLibs.append(file.getName()); + serverLibs.append(\/\n); +} + } +} +replacements.put(@serverClasspathLibs, serverLibs.toString()); + String antEclipseRule = ; if (noEclipse) { /* -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Minor tweaks for dynatablerd and showcase. (issue990801)
committed as r9045 http://gwt-code-reviews.appspot.com/990801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] [google-web-toolkit] r9045 committed - Minor tweaks for dynatablerd and showcase....
Revision: 9045 Author: jlaba...@google.com Date: Wed Oct 13 06:04:39 2010 Log: Minor tweaks for dynatablerd and showcase. Review at http://gwt-code-reviews.appspot.com/990801 Review by: r...@google.com http://code.google.com/p/google-web-toolkit/source/detail?r=9045 Modified: /trunk/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/SummaryWidget.ui.xml /trunk/samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellList.java /trunk/samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellTable.ui.xml === --- /trunk/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/SummaryWidget.ui.xml Fri Sep 24 12:10:50 2010 +++ /trunk/samples/dynatablerf/src/com/google/gwt/sample/dynatablerf/client/widgets/SummaryWidget.ui.xml Wed Oct 13 06:04:39 2010 @@ -9,6 +9,10 @@ .thirty { width: 30% } + + .table { + width: 100%; + } /ui:style g:DockLayoutPanel ui:field=dock unit=EX g:north size=6 @@ -29,7 +33,7 @@ /g:DockLayoutPanel /g:north g:center - cv:CellTable ui:field=table / + cv:CellTable ui:field=table stylePrimaryName={style.table} / /g:center /g:DockLayoutPanel /ui:UiBinder === --- /trunk/samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellList.java Wed Sep 22 12:58:01 2010 +++ /trunk/samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellList.java Wed Oct 13 06:04:39 2010 @@ -33,6 +33,7 @@ import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.cellview.client.CellList; import com.google.gwt.user.cellview.client.HasKeyboardPagingPolicy.KeyboardPagingPolicy; +import com.google.gwt.user.cellview.client.HasKeyboardSelectionPolicy.KeyboardSelectionPolicy; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.AbstractImagePrototype; import com.google.gwt.user.client.ui.Button; @@ -174,6 +175,7 @@ ContactDatabase.ContactInfo.KEY_PROVIDER); cellList.setPageSize(30); cellList.setKeyboardPagingPolicy(KeyboardPagingPolicy.INCREASE_RANGE); + cellList.setKeyboardSelectionPolicy(KeyboardSelectionPolicy.BOUND_TO_SELECTION); // Add a selection model so we can select cells. final SingleSelectionModelContactInfo selectionModel = new SingleSelectionModelContactInfo( === --- /trunk/samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellTable.ui.xml Tue Jul 20 10:54:02 2010 +++ /trunk/samples/showcase/src/com/google/gwt/sample/showcase/client/content/cell/CwCellTable.ui.xml Wed Oct 13 06:04:39 2010 @@ -6,7 +6,6 @@ ui:style .cellTable { - height: 400px; width: 600px; border: 1px solid #ccc; text-align: left; -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Setting the background color of LoggingPopup using Style so it works correctly on IE. Also scrol... (issue989801)
committed as r9048 http://gwt-code-reviews.appspot.com/989801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] [google-web-toolkit] r9046 committed - Fix null exception in HostedLinker which is run by GWTShell...
Revision: 9046 Author: unn...@google.com Date: Wed Oct 13 07:49:55 2010 Log: Fix null exception in HostedLinker which is run by GWTShell Review by: con...@google.com http://code.google.com/p/google-web-toolkit/source/detail?r=9046 Modified: /trunk/dev/core/src/com/google/gwt/core/ext/linker/impl/PermutationsUtil.java === --- /trunk/dev/core/src/com/google/gwt/core/ext/linker/impl/PermutationsUtil.java Tue Oct 12 16:00:43 2010 +++ /trunk/dev/core/src/com/google/gwt/core/ext/linker/impl/PermutationsUtil.java Wed Oct 13 07:49:55 2010 @@ -66,7 +66,8 @@ * compilation. A single compilation can have multiple property settings if * the compiles for those settings yielded the exact same compiled output. */ - protected SortedMapPermutationId, ListMapString, String propMapsByPermutation = null; + protected SortedMapPermutationId, ListMapString, String propMapsByPermutation = + new TreeMapPermutationId, ListMapString, String(); /** * Uses the internal map to insert JS to select a permutation into the -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] [google-web-toolkit] r9047 committed - Added jaxb to DynaTableRf WEB-INF/lib for 1.5 compatibility...
Revision: 9047 Author: rchan...@google.com Date: Wed Oct 13 07:57:35 2010 Log: Added jaxb to DynaTableRf WEB-INF/lib for 1.5 compatibility Review at http://gwt-code-reviews.appspot.com/991801 Review by: jlaba...@google.com http://code.google.com/p/google-web-toolkit/source/detail?r=9047 Modified: /trunk/samples/dynatablerf/build.xml === --- /trunk/samples/dynatablerf/build.xmlThu Oct 7 13:59:41 2010 +++ /trunk/samples/dynatablerf/build.xmlWed Oct 13 07:57:35 2010 @@ -13,5 +13,6 @@ include name=apache/log4j/log4j-1.2.16.jar / include name=slf4j/slf4j-api/slf4j-api-1.6.1.jar / include name=slf4j/slf4j-log4j12/slf4j-log4j12-1.6.1.jar / +include name=javax/xml/bind/jaxb-api-2.1.jar / /fileset /project -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Fixes http://code.google.com/p/google-web-toolkit/issues/detail?id=5375, (issue988801)
r9049 On 2010/10/13 02:04:52, bobv wrote: LGTM http://gwt-code-reviews.appspot.com/988801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] [google-web-toolkit] r9049 committed - Fixes http://code.google.com/p/google-web-toolkit/issues/detail?id=537...
Revision: 9049 Author: rj...@google.com Date: Wed Oct 13 09:41:33 2010 Log: Fixes http://code.google.com/p/google-web-toolkit/issues/detail?id=5375, calling setDisplay(null) from a PlaceChangeEvent.Handler will cause an NPE in the ActivityManager's own PlaceChangeEvent.Handler Also undoes demo-time hack that left stopped widgets in place to reduce flicker. Apps will have to reduce flicker themselves. Review at http://gwt-code-reviews.appspot.com/988801 Review by: robertvaw...@google.com http://code.google.com/p/google-web-toolkit/source/detail?r=9049 Modified: /trunk/user/src/com/google/gwt/activity/shared/ActivityManager.java /trunk/user/src/com/google/gwt/activity/shared/ActivityMapper.java /trunk/user/test/com/google/gwt/activity/shared/ActivityManagerTest.java === --- /trunk/user/src/com/google/gwt/activity/shared/ActivityManager.java Tue Oct 12 10:53:11 2010 +++ /trunk/user/src/com/google/gwt/activity/shared/ActivityManager.java Wed Oct 13 09:41:33 2010 @@ -1,12 +1,12 @@ /* * Copyright 2010 Google Inc. - * + * * Licensed under the Apache License, Version 2.0 (the License); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an AS IS BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the @@ -49,7 +49,7 @@ public void setWidget(IsWidget view) { if (this.activity == ActivityManager.this.currentActivity) { startingNext = false; -display.setWidget(view); +showWidget(view); } } } @@ -74,7 +74,7 @@ /** * Create an ActivityManager. Next call {...@link #setDisplay}. - * + * * @param mapper finds the {...@link Activity} for a given * {...@link com.google.gwt.place.shared.Place} * @param eventBus source of {...@link PlaceChangeEvent} and @@ -89,11 +89,17 @@ /** * Deactivate the current activity, find the next one from our ActivityMapper, * and start it. - * + * p + * The current activity's widget will be hidden immediately, which can cause + * flicker if the next activity provides its widget asynchronously. That can + * be minimized by decent caching. Perenially slow activities might mitigate + * this by providing a widget immediately, with some kind of loading + * treatment. + * * @see com.google.gwt.place.shared.PlaceChangeEvent.Handler#onPlaceChange(PlaceChangeEvent) */ public void onPlaceChange(PlaceChangeEvent event) { -Activity nextActivity = mapper.getActivity(event.getNewPlace()); +Activity nextActivity = getNextActivity(event); Throwable caughtOnStop = null; Throwable caughtOnStart = null; @@ -113,11 +119,7 @@ currentActivity = NULL_ACTIVITY; startingNext = false; } else if (!currentActivity.equals(NULL_ACTIVITY)) { - /* - * TODO until caching is in place, relying on stopped activities to be - * good citizens to reduce flicker. This makes me very nervous. - */ - // display.showActivityWidget(null); + showWidget(null); /* * Kill off the activity's handlers, so it doesn't have to worry about @@ -141,7 +143,7 @@ currentActivity = nextActivity; if (currentActivity.equals(NULL_ACTIVITY)) { - display.setWidget(null); + showWidget(null); return; } @@ -150,7 +152,7 @@ /* * Now start the thing. Wrap the actual display with a per-call instance * that protects the display from canceled or stopped activities, and which - * maintain our startingNext state. + * maintains our startingNext state. */ try { currentActivity.start(new ProtectedDisplay(currentActivity), @@ -174,7 +176,7 @@ /** * Reject the place change if the current activity is not willing to stop. - * + * * @see com.google.gwt.place.shared.PlaceChangeRequestEvent.Handler#onPlaceChangeRequest(PlaceChangeRequestEvent) */ public void onPlaceChangeRequest(PlaceChangeRequestEvent event) { @@ -190,7 +192,7 @@ * If you are disposing of an ActivityManager, it is important to call * setDisplay(null) to get it to deregister from the event bus, so that it can * be garbage collected. - * + * * @param display an instance of AcceptsOneWidget */ public void setDisplay(AcceptsOneWidget display) { @@ -201,6 +203,24 @@ updateHandlers(willBeActive); } } + + private Activity getNextActivity(PlaceChangeEvent event) { +if (display == null) { + /* + * Display may have been nulled during PlaceChangeEvent dispatch. Don't + * bother the mapper, just return a null to ensure we shut down the + * current activity + */ +
[gwt-contrib] [google-web-toolkit] r9048 committed - Setting the background color of LoggingPopup using Style so it works c...
Revision: 9048 Author: jlaba...@google.com Date: Wed Oct 13 08:53:39 2010 Log: Setting the background color of LoggingPopup using Style so it works correctly on IE. Also scrolling the log to the bottom when log items are added. Review at http://gwt-code-reviews.appspot.com/989801 Review by: unn...@google.com http://code.google.com/p/google-web-toolkit/source/detail?r=9048 Modified: /trunk/user/src/com/google/gwt/logging/client/LoggingPopup.java === --- /trunk/user/src/com/google/gwt/logging/client/LoggingPopup.java Tue Jun 22 06:26:45 2010 +++ /trunk/user/src/com/google/gwt/logging/client/LoggingPopup.java Wed Oct 13 08:53:39 2010 @@ -138,7 +138,7 @@ super(false, false); VerticalPanel mainPanel = new VerticalPanel(); mainPanel.setBorderWidth(1); -mainPanel.getElement().setAttribute(style, background-color:white); +mainPanel.getElement().getStyle().setBackgroundColor(white); final HTML titleBar = new HTML(centerbLogging/b/center); mainPanel.add(titleBar); @@ -184,12 +184,12 @@ @Override public void add(Widget w) { logArea.add(w); + scrollPanel.setScrollPosition(scrollPanel.getElement().getScrollHeight()); } @Override public void setWidget(Widget w) { logArea.clear(); -logArea.add(w); - } - -} +add(w); + } +} -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: DeadCodeElimination should only run once. (issue983802)
LGTM, pending an extra test or TODO in the test casedescribing what cases caused the optimizer to not run in one pass. Looking further at the logs the initial run of the DeadCodeElimination optimizer went from ~90ms down to ~45ms with this change, so I'd say its a pretty clear win. On 2010/10/13 19:02:46, scottb wrote: Okay, so when I drill down, optimization is net faster with my patch. A typical example, on one particular optimize loop, before DCE would take ~15-20ms, but with my patch more like ~7-15ms. On the down side, MethodInliner seems very slightly slower, but it appears to be a decent net win. On Wed, Oct 13, 2010 at 2:46 PM, Scott Blum mailto:sco...@google.com wrote: On Wed, Oct 13, 2010 at 2:39 PM, Eric Ayers mailto:zun...@google.com wrote: This is good, it confirms that the number of changes to the AST hasn't changed (or haven't changed much). I was thinking of the speedtracer logs which would show a change in the real-time performance of each pass the optimizers. (re-run with -Dgwt.speedtracerlog=/tmp/speedtracer-trunk.html ) I did that first, but I found the results kind of hard to understand for the particular application relative to using the logs. Lemme put a bit more effort in. http://gwt-code-reviews.appspot.com/983802/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: The proposed fix will disambiguate setter overloads by ranking them according (issue993801)
That's a nice approach. http://gwt-code-reviews.appspot.com/993801/diff/1/2 File user/src/com/google/gwt/uibinder/rebind/model/OwnerFieldClass.java (right): http://gwt-code-reviews.appspot.com/993801/diff/1/2#newcode46 user/src/com/google/gwt/uibinder/rebind/model/OwnerFieldClass.java:46: private static HashMapString, Integer typeRank; Make this final. You can build it in another map in your static initializer, and fill in typeRank via Collections.unmodifiableMap() http://gwt-code-reviews.appspot.com/993801/diff/1/2#newcode51 user/src/com/google/gwt/uibinder/rebind/model/OwnerFieldClass.java:51: typeRank.put(java.lang.Boolean, 2); Seems like you could rank the java.lang types as 3, so that you prefer setBaz(boolean) to setBaz(Boolean). (Remember to add that test if you make this change, and to set your default cost to 4. And you might want to put that default cost in a constant next to this map.) http://gwt-code-reviews.appspot.com/993801/diff/1/2#newcode186 user/src/com/google/gwt/uibinder/rebind/model/OwnerFieldClass.java:186: !sameParameterTypes(preferredMethod, method)) { The sameParameterTypes call is required to distinguish overrides from super methods, right? Should mention that, and be sure unit test covers it. http://gwt-code-reviews.appspot.com/993801/diff/1/2#newcode334 user/src/com/google/gwt/uibinder/rebind/model/OwnerFieldClass.java:334: * Ranks given method based on parameter conversion cost. Please document the ranking here, like you did in the patch description http://gwt-code-reviews.appspot.com/993801/diff/1/2#newcode362 user/src/com/google/gwt/uibinder/rebind/model/OwnerFieldClass.java:362: private boolean sameParameterTypes(final JMethod m1, final JMethod m2) { why? http://gwt-code-reviews.appspot.com/993801/diff/1/3 File user/test/com/google/gwt/uibinder/rebind/model/OwnerFieldClassTest.java (right): http://gwt-code-reviews.appspot.com/993801/diff/1/3#newcode146 user/test/com/google/gwt/uibinder/rebind/model/OwnerFieldClassTest.java:146: public void testCheckBoxValueSetters() throws Exception { Thanks for the test, but you need more to cover your various ranking scenarios. http://gwt-code-reviews.appspot.com/993801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] [google-web-toolkit] r9050 committed - Fixing a few logic and usability bugs in Cell Widgets. CellTree items...
Revision: 9050 Author: jlaba...@google.com Date: Wed Oct 13 12:59:56 2010 Log: Fixing a few logic and usability bugs in Cell Widgets. CellTree items are now easier to click. Fixed a bug in CellBrowser keyboard navigation on Chrome where we would get async blur events that prevented keyboard navigation. Fixed a few IE7 specific bugs that occur when delayed events fire on elements that have been replaced. Review at http://gwt-code-reviews.appspot.com/995801 Review by: r...@google.com http://code.google.com/p/google-web-toolkit/source/detail?r=9050 Added: /trunk/user/src/com/google/gwt/user/cellview/client/CellBasedWidgetImplSafari.java Modified: /trunk/user/src/com/google/gwt/user/cellview/CellView.gwt.xml /trunk/user/src/com/google/gwt/user/cellview/client/CellBrowser.css /trunk/user/src/com/google/gwt/user/cellview/client/CellBrowser.java /trunk/user/src/com/google/gwt/user/cellview/client/CellList.java /trunk/user/src/com/google/gwt/user/cellview/client/CellTable.java /trunk/user/src/com/google/gwt/user/cellview/client/CellTree.java /trunk/user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java === --- /dev/null +++ /trunk/user/src/com/google/gwt/user/cellview/client/CellBasedWidgetImplSafari.java Wed Oct 13 12:59:56 2010 @@ -0,0 +1,31 @@ +/* + * Copyright 2010 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the License); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.google.gwt.user.cellview.client; + +import com.google.gwt.core.client.Scheduler; +import com.google.gwt.core.client.Scheduler.ScheduledCommand; + +/** + * Webkit specified Impl used by cell based widgets. + */ +public class CellBasedWidgetImplSafari extends CellBasedWidgetImplStandard { + + @Override + public void resetFocus(ScheduledCommand command) { +// Webkit will not focus an element that was created in this event loop. +Scheduler.get().scheduleDeferred(command); + } +} === --- /trunk/user/src/com/google/gwt/user/cellview/CellView.gwt.xml Thu Sep 23 12:26:00 2010 +++ /trunk/user/src/com/google/gwt/user/cellview/CellView.gwt.xml Wed Oct 13 12:59:56 2010 @@ -24,7 +24,6 @@ replace-with class=com.google.gwt.user.cellview.client.CellBasedWidgetImplStandard when-type-is class=com.google.gwt.user.cellview.client.CellBasedWidgetImpl/ any - when-property-is name=user.agent value=safari/ when-property-is name=user.agent value=opera/ when-property-is name=user.agent value=gecko/ when-property-is name=user.agent value=gecko1_8/ @@ -40,6 +39,14 @@ /any /replace-with + !-- Safari-specific CellBasedWidgetImpl implementation. -- + replace-with class=com.google.gwt.user.cellview.client.CellBasedWidgetImplSafari +when-type-is class=com.google.gwt.user.cellview.client.CellBasedWidgetImpl/ +any + when-property-is name=user.agent value=safari/ +/any + /replace-with + !-- IE-specific CellTable implementation. -- replace-with class=com.google.gwt.user.cellview.client.CellTable.ImplTrident when-type-is class=com.google.gwt.user.cellview.client.CellTable.Impl/ === --- /trunk/user/src/com/google/gwt/user/cellview/client/CellBrowser.css Wed Sep 22 12:58:01 2010 +++ /trunk/user/src/com/google/gwt/user/cellview/client/CellBrowser.css Wed Oct 13 12:59:56 2010 @@ -40,6 +40,7 @@ @sprite .cellBrowserSelectedItem { gwt-image: 'cellBrowserSelectedBackground'; background-color: #628cd5; + background-repeat: repeat-x; color: white; height: auto; overflow: hidden; @@ -48,6 +49,7 @@ @sprite .cellBrowserOpenItem { gwt-image: 'cellBrowserOpenBackground'; background-color: #7b7b7b; + background-repeat: repeat-x; color: white; height: auto; overflow: hidden; === --- /trunk/user/src/com/google/gwt/user/cellview/client/CellBrowser.java Tue Oct 12 07:55:56 2010 +++ /trunk/user/src/com/google/gwt/user/cellview/client/CellBrowser.java Wed Oct 13 12:59:56 2010 @@ -101,14 +101,16 @@ /** * The background used for open items. */ -@ImageOptions(repeatStyle = RepeatStyle.Horizontal, flipRtl = true) +// Use RepeatStyle.BOTH to ensure that we do not bundle the image. +@ImageOptions(repeatStyle = RepeatStyle.Both, flipRtl = true) ImageResource cellBrowserOpenBackground(); /** * The background used for selected items.
[gwt-contrib] Re: Fixing a few logic and usability bugs in Cell Widgets. CellTree items are now easier to click. ... (issue995801)
committed as r9050 http://gwt-code-reviews.appspot.com/995801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] [google-web-toolkit] r9052 committed - Tighten up gwt-user checkstyle patterns....
Revision: 9052 Author: sco...@google.com Date: Wed Oct 13 10:20:07 2010 Log: Tighten up gwt-user checkstyle patterns. Review by: jlaba...@google.com http://code.google.com/p/google-web-toolkit/source/detail?r=9052 Modified: /trunk/eclipse/user/.checkstyle === --- /trunk/eclipse/user/.checkstyle Mon Oct 11 04:23:50 2010 +++ /trunk/eclipse/user/.checkstyle Wed Oct 13 10:20:07 2010 @@ -1,9 +1,9 @@ ?xml version=1.0 encoding=UTF-8? fileset-config file-format-version=1.2.0 simple-config=false fileset name=Java source for production code enabled=true check-config-name=GWT Checks local=false -file-match-pattern match-pattern=.*src.*\.java include-pattern=true/ -file-match-pattern match-pattern=core[/\\]src[/\\]javax[/\\]validation.*\.java include-pattern=false/ -file-match-pattern match-pattern=core[/\\]src[/\\]org[/\\]hibernate[/\\]validator.*\.java include-pattern=false/ +file-match-pattern match-pattern=core[/\\]src[/\\].*\.java$ include-pattern=true/ +file-match-pattern match-pattern=core[/\\]src[/\\]javax[/\\]validation[/\\].*\.java$ include-pattern=false/ +file-match-pattern match-pattern=core[/\\]src[/\\]org[/\\]hibernate[/\\]validator[/\\].*\.java$ include-pattern=false/ /fileset fileset name=Java source for test cases enabled=true check-config-name=GWT Checks for Tests local=false file-match-pattern match-pattern=core[/\\]test[/\\]com[/\\]google[/\\].*\.java$ include-pattern=true/ -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] [google-web-toolkit] r9053 committed - Relaxing the data parameter of HasData#setRowData() from a ListT to ...
Revision: 9053 Author: jlaba...@google.com Date: Wed Oct 13 10:24:11 2010 Log: Relaxing the data parameter of HasData#setRowData() from a ListT to a List? extends T. Review at http://gwt-code-reviews.appspot.com/994801 http://code.google.com/p/google-web-toolkit/source/detail?r=9053 Modified: /trunk/user/src/com/google/gwt/user/cellview/client/AbstractHasData.java /trunk/user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java /trunk/user/src/com/google/gwt/user/cellview/client/HasDataPresenter.java /trunk/user/src/com/google/gwt/view/client/HasData.java /trunk/user/test/com/google/gwt/view/client/MockHasData.java === --- /trunk/user/src/com/google/gwt/user/cellview/client/AbstractHasData.java Tue Oct 12 07:55:56 2010 +++ /trunk/user/src/com/google/gwt/user/cellview/client/AbstractHasData.java Wed Oct 13 10:24:11 2010 @@ -535,7 +535,7 @@ presenter.setRowCount(size, isExact); } - public void setRowData(int start, ListT values) { + public void setRowData(int start, List? extends T values) { presenter.setRowData(start, values); } === --- /trunk/user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java Wed Oct 13 12:59:56 2010 +++ /trunk/user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java Wed Oct 13 10:24:11 2010 @@ -492,7 +492,7 @@ presenter.setRowCount(size, isExact); } -public void setRowData(int start, ListC values) { +public void setRowData(int start, List? extends C values) { presenter.setRowData(start, values); } === --- /trunk/user/src/com/google/gwt/user/cellview/client/HasDataPresenter.java Wed Oct 6 11:53:24 2010 +++ /trunk/user/src/com/google/gwt/user/cellview/client/HasDataPresenter.java Wed Oct 13 10:24:11 2010 @@ -651,7 +651,7 @@ RowCountChangeEvent.fire(display, count, rowCountIsExact); } - public void setRowData(int start, ListT values) { + public void setRowData(int start, List? extends T values) { int valuesLength = values.size(); int valuesEnd = start + valuesLength; === --- /trunk/user/src/com/google/gwt/view/client/HasData.java Tue Oct 12 07:55:56 2010 +++ /trunk/user/src/com/google/gwt/view/client/HasData.java Wed Oct 13 10:24:11 2010 @@ -39,7 +39,7 @@ * @param start the start index of the data * @param values the values within the range */ - void setRowData(int start, ListT values); + void setRowData(int start, List? extends T values); /** * Set the {...@link SelectionModel} used by this {...@link HasData}. === --- /trunk/user/test/com/google/gwt/view/client/MockHasData.java Tue Aug 17 10:14:36 2010 +++ /trunk/user/test/com/google/gwt/view/client/MockHasData.java Wed Oct 13 10:24:11 2010 @@ -81,7 +81,7 @@ private final HandlerManager handlerManager = new HandlerManager(this); private Range lastRange; - private ListT lastRowData; + private List? extends T lastRowData; private int pageStart; private int pageSize = DEFAULT_PAGE_SIZE; @@ -117,7 +117,7 @@ * * @return the last data set */ - public ListT getLastRowData() { + public List? extends T getLastRowData() { return lastRowData; } @@ -146,7 +146,7 @@ return rowCountExact; } - public void setRowData(int start, ListT values) { + public void setRowData(int start, List? extends T values) { lastRange = new Range(start, values.size()); lastRowData = values; } -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] [google-web-toolkit] r9054 committed - Update development mode bootstrap script to include browser refresh re...
Revision: 9054 Author: fre...@google.com Date: Wed Oct 13 10:37:01 2010 Log: Update development mode bootstrap script to include browser refresh recommendation after switching GWT versions. Also, change 'hosted mode' reference to 'development mode'. Review at http://gwt-code-reviews.appspot.com/984801 Review by: j...@google.com http://code.google.com/p/google-web-toolkit/source/detail?r=9054 Modified: /trunk/dev/core/src/com/google/gwt/dev/shell/HostedHtmlVersion.java === --- /trunk/dev/core/src/com/google/gwt/dev/shell/HostedHtmlVersion.java Tue Aug 10 05:38:02 2010 +++ /trunk/dev/core/src/com/google/gwt/dev/shell/HostedHtmlVersion.java Wed Oct 13 10:37:01 2010 @@ -46,9 +46,10 @@ Invalid version number \ + version + \ passed to external.gwtOnLoad(), expected \ + EXPECTED_GWT_ONLOAD_VERSION - + \; your hosted mode bootstrap file may be out of date; + + \; your development mode bootstrap file may be out of date; + if you are using -noserver try recompiling and redeploying - + your app); + + your app; if you just switched to a different version of + + GWT, try clearing your browser cache); return false; } return true; -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] expense isn't getting GWT RC1 release
Hello everyone, I'm trying to build the expense report app, and it looks like the source has been refactored to remove the app part from the packages for place, requestfactory, etc. Unfortunately, the expense report POM hasn't been updated to grab GWT RC 1. The repository definition looks like this: repository idgwt-repo/id urlhttp://google-web-toolkit.googlecode.com/svn/2.1.0.M3/gwt/maven/url nameGoogle Web Toolkit Repository/name /repository While the http://google-web-toolkit.googlecode.com/svn/2.1.0.RC1/gwt/maven/; repository doesn't have a GWT release. Will you be putting the new release in the 2.1.0.M3/gwt/maven repository or the 2.1.0.RC1/gwt/maven one? Because all the downloads of GWT RC 1 will have a broken expense report In the mean time, the snapshot repository linked from the blog post (https://oss.sonatype.org/content/repositories/google-snapshots) seems to contain the correct SNAPSHOT. I'll try to use that. Thank you. -- Arthur Kalmenson -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] [google-web-toolkit] r9055 committed - Cherry picking bug fixes from trunk into release branch: 991801, 98980...
Revision: 9055 Author: p...@google.com Date: Wed Oct 13 10:19:59 2010 Log: Cherry picking bug fixes from trunk into release branch: 991801, 989801, 995801, 988801 http://code.google.com/p/google-web-toolkit/source/detail?r=9055 Added: /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellBasedWidgetImplSafari.java Modified: /releases/2.1/samples/dynatablerf/build.xml /releases/2.1/user/src/com/google/gwt/activity/shared/ActivityManager.java /releases/2.1/user/src/com/google/gwt/activity/shared/ActivityMapper.java /releases/2.1/user/src/com/google/gwt/logging/client/LoggingPopup.java /releases/2.1/user/src/com/google/gwt/user/cellview/CellView.gwt.xml /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellBrowser.css /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellBrowser.java /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellList.java /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellTable.java /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellTree.java /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java /releases/2.1/user/test/com/google/gwt/activity/shared/ActivityManagerTest.java === --- /dev/null +++ /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellBasedWidgetImplSafari.java Wed Oct 13 10:19:59 2010 @@ -0,0 +1,31 @@ +/* + * Copyright 2010 Google Inc. + * + * Licensed under the Apache License, Version 2.0 (the License); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package com.google.gwt.user.cellview.client; + +import com.google.gwt.core.client.Scheduler; +import com.google.gwt.core.client.Scheduler.ScheduledCommand; + +/** + * Webkit specified Impl used by cell based widgets. + */ +public class CellBasedWidgetImplSafari extends CellBasedWidgetImplStandard { + + @Override + public void resetFocus(ScheduledCommand command) { +// Webkit will not focus an element that was created in this event loop. +Scheduler.get().scheduleDeferred(command); + } +} === --- /releases/2.1/samples/dynatablerf/build.xml Thu Oct 7 11:13:29 2010 +++ /releases/2.1/samples/dynatablerf/build.xml Wed Oct 13 10:19:59 2010 @@ -13,5 +13,6 @@ include name=apache/log4j/log4j-1.2.16.jar / include name=slf4j/slf4j-api/slf4j-api-1.6.1.jar / include name=slf4j/slf4j-log4j12/slf4j-log4j12-1.6.1.jar / +include name=javax/xml/bind/jaxb-api-2.1.jar / /fileset /project === --- /releases/2.1/user/src/com/google/gwt/activity/shared/ActivityManager.java Wed Oct 6 08:01:28 2010 +++ /releases/2.1/user/src/com/google/gwt/activity/shared/ActivityManager.java Wed Oct 13 10:19:59 2010 @@ -54,7 +54,7 @@ public void setWidget(IsWidget view) { if (this.activity == ActivityManager.this.currentActivity) { startingNext = false; -display.setWidget(view); +showWidget(view); } } } @@ -94,11 +94,17 @@ /** * Deactive the current activity, find the next one from our ActivityMapper, * and start it. - * + * p + * The current activity's widget will be hidden immediately, which can cause + * flicker if the next activity provides its widget asynchronously. That can + * be minimized by decent caching. Perenially slow activities might mitigate + * this by providing a widget immediately, with some kind of loading + * treatment. + * * @see PlaceChangeEvent.Handler#onPlaceChange(PlaceChangeEvent) */ public void onPlaceChange(PlaceChangeEvent event) { -Activity nextActivity = mapper.getActivity(event.getNewPlace()); +Activity nextActivity = getNextActivity(event); Throwable caughtOnStop = null; Throwable caughtOnStart = null; @@ -118,11 +124,7 @@ currentActivity = NULL_ACTIVITY; startingNext = false; } else if (!currentActivity.equals(NULL_ACTIVITY)) { - /* - * TODO until caching is in place, relying on stopped activities to be - * good citizens to reduce flicker. This makes me very nervous. - */ - // display.showActivityWidget(null); + showWidget(null); /* * Kill off the activity's handlers, so it doesn't have to worry about @@ -146,7 +148,7 @@ currentActivity = nextActivity; if (currentActivity.equals(NULL_ACTIVITY)) { - display.setWidget(null); + showWidget(null); return; } @@ -155,7 +157,7 @@
[gwt-contrib] Re: Relaxing the data parameter of HasData#setRowData() from a ListT to a List? extends T. (issue994801)
committed as r9053 http://gwt-code-reviews.appspot.com/994801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: expense isn't getting GWT RC1 release
Just to confirm, changing the repository definition to: repository idgwt-repo/id urlhttps://oss.sonatype.org/content/repositories/google-snapshots/url nameGoogle Web Toolkit Repository/name /repository Removes the compile errors from the expense report (I also had to remove the .m2/repository/com/google/gwt folder to force Maven to redownload 2.1-SNAPSHOT). -- Arthur Kalmenson On Wed, Oct 13, 2010 at 5:12 PM, Arthur Kalmenson arthur.k...@gmail.com wrote: Hello everyone, I'm trying to build the expense report app, and it looks like the source has been refactored to remove the app part from the packages for place, requestfactory, etc. Unfortunately, the expense report POM hasn't been updated to grab GWT RC 1. The repository definition looks like this: repository idgwt-repo/id urlhttp://google-web-toolkit.googlecode.com/svn/2.1.0.M3/gwt/maven/url nameGoogle Web Toolkit Repository/name /repository While the http://google-web-toolkit.googlecode.com/svn/2.1.0.RC1/gwt/maven/; repository doesn't have a GWT release. Will you be putting the new release in the 2.1.0.M3/gwt/maven repository or the 2.1.0.RC1/gwt/maven one? Because all the downloads of GWT RC 1 will have a broken expense report In the mean time, the snapshot repository linked from the blog post (https://oss.sonatype.org/content/repositories/google-snapshots) seems to contain the correct SNAPSHOT. I'll try to use that. Thank you. -- Arthur Kalmenson -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
Re: [gwt-contrib] Re: expense isn't getting GWT RC1 release
I created an issue so we can fix this for the final GWT 2.1 release: http://code.google.com/p/google-web-toolkit/issues/detail?id=5418 Thanks, John LaBanca jlaba...@google.com On Wed, Oct 13, 2010 at 5:18 PM, Arthur Kalmenson arthur.k...@gmail.comwrote: Just to confirm, changing the repository definition to: repository idgwt-repo/id url https://oss.sonatype.org/content/repositories/google-snapshots/url nameGoogle Web Toolkit Repository/name /repository Removes the compile errors from the expense report (I also had to remove the .m2/repository/com/google/gwt folder to force Maven to redownload 2.1-SNAPSHOT). -- Arthur Kalmenson On Wed, Oct 13, 2010 at 5:12 PM, Arthur Kalmenson arthur.k...@gmail.com wrote: Hello everyone, I'm trying to build the expense report app, and it looks like the source has been refactored to remove the app part from the packages for place, requestfactory, etc. Unfortunately, the expense report POM hasn't been updated to grab GWT RC 1. The repository definition looks like this: repository idgwt-repo/id url http://google-web-toolkit.googlecode.com/svn/2.1.0.M3/gwt/maven/url nameGoogle Web Toolkit Repository/name /repository While the http://google-web-toolkit.googlecode.com/svn/2.1.0.RC1/gwt/maven/; repository doesn't have a GWT release. Will you be putting the new release in the 2.1.0.M3/gwt/maven repository or the 2.1.0.RC1/gwt/maven one? Because all the downloads of GWT RC 1 will have a broken expense report In the mean time, the snapshot repository linked from the blog post (https://oss.sonatype.org/content/repositories/google-snapshots) seems to contain the correct SNAPSHOT. I'll try to use that. Thank you. -- Arthur Kalmenson -- http://groups.google.com/group/Google-Web-Toolkit-Contributors -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Resolve GWT issue 5364. (issue992801)
LGTM presuming a good answer to: So this is to ensure that the RequestFactoryGenerator can handle things the following, right? @Service(com.google.gwt.requestfactory.server.SimpleFoo http://www.google.com/url?sa=Dq=http://go.corp.google.com/jsearch-gwt/com/google/gwt/requestfactory/server/SimpleFoo.html.*class*)*public* *interface* *TestFooPolymorphicRequest* *extends* RequestContext { P *extends* SimpleFooProxy RequestP echo(P proxy); } Do we know what happens to the rest of the chain if someone actually tries to call such a method? rjrjr On Wed, Oct 13, 2010 at 10:32 AM, b...@google.com wrote: Reviewers: rjrjr, Description: Resolve GWT issue 5364. Enable RequestFactoryPolymorphicTest. Consolidate base-type code in ModelUtils. Patch by: bobv Review by: rjrjr Please review this at http://gwt-code-reviews.appspot.com/992801/show Affected files: M user/src/com/google/gwt/editor/rebind/AutoBeanFactoryGenerator.java M user/src/com/google/gwt/editor/rebind/model/AutoBeanFactoryModel.java M user/src/com/google/gwt/editor/rebind/model/ModelUtils.java M user/src/com/google/gwt/requestfactory/rebind/RequestFactoryGenerator.java M user/src/com/google/gwt/requestfactory/rebind/model/EntityProxyModel.java M user/src/com/google/gwt/requestfactory/rebind/model/RequestFactoryModel.java M user/test/com/google/gwt/requestfactory/RequestFactorySuite.java -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
Re: [gwt-contrib] panel does not fire attach events (issue981801)
These events are provided so that you can accomplish the same kinds of tasks without having to subclass the Widget, so it seemed natural (well, easier) to put the behavior there. But maybe that is too fragile, I'll try to move it where it belongs. Another question is why Panel overrides those methods in the first place. I'll delete those, they're noise. Stephen, thanks for catching this, and especially for punching up the test. On Tue, Oct 12, 2010 at 12:37 PM, Joel Webber j...@google.com wrote: Hmm... I didn't even realize AttachEvent had been added. John Ray, you might want to take a look at this -- in the original design this super invocation wouldn't have mattered, because widget's onLoad() was empty (onAttach/Detach() weren't really meant to overridden outside of Panel and Composite -- onLoad/Unload() were the methods to override). But now it appears that Widget.onLoad() has actual code in it. Could this not be moved to onAttach? Le 11 octobre 2010 14:05, stephen.haber...@gmail.com a écrit : Reviewers: , Description: Panel's onLoad does not call super.onLoad. This is a simple fix that just adds the missing onLoad call. I have another patch set which fires the attach event in onAttach/onDetach, given these are more stable methods that user's are less prone overriding them. Please review this at http://gwt-code-reviews.appspot.com/981801/show Affected files: user/src/com/google/gwt/user/client/ui/Panel.java user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java Index: user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java === --- user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java (revision 8929) +++ user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java (working copy) @@ -121,9 +121,12 @@ } TestPanel tp = new TestPanel(); +TestAttachHandler tpa = new TestAttachHandler(); +tp.addAttachHandler(tpa); + TestWidget tw = new TestWidget(); -TestAttachHandler ta = new TestAttachHandler(); -tw.addAttachHandler(ta); +TestAttachHandler twa = new TestAttachHandler(); +tw.addAttachHandler(twa); tp.add(tw); RootPanel.get().add(tp); @@ -134,9 +137,9 @@ assertTrue(tp.onAttachOrder tp.onLoadOrder); assertTrue(tp.onDetachOrder tp.onUnloadOrder); assertTrue(tw.onAttachOrder tw.onLoadOrder); -assertTrue(tw.onLoadOrder ta.delegateAttachOrder); +assertTrue(tw.onLoadOrder twa.delegateAttachOrder); assertTrue(tw.onDetachOrder tw.onUnloadOrder); -assertTrue(tw.onUnloadOrder ta.delegateDetachOrder); +assertTrue(tw.onUnloadOrder twa.delegateDetachOrder); // Also trivial. Ensure that the panel's onAttach/onDetach is called before // its child's onAttach/onDetach. @@ -150,6 +153,9 @@ // detached/unloaded. assertTrue(tp.onUnloadOrder tw.onUnloadOrder); +assertTrue(tp.onLoadOrder tpa.delegateAttachOrder); +assertTrue(tp.onUnloadOrder tpa.delegateDetachOrder); + // Make sure each widget/panel's elements are actually still attached to the // DOM during onLoad/onUnload. assertTrue(tp.domAttachedOnLoad); Index: user/src/com/google/gwt/user/client/ui/Panel.java === --- user/src/com/google/gwt/user/client/ui/Panel.java (revision 8929) +++ user/src/com/google/gwt/user/client/ui/Panel.java (working copy) @@ -183,6 +183,7 @@ */ @Override protected void onLoad() { +super.onLoad(); } /** @@ -193,6 +194,7 @@ */ @Override protected void onUnload() { +super.onUnload(); } /** -- http://groups.google.com/group/Google-Web-Toolkit-Contributors -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Update development mode bootstrap script to include browser refresh recommendation (issue984801)
Committed as r9054 http://gwt-code-reviews.appspot.com/984801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
Re: [gwt-contrib] panel does not fire attach events (issue981801)
Oh cool, Stephen provided the patch for the robust fix. On Wed, Oct 13, 2010 at 3:53 PM, Ray Ryan rj...@google.com wrote: These events are provided so that you can accomplish the same kinds of tasks without having to subclass the Widget, so it seemed natural (well, easier) to put the behavior there. But maybe that is too fragile, I'll try to move it where it belongs. Another question is why Panel overrides those methods in the first place. I'll delete those, they're noise. Stephen, thanks for catching this, and especially for punching up the test. On Tue, Oct 12, 2010 at 12:37 PM, Joel Webber j...@google.com wrote: Hmm... I didn't even realize AttachEvent had been added. John Ray, you might want to take a look at this -- in the original design this super invocation wouldn't have mattered, because widget's onLoad() was empty (onAttach/Detach() weren't really meant to overridden outside of Panel and Composite -- onLoad/Unload() were the methods to override). But now it appears that Widget.onLoad() has actual code in it. Could this not be moved to onAttach? Le 11 octobre 2010 14:05, stephen.haber...@gmail.com a écrit : Reviewers: , Description: Panel's onLoad does not call super.onLoad. This is a simple fix that just adds the missing onLoad call. I have another patch set which fires the attach event in onAttach/onDetach, given these are more stable methods that user's are less prone overriding them. Please review this at http://gwt-code-reviews.appspot.com/981801/show Affected files: user/src/com/google/gwt/user/client/ui/Panel.java user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java Index: user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java === --- user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java (revision 8929) +++ user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java (working copy) @@ -121,9 +121,12 @@ } TestPanel tp = new TestPanel(); +TestAttachHandler tpa = new TestAttachHandler(); +tp.addAttachHandler(tpa); + TestWidget tw = new TestWidget(); -TestAttachHandler ta = new TestAttachHandler(); -tw.addAttachHandler(ta); +TestAttachHandler twa = new TestAttachHandler(); +tw.addAttachHandler(twa); tp.add(tw); RootPanel.get().add(tp); @@ -134,9 +137,9 @@ assertTrue(tp.onAttachOrder tp.onLoadOrder); assertTrue(tp.onDetachOrder tp.onUnloadOrder); assertTrue(tw.onAttachOrder tw.onLoadOrder); -assertTrue(tw.onLoadOrder ta.delegateAttachOrder); +assertTrue(tw.onLoadOrder twa.delegateAttachOrder); assertTrue(tw.onDetachOrder tw.onUnloadOrder); -assertTrue(tw.onUnloadOrder ta.delegateDetachOrder); +assertTrue(tw.onUnloadOrder twa.delegateDetachOrder); // Also trivial. Ensure that the panel's onAttach/onDetach is called before // its child's onAttach/onDetach. @@ -150,6 +153,9 @@ // detached/unloaded. assertTrue(tp.onUnloadOrder tw.onUnloadOrder); +assertTrue(tp.onLoadOrder tpa.delegateAttachOrder); +assertTrue(tp.onUnloadOrder tpa.delegateDetachOrder); + // Make sure each widget/panel's elements are actually still attached to the // DOM during onLoad/onUnload. assertTrue(tp.domAttachedOnLoad); Index: user/src/com/google/gwt/user/client/ui/Panel.java === --- user/src/com/google/gwt/user/client/ui/Panel.java (revision 8929) +++ user/src/com/google/gwt/user/client/ui/Panel.java (working copy) @@ -183,6 +183,7 @@ */ @Override protected void onLoad() { +super.onLoad(); } /** @@ -193,6 +194,7 @@ */ @Override protected void onUnload() { +super.onUnload(); } /** -- http://groups.google.com/group/Google-Web-Toolkit-Contributors -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Fixing IE6 CellTree bugs. Child nodes disappear after the open animation completes, and images ... (issue997801)
Reviewers: rice, Description: Fixing IE6 CellTree bugs. Child nodes disappear after the open animation completes, and images are not located correctly. Please review this at http://gwt-code-reviews.appspot.com/997801/show Affected files: M user/src/com/google/gwt/user/cellview/CellView.gwt.xml M user/src/com/google/gwt/user/cellview/client/CellTree.java M user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Public (stephen.haber...@gmail.com): (issue998801)
Reviewers: jlabanca, Description: Public (stephen.haber...@gmail.com): Fixes GWT issue 5419, Panels do not emit AttachEvent http://code.google.com/p/google-web-toolkit/issues/detail?id=5419 Review by: rj...@google.com Please review this at http://gwt-code-reviews.appspot.com/998801/show Affected files: M user/src/com/google/gwt/user/client/ui/Composite.java M user/src/com/google/gwt/user/client/ui/Panel.java M user/src/com/google/gwt/user/client/ui/Widget.java M user/test/com/google/gwt/user/client/ui/CompositeTest.java M user/test/com/google/gwt/user/client/ui/WidgetOnLoadTest.java -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] [google-web-toolkit] r9056 committed - Use the response setContentType() in RequestFactoryServlet instead...
Revision: 9056 Author: gwt.mirror...@gmail.com Date: Wed Oct 13 17:22:55 2010 Log: Use the response setContentType() in RequestFactoryServlet instead of the more generic setHeader() call. Review at http://gwt-code-reviews.appspot.com/980801 http://code.google.com/p/google-web-toolkit/source/detail?r=9056 Modified: /trunk/user/src/com/google/gwt/requestfactory/server/RequestFactoryServlet.java === --- /trunk/user/src/com/google/gwt/requestfactory/server/RequestFactoryServlet.java Tue Oct 12 10:53:11 2010 +++ /trunk/user/src/com/google/gwt/requestfactory/server/RequestFactoryServlet.java Wed Oct 13 17:22:55 2010 @@ -112,8 +112,7 @@ requestProcessor.setOperationRegistry(new ReflectionBasedOperationRegistry( new DefaultSecurityProvider())); requestProcessor.setExceptionHandler(exceptionHandler); - response.setHeader(Content-Type, - RequestFactory.JSON_CONTENT_TYPE_UTF8); + response.setContentType(RequestFactory.JSON_CONTENT_TYPE_UTF8); writer.print(requestProcessor.decodeAndInvokeRequest(jsonRequestString)); writer.flush(); } -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: make SimpleEventBus not defer adds (issue979801)
I'm getting cold feet about this change, especially when we're trying to freeze 2.1 One problem is that this will break com.google.gwt.event.shared.HandlerManagerTest.testConcurrentAdd(), which still assumes that adds are deferred. And it will likewise break any existing apps that are relying on that behavior of HandlerManager (accidentally or otherwise). I suppose we could give the package protected constructor another argument, SimpleEventBus(boolean fireInReverseOrder, boolean deferAdds)? I'm also uncomfortable with the lack of parallelism — when I add another handler it's added immediately, but a remove happens later. If we make the removes happen immediately, people will rely on the order that handlers are called even more than they do already, not a great thing. Am I worrying too much? If we don't make this change, it's consistent and clear when adds and removes happen: not now, so if I'm doing an add I'll also have to call the thing myself if that's what I want. I'll have to learn that lesson, like you did, but I have control. I think we should pass on this. Sorry, Stephen. http://gwt-code-reviews.appspot.com/979801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] [google-web-toolkit] r9057 committed - DeadCodeElimination should only run once....
Revision: 9057 Author: gwt.mirror...@gmail.com Date: Wed Oct 13 14:39:37 2010 Log: DeadCodeElimination should only run once. Changes to DeadCodeElimination to ensure that almost all of the optimizations performed can be done in a single pass. I only know of one remaining case where running the visitor twice can result in additional changes: the optimization performed in endVisit(JNewInstance) involving ignored new operations to empty constructor calls. Sometimes the constructor becomes empty later in the optimization pass, and earlier calls aren't removed. This seems to be a very rare case, though. http://gwt-code-reviews.appspot.com/983802/show Review by: zun...@google.com http://code.google.com/p/google-web-toolkit/source/detail?r=9057 Modified: /trunk/dev/core/src/com/google/gwt/dev/jjs/ast/JModVisitor.java /trunk/dev/core/src/com/google/gwt/dev/jjs/impl/DeadCodeElimination.java /trunk/dev/core/src/com/google/gwt/dev/jjs/impl/Simplifier.java /trunk/dev/core/test/com/google/gwt/dev/jjs/impl/DeadCodeEliminationTest.java === --- /trunk/dev/core/src/com/google/gwt/dev/jjs/ast/JModVisitor.java Tue Oct 12 13:20:21 2010 +++ /trunk/dev/core/src/com/google/gwt/dev/jjs/ast/JModVisitor.java Wed Oct 13 14:39:37 2010 @@ -29,7 +29,7 @@ * Context for traversing a mutable list. */ @SuppressWarnings(unchecked) - private class ListContextT extends JNode extends VisitorContext { + private class ListContextT extends JNode implements Context { int index; final ListT list; boolean removed; @@ -50,13 +50,13 @@ public void insertAfter(JNode node) { checkRemoved(); list.add(index + 1, (T) node); - numMods++; + ++numVisitorChanges; } public void insertBefore(JNode node) { checkRemoved(); list.add(index++, (T) node); - numMods++; + ++numVisitorChanges; } public boolean isLvalue() { @@ -67,7 +67,7 @@ checkState(); list.remove(index--); removed = true; - numMods++; + ++numVisitorChanges; } public void replaceMe(JNode node) { @@ -75,7 +75,7 @@ checkReplacement(list.get(index), node); list.set(index, (T) node); replaced = true; - numMods++; + ++numVisitorChanges; } /** @@ -87,7 +87,6 @@ removed = replaced = false; list.get(index).traverse(JModVisitor.this, this); } -JModVisitor.this.numVisitorChanges += numMods; return list; } catch (Throwable e) { throw translateException(list.get(index), e); @@ -112,7 +111,7 @@ * Context for traversing an immutable list. */ @SuppressWarnings(unchecked) - private class ListContextImmutableT extends JNode extends VisitorContext { + private class ListContextImmutableT extends JNode implements Context { int index; ListT list; boolean removed; @@ -133,13 +132,13 @@ public void insertAfter(JNode node) { checkRemoved(); list = Lists.add(list, index + 1, (T) node); - numMods++; + ++numVisitorChanges; } public void insertBefore(JNode node) { checkRemoved(); list = Lists.add(list, index++, (T) node); - numMods++; + ++numVisitorChanges; } public boolean isLvalue() { @@ -150,7 +149,7 @@ checkState(); list = Lists.remove(list, index--); removed = true; - numMods++; + ++numVisitorChanges; } public void replaceMe(JNode node) { @@ -158,7 +157,7 @@ checkReplacement(list.get(index), node); list = Lists.set(list, index, (T) node); replaced = true; - numMods++; + ++numVisitorChanges; } /** @@ -170,7 +169,6 @@ removed = replaced = false; list.get(index).traverse(JModVisitor.this, this); } -numVisitorChanges += numMods; return list; } catch (Throwable e) { throw translateException(list.get(index), e); @@ -202,7 +200,7 @@ } } - private static class NodeContext extends VisitorContext { + private class NodeContext implements Context { boolean canRemove; JNode node; boolean replaced; @@ -237,7 +235,7 @@ } this.node = null; - numMods++; + ++numVisitorChanges; } public void replaceMe(JNode node) { @@ -247,17 +245,9 @@ checkReplacement(this.node, node); this.node = node; replaced = true; - numMods++; + ++numVisitorChanges; } } - - private abstract static class VisitorContext implements Context { -int numMods = 0; - -public int getNumMods() { - return numMods; -} - } protected static void checkReplacement(JNode origNode, JNode newNode) { if (newNode == null) { @@ -282,7 +272,6 @@ try { ctx.node = node; traverse(node, ctx); - numVisitorChanges += ctx.getNumMods(); return ctx.node; } catch (Throwable e) {
Re: [gwt-contrib] Re: expense isn't getting GWT RC1 release
Great, thanks. Would a patch be helpful or will you be using some other Maven repository? -- Arthur Kalmenson On Wed, Oct 13, 2010 at 5:22 PM, John LaBanca jlaba...@google.com wrote: I created an issue so we can fix this for the final GWT 2.1 release: http://code.google.com/p/google-web-toolkit/issues/detail?id=5418 Thanks, John LaBanca jlaba...@google.com On Wed, Oct 13, 2010 at 5:18 PM, Arthur Kalmenson arthur.k...@gmail.com wrote: Just to confirm, changing the repository definition to: repository idgwt-repo/id urlhttps://oss.sonatype.org/content/repositories/google-snapshots/url nameGoogle Web Toolkit Repository/name /repository Removes the compile errors from the expense report (I also had to remove the .m2/repository/com/google/gwt folder to force Maven to redownload 2.1-SNAPSHOT). -- Arthur Kalmenson On Wed, Oct 13, 2010 at 5:12 PM, Arthur Kalmenson arthur.k...@gmail.com wrote: Hello everyone, I'm trying to build the expense report app, and it looks like the source has been refactored to remove the app part from the packages for place, requestfactory, etc. Unfortunately, the expense report POM hasn't been updated to grab GWT RC 1. The repository definition looks like this: repository idgwt-repo/id urlhttp://google-web-toolkit.googlecode.com/svn/2.1.0.M3/gwt/maven/url nameGoogle Web Toolkit Repository/name /repository While the http://google-web-toolkit.googlecode.com/svn/2.1.0.RC1/gwt/maven/; repository doesn't have a GWT release. Will you be putting the new release in the 2.1.0.M3/gwt/maven repository or the 2.1.0.RC1/gwt/maven one? Because all the downloads of GWT RC 1 will have a broken expense report In the mean time, the snapshot repository linked from the blog post (https://oss.sonatype.org/content/repositories/google-snapshots) seems to contain the correct SNAPSHOT. I'll try to use that. Thank you. -- Arthur Kalmenson -- http://groups.google.com/group/Google-Web-Toolkit-Contributors -- http://groups.google.com/group/Google-Web-Toolkit-Contributors -- http://groups.google.com/group/Google-Web-Toolkit-Contributors