/** * If the "user" group is the first element of the list of groups that this * user is a member of, then check if there's a second value which could be * used as the default instead. */ private ExperimenterGroup shouldBeDefault(Experimenter usr, Session s) { List<ExperimenterGroup> grps = usr.linkedExperimenterGroupList(); if (grps.size() >= 2) { // If there are either no groups, or no alternatives so there's // nothing we need to check. final String USER = sec.getSecurityRoles().getUserGroupName(); if (USER.equals(grps.get(0).getName())) { return grps.get(1); } } return null; } }
public String getCurrentGroupName() { return session.getDetails().getGroup().getName(); }
@SuppressWarnings("unchecked") private ExperimenterGroup mapGroupName(String groupname, GroupContextMapper mapper) { Filter filter = config.groupnameFilter(groupname); List<ExperimenterGroup> g = ldap.search("", filter.encode(), mapper.getControls(), mapper); if (g.size() == 1 && g.get(0) != null) { ExperimenterGroup grp = g.get(0); if (grp.getName().equals(groupname)) { return g.get(0); } } throw new ApiUsageException( "Cannot find unique group DistinguishedName: found=" + g.size()); }
public void setGroup(ExperimenterGroup group, Permissions p) { this.group = group; setGroupPermissions(p); if (this.cgId.equals(group.getId())) { // Do nothing. } else { this.cgId = group.getId(); this.cgName = null; // If unloaded or group.id < -1 these will remain null if (group.isLoaded()) { this.cgName = group.getName(); } } }
return getVersion(); } else if (field.equals(NAME)) { return getName(); } else if (field.equals(LDAP)) { return getLdap();
@RolesAllowed("system") @Transactional(readOnly = false) public long createGroup(ExperimenterGroup group) { if (!getCurrentAdminPrivilegesForSession().contains(adminPrivileges.getPrivilege(AdminPrivilege.VALUE_MODIFY_GROUP))) { throwNonAdminOrPi(); } long gid = roleProvider.createGroup(group); getBeanHelper().getLogger().info("Created group: " + group.getName()); return gid; }
@RolesAllowed("user") @Transactional(readOnly = false) public void deleteGroup(ExperimenterGroup group) { adminOrPiOfGroups(adminPrivileges.getPrivilege(AdminPrivilege.VALUE_MODIFY_GROUP), group); final ExperimenterGroup g = groupProxy(group.getId()); getSecuritySystem().runAsAdmin(new AdminAction() { public void runAsAdmin() { iUpdate.deleteObject(g); } }); getBeanHelper().getLogger().info("Deleted group: " + g.getName()); }
public void addGroups(final Experimenter user, final ExperimenterGroup... groups) { final Session session = sf.getSession(); final List<String> added = new ArrayList<String>(); Experimenter foundUser = userById(user.getId(), session); for (ExperimenterGroup group : groups) { ExperimenterGroup foundGroup = groupById(group.getId(), session); boolean found = false; for (ExperimenterGroup currentGroup : foundUser .linkedExperimenterGroupList()) { found |= HibernateUtils.idEqual(foundGroup, currentGroup); } if (!found) { linkGroupAndUser(foundGroup, foundUser, false); added.add(foundGroup.getName()); } } fixDefaultGroup(foundUser, session); }
@Transactional(readOnly = true) public Object doWork(org.hibernate.Session session, ServiceFactory sf) { /* user and group names may change while the session is open */ final LocalAdmin admin = (LocalAdmin) sf.getAdminService(); final Experimenter exp = admin.userProxy(ctx.getCurrentUserId()); final ExperimenterGroup grp = admin.groupProxy(ctx.getCurrentGroupId()); final Principal p = new Principal(exp.getOmeName(), grp.getName(), ctx.getCurrentEventType()); return executeSessionContextLookup(sf, p, exp, grp, ctx.getSession()); } });
}}, map); removed.add(p.getName());
@RolesAllowed("system") public List<ExperimenterGroup> discoverGroups() { List<ExperimenterGroup> discoveredGroups = Lists.newArrayList(); Roles r = getSecuritySystem().getSecurityRoles(); List<ExperimenterGroup> localGroups = iQuery.findAllByQuery( "select distinct g from ExperimenterGroup g " + "where id not in (:ids) and ldap = :ldap", new Parameters().addIds( Lists.newArrayList(r.getGuestGroupId(), r.getSystemGroupId(), r.getUserGroupId())) .addBoolean("ldap", false)); for (ExperimenterGroup g : localGroups) { try { findGroup(g.getName()); } catch (ApiUsageException aue) { // This group doesn't exist in the LDAP server continue; } discoveredGroups.add(g); } return discoveredGroups; }
protected ExperimenterGroup copyGroup(ExperimenterGroup g) { if (g.getName() == null) { throw new ValidationException("Group name may not be null."); } ExperimenterGroup copy = new ExperimenterGroup(); copy.setDescription(g.getDescription()); copy.setName(g.getName()); copy.setLdap(g.getLdap()); copy.setConfig(g.getConfig()); copy.getDetails().copy(sec.newTransientDetails(g)); copy.getDetails().setPermissions(g.getDetails().getPermissions()); // TODO see shallow copy comment on copy user return copy; }
+ p.getName()); group = g.getName();
.groupProxy(groupId); if (group != null) { defaultGroup = group.getName();
String gname = currentUser.getGroup().getName(); String oname = currentUser.getOwner().getOmeName();
String groupName = g.getName(); add(document, "details.group.name", groupName, stored);