/** * unlinks all ome.model.meta.ExperimenterGroup instances from this instance. */ public void unlinkExperimenterGroup (ome.model.meta.ExperimenterGroup removal) { if (! _loaded ) errorIfUnloaded(); java.util.Set<ome.model.meta.GroupExperimenterMap> toRemove = findGroupExperimenterMap( removal ); java.util.Iterator<ome.model.meta.GroupExperimenterMap> it = toRemove.iterator(); while ( it.hasNext() ) { removeGroupExperimenterMap( it.next(), true ); } }
public void setGroupOwner(Experimenter user, ExperimenterGroup group, boolean value) { Session session = sf.getSession(); Experimenter foundUser = userById(user.getId(), session); ExperimenterGroup foundGroup = groupById(group.getId(), session); Set<GroupExperimenterMap> foundMaps = foundUser .findGroupExperimenterMap(foundGroup); if (foundMaps.size() < 1) { throw new ApiUsageException("Group " + group.getId() + " was not " + "found for user " + user.getId()); } else if (foundMaps.size() > 1) { log.warn(foundMaps.size() + " copies of " + foundGroup + " found for " + foundUser); } else { // May throw an exception GroupExperimenterMap newDef = foundMaps.iterator().next(); log.info(String.format("Seeting ownership flag on user %s to %s for %s", foundUser.getId(), value, group.getId())); newDef.setOwner(value); sec.doAction(new SecureMerge(session), newDef); } }
public void setDefaultGroup(Experimenter user, ExperimenterGroup group) { Session session = sf.getSession(); Experimenter foundUser = userById(user.getId(), session); ExperimenterGroup foundGroup = groupById(group.getId(), session); Set<GroupExperimenterMap> foundMaps = foundUser .findGroupExperimenterMap(foundGroup); if (foundMaps.size() < 1) { throw new ApiUsageException("Group " + group.getId() + " was not " + "found for user " + user.getId()); } else if (foundMaps.size() > 1) { log.warn(foundMaps.size() + " copies of " + foundGroup + " found for " + foundUser); } else { // May throw an exception GroupExperimenterMap newDef = foundMaps.iterator().next(); log.info(String.format("Changing default group for user %s to %s", foundUser.getId(), group.getId())); foundUser.setPrimaryGroupExperimenterMap(newDef); } // TODO: May want to move this outside the loop // and after the !newDefaultSet check. sec.doAction(new SecureMerge(session), foundUser); }