diff --git a/src/main/java/org/gcube/portlets/admin/accountingmanager/server/SessionUtil.java b/src/main/java/org/gcube/portlets/admin/accountingmanager/server/SessionUtil.java index 37d650b..eaad635 100644 --- a/src/main/java/org/gcube/portlets/admin/accountingmanager/server/SessionUtil.java +++ b/src/main/java/org/gcube/portlets/admin/accountingmanager/server/SessionUtil.java @@ -86,6 +86,7 @@ public class SessionUtil { } + logger.debug("Scope: " + scope); if (scope == null || scope.isEmpty()) { String error = "Error retrieving scope: " + scope; logger.error(error); @@ -107,7 +108,7 @@ public class SessionUtil { } else { gCubeUser = pContext.getCurrentUser(httpServletRequest); } - + if (gCubeUser == null) { String error = "Error retrieving gCubeUser in scope " + scope + ": " + gCubeUser; @@ -116,6 +117,7 @@ public class SessionUtil { } userName = gCubeUser.getUsername(); + logger.debug("UserName: " + userName); if (userName == null || userName.isEmpty()) { String error = "Error retrieving username in scope " + scope @@ -124,8 +126,22 @@ public class SessionUtil { throw new ServiceException(error); } - token = pContext.getCurrentUserToken(scope, httpServletRequest); + if (hasCurrUserId) { + try { + token = pContext.getCurrentUserToken(scope, + Long.valueOf(currUserId)); + } catch (Exception e) { + String error = "Error retrieving token for: [userId= " + + currUserId + ", scope: " + scope + "]"; + logger.error(error, e); + throw new ServiceException(error); + } + } else { + token = pContext.getCurrentUserToken(scope, httpServletRequest); + } + + logger.debug("Token: " + token); if (token == null || token.isEmpty()) { String error = "Error retrieving token for " + userName + " in " + scope + ": " + token;