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>