![JAR search and dependency download from the Maven repository](/logo.png)
edu.internet2.middleware.grouperBox.GrouperBoxUser Maven / Gradle / Ivy
package edu.internet2.middleware.grouperBox;
import java.util.Map;
import com.box.sdk.BoxUser;
import edu.internet2.middleware.grouperClient.util.ExpirableCache;
import edu.internet2.middleware.grouperClient.util.GrouperClientConfig;
/**
* grouper box user
* @author mchyzer
*
*/
public class GrouperBoxUser {
/**
* cache connections
*/
private static ExpirableCache> retrieveUsersCache = null;
/**
*
* @return box api connection never null
*/
public synchronized static Map retrieveUsers() {
Map usersMap = retrieveUsersCache == null ? null : retrieveUsersCache.get(Boolean.TRUE);
if (usersMap == null) {
usersMap = GrouperBoxCommands.retrieveBoxUsers();
// make a new one each time so the size is updated
int userCacheMinutes = GrouperClientConfig.retrieveConfig().propertyValueInt("grouperBox.boxUserCacheMinutes", 10);
retrieveUsersCache = new ExpirableCache>(userCacheMinutes);
retrieveUsersCache.put(Boolean.TRUE, usersMap);
}
return usersMap;
}
/**
*
* @param boxUser1
*/
public GrouperBoxUser(BoxUser boxUser1) {
this.boxUser = boxUser1;
}
/**
*
* @param boxUser1
*/
public GrouperBoxUser(BoxUser boxUser1, BoxUser.Info boxUserInfo1) {
this.boxUser = boxUser1;
this.boxUserInfo = boxUserInfo1;
}
/**
* box user
*/
private BoxUser boxUser;
/**
* box user info
*/
private BoxUser.Info boxUserInfo;
/**
*
* @return box user
*/
public BoxUser getBoxUser() {
return this.boxUser;
}
/**
* lazy load this
* @return box user info
*/
public BoxUser.Info getBoxUserInfo() {
if (this.boxUserInfo == null) {
this.boxUserInfo = this.boxUser.getInfo();
}
return this.boxUserInfo;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy