Package com.simplicite.util.tools
Class CrowdTool
- java.lang.Object
-
- com.simplicite.util.tools.CrowdTool
-
public class CrowdTool extends java.lang.Object
Atlassian Crowd API toolbox
see https://docs.atlassian.com/atlassian-crowd/latest/REST
see https://developer.atlassian.com/display/CROWDDEV/JSON+Requests+and+Responses
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CrowdTool.CrowdUser
Crowd User
-
Constructor Summary
Constructors Constructor Description CrowdTool()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
authent(java.lang.String login, java.lang.String pwd)
Single authentication of user (does not create a CROWD session)static java.lang.String
call(java.lang.String service, java.lang.String method, java.util.Map<java.lang.String,java.lang.String> params)
Call the API with CROWD_* parametersstatic java.lang.String
createSession(java.lang.String login, java.lang.String pwd)
Create a user session with authentication (reuse if already exists)static boolean
debug()
Debug mode?static java.lang.String
fallBackURL()
Get fallback URLstatic java.util.List<java.lang.String>
getChildGroups(java.lang.String parent)
Group childrenstatic java.lang.String
getTokenKey()
Get token keystatic java.lang.String
getURL()
Get URLstatic CrowdTool.CrowdUser
getUser(java.lang.String login)
Get all user information (attributes and groups)static java.lang.String
getUserAttributes(java.lang.String login)
Get user attributes (last-name, first-name, email...)static java.util.List<java.lang.String>
getUserGroups(java.lang.String login, boolean nested)
List the user groupsstatic java.util.List<java.lang.String>
getUsers(java.lang.String group, boolean nested, int limit)
List group membersstatic boolean
invalidateOnLogout()
Invalidate on logout?static void
invalidateSession(java.lang.String token)
Invalidate a user sessionstatic java.lang.String
logoutURL()
Get logout URLstatic java.lang.String
searchUsers(java.lang.String filter)
User searchstatic void
setUser(java.lang.String login, SessionInfo info)
Set the session info with Crowd userstatic void
syncGroup(java.lang.String group, boolean nested, ObjectDB obj)
Import users from a Crowd groupstatic java.lang.String
syncGroups(ObjectDB group)
Import users from CROWD_SYNC_GROUPS liststatic boolean
useLocalAuth()
Use local authentication?static boolean
useSSO()
use SSO?static java.lang.String
validateSession(java.lang.String token)
Validate a user session
-
-
-
Method Detail
-
getURL
public static java.lang.String getURL()
Get URL
-
useSSO
public static boolean useSSO()
use SSO?
-
debug
public static boolean debug()
Debug mode?
-
getTokenKey
public static java.lang.String getTokenKey()
Get token key
-
useLocalAuth
public static boolean useLocalAuth()
Use local authentication?
-
fallBackURL
public static java.lang.String fallBackURL()
Get fallback URL
-
invalidateOnLogout
public static boolean invalidateOnLogout()
Invalidate on logout?
-
logoutURL
public static java.lang.String logoutURL()
Get logout URL
-
call
public static java.lang.String call(java.lang.String service, java.lang.String method, java.util.Map<java.lang.String,java.lang.String> params)
Call the API with CROWD_* parameters- Parameters:
service
- Service parameters to add to CROWD_URLmethod
- HTTP method GET|POST|PUT|DELETEparams
- Optional parameters to POST- Returns:
- GET response as JSON
-
authent
public static void authent(java.lang.String login, java.lang.String pwd) throws java.lang.Exception
Single authentication of user (does not create a CROWD session)- Parameters:
login
- User loginpwd
- User password- Throws:
java.lang.Exception
-
validateSession
public static java.lang.String validateSession(java.lang.String token) throws java.lang.Exception
Validate a user session- Parameters:
token
- Session token- Returns:
- user login
- Throws:
java.lang.Exception
-
createSession
public static java.lang.String createSession(java.lang.String login, java.lang.String pwd) throws java.lang.Exception
Create a user session with authentication (reuse if already exists)- Parameters:
login
- User loginpwd
- User password- Returns:
- session token
- Throws:
java.lang.Exception
-
invalidateSession
public static void invalidateSession(java.lang.String token)
Invalidate a user session- Parameters:
token
- Session token
-
getUsers
public static java.util.List<java.lang.String> getUsers(java.lang.String group, boolean nested, int limit)
List group members- Parameters:
group
- CROWD group namenested
- deep search?limit
- response max results- Returns:
- array of logins or null
-
getUserAttributes
public static java.lang.String getUserAttributes(java.lang.String login)
Get user attributes (last-name, first-name, email...)- Parameters:
login
-- Returns:
- JSON object
-
getUserGroups
public static java.util.List<java.lang.String> getUserGroups(java.lang.String login, boolean nested)
List the user groups- Parameters:
login
-nested
- deep search?- Returns:
- List of granted groups
-
getUser
public static CrowdTool.CrowdUser getUser(java.lang.String login)
Get all user information (attributes and groups)- Parameters:
login
- User login- Returns:
- Crowd user
-
setUser
public static void setUser(java.lang.String login, SessionInfo info)
Set the session info with Crowd user- Parameters:
login
- Login of userinfo
- Session info to load
-
getChildGroups
public static java.util.List<java.lang.String> getChildGroups(java.lang.String parent)
Group children- Parameters:
parent
- Parent group- Returns:
- array of groups
-
searchUsers
public static java.lang.String searchUsers(java.lang.String filter)
User search- Parameters:
filter
- Filter with wildcard to search in full name or email (ex : john*)- Returns:
- JSON object with users
-
syncGroups
public static java.lang.String syncGroups(ObjectDB group)
Import users from CROWD_SYNC_GROUPS list
-
syncGroup
public static void syncGroup(java.lang.String group, boolean nested, ObjectDB obj)
Import users from a Crowd group- Parameters:
group
- CROWD Group namenested
- deep search?obj
- optional caller object (asynchronous action)
-
-