Hey Igor. There is a NPE that I've fixed last night, I found it implementing the grid example from the user list. If you have a page class that implements a generic interface the generic superclass can be null. I'll post the updated patch in a couple hours (not at my computer).
-- Josh On Sep 11, 2010, at 4:38 PM, Igor Drobiazko <[email protected]> wrote: > Hi Josh, > > looks promising. I applied the patch and was able run the build > successfully. More comments follow tomorrow. > > On Sat, Sep 11, 2010 at 6:52 AM, <[email protected]> wrote: > >> Reviewers: dev_tapestry.apache.org, >> >> Description: >> Added support for injected generic services. You can now implement the >> same service interface multiple times with different type parameters, >> and inject it using the generic interface. >> Made Loop generic and added public getters for index and value. No more >> need to add properties to the page or use the var binding for simple >> object rendering loops. >> Updated PropertyWorker, Transform* to copy generic field signature to >> created getter. >> Updated GenericsUtils/PropertyConduitSourceImpl to more fully support >> wildcard and parameterized types. >> Added tests for everything >> >> Please review this at http://codereview.appspot.com/2140047/ >> >> Affected files: >> >> tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Loop.java >> >> tapestry-core/src/main/java/org/apache/tapestry5/internal/services/DefaultInjectionProvider.java >> >> tapestry-core/src/main/java/org/apache/tapestry5/internal/services/InternalClassTransformationImpl.java >> >> tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PropertyConduitSourceImpl.java >> >> tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ServiceInjectionProvider.java >> >> tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/PropertyWorker.java >> >> tapestry-core/src/main/java/org/apache/tapestry5/services/TransformField.java >> >> tapestry-core/src/main/java/org/apache/tapestry5/services/TransformMethodSignature.java >> tapestry-core/src/test/app1/GenericLoopDemo.tml >> >> tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/LoopTests.java >> >> tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/base/GenericLister.java >> >> tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/data/ExoticPet.java >> >> tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/data/Person.java >> >> tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/data/Pet.java >> >> tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/data/SubscribeData.java >> >> tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/data/ToDoItem.java >> >> tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/BaseGenericLoopDemo.java >> >> tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/GenericLoopDemo.java >> >> tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/Index.java >> >> tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/PersonLister.java >> >> tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/PetLister.java >> >> tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/pages/ToDoList.java >> >> tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/services/AppModule.java >> >> tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/services/GenericDatabase.java >> >> tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/services/GenericDatabaseImpl.java >> >> tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/services/GenericDatabaseItem.java >> >> tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/services/PersonDatabaseImpl.java >> >> tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/services/PetDatabase.java >> >> tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/services/PetDatabaseImpl.java >> >> tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/services/ToDoDatabase.java >> >> tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/services/ToDoDatabaseImpl.java >> >> tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/services/TypedObjectDatabase.java >> >> tapestry-core/src/test/java/org/apache/tapestry5/internal/services/PropertyConduitSourceImplTest.java >> >> tapestry-core/src/test/java/org/apache/tapestry5/internal/test/InternalBaseTestCase.java >> >> tapestry-core/src/test/resources/org/apache/tapestry5/integration/app1/base/GenericLister.tml >> tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/ObjectLocator.java >> >> tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/DefaultModuleDefImpl.java >> >> tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/IOCInternalTestCase.java >> >> tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/IOCMessages.java >> >> tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/InternalRegistry.java >> >> tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/InternalServiceDef.java >> tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/Module.java >> >> tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ModuleImpl.java >> >> tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ObjectLocatorImpl.java >> >> tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/RegistryImpl.java >> >> tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/RegistryWrapper.java >> >> tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ServiceDefImpl.java >> >> tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/MasterObjectProviderImpl.java >> >> tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/GenericsUtils.java >> >> tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/InternalUtils.java >> >> tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/services/MasterObjectProvider.java >> tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/test/IOCTestCase.java >> >> tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/ServiceBuilderMethodInvokerTest.java >> >> tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/services/MasterObjectProviderImplTest.java >> >> tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/util/BaseGenericBean.java >> >> tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/util/GenericUtilsTest.java >> >> tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/util/GenericsAssumptionsTest.java >> >> tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/util/NonGenericBean.java >> >> tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/internal/util/Pair.java >> >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [email protected] >> For additional commands, e-mail: [email protected] >> >> > > > -- > Best regards, > > Igor Drobiazko > http://tapestry5.de --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
