[gwt-contrib] Re: Add a permissions model to the Chrome NPAPI plugin. (issue1084801)
patch updated with some mac build fixups and the public key is now embedded in the manifest so that packed/unpacked use the same well known URI for the background page. http://gwt-code-reviews.appspot.com/1084801/diff/28001/29022 File plugins/npapi/manifest-template.json (right): http://gwt-code-reviews.appspot.com/1084801/diff/28001/29022#newcode13 plugins/npapi/manifest-template.json:13: "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDi6RrEy9YllRLM8bGBcIEk5ECAG2z+8ngTz7wwzRAQJpOzDp1Alq8fQFjH0+dzxok4RFLrWKHjxGqvXzWyWyTEo2nY3ScHLN/RoANMs8pl9X6TygRyO+3naqZOtLCrYHfV49JKXnYoFVbY5eBVYxHYY3BHAOKJj9onyAM4UPmMzQIDAQAB", note, this is the public key. since the extension URI is derived from the signature, embedding the public key here lets any user develop and load the unpacked version without having the actual key. we use this same trick in speedtracer. http://gwt-code-reviews.appspot.com/1084801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Add a permissions model to the Chrome NPAPI plugin. (issue1084801)
http://gwt-code-reviews.appspot.com/1084801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Updates the reference api for Api Checker to 2.1. Fixes 2 small bugs in Api Checker. (issue1095801)
Reviewers: jat, Description: Updates the reference api for Api Checker to 2.1. Fixes 2 small bugs in Api Checker. Patch by: amitmanjhi Review by: jat Please review this at http://gwt-code-reviews.appspot.com/1095801/show Affected files: M build.xml A tools/api-checker/config/gwt21_22userApi.conf M tools/api-checker/reference/README M tools/api-checker/src/com/google/gwt/tools/apichecker/ApiCompatibilityChecker.java M tools/api-checker/src/com/google/gwt/tools/apichecker/ApiContainer.java -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Public: GWT version of the JSR 303 Bean Validation TCK (issue1085801)
http://gwt-code-reviews.appspot.com/1085801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Public: GWT version of the JSR 303 Bean Validation TCK (issue1085801)
http://gwt-code-reviews.appspot.com/1085801/diff/3001/4001 File samples/build.xml (right): http://gwt-code-reviews.appspot.com/1085801/diff/3001/4001#newcode46 samples/build.xml:46: On 2010/11/09 22:11:55, rchandia wrote: This should be if we want the ValidationTck sample to appear in the generated gwt-x.y.z.zip distribution. But with that the ant build fails because there is no war folder under samples/validationtck. Done. http://gwt-code-reviews.appspot.com/1085801/diff/3001/4002 File samples/common.ant.xml (right): http://gwt-code-reviews.appspot.com/1085801/diff/3001/4002#newcode159 samples/common.ant.xml:159: On 2010/11/09 22:11:55, rchandia wrote: Do we really need to disable Checkstyle from all samples? Checkstyle is supposed to be able to deal with super source. All of the Super source I override from org.* is source code that I am modifying, not rewriting so I try to minimize the diffs. If you prefer I could list the much the packages individually as needed. http://gwt-code-reviews.appspot.com/1085801/diff/3001/4021 File samples/validationtck/src/org/testng/super/org/testng/ITestNGMethod.java (right): http://gwt-code-reviews.appspot.com/1085801/diff/3001/4021#newcode2 samples/validationtck/src/org/testng/super/org/testng/ITestNGMethod.java:2: // removed reflect.Method On 2010/11/09 22:11:55, rchandia wrote: Move these comments to the class documentation. Done. http://gwt-code-reviews.appspot.com/1085801/diff/3001/4021#newcode7 samples/validationtck/src/org/testng/super/org/testng/ITestNGMethod.java:7: //import java.lang.reflect.Method; On 2010/11/09 22:11:55, rchandia wrote: Delete Done. http://gwt-code-reviews.appspot.com/1085801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Public: GWT version of the JSR 303 Bean Validation TCK (issue1085801)
http://gwt-code-reviews.appspot.com/1085801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Public: GWT version of the JSR 303 Bean Validation TCK (issue1085801)
On 2010/11/09 22:11:55, rchandia wrote: This probably needs a README file to help users run the tests. I am not sure where the right place to put all of this code is. This not really a sample but a HACK to run the Technology Compatibility Kit for JSR 303. See http://docs.jboss.org/hibernate/stable/beanvalidation/tck/reference/html_single/ Eventually the test MAY belong in the normal user/test directory. However many of these test will fail for a LONG time. Some will probably never pass. My goals are * Don't break the build * Ability for outside devs to run the TCK * Use the test results as a measure of progress. Where is the right place to put this, bike shed, new tck. I choose samples because it was familiar to me. http://gwt-code-reviews.appspot.com/1085801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: GWT 2.1 Support for MyEclipse for Spring
We're working on GWT 2.1.1 right now, largely to address a lot of RequestFactory shortcomings. I can't commit to a date other than "a lot faster than usual." The specifics are being tracked here: http://code.google.com/p/google-web-toolkit/wiki/RequestFactory_2_1_1 On Tue, Nov 9, 2010 at 11:41 AM, Jack Kennedy wrote: > Ray, > > I am forwarding this note to the wider audience at your suggestion, thanks > again. > > For background, Skyway Software and Genuitec offer a product called > MyEclipse for Spring (ME4S) that offers a wizard based scaffolding feature > to generate Java applications built on reusable software components > utilizing a variety of inputs to the process including (RDBMS tables,Java > Beans, JPA entities, WSDL/Schema). > > Our current release support GWT 2.0.x and we are in the process of updating > our support to GWT 2.1. We are committed to utilizing the advances in 2.1 > since we are big fans of all of these improvements. > > We are facing a few challenges regarding the use of the RequestFactory > infrastructure with existing RDBMS tables and I wanted to be sure that we > understood the current restrictions as we would need to communicate those > restrictions to developers using our tools. > > If there are any opportunities to assist or contribute to GWT in support of > the following cases I would certainly be happy to help. > > Specific Challenges: > >- Tables without ID or Version fields would require modifications to >the schema and updates to all existing records > - The table must be updated to add the id and version fields (or > have the JPA provider auto add the new fields) > > Yes, this magic field requirements are pretty bad. If it helps, they don't have to be fields, just getter methods. Relaxing the version requirement is on the 2.1.1 list, but I'm not sure if the plan is to make it completely optional or just relax its type. I'm also not sure if we'll be able to get more flexible about the getId requirement. Perhaps the service layer will provide enough flexibility for both of these issues? > >- This would also mean that the existing data in the DB would need to > be updated to so that each record has the version field filled in with a > default value > - The newly added ID value for each existing record in the table > would also have to be updated with a value that is unique for each > record >- Tables that use multiple existing fields for unique identification of >each record are not supported > - Many existing RDBM tables use multiple fields in their keys to > uniquely identify a record > - In our GWT 2.0.x support, we generate a Key object that wraps 1 - > M fields based on the table design and pass this object from Client to > Server > - What is the position of the RequestFactory / JSONRequest handling > layer here? To push a secondary identification field (id) and persist > it > along side the other primary key data in the db, or to enable composite > keys > in the GWT layers in the future? > > In 2.1, the easiest workaround would be to provide a String getId() method that serializes your compound key, and a static finder method that deserializes it. > >- Tables with an existing field named 'id' that is a String can not >have the id value passed from the client on create > - The JSONRequestProcessor has a method to get the String value for > the "create" operation that returns null by default > - If the value of the ID was passed in from the client it would be > ignored and not bound to a newly created Entity because the JSONRequest > handling assumes the ID fields to be auto generated > > I think that's a use case that just didn't occur to us. We've consistently treated ids as things that are generated by the server. Do you mind logging it in the GWT issue tracker? How realistic a use case is it? For that matter, it may have been inadvertently fixed by the 2.1.1 work already, there has been some drastic re-writing. > > > I have included a project that was built using Roo that demonstrates the > results that are received when you combine the Roo db reverse engineering > capability with the Roo GWT generation when the table was defined with no ID > field and with a composite primary key as an illustration of the composite > primary key issue. > > Since we are working to release this update in the near term, I would need > to warn or restrict our users from scaffolding from tables that do not meet > the requirements as proposed by the RequestFactory which I fear is likely a > relatively large percentage of existing tables. I plan on offering a > document that can help them to understand the manual steps they would need > to undertake, and the trade offs that they would need to consider, but I > want to be sure that my view is correct. > > Thanks, > Jack Kennedy > V.P. Engineering > Skyway Software > > -- ht
[gwt-contrib] Re: Refactoring HasDataPresenter to save pending changes in a PendingState, pushing them to the view... (issue1078801)
committed as r9203 http://gwt-code-reviews.appspot.com/1078801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Adding MultiSelectionModel#clear() to clear all selected values. This is slightly more complicat... (issue1089801)
committed as r9201 http://gwt-code-reviews.appspot.com/1089801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: UiBinder. Using negative values in LayoutPanel. (issue1094801)
LGTM Nice! Thanks. http://gwt-code-reviews.appspot.com/1094801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Fixing MultiSelectionModelTest to ensure that we are checking that the correct value is not sele... (issue1091801)
committed as r9205 http://gwt-code-reviews.appspot.com/1091801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Public: GWT version of the JSR 303 Bean Validation TCK (issue1085801)
This probably needs a README file to help users run the tests. I was not able to generate a gwt-x.y.z.zip containing the validationtck sample is that intended? http://gwt-code-reviews.appspot.com/1085801/diff/3001/4001 File samples/build.xml (right): http://gwt-code-reviews.appspot.com/1085801/diff/3001/4001#newcode46 samples/build.xml:46: This should be if we want the ValidationTck sample to appear in the generated gwt-x.y.z.zip distribution. But with that the ant build fails because there is no war folder under samples/validationtck. http://gwt-code-reviews.appspot.com/1085801/diff/3001/4002 File samples/common.ant.xml (right): http://gwt-code-reviews.appspot.com/1085801/diff/3001/4002#newcode159 samples/common.ant.xml:159: Do we really need to disable Checkstyle from all samples? Checkstyle is supposed to be able to deal with super source. http://gwt-code-reviews.appspot.com/1085801/diff/3001/4021 File samples/validationtck/src/org/testng/super/org/testng/ITestNGMethod.java (right): http://gwt-code-reviews.appspot.com/1085801/diff/3001/4021#newcode2 samples/validationtck/src/org/testng/super/org/testng/ITestNGMethod.java:2: // removed reflect.Method Move these comments to the class documentation. http://gwt-code-reviews.appspot.com/1085801/diff/3001/4021#newcode7 samples/validationtck/src/org/testng/super/org/testng/ITestNGMethod.java:7: //import java.lang.reflect.Method; Delete http://gwt-code-reviews.appspot.com/1085801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] [google-web-toolkit] r9206 committed - Modifies the GWT compiler sharded entry points to support an alternati...
Revision: 9206 Author: zun...@google.com Date: Tue Nov 9 09:34:36 2010 Log: Modifies the GWT compiler sharded entry points to support an alternative method of sharding where multiple instances of Precompile and CompilePerms are invoked. Review at http://gwt-code-reviews.appspot.com/1074801 http://code.google.com/p/google-web-toolkit/source/detail?r=9206 Added: /trunk/dev/core/src/com/google/gwt/dev/CompileOnePerm.java /trunk/dev/core/src/com/google/gwt/dev/DistillerRebindPermutationOracle.java /trunk/dev/core/src/com/google/gwt/dev/PrecompileOnePerm.java /trunk/dev/core/src/com/google/gwt/dev/util/arg/ArgHandlerPerm.java /trunk/dev/core/src/com/google/gwt/dev/util/arg/OptionPerm.java Modified: /trunk/dev/core/src/com/google/gwt/dev/AnalyzeModule.java /trunk/dev/core/src/com/google/gwt/dev/CompilePerms.java /trunk/dev/core/src/com/google/gwt/dev/Link.java /trunk/dev/core/src/com/google/gwt/dev/Precompile.java === --- /dev/null +++ /trunk/dev/core/src/com/google/gwt/dev/CompileOnePerm.java Tue Nov 9 09:34:36 2010 @@ -0,0 +1,190 @@ +/* + * 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.dev; + +import com.google.gwt.core.ext.TreeLogger; +import com.google.gwt.core.ext.UnableToCompleteException; +import com.google.gwt.dev.CompileTaskRunner.CompileTask; +import com.google.gwt.dev.Precompile.PrecompileOptions; +import com.google.gwt.dev.cfg.ModuleDef; +import com.google.gwt.dev.cfg.ModuleDefLoader; +import com.google.gwt.dev.jjs.PermutationResult; +import com.google.gwt.dev.util.PerfCounter; +import com.google.gwt.dev.util.arg.ArgHandlerPerm; +import com.google.gwt.dev.util.arg.OptionPerm; + +import java.io.File; +import java.util.List; + +/** + * Performs the second phase of compilation, converting one of the Precompile's + * serialized AST files into JavaScript outputs. + */ +public class CompileOnePerm { + + /** + * Options for CompilePerm. + */ + public interface CompileOnePermOptions extends CompileTaskOptions, OptionPerm { + } + + static class ArgProcessor extends CompileArgProcessor { +public ArgProcessor(CompileOnePermOptions options) { + super(options); + registerHandler(new ArgHandlerPerm(options)); +} + +@Override +protected String getName() { + return CompileOnePerm.class.getName(); +} + } + + /** + * Concrete class to implement compiler perm options. + */ + static class CompileOnePermOptionsImpl extends CompileTaskOptionsImpl + implements CompileOnePermOptions { + +private int permToCompile = -1; + +public CompileOnePermOptionsImpl() { +} + +public CompileOnePermOptionsImpl(CompileOnePermOptions other) { + copyFrom(other); +} + +public void copyFrom(CompileOnePermOptions other) { + super.copyFrom(other); + setPermToCompile(other.getPermToCompile()); +} + +public int getPermToCompile() { + return permToCompile; +} + +public void setPermToCompile(int permToCompile) { + this.permToCompile = permToCompile; +} + } + + public static void main(String[] args) { +int exitCode = -1; +/* + * NOTE: main always exits with a call to System.exit to terminate any + * non-daemon threads that were started in Generators. Typically, this is to + * shutdown AWT related threads, since the contract for their termination is + * still implementation-dependent. + */ +final CompileOnePermOptions options = new CompileOnePermOptionsImpl(); +if (new ArgProcessor(options).processArgs(args)) { + CompileTask task = new CompileTask() { +public boolean run(TreeLogger logger) throws UnableToCompleteException { + return new CompileOnePerm(options).run(logger); +} + }; + if (CompileTaskRunner.runWithAppropriateLogger(options, task)) { +// Exit w/ success code. +exitCode = 0; + } +} +PerfCounter.print(); +System.exit(exitCode); + } + + /** + * Return the filename corresponding to the given permutation number, + * one-based. + */ + static File makePermFilename(File compilerWorkDir, int permNumber) { +return new File(compilerWorkDir, "permutation-" + permNumber + ".js"); + } + + /** + * Run Compile where precompilation occurred previously on sharded steps of + * Precompile. There will be a different serialized AST file named + * permutati
[gwt-contrib] [google-web-toolkit] r9205 committed - Fixing MultiSelectionModelTest to ensure that we are checking that the...
Revision: 9205 Author: gwt.mirror...@gmail.com Date: Tue Nov 9 09:07:13 2010 Log: Fixing MultiSelectionModelTest to ensure that we are checking that the correct value is not selected. Review at http://gwt-code-reviews.appspot.com/1091801 Review by: rchan...@google.com http://code.google.com/p/google-web-toolkit/source/detail?r=9205 Modified: /trunk/user/test/com/google/gwt/view/client/MultiSelectionModelTest.java === --- /trunk/user/test/com/google/gwt/view/client/MultiSelectionModelTest.java Mon Nov 8 11:22:54 2010 +++ /trunk/user/test/com/google/gwt/view/client/MultiSelectionModelTest.java Tue Nov 9 09:07:13 2010 @@ -33,11 +33,15 @@ model.setSelected("test1", true); model.setSelected("test2", true); assertTrue(model.isSelected("test0")); +assertTrue(model.isSelected("test1")); +assertTrue(model.isSelected("test2")); handler.assertEventFired(true); // Clear selection and verify that an event is fired. model.clear(); -assertFalse(model.isSelected("test")); +assertFalse(model.isSelected("test0")); +assertFalse(model.isSelected("test1")); +assertFalse(model.isSelected("test2")); handler.assertEventFired(true); } -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: UiBinder. Using negative values in LayoutPane layer.
> We shouldn't get hung up on the fact that LengthAttributeParser is misnamed > (ScalarAttributeParser?). Negative support sounds like the right thing to > do. Element parsers that are concerned about negative values could do their > own check for that, although it could be tricky to do correctly. > > Did you just volunteer? Yes, this looks as easy change. See http://gwt-code-reviews.appspot.com/1094801/show > > On Tue, Nov 9, 2010 at 7:41 AM, Konstantin.Scheglov < > > > > > > > > konstantin.scheg...@gmail.com> wrote: > > One of the users of GWT Designer found that code like this causes > > rendering failure. > > > > > > > > > > As you can see, "left" attribute contains negative value. > > In Java version such value is not problem for "left", "right", "top" > > and "bottom". > > > As I can see, problem is in LengthAttributeParser which does not > > recognize negative values. > > I'm not sure what to do - we could add "minus" support, but is this > > correct ideologically? Negative _length_ is not valid, but negative > > _position_ is fine. > > > -- > >http://groups.google.com/group/Google-Web-Toolkit-Contributors -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] [google-web-toolkit] r9204 committed - Public (konstantin.scheg...@gmail.com):...
Revision: 9204 Author: gwt.mirror...@gmail.com Date: Tue Nov 9 08:44:38 2010 Log: Public (konstantin.scheg...@gmail.com): We need to provide at least some support for @UiField(provided) and @UiFactory in GWT Designer. At design time we pass "null" as "owner", so we need to use special design time hooks to create instances of widgets. Review by rj...@google.com http://gwt-code-reviews.appspot.com/1077802 Review by: sbruba...@google.com http://code.google.com/p/google-web-toolkit/source/detail?r=9204 Modified: /trunk/user/src/com/google/gwt/uibinder/elementparsers/BeanParser.java /trunk/user/src/com/google/gwt/uibinder/rebind/DesignTimeUtils.java /trunk/user/src/com/google/gwt/uibinder/rebind/DesignTimeUtilsImpl.java /trunk/user/src/com/google/gwt/uibinder/rebind/DesignTimeUtilsStub.java /trunk/user/src/com/google/gwt/uibinder/rebind/UiBinderParser.java /trunk/user/src/com/google/gwt/uibinder/rebind/UiBinderWriter.java /trunk/user/test/com/google/gwt/uibinder/rebind/DesignTimeUtilsTest.java === --- /trunk/user/src/com/google/gwt/uibinder/elementparsers/BeanParser.java Thu Sep 9 08:24:17 2010 +++ /trunk/user/src/com/google/gwt/uibinder/elementparsers/BeanParser.java Tue Nov 9 08:44:38 2010 @@ -176,9 +176,18 @@ if (creator != null) { String[] args = makeArgsList(requiredValues, creator); if (creator instanceof JMethod) { // Factory method -String factoryMethod = String.format("owner.%s(%s)", creator.getName(), -UiBinderWriter.asCommaSeparatedList(args)); -writer.setFieldInitializer(fieldName, factoryMethod); +JMethod factoryMethod = (JMethod) creator; +String initializer; +if (writer.getDesignTime().isDesignTime()) { + String typeName = factoryMethod.getReturnType().getQualifiedSourceName(); + initializer = writer.getDesignTime().getProvidedFactory(typeName, + factoryMethod.getName(), + UiBinderWriter.asCommaSeparatedList(args)); +} else { + initializer = String.format("owner.%s(%s)", factoryMethod.getName(), + UiBinderWriter.asCommaSeparatedList(args)); +} +writer.setFieldInitializer(fieldName, initializer); } else { // Annotated Constructor writer.setFieldInitializerAsConstructor(fieldName, type, args); } === --- /trunk/user/src/com/google/gwt/uibinder/rebind/DesignTimeUtils.java Fri Oct 8 06:15:38 2010 +++ /trunk/user/src/com/google/gwt/uibinder/rebind/DesignTimeUtils.java Tue Nov 9 08:44:38 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 @@ -38,6 +38,16 @@ */ String getPath(Element element); + /** + * Returns the source to access "@UiFactory" method. + */ + String getProvidedFactory(String typeName, String methodName, String args); + + /** + * Returns the source to access "@UiField(provided)" instance of some object. + */ + String getProvidedField(String typeName, String fieldName); + /** * Returns the design time content of *.ui.xml template to parse, * or null if not design time, or this template is not under === --- /trunk/user/src/com/google/gwt/uibinder/rebind/DesignTimeUtilsImpl.java Fri Oct 8 06:15:38 2010 +++ /trunk/user/src/com/google/gwt/uibinder/rebind/DesignTimeUtilsImpl.java Tue Nov 9 08:44:38 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 @@ -48,17 +48,35 @@ public void addDeclarations(IndentedWriter w) { // handler w.write("public static interface DTObjectHandler {"); -w.write(" void handle(String path, Object object);"); +{ + w.indent(); + w.write("void handle(String path, Object object);"); + w.write("Object provideFactory(Class rawType, String methodName, Object[] args);"); + w.write("Object provideField(Class rawType, String fieldName);"); + w.outdent(); +} w.write("}"); w.write("p
[gwt-contrib] UiBinder. Using negative values in LayoutPanel. (issue1094801)
Reviewers: rjrjr, Description: http://groups.google.com/group/google-web-toolkit-contributors/browse_thread/thread/9832f30485ce48e2 This patch contains: 1. tweak for LengthAttributeParser to support +/- before value; 2. check for negative width/height in LayoutPanelParser; 3. tests for negative values in LayoutPanel. Please review this at http://gwt-code-reviews.appspot.com/1094801/show Affected files: user/src/com/google/gwt/uibinder/attributeparsers/LengthAttributeParser.java user/src/com/google/gwt/uibinder/elementparsers/LayoutPanelParser.java user/test/com/google/gwt/uibinder/attributeparsers/LengthAttributeParserTest.java user/test/com/google/gwt/uibinder/elementparsers/LayoutPanelParserTest.java -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] [google-web-toolkit] r9202 committed - Cherry picking r9061, r9178, r9179, r9190 into release branch.
Revision: 9202 Author: jlaba...@google.com Date: Mon Nov 8 07:55:07 2010 Log: Cherry picking r9061, r9178, r9179, r9190 into release branch. http://code.google.com/p/google-web-toolkit/source/detail?r=9202 Modified: /releases/2.1/user/src/com/google/gwt/user/cellview/client/AbstractHasData.java /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java /releases/2.1/user/src/com/google/gwt/user/client/ui/SplitLayoutPanel.java /releases/2.1/user/src/com/google/gwt/view/client/HasData.java /releases/2.1/user/test/com/google/gwt/user/cellview/client/AbstractCellTreeTestBase.java /releases/2.1/user/test/com/google/gwt/user/cellview/client/AbstractHasDataTestBase.java /releases/2.1/user/test/com/google/gwt/user/client/ui/SplitLayoutPanelTest.java === --- /releases/2.1/user/src/com/google/gwt/user/cellview/client/AbstractHasData.java Thu Oct 14 08:07:55 2010 +++ /releases/2.1/user/src/com/google/gwt/user/cellview/client/AbstractHasData.java Mon Nov 8 07:55:07 2010 @@ -368,6 +368,16 @@ public final int getPageStart() { return getVisibleRange().getStart(); } + + /** + * Return the outer element that contains all of the rendered row values. This + * method delegates to {...@link #getChildContainer()}; + * + * @return the {...@link Element} that contains the rendered row values + */ + public Element getRowContainer() { +return getChildContainer(); + } public int getRowCount() { return presenter.getRowCount(); @@ -534,6 +544,25 @@ public void setRowCount(int size, boolean isExact) { presenter.setRowCount(size, isExact); } + + /** + * + * Set the complete list of values to display on one page. + * + * + * Equivalent to calling {...@link #setRowCount(int)} with the length of the list + * of values, {...@link #setVisibleRange(Range)} from 0 to the size of the list + * of values, and {...@link #setRowData(int, List)} with a start of 0 and the + * specified list of values. + * + * + * @param values + */ + public final void setRowData(List values) { +setRowCount(values.size()); +setVisibleRange(0, values.size()); +setRowData(0, values); + } public void setRowData(int start, List values) { presenter.setRowData(start, values); === --- /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java Thu Oct 14 11:27:30 2010 +++ /releases/2.1/user/src/com/google/gwt/user/cellview/client/CellTreeNodeView.java Mon Nov 8 07:55:07 2010 @@ -186,7 +186,7 @@ } // Render cell contents SafeHtmlBuilder cellBuilder = new SafeHtmlBuilder(); - cell.render(value, null, cellBuilder); + cell.render(value, key, cellBuilder); SafeHtml innerDiv = template.innerDiv(paddingDirection, imageWidth, innerClasses.toString(), image, itemValueStyle, === --- /releases/2.1/user/src/com/google/gwt/user/client/ui/SplitLayoutPanel.java Fri Sep 3 06:47:32 2010 +++ /releases/2.1/user/src/com/google/gwt/user/client/ui/SplitLayoutPanel.java Mon Nov 8 07:55:07 2010 @@ -15,10 +15,11 @@ */ package com.google.gwt.user.client.ui; +import com.google.gwt.core.client.Scheduler; +import com.google.gwt.core.client.Scheduler.ScheduledCommand; import com.google.gwt.dom.client.Document; import com.google.gwt.dom.client.Style.Unit; import com.google.gwt.user.client.Command; -import com.google.gwt.user.client.DeferredCommand; import com.google.gwt.user.client.Event; /** @@ -56,7 +57,7 @@ class HSplitter extends Splitter { public HSplitter(Widget target, boolean reverse) { super(target, reverse); - getElement().getStyle().setPropertyPx("width", SPLITTER_SIZE); + getElement().getStyle().setPropertyPx("width", splitterSize); setStyleName("gwt-SplitLayoutPanel-HDragger"); } @@ -86,7 +87,7 @@ private int offset; private boolean mouseDown; -private Command layoutCommand; +private ScheduledCommand layoutCommand; private final boolean reverse; private int minSize; @@ -170,7 +171,7 @@ forceLayout(); } }; -DeferredCommand.addCommand(layoutCommand); +Scheduler.get().scheduleDeferred(layoutCommand); } } } @@ -178,7 +179,7 @@ class VSplitter extends Splitter { public VSplitter(Widget target, boolean reverse) { super(target, reverse); - getElement().getStyle().setPropertyPx("height", SPLITTER_SIZE); + getElement().getStyle().setPropertyPx("height", splitterSize); setStyleName("gwt-SplitLayoutPanel-VDragger"); } @@ -203,12 +204,38 @@ } } - private static final int SPLITTER_SIZE = 8; - + private static final int DEFAULT_SPLITTER_SIZE = 8; + + private final int splitterSize; + + /** + * Construct a new {...@link SplitL
[gwt-contrib] Re: This patch makes three changes: (issue1093801)
On Tue, Nov 9, 2010 at 12:32 PM, wrote: > > http://gwt-code-reviews.appspot.com/1093801/diff/1/2 > File tools/api-checker/config/gwt20_21userApi.conf (right): > > http://gwt-code-reviews.appspot.com/1093801/diff/1/2#newcode99 > tools/api-checker/config/gwt20_21userApi.conf:99: > :com.google.gwt.core.client.impl\ > This came up in a separate CL -- should we just exclude *.impl.* ? It > seems like we would never want to consider changes to impl classes as > API breakage. > I think this came up in the past as well. My vote is still for listing them explicitly since the impl thing is a GWT convention, and ideally, we should try to avoid api breakages in any public api even if it is in the impl package. However, if someone does want to exclude particular impl packages, adding an entry is easy. > http://gwt-code-reviews.appspot.com/1093801/diff/1/3 > File > > > tools/api-checker/test/com/google/gwt/tools/apichecker/ApiCompatibilityUnitTest.java > (right): > > http://gwt-code-reviews.appspot.com/1093801/diff/1/3#newcode110 > > tools/api-checker/test/com/google/gwt/tools/apichecker/ApiCompatibilityUnitTest.java:110: > * from the most specific to the least specific. > So if Foo(Object...) is present, Foo(null) would always resolve to > Foo(String...)? > > yes. > > http://gwt-code-reviews.appspot.com/1093801/show > -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: This patch makes three changes: (issue1093801)
http://gwt-code-reviews.appspot.com/1093801/diff/1/2 File tools/api-checker/config/gwt20_21userApi.conf (right): http://gwt-code-reviews.appspot.com/1093801/diff/1/2#newcode99 tools/api-checker/config/gwt20_21userApi.conf:99: :com.google.gwt.core.client.impl\ This came up in a separate CL -- should we just exclude *.impl.* ? It seems like we would never want to consider changes to impl classes as API breakage. http://gwt-code-reviews.appspot.com/1093801/diff/1/3 File tools/api-checker/test/com/google/gwt/tools/apichecker/ApiCompatibilityUnitTest.java (right): http://gwt-code-reviews.appspot.com/1093801/diff/1/3#newcode110 tools/api-checker/test/com/google/gwt/tools/apichecker/ApiCompatibilityUnitTest.java:110: * from the most specific to the least specific. So if Foo(Object...) is present, Foo(null) would always resolve to Foo(String...)? http://gwt-code-reviews.appspot.com/1093801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: This patch makes three changes: (issue1093801)
LGTM http://gwt-code-reviews.appspot.com/1093801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] This patch makes three changes: (issue1093801)
Reviewers: jat, Description: This patch makes three changes: 1. Excludes the client-side validation from being analyzed by api checker. Will remove this unnecessary exclusion once http://code.google.com/p/google-web-toolkit/issues/detail?id=5566 is resolved. Currently, because of this bug there is a lot of console spew from typeOracle unable to find sources. 2. Removes the unnecessary entry from the white-list. The entry is removed because even prior to the addition of HTML(SafeHtml ..) call to the HTML class in 2.1, the class had two constructors, so a call like new HTML(null) wouldn't have compiled before. There is no API breakage because of this new constructor. 3. Adds a unit test to exercise the case above. Patch by: amitmanjhi Review by: jat Please review this at http://gwt-code-reviews.appspot.com/1093801/show Affected files: M tools/api-checker/config/gwt20_21userApi.conf M tools/api-checker/test/com/google/gwt/tools/apichecker/ApiCompatibilityUnitTest.java -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Adds the compiler metrics output to the compiler report (soyc) (issue1092801)
Reviewers: kathrin, Description: Adds the compiler metrics output to the compiler report (soyc) Please review this at http://gwt-code-reviews.appspot.com/1092801/show Affected files: M dev/core/src/com/google/gwt/core/linker/SoycReportLinker.java M dev/core/src/com/google/gwt/dev/jjs/JavaToJavaScriptCompiler.java M dev/core/src/com/google/gwt/soyc/MakeTopLevelHtmlForPerm.java M dev/core/src/com/google/gwt/soyc/SoycDashboard.java -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: First pass of E2eGWTTestCase, an experimental feature for end-to-end testing GWT applications (issue1043801)
will create RFC in Wave soon. http://gwt-code-reviews.appspot.com/1043801/diff/1/4 File dev/core/src/com/google/gwt/dev/cfg/SyntheticModuleDef.java (right): http://gwt-code-reviews.appspot.com/1043801/diff/1/4#newcode50 dev/core/src/com/google/gwt/dev/cfg/SyntheticModuleDef.java:50: public synchronized String getPrimaryModuleName() { I think the refactoring has a positive effect even if we didn't need to add this method. The current code was a hack IMHO. This refactoring makes it clear that synthetic modules are subclass with different behaviors. Since all changed references (all under junit) actually expect a synthetic module instead of a plain module, now the contract is enforced by static typing. On 2010/11/09 02:51:11, jat wrote: I think rather than changing all the references of ModuleDef to SyntheticModuleDef, you should just add this functionality into ModuleDef. http://gwt-code-reviews.appspot.com/1043801/diff/1/5 File tools/api-checker/config/gwt20_21userApi.conf (right): http://gwt-code-reviews.appspot.com/1043801/diff/1/5#newcode73 tools/api-checker/config/gwt20_21userApi.conf:73: :user/src/com/google/gwt/junit/client/TestServiceFactory.java\ I'm not sure about the "official" way to add APIs. I did this because GWTTestCase is also excluded. On 2010/11/09 02:51:11, jat wrote: Why are these excluded? If they aren't in impl packages, we are saying we will support the API. http://gwt-code-reviews.appspot.com/1043801/diff/1/5#newcode148 tools/api-checker/config/gwt20_21userApi.conf:148: com.google.gwt.junit.client.impl.GWTRunner MISSING Again, I need decisions by veterans of GWT API changes. On 2010/11/09 02:51:11, jat wrote: Maybe all classes in impl packages should be excluded (around line 87) instead. http://gwt-code-reviews.appspot.com/1043801/diff/1/7 File user/src/com/google/gwt/junit/E2eJUnitShell.java (right): http://gwt-code-reviews.appspot.com/1043801/diff/1/7#newcode80 user/src/com/google/gwt/junit/E2eJUnitShell.java:80: options.setProxyToHost(getHost()); super.maybeStartProxy() will start the proxy filter if the '-proxyTo' option is set. This is an easy way to reuse code. I can also reuse the code by creating protected final void startProxy() and call it conditionally in GWTTestCase and always call it here. Does this sound better? On 2010/11/09 02:51:11, jat wrote: Why do we need this? http://gwt-code-reviews.appspot.com/1043801/diff/1/8 File user/src/com/google/gwt/junit/JUnitShell.java (right): http://gwt-code-reviews.appspot.com/1043801/diff/1/8#newcode151 user/src/com/google/gwt/junit/JUnitShell.java:151: OptionProxyTo { eh, it came from auto-format ... I'll change it manually. On 2010/11/09 02:51:11, jat wrote: Formatting http://gwt-code-reviews.appspot.com/1043801/diff/1/8#newcode1140 user/src/com/google/gwt/junit/JUnitShell.java:1140: mapping.setServletName(defaultServlet.getName()); I don't override the existing default servlet, be it the one provided by Jetty, or provided by user code. Instead, I add a filter only for the existing default servlet and it is tried after the default servlet fails. More explanations in ProxyFilter JavaDoc. On 2010/11/09 02:51:11, jat wrote: Where do you override the existing default servlet? http://gwt-code-reviews.appspot.com/1043801/diff/1/8#newcode1536 user/src/com/google/gwt/junit/JUnitShell.java:1536: // TODO: figure out if it is possible to allow multiple modules. I'm not sure about it -- E2E tests run for the whole application, so (to my limited experience) there's only one module which contains entry point. OTOH, I'm experimenting with initializing Module Under Test in test methods, so this will be addressed in next pass. On 2010/11/09 02:51:11, jat wrote: I think this needs to support multiple modules. http://gwt-code-reviews.appspot.com/1043801/diff/1/13 File user/src/com/google/gwt/junit/client/GWTTestCase.java (right): http://gwt-code-reviews.appspot.com/1043801/diff/1/13#newcode199 user/src/com/google/gwt/junit/client/GWTTestCase.java:199: // implemented in the translatable version of this class user/super/com/google/gwt/junit/translatable/com/google/gwt/junit/client/GWTTestCase.java This change is for moving GWTRunner from super to src (for easy debugging). The format conforms to existing practice in the same file. On 2010/11/09 02:51:11, jat wrote: Where is the translatable version? http://gwt-code-reviews.appspot.com/1043801/diff/1/14 File user/src/com/google/gwt/junit/client/TestService.java (right): http://gwt-code-reviews.appspot.com/1043801/diff/1/14#newcode25 user/src/com/google/gwt/junit/client/TestService.java:25: public interface TestService { Naming is always hard. Any suggestions? On 2010/11/09 02:51:11, jat wrote: The name could probably be improved. http://gwt-code-reviews.appspot.com/1043801/diff/1/14#newcode29 user/src/com/google/gwt/junit/client/TestService.java:29: void click(HasClickHandlers hasClickHandlers); It'll grow -- this is the main place for the future -- for example,
[gwt-contrib] Re: Fixing MultiSelectionModelTest to ensure that we are checking that the correct value is not sele... (issue1091801)
LGTM http://gwt-code-reviews.appspot.com/1091801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
Re: [gwt-contrib] UiBinder. Using negative values in LayoutPane layer.
We shouldn't get hung up on the fact that LengthAttributeParser is misnamed (ScalarAttributeParser?). Negative support sounds like the right thing to do. Element parsers that are concerned about negative values could do their own check for that, although it could be tricky to do correctly. Did you just volunteer? On Tue, Nov 9, 2010 at 7:41 AM, Konstantin.Scheglov < konstantin.scheg...@gmail.com> wrote: > One of the users of GWT Designer found that code like this causes > rendering failure. > > > > > > As you can see, "left" attribute contains negative value. > In Java version such value is not problem for "left", "right", "top" > and "bottom". > > As I can see, problem is in LengthAttributeParser which does not > recognize negative values. > I'm not sure what to do - we could add "minus" support, but is this > correct ideologically? Negative _length_ is not valid, but negative > _position_ is fine. > > -- > http://groups.google.com/group/Google-Web-Toolkit-Contributors > -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Add a protected method CellTable#doSelection() as a hook that allows users to customize how the ... (issue1088801)
committed as r9199 http://gwt-code-reviews.appspot.com/1088801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: Adding MultiSelectionModel#clear() to clear all selected values. This is slightly more complicat... (issue1089801)
Good catch. I created a patch to fix the test case. http://gwt-code-reviews.appspot.com/1091801 http://gwt-code-reviews.appspot.com/1089801/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Fixing MultiSelectionModelTest to ensure that we are checking that the correct value is not sele... (issue1091801)
Reviewers: rchandia, Description: Fixing MultiSelectionModelTest to ensure that we are checking that the correct value is not selected. Please review this at http://gwt-code-reviews.appspot.com/1091801/show Affected files: M user/test/com/google/gwt/view/client/MultiSelectionModelTest.java Index: user/test/com/google/gwt/view/client/MultiSelectionModelTest.java === --- user/test/com/google/gwt/view/client/MultiSelectionModelTest.java (revision 9201) +++ user/test/com/google/gwt/view/client/MultiSelectionModelTest.java (working copy) @@ -33,11 +33,15 @@ model.setSelected("test1", true); model.setSelected("test2", true); assertTrue(model.isSelected("test0")); +assertTrue(model.isSelected("test1")); +assertTrue(model.isSelected("test2")); handler.assertEventFired(true); // Clear selection and verify that an event is fired. model.clear(); -assertFalse(model.isSelected("test")); +assertFalse(model.isSelected("test0")); +assertFalse(model.isSelected("test1")); +assertFalse(model.isSelected("test2")); handler.assertEventFired(true); } -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] UiBinder. Using negative values in LayoutPane layer.
One of the users of GWT Designer found that code like this causes rendering failure. As you can see, "left" attribute contains negative value. In Java version such value is not problem for "left", "right", "top" and "bottom". As I can see, problem is in LengthAttributeParser which does not recognize negative values. I'm not sure what to do - we could add "minus" support, but is this correct ideologically? Negative _length_ is not valid, but negative _position_ is fine. -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Re: UiBinder. Design time tweaks for @UiField(provided) and @UiFactory (issue1077802)
http://gwt-code-reviews.appspot.com/1077802/diff/1/3 File user/src/com/google/gwt/uibinder/rebind/DesignTimeUtilsImpl.java (right): http://gwt-code-reviews.appspot.com/1077802/diff/1/3#newcode52 user/src/com/google/gwt/uibinder/rebind/DesignTimeUtilsImpl.java:52: w.write(" void handle(String path, Object object);"); OK Hapax does not look as active, last commit was about 1-2 years ago. No downloads. http://gwt-code-reviews.appspot.com/1077802/diff/1/3#newcode79 user/src/com/google/gwt/uibinder/rebind/DesignTimeUtilsImpl.java:79: "({0}) dtObjectHandler.provideFactory({0}.class, \"{1}\", new Object[] '{'{2}'}')", Only reason is that Eclipse suggests to use MessageFormat and no String.format() option. Fixed. http://gwt-code-reviews.appspot.com/1077802/show -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] Comment on Editors in google-web-toolkit
Comment by carasen12: 14196913 e3ccc434d9840ad19204bcdfc999 carasen12 http://gravatar.com/carasen12 carasen12 http://0.gravatar.com/avatar/e3ccc434d9840ad19204bcdfc999 http://0.gravatar.com/avatar/e3ccc434d9840ad19204bcdfc999 thumbnail http://1.gravatar.com/userimage/14196913/95d3af28a1b340c9f8c822b76d7761e1 carlos asensio carasen12 blogger.com 09940914286136500856 blogger.com http://www.blogger.com/profile/09940914286136500856 true blogger facebook.com carasen12 carasen12 http://www.facebook.com/carasen12 true facebook flickr.com 47552...@n05 47552...@n05 http://www.flickr.com/people/47552...@n05/ true flickr linkedin.com linkedin.com linkedin.com http://www.linkedin.com/pub/carlos-asensio/12/720/690 true linkedin myspace.com carasen carasen http://www.myspace.com/carasen true myspace twitter.com carasen12 @carasen12 http://twitter.com/carasen12 true twitter pulse.yahoo.com _X7QX3EQGH3IYOSAMCG7ZMD5F74 pulse.yahoo.com http://pulse.yahoo.com/_X7QX3EQGH3IYOSAMCG7ZMD5F74 true yahoo youtube.com 12carasen 12carasen http://www.youtube.com/user/12carasen true youtube For more information: http://code.google.com/p/google-web-toolkit/wiki/Editors -- http://groups.google.com/group/Google-Web-Toolkit-Contributors
[gwt-contrib] protected com.google.gwt.user.client.ui.Widget.addHandler(H, Type)
why is com.google.gwt.user.client.ui.Widget.addHandler(H, Type) protected? in case I want to fire a custom event on a widget so that the widget is not aware of custom event handler, it makes it difficult to manage. thanks -- http://groups.google.com/group/Google-Web-Toolkit-Contributors