You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by jk...@apache.org on 2014/05/03 10:52:06 UTC
git commit: TAP5-2262: Change
org.apache.tapestry5.ioc.ServiceBindingOptions.withMarker() signature to
allow for the specification of multiple different marker annotations
Repository: tapestry-5
Updated Branches:
refs/heads/master 7294f9bcb -> 4ca5ff117
TAP5-2262: Change org.apache.tapestry5.ioc.ServiceBindingOptions.withMarker() signature to allow for the specification of multiple different marker annotations
Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/4ca5ff11
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/4ca5ff11
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/4ca5ff11
Branch: refs/heads/master
Commit: 4ca5ff117597b2dbe06fea9edb5bfc7acaea80c0
Parents: 7294f9b
Author: Jochen Kemnade <jk...@apache.org>
Authored: Sat May 3 10:39:14 2014 +0200
Committer: Jochen Kemnade <jk...@apache.org>
Committed: Sat May 3 10:39:14 2014 +0200
----------------------------------------------------------------------
.../org/apache/tapestry5/ioc/ServiceBindingOptions.java | 2 +-
.../apache/tapestry5/ioc/internal/ServiceBinderImpl.java | 2 +-
.../groovy/ioc/specs/DefaultModuleDefImplSpec.groovy | 11 +++++++++++
.../test/java/org/apache/tapestry5/ioc/MarkerModule.java | 2 ++
4 files changed, 15 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4ca5ff11/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/ServiceBindingOptions.java
----------------------------------------------------------------------
diff --git a/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/ServiceBindingOptions.java b/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/ServiceBindingOptions.java
index 8eed967..12123a9 100644
--- a/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/ServiceBindingOptions.java
+++ b/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/ServiceBindingOptions.java
@@ -91,5 +91,5 @@ public interface ServiceBindingOptions
* @param marker one or more markers to add
* @return this binding options, for further configuration
*/
- <T extends Annotation> ServiceBindingOptions withMarker(Class<T>... marker);
+ ServiceBindingOptions withMarker(Class<? extends Annotation>... marker);
}
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4ca5ff11/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ServiceBinderImpl.java
----------------------------------------------------------------------
diff --git a/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ServiceBinderImpl.java b/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ServiceBinderImpl.java
index edd864a..b77bb88 100644
--- a/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ServiceBinderImpl.java
+++ b/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/ServiceBinderImpl.java
@@ -327,7 +327,7 @@ public class ServiceBinderImpl implements ServiceBinder, ServiceBindingOptions
return this;
}
- public <T extends Annotation> ServiceBindingOptions withMarker(Class<T>... marker)
+ public ServiceBindingOptions withMarker(Class<? extends Annotation>... marker)
{
lock.check();
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4ca5ff11/tapestry-ioc/src/test/groovy/ioc/specs/DefaultModuleDefImplSpec.groovy
----------------------------------------------------------------------
diff --git a/tapestry-ioc/src/test/groovy/ioc/specs/DefaultModuleDefImplSpec.groovy b/tapestry-ioc/src/test/groovy/ioc/specs/DefaultModuleDefImplSpec.groovy
index 5600ed0..91f6dc3 100644
--- a/tapestry-ioc/src/test/groovy/ioc/specs/DefaultModuleDefImplSpec.groovy
+++ b/tapestry-ioc/src/test/groovy/ioc/specs/DefaultModuleDefImplSpec.groovy
@@ -413,6 +413,17 @@ class DefaultModuleDefImplSpec extends Specification {
sd.markers == [RedMarker, BlueMarker] as Set
}
+ def "Multiple marker annotations can be added to service via ServiceBindingOptions"() {
+ when:
+
+ def md = module MarkerModule
+ def sd = md.getServiceDef "ColorfulGreeter"
+
+ then:
+
+ sd.markers == [RedMarker, BlueMarker] as Set
+ }
+
def "public synthetic methods on module class are ignored"() {
def moduleClass = createSyntheticModuleClass()
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/4ca5ff11/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/MarkerModule.java
----------------------------------------------------------------------
diff --git a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/MarkerModule.java b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/MarkerModule.java
index 781d142..cfbe531 100644
--- a/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/MarkerModule.java
+++ b/tapestry-ioc/src/test/java/org/apache/tapestry5/ioc/MarkerModule.java
@@ -25,6 +25,8 @@ public class MarkerModule
.withMarker(RedMarker.class);
binder.bind(Greeter.class, RedGreeterImpl.class).withId("SurprisinglyBlueGreeter")
.withMarker(BlueMarker.class);
+ binder.bind(Greeter.class, RedGreeterImpl.class).withId("ColorfulGreeter")
+ .withMarker(RedMarker.class, BlueMarker.class);
}
@Marker(BlueMarker.class)