[GitHub] [cxf] coheigea commented on a change in pull request #534: cxf-rt-rs-security-oauth2: fix 'Potential null dereference'

2019-04-03 Thread GitBox
coheigea 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_r271703024
 
 

 ##
 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 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 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:
   The joins aren't necessary any more?


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


[GitHub] [cxf] coheigea commented on a change in pull request #534: cxf-rt-rs-security-oauth2: fix 'Potential null dereference'

2019-04-03 Thread GitBox
coheigea 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_r271702719
 
 

 ##
 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 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 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"
-+ " WHERE s.login = :login AND c.clientId = 
:clientId", RefreshToken.class)
-.setParameter("login", resourceOwnerSubject.getLogin())
-.setParameter("clientId", c.getClientId());
+return getQuery("RefreshToken", c, resourceOwnerSubject, 
entityManager, RefreshToken.class);
+}
+
+private  TypedQuery getQuery(String table, Client c, UserSubject 
resourceOwnerSubject,
+EntityManager entityManager, Class resultClass) {
+StringBuilder query = new StringBuilder("SELECT t FROM 
").append(table).append(" t");
+Map paramaterMap = new HashMap<>();
 
 Review comment:
   "paramaterMap" -> "parameterMap"


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


[GitHub] [cxf] coheigea commented on a change in pull request #534: cxf-rt-rs-security-oauth2: fix 'Potential null dereference'

2019-04-03 Thread GitBox
coheigea 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_r271700489
 
 

 ##
 File path: 
rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/grants/code/JPACodeDataProvider.java
 ##
 @@ -143,13 +143,13 @@ public void setCodeLifetime(long codeLifetime) {
 if (c == null && resourceOwnerSubject == null) {
 return em.createQuery("SELECT c FROM ServerAuthorizationCodeGrant 
c",
 ServerAuthorizationCodeGrant.class);
-} else if (c == null) {
+} else if (c == null && resourceOwnerSubject != null) {
 
 Review comment:
   I'm not sure if this change is needed? (as resourceOwerSubject must be non 
null here)


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


[GitHub] [cxf] coheigea commented on a change in pull request #534: cxf-rt-rs-security-oauth2: fix 'Potential null dereference'

2019-04-03 Thread GitBox
coheigea 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_r271700489
 
 

 ##
 File path: 
rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/grants/code/JPACodeDataProvider.java
 ##
 @@ -143,13 +143,13 @@ public void setCodeLifetime(long codeLifetime) {
 if (c == null && resourceOwnerSubject == null) {
 return em.createQuery("SELECT c FROM ServerAuthorizationCodeGrant 
c",
 ServerAuthorizationCodeGrant.class);
-} else if (c == null) {
+} else if (c == null && resourceOwnerSubject != null) {
 
 Review comment:
   I'm not sure if this change is needed?


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