/** * Tests to make a user the owner of a group. * * @throws Exception Thrown if an error occurred. */ @Test public void testSetOwner() throws Exception { // First create a new user. String uuid = UUID.randomUUID().toString(); Experimenter e = new ExperimenterI(); e.setOmeName(omero.rtypes.rstring(uuid)); e.setFirstName(omero.rtypes.rstring("user")); e.setLastName(omero.rtypes.rstring("user")); IAdminPrx svc = root.getSession().getAdminService(); // already tested ExperimenterGroup g = new ExperimenterGroupI(); g.setName(omero.rtypes.rstring(uuid)); g.getDetails().setPermissions(new PermissionsI("rw----")); // create group. long groupId = svc.createGroup(g); g = svc.lookupGroup(uuid); // create the user. long expId = svc.createUser(e, uuid); e = svc.lookupExperimenter(uuid); // set the user as the group owner. svc.setGroupOwner(g, e); IQueryPrx query = root.getSession().getQueryService(); String sql = "select m from GroupExperimenterMap as m "; sql += "left outer join fetch m.child as c "; sql += "left outer join fetch m.parent as p "; sql += "where "; sql += "c.id = :expId "; sql += " and p.id = :groupId"; ParametersI p = new ParametersI(); p.addLong("expId", expId); p.addLong("groupId", groupId); List l = (List) query.findAllByQuery(sql, p); Iterator i = l.iterator(); GroupExperimenterMap map; while (i.hasNext()) { map = (GroupExperimenterMap) i.next(); assertTrue(map.getOwner().getValue()); } }