Repository: cxf Updated Branches: refs/heads/master 86ad39342 -> dd167df85
Adding few convinience methods to OAuthAuthorizationData Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/dd167df8 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/dd167df8 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/dd167df8 Branch: refs/heads/master Commit: dd167df85993a1a6561012f74bb6eb7b27d3a54d Parents: 86ad393 Author: Sergey Beryozkin <[email protected]> Authored: Thu Jan 28 17:13:20 2016 +0000 Committer: Sergey Beryozkin <[email protected]> Committed: Thu Jan 28 17:13:20 2016 +0000 ---------------------------------------------------------------------- .../oauth2/common/OAuthAuthorizationData.java | 30 +++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/dd167df8/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/common/OAuthAuthorizationData.java ---------------------------------------------------------------------- diff --git a/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/common/OAuthAuthorizationData.java b/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/common/OAuthAuthorizationData.java index 04618d6..218ad19 100644 --- a/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/common/OAuthAuthorizationData.java +++ b/rt/rs/security/oauth-parent/oauth2/src/main/java/org/apache/cxf/rs/security/oauth2/common/OAuthAuthorizationData.java @@ -19,6 +19,7 @@ package org.apache.cxf.rs.security.oauth2.common; import java.io.Serializable; +import java.util.Collections; import java.util.HashMap; import java.util.LinkedList; import java.util.List; @@ -26,6 +27,8 @@ import java.util.Map; import javax.xml.bind.annotation.XmlRootElement; +import org.apache.cxf.rs.security.oauth2.utils.OAuthUtils; + /** * This bean represents a resource owner authorization challenge. * Typically, an HTML view will be returned to a resource owner who @@ -227,5 +230,30 @@ public class OAuthAuthorizationData extends OAuthRedirectionState implements Ser public void setHidePreauthorizedScopesInForm(boolean hidePreauthorizedScopesInForm) { this.hidePreauthorizedScopesInForm = hidePreauthorizedScopesInForm; } - + public List<String> getPermissionsAsStrings() { + return permissions != null ? OAuthUtils.convertPermissionsToScopeList(permissions) + : Collections.emptyList(); + } + public List<String> getAlreadyAuthorizedPermissionsAsStrings() { + return alreadyAuthorizedPermissions != null + ? OAuthUtils.convertPermissionsToScopeList(alreadyAuthorizedPermissions) + : Collections.emptyList(); + } + public List<OAuthPermission> getAllPermissions() { + List<OAuthPermission> allPerms = new LinkedList<OAuthPermission>(); + if (alreadyAuthorizedPermissions != null) { + allPerms.addAll(alreadyAuthorizedPermissions); + if (permissions != null) { + List<String> list = getAlreadyAuthorizedPermissionsAsStrings(); + for (OAuthPermission perm : permissions) { + if (!list.contains(perm.getPermission())) { + allPerms.add(perm); + } + } + } + } else if (permissions != null) { + allPerms.addAll(permissions); + } + return allPerms; + } }
