@Override @RolesAllowed("user") public <T extends IObject> List<T> findAllByQuery(String queryName, Parameters params) { Query<List<T>> q = getQueryFactory().lookup(queryName, params); if (params != null && params.isCache()) { q.enableQueryCache(); } return execute(q); }
@Override public <T extends IObject> T refresh(T iObject) throws ApiUsageException { getHibernateTemplate().refresh(iObject); return iObject; }
/** * Temporary WORKAROUND during the removal of HibernateTemplate to * let IQuery continue functioning. */ private HibernateTemplate getHibernateTemplate() { return new HibernateTemplate(getSessionFactory(), false); }
final Query<T> q = getQueryFactory().<T>lookup(queryName, params); if (params.isCache()) { q.enableQueryCache(); result = execute(q); } catch (ClassCastException cce) { throw new ApiUsageException( + "Please try findAllByQuery for queries which return Lists. "); } catch (IncorrectResultSizeDataAccessException irsdae) { throwNonUnique(queryName); } catch (NonUniqueResultException nure) { throwNonUnique(queryName);
public List<Object[]> projection(final String query, Parameters p) { final Parameters params = (p == null ? new Parameters() : p); final Query<List<Object>> q = getQueryFactory().lookup(query, params); if (params.isCache()) { q.enableQueryCache(); final List rv = (List) getHibernateTemplate().execute(q); final int size = rv.size(); Object obj = null;
public Object doInHibernate(Session session) throws HibernateException, SQLException { Criteria c = session.createCriteria(klass); c.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); parseFilter(c, filter); return c.list(); } });
public Object doInHibernate(Session session) throws HibernateException { Criteria c = session.createCriteria(example.getClass()); c.add(Example.create(example)); parseFilter(c, filter); return c.list(); } });
@RolesAllowed("user") @Transactional(readOnly = false) public boolean contains(Object obj) { return getHibernateTemplate().contains(obj); }
public Object doInHibernate(Session session) throws HibernateException { Criteria c = session.createCriteria(klass); parseFilter(c, filter); if (caseSensitive) { c.add(Restrictions.like(fieldName, value, MatchMode.ANYWHERE)); } else { c.add(Restrictions.ilike(fieldName, value, MatchMode.ANYWHERE)); } return c.list(); } });
@RolesAllowed("user") @Transactional(readOnly = false) public void evict(Object obj) { getHibernateTemplate().evict(obj); }
/** * @see LocalQuery#execute(HibernateCallback) */ @RolesAllowed("user") @SuppressWarnings("unchecked") public <T> T execute(HibernateCallback callback) { return (T) getHibernateTemplate().execute(callback); }
@RolesAllowed("user") @Transactional(readOnly = false) public void clear() { getHibernateTemplate().clear(); }
@Override @RolesAllowed("user") @SuppressWarnings("unchecked") public <T extends IObject> List<T> findAll(final Class<T> klass, final Filter filter) { if (filter == null) { return getHibernateTemplate().loadAll(klass); } return (List<T>) getHibernateTemplate().execute( new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { Criteria c = session.createCriteria(klass); c.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); parseFilter(c, filter); return c.list(); } }); }
/** * @see ome.api.local.LocalQuery#execute(Query) */ @RolesAllowed("user") @SuppressWarnings("unchecked") public <T> T execute(ome.services.query.Query<T> query) { return (T) getHibernateTemplate().execute(query); }
@Override @RolesAllowed("user") @SuppressWarnings("unchecked") // TODO weirdness here; learn more about CGLIB initialization. public IObject find(final Class klass, final long id) { return (IObject) getHibernateTemplate().execute( new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException { IObject o = (IObject) session.get(klass, id); Hibernate.initialize(o); return o; } }); }
@RolesAllowed("user") @Transactional(propagation = Propagation.SUPPORTS) public boolean checkType(String type) { ClassMetadata meta = getHibernateTemplate().getSessionFactory() .getClassMetadata(type); return meta == null ? false : true; }
@Override @RolesAllowed("user") @SuppressWarnings("unchecked") public <T extends IObject> List<T> findAllByExample(final T example, final Filter filter) { return (List<T>) getHibernateTemplate().execute( new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException { Criteria c = session.createCriteria(example.getClass()); c.add(Example.create(example)); parseFilter(c, filter); return c.list(); } }); }
@RolesAllowed("user") @Transactional(propagation = Propagation.SUPPORTS) public boolean checkProperty(String type, String property) { ClassMetadata meta = getHibernateTemplate().getSessionFactory() .getClassMetadata(type); String[] names = meta.getPropertyNames(); for (int i = 0; i < names.length; i++) { // TODO: possibly with caching and Arrays.sort/search if (names[i].equals(property)) { return true; } } return false; }
@Override @RolesAllowed("user") @SuppressWarnings("unchecked") public <T extends IObject> T findByExample(final T example) throws ApiUsageException { return (T) getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException { try { Criteria c = session.createCriteria(example.getClass()); c.add(Example.create(example)); return c.uniqueResult(); } catch (IncorrectResultSizeDataAccessException irsdae) { throwNonUnique("findByExample"); } catch (NonUniqueResultException nure) { throwNonUnique("findByExample"); } // Never reached! return null; } }); }
@Override @RolesAllowed("user") @SuppressWarnings("unchecked") public <T extends IObject> T findByString(final Class<T> klass, final String fieldName, final String value) throws ApiUsageException { return (T) getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException { try { Criteria c = session.createCriteria(klass); c.add(Restrictions.eq(fieldName, value)); return c.uniqueResult(); } catch (IncorrectResultSizeDataAccessException irsdae) { throwNonUnique("findByString"); } catch (NonUniqueResultException nure) { throwNonUnique("findByString"); } // Never reached return null; } }); }