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]

Reply via email to