return null; } else if (field.equals(ID)) { return getId(); } else if (field.equals(VERSION)) { return getVersion(); } else if (field.equals(NAME)) { return getName(); } else if (field.equals(LDAP)) { return getLdap(); } else if (field.equals(GROUPEXPERIMENTERMAP)) { return getGroupExperimenterMap(); } else if (field.equals(CONFIG)) { return getConfig(); } else if (field.equals(ANNOTATIONLINKSCOUNTPEROWNER)) { return getAnnotationLinksCountPerOwner(); } else if (field.equals(ANNOTATIONLINKS)) { return getAnnotationLinks(); } else if (field.equals(DESCRIPTION)) { return getDescription(); } else if (field.equals(DETAILS)) { return getDetails(); } else { if (_dynamicFields != null) {
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; }
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(); } } }
@Override public ExperimenterGroup mapRow(ResultSet arg0, int arg1) throws SQLException { ExperimenterGroup group = new ExperimenterGroup(); group.setId(arg0.getLong(1)); group.setName(arg0.getString(2)); Permissions p = Utils.toPermissions(arg0.getLong(3)); group.getDetails().setPermissions(p); return group; } }, id);
return; } else if (field.equals(ID)) { setId((Long) value); } else if (field.equals(VERSION)) { setVersion((Integer) value); } else if (field.equals(NAME)) { setName((java.lang.String)value); } else if (field.equals(LDAP)) { setLdap((java.lang.Boolean)value); } else if (field.equals(GROUPEXPERIMENTERMAP)) { setGroupExperimenterMap((java.util.Set<ome.model.meta.GroupExperimenterMap>)value); } else if (field.equals(CONFIG)) { setConfig((java.util.List<ome.model.internal.NamedValue>)value); } else if (field.equals(ANNOTATIONLINKSCOUNTPEROWNER)) { setAnnotationLinksCountPerOwner((java.util.Map<Long,Long>)value); } else if (field.equals(ANNOTATIONLINKS)) { setAnnotationLinks((java.util.Set<ome.model.annotations.ExperimenterGroupAnnotationLink>)value); } else if (field.equals(DESCRIPTION)) { setDescription((java.lang.String)value); } else if (field.equals(DETAILS)) { setDetails((ome.model.internal.Details)value); } else { if (_dynamicFields == null) {
ExperimenterGroup group) { adminOrPiOfGroups(adminPrivileges.getPrivilege(AdminPrivilege.VALUE_MODIFY_GROUP), group); Permissions p = group.getDetails().getPermissions(); if (p != null) { final ExperimenterGroup orig = getGroup(group.getId()); final String origName = orig.getName(); final String newName = group.getName(); if (!origName.equals(newName)) { final Roles roles = getSecurityRoles(); throw new ValidationException("cannot change name to special group '" + newName + "'"); if (group.getId().equals(getEventContext().getCurrentGroupId())) { throw new ValidationException("cannot rename the current group context '" + origName + "'"); orig.setName(newName); orig.setDescription(group.getDescription());
public long createGroup(String name, Permissions perms, boolean strict, boolean isLdap) { Session s = sf.getSession(); ExperimenterGroup g = groupByName(name, s); if (g == null) { g = new ExperimenterGroup(); g.setName(name); g.setLdap(isLdap); if (perms == null) { perms = Permissions.USER_PRIVATE; // ticket:1434 } g.getDetails().setPermissions(perms); g = (ExperimenterGroup) s.merge(g); } else { if (strict) { throw new ValidationException("Group already exists: " + name); } } return g.getId(); }
public long createGroup(ExperimenterGroup group) { group = copyGroup(group); if (group.getDetails().getPermissions() == null) { group.getDetails().setPermissions(Permissions.USER_PRIVATE); } final Session session = sf.getSession(); ExperimenterGroup g = sec.doAction(new SecureMerge(session), group); return g.getId(); }
@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()); }
@Override public Object mapFromContext(Object obj) { DirContextAdapter ctx = (DirContextAdapter) obj; ExperimenterGroup group = new ExperimenterGroup(); group.setName(get("name", ctx)); group.setDescription(get("description", ctx)); group.setLdap(true); group.putAt(LDAP_DN, ctx.getNameInNamespace()); if (attribute != null) { group.putAt(LDAP_ATTR, ctx.getAttributeSortedStringSet(attribute)); } group.putAt(LDAP_PROPS, new AttributeSet(ctx)); return group; }
protected GroupExperimenterMap linkGroupAndUser(ExperimenterGroup group, Experimenter e, boolean owned) { if (group == null || group.getId() == null) { throw new ApiUsageException("Group must be persistent."); } group = new ExperimenterGroup(group.getId(), false); // ticket:1021 - check for already added groups for (GroupExperimenterMap link : e.unmodifiableGroupExperimenterMap()) { ExperimenterGroup test = link.parent(); if (test.getId().equals(group.getId())) { return link; // EARLY EXIT! } } GroupExperimenterMap link = e.linkExperimenterGroup(group); // ticket:1434 link.setOwner(owned); link.getDetails().copy(sec.newTransientDetails(link)); Session session = sf.getSession(); sec.<IObject> doAction(new SecureMerge(session), userById(e.getId(), session), link); session.flush(); return link; }
callGroup = admin.groupProxy(groupId); eventGroup = callGroup; callPerms = callGroup.getDetails().getPermissions(); callGroup = new ExperimenterGroup(groupId, false); callPerms = Permissions.DUMMY; tokenHolder.setToken(callGroup.getGraphHolder()); if (event.getExperimenterGroup().getId() < 0) { event.setExperimenterGroup(eventGroup);
public void loadPermissions(org.hibernate.Session session) { if (groupPermissionsMap != null) { for (Map.Entry<Long, Permissions> entry : groupPermissionsMap.entrySet()) { if (entry.getValue() == null) { Long id = entry.getKey(); ExperimenterGroup g = (ExperimenterGroup) session.get(ExperimenterGroup.class, id); entry.setValue(g.getDetails().getPermissions()); } } } }
if (g.getId() != null) { toRemove.add(g.getId()); Long pId = map.parent().getId(); Long cId = map.child().getId(); if (toRemove.contains(pId)) { ExperimenterGroup p = groupById(pId, session); Experimenter c = userById(cId, session); p.unlinkExperimenter(c); sec.doAction(new SecureAction(){ public <T extends IObject> T updateObject(T... objs) { }}, map); removed.add(p.getName());
/** * Main constructor. */ public ExperimenterGroup (Long id, boolean loaded) { setId(id); if (loaded) { getDetails().setContext(this); } else { if (this.id == null) { throw new ApiUsageException("Id cannot be null for a proxy"); } unload(); } }
public ome.model.meta.ExperimenterGroup newInstance() { return new ome.model.meta.ExperimenterGroup(); }
if (gid != null) { if (gid < 0) { setGroup(new ExperimenterGroup(gid, false), Permissions.DUMMY); } else { ExperimenterGroup g = admin.groupProxy(gid); setGroup(g, g.getDetails().getPermissions());
/** * 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; } }
/** * find all ome.model.meta.GroupExperimenterMap which have the argument as their child. */ public java.util.Set<ome.model.meta.GroupExperimenterMap> findGroupExperimenterMap( ome.model.meta.Experimenter target ) { if (! _loaded ) errorIfUnloaded(); final java.util.Iterator<ome.model.meta.GroupExperimenterMap> it = iterateGroupExperimenterMap(); final java.util.Set<ome.model.meta.GroupExperimenterMap> result = new java.util.HashSet<ome.model.meta.GroupExperimenterMap>(); while ( it.hasNext() ) { ome.model.meta.GroupExperimenterMap link = it.next(); if ( link.child() == target ) { result.add( link ); } } return result; }