You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by jl...@apache.org on 2018/04/16 22:45:30 UTC
[26/38] tomee git commit: Provider and Instance
Provider and Instance
Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/cfc2ae1f
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/cfc2ae1f
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/cfc2ae1f
Branch: refs/heads/master
Commit: cfc2ae1f873a5b413cd79af69969f4dfe620829d
Parents: b05e564
Author: Jean-Louis Monteiro <je...@gmail.com>
Authored: Fri Mar 2 15:40:17 2018 +0100
Committer: Jean-Louis Monteiro <je...@gmail.com>
Committed: Fri Mar 2 15:40:17 2018 +0100
----------------------------------------------------------------------
.../org/apache/tomee/microprofile/jwt/cdi/ClaimBean.java | 2 ++
.../tomee/microprofile/jwt/cdi/MPJWTCDIExtension.java | 9 +++++++++
tck/mp-jwt-embedded/src/test/resources/dev.xml | 8 ++++----
3 files changed, 15 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tomee/blob/cfc2ae1f/tck/mp-jwt-embedded/src/main/java/org/apache/tomee/microprofile/jwt/cdi/ClaimBean.java
----------------------------------------------------------------------
diff --git a/tck/mp-jwt-embedded/src/main/java/org/apache/tomee/microprofile/jwt/cdi/ClaimBean.java b/tck/mp-jwt-embedded/src/main/java/org/apache/tomee/microprofile/jwt/cdi/ClaimBean.java
index 0e87404..0b6f3de 100644
--- a/tck/mp-jwt-embedded/src/main/java/org/apache/tomee/microprofile/jwt/cdi/ClaimBean.java
+++ b/tck/mp-jwt-embedded/src/main/java/org/apache/tomee/microprofile/jwt/cdi/ClaimBean.java
@@ -168,11 +168,13 @@ public class ClaimBean<T> implements Bean<T>, PassivationCapable {
// handle Provider<T>
if (rawTypeClass.isAssignableFrom(Provider.class)) {
+ final Type providerType = paramType.getActualTypeArguments()[0];
return getClaimValue(key);
}
// handle Instance<T>
if (rawTypeClass.isAssignableFrom(Instance.class)) {
+ final Type instanceType = paramType.getActualTypeArguments()[0];
return getClaimValue(key);
}
http://git-wip-us.apache.org/repos/asf/tomee/blob/cfc2ae1f/tck/mp-jwt-embedded/src/main/java/org/apache/tomee/microprofile/jwt/cdi/MPJWTCDIExtension.java
----------------------------------------------------------------------
diff --git a/tck/mp-jwt-embedded/src/main/java/org/apache/tomee/microprofile/jwt/cdi/MPJWTCDIExtension.java b/tck/mp-jwt-embedded/src/main/java/org/apache/tomee/microprofile/jwt/cdi/MPJWTCDIExtension.java
index 9f8e602..05b08de 100644
--- a/tck/mp-jwt-embedded/src/main/java/org/apache/tomee/microprofile/jwt/cdi/MPJWTCDIExtension.java
+++ b/tck/mp-jwt-embedded/src/main/java/org/apache/tomee/microprofile/jwt/cdi/MPJWTCDIExtension.java
@@ -23,6 +23,7 @@ import org.apache.tomee.microprofile.jwt.config.JWTAuthContextInfoProvider;
import org.eclipse.microprofile.jwt.Claim;
import javax.enterprise.event.Observes;
+import javax.enterprise.inject.Instance;
import javax.enterprise.inject.spi.AfterBeanDiscovery;
import javax.enterprise.inject.spi.AfterDeploymentValidation;
import javax.enterprise.inject.spi.BeanManager;
@@ -46,6 +47,7 @@ public class MPJWTCDIExtension implements Extension {
private static Logger logger = Logger.getLogger(MPJWTCDIExtension.class.getName());
private static final Predicate<InjectionPoint> NOT_PROVIDERS = ip -> (ip.getType() instanceof Class) || (ip.getType() instanceof ParameterizedType && ((ParameterizedType)ip.getType()).getRawType() != Provider.class);
+ private static final Predicate<InjectionPoint> NOT_INSTANCES = ip -> (ip.getType() instanceof Class) || (ip.getType() instanceof ParameterizedType && ((ParameterizedType)ip.getType()).getRawType() != Instance.class);
private static final Map<Type, Type> REPLACED_TYPES = new HashMap<>();
static {
@@ -68,6 +70,7 @@ public class MPJWTCDIExtension implements Extension {
public void registerClaimProducer(@Observes final AfterBeanDiscovery abd, final BeanManager bm) {
final Set<Type> types = injectionPoints.stream()
.filter(NOT_PROVIDERS)
+ .filter(NOT_INSTANCES)
.map(ip -> REPLACED_TYPES.getOrDefault(ip.getType(), ip.getType()))
.collect(Collectors.toSet());
@@ -76,7 +79,13 @@ public class MPJWTCDIExtension implements Extension {
.map(ip -> ((ParameterizedType)ip.getType()).getActualTypeArguments()[0])
.collect(Collectors.toSet());
+ final Set<Type> instanceTypes = injectionPoints.stream()
+ .filter(NOT_INSTANCES.negate())
+ .map(ip -> ((ParameterizedType)ip.getType()).getActualTypeArguments()[0])
+ .collect(Collectors.toSet());
+
types.addAll(providerTypes);
+ types.addAll(instanceTypes);
types.stream()
.map(type -> new ClaimBean<>(bm, type))
http://git-wip-us.apache.org/repos/asf/tomee/blob/cfc2ae1f/tck/mp-jwt-embedded/src/test/resources/dev.xml
----------------------------------------------------------------------
diff --git a/tck/mp-jwt-embedded/src/test/resources/dev.xml b/tck/mp-jwt-embedded/src/test/resources/dev.xml
index 27205d2..b10e250 100644
--- a/tck/mp-jwt-embedded/src/test/resources/dev.xml
+++ b/tck/mp-jwt-embedded/src/test/resources/dev.xml
@@ -42,7 +42,6 @@
</groups>
<classes>
<!-- OK
- -->
<class name="org.eclipse.microprofile.jwt.tck.parsing.TokenValidationTest" />
<class name="org.eclipse.microprofile.jwt.tck.util.TokenUtilsTest" />
<class name="org.eclipse.microprofile.jwt.tck.parsing.TestTokenClaimTypesTest" />
@@ -53,13 +52,14 @@
<class name="org.eclipse.microprofile.jwt.tck.container.jaxrs.JsonValueInjectionTest" />
<class name="org.eclipse.microprofile.jwt.tck.container.jaxrs.RolesAllowedTest" />
<class name="org.eclipse.microprofile.jwt.tck.container.jaxrs.InvalidTokenTest" />
- <!-- KO
+ -->
<class name="org.eclipse.microprofile.jwt.tck.container.jaxrs.ProviderInjectionTest" />
+ <!-- KO
-->
</classes>
</test>
-
+ <!--
<test name="extended-tests" verbose="10">
<groups>
<define name="extended-groups">
@@ -83,5 +83,5 @@
<class name="org.eclipse.microprofile.jwt.tck.container.jacc.SubjectTest" />
</classes>
</test>
-
+ -->
</suite>