@Override protected void buildQuery(Session session) throws HibernateException, SQLException { Criteria c = session.createCriteria(Experimenter.class); Criteria m = c.createCriteria("groupExperimenterMap", Query.LEFT_JOIN); Criteria g = m.createCriteria("parent", Query.LEFT_JOIN); /* Should these calls be using g not c? - ajp */ if (value("name") != null) { c.add(Restrictions.eq("omeName", value("name"))); } else if (value("id") != null) { c.add(Restrictions.eq("id", value("id"))); } else { throw new InternalException( "Name and id are both null for user query."); } setCriteria(c); } }
@RolesAllowed("user") public Experimenter getExperimenter(final long id) { Experimenter e = iQuery.execute(new UserQ(new Parameters().addId(id))); if (e == null) { throw new ApiUsageException("No such experimenter: " + id); } return e; }
@RolesAllowed("user") public Experimenter lookupExperimenter(final String omeName) { Experimenter e = iQuery.execute(new UserQ(new Parameters().addString( "name", roleProvider.isIgnoreCaseLookup() ? omeName.toLowerCase() : omeName))); if (e == null) { throw new ApiUsageException("No such experimenter: " + omeName); } return e; }