/*
* Copyright (c) 2015 EMC Corporation
* All Rights Reserved
*/
package util;
import com.emc.storageos.model.usergroup.UserGroupCreateParam;
import com.emc.storageos.model.usergroup.UserGroupRestRep;
import com.emc.storageos.model.usergroup.UserGroupUpdateParam;
import com.emc.vipr.client.exceptions.ViPRHttpException;
import com.google.common.collect.Lists;
import org.apache.commons.lang.StringUtils;
import java.net.URI;
import java.util.List;
import static com.emc.vipr.client.core.util.ResourceUtils.uri;
import static util.BourneUtil.getViprClient;
public class UserGroupUtils {
public static UserGroupRestRep getUserGroup(String id) {
try {
return getViprClient().getUserGroup().get(uri(id));
} catch (ViPRHttpException e) {
if (e.getHttpCode() == 404) {
return null;
}
throw e;
}
}
public static List<UserGroupRestRep> getUserGroups() {
return getViprClient().getUserGroup().getAll();
}
public static List<UserGroupRestRep> getUserGroups(List<URI> ids) {
return getViprClient().getUserGroup().getByIds(ids);
}
public static List<UserGroupRestRep> getUserGroupsByDomainName(String domain) {
List<UserGroupRestRep> results = Lists.newArrayList();
if (StringUtils.isNotBlank(domain)) {
List<UserGroupRestRep> userGroupRestReps = UserGroupUtils.getUserGroups();
for (UserGroupRestRep userGroupRestRep : userGroupRestReps) {
if (StringUtils.equalsIgnoreCase(userGroupRestRep.getDomain(), domain)) {
results.add(userGroupRestRep);
}
}
}
return results;
}
public static UserGroupRestRep create(UserGroupCreateParam userGroupCreateParam) {
return getViprClient().getUserGroup().create(userGroupCreateParam);
}
public static UserGroupRestRep update(String id, UserGroupUpdateParam userGroupUpdateParam) {
return getViprClient().getUserGroup().update(uri(id), userGroupUpdateParam);
}
public static void delete(URI id) {
getViprClient().getUserGroup().delete(id);
}
}