amarkevich commented on a change in pull request #534: 
cxf-rt-rs-security-oauth2: fix 'Potential null dereference'
URL: https://github.com/apache/cxf/pull/534#discussion_r271714902
 
 

 ##########
 File path: 
rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/provider/JPAOAuthDataProvider.java
 ##########
 @@ -324,56 +325,37 @@ public Void execute(EntityManager em) {
 
     protected TypedQuery<BearerAccessToken> getTokensQuery(Client c, 
UserSubject resourceOwnerSubject,
                                                            EntityManager 
entityManager) {
-        if (c == null && resourceOwnerSubject == null) {
-            return entityManager.createQuery("SELECT t FROM BearerAccessToken 
t", BearerAccessToken.class);
-        } else if (c == null) {
-            return entityManager.createQuery(
-                    "SELECT t FROM BearerAccessToken t"
-                            + " JOIN t.subject s"
-                            + " WHERE s.login = :login", 
BearerAccessToken.class)
-                    .setParameter("login", resourceOwnerSubject.getLogin());
-        } else if (resourceOwnerSubject == null) {
-            return entityManager.createQuery(
-                    "SELECT t FROM BearerAccessToken t"
-                            + " JOIN t.client c"
-                            + " WHERE c.clientId = :clientId", 
BearerAccessToken.class)
-                    .setParameter("clientId", c.getClientId());
-        } else {
-            return entityManager.createQuery(
-                    "SELECT t FROM BearerAccessToken t"
-                            + " JOIN t.subject s"
-                            + " JOIN t.client c"
-                            + " WHERE s.login = :login AND c.clientId = 
:clientId", BearerAccessToken.class)
-                    .setParameter("login", resourceOwnerSubject.getLogin())
-                    .setParameter("clientId", c.getClientId());
-        }
+        return getQuery("BearerAccessToken", c, resourceOwnerSubject, 
entityManager, BearerAccessToken.class);
     }
 
     protected TypedQuery<RefreshToken> getRefreshTokensQuery(Client c, 
UserSubject resourceOwnerSubject,
                                                              EntityManager 
entityManager) {
-        if (c == null && resourceOwnerSubject == null) {
-            return entityManager.createQuery("SELECT t FROM RefreshToken t", 
RefreshToken.class);
-        } else if (c == null) {
-            return entityManager.createQuery(
-                    "SELECT t FROM RefreshToken t"
-                            + " JOIN t.subject s"
-                            + " WHERE s.login = :login", RefreshToken.class)
-                    .setParameter("login", resourceOwnerSubject.getLogin());
-        } else if (resourceOwnerSubject == null) {
-            return entityManager.createQuery(
-                    "SELECT t FROM RefreshToken t"
-                            + " JOIN t.client c"
-                            + " WHERE c.clientId = :clientId", 
RefreshToken.class)
-                    .setParameter("clientId", c.getClientId());
-        } else {
-            return entityManager.createQuery(
-                    "SELECT t FROM RefreshToken t"
-                            + " JOIN t.subject s"
-                            + " JOIN t.client c"
 
 Review comment:
   joins replaced by t.client.clientId / t.subject.login

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to