public ome.model.meta.Experimenter child() { return (ome.model.meta.Experimenter) getChild(); }
@Override public Object retrieve(String field) { if (field == null) { return null; } else if (field.equals(ID)) { return getId(); } else if (field.equals(VERSION)) { return getVersion(); } else if (field.equals(PARENT)) { return getParent(); } else if (field.equals(CHILD)) { return getChild(); } else if (field.equals(OWNER)) { return getOwner(); } else if (field.equals(DETAILS)) { return getDetails(); } else { if (_dynamicFields != null) { return _dynamicFields.get(field); } return null; } }
@Override @RolesAllowed("user") public List<Experimenter> getAdminsWithPrivileges(List<AdminPrivilege> privileges) { assertKnownPrivileges(privileges); final List<Experimenter> admins = new ArrayList<Experimenter>(); final long systemGroupId = getSecurityRoles().getSystemGroupId(); final Iterator<GroupExperimenterMap> memberships = getGroup(systemGroupId).iterateGroupExperimenterMap(); while (memberships.hasNext()) { boolean hasPrivileges = true; final Experimenter admin = userProxy(memberships.next().getChild().getId()); final List<AdminPrivilege> privilegesOfAdmin = getAdminPrivileges(admin); for (final AdminPrivilege privilege : privileges) { if (!privilegesOfAdmin.contains(privilege)) { hasPrivileges = false; break; } } if (hasPrivileges) { admins.add(admin); } } return admins; }