List of usage examples for org.hibernate.criterion CriteriaSpecification PROJECTION
ResultTransformer PROJECTION
To view the source code for org.hibernate.criterion CriteriaSpecification PROJECTION.
Click Source Link
From source file:com.hypersocket.resource.AbstractAssignableResourceRepositoryImpl.java
License:Open Source License
@Override public boolean hasAssignedEveryoneRole(Realm realm, CriteriaConfiguration... configs) { Criteria criteria = createCriteria(getResourceClass()); criteria.setProjection(Projections.property("id")); criteria.setResultTransformer(CriteriaSpecification.PROJECTION); for (CriteriaConfiguration c : configs) { c.configure(criteria);//from w w w . j ava 2 s .c o m } criteria.add(Restrictions.eq("realm", realm)); criteria = criteria.createCriteria("roles"); criteria.add(Restrictions.eq("allUsers", true)); List<?> everyoneRoles = criteria.list(); return everyoneRoles.size() > 0; }
From source file:com.hypersocket.resource.AbstractAssignableResourceRepositoryImpl.java
License:Open Source License
@SuppressWarnings("unchecked") @Override/*from w w w . jav a2s. co m*/ public Collection<Principal> getAssignedPrincipals(Realm realm, CriteriaConfiguration... configs) { Criteria criteria = createCriteria(getResourceClass()); for (CriteriaConfiguration c : configs) { c.configure(criteria); } criteria.add(Restrictions.eq("realm", realm)); criteria = criteria.createCriteria("roles"); criteria.add(Restrictions.eq("allUsers", false)); criteria = criteria.createCriteria("principals"); criteria.setProjection(Projections.distinct(Projections.property("id"))); criteria.setResultTransformer(CriteriaSpecification.PROJECTION); List<?> uniquePrincipals = criteria.list(); if (uniquePrincipals.isEmpty()) { return new HashSet<Principal>(); } criteria = createCriteria(Principal.class); criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); criteria.add(Restrictions.in("id", uniquePrincipals)); List<?> res = criteria.list(); return (Collection<Principal>) res; }
From source file:com.hypersocket.resource.AbstractAssignableResourceRepositoryImpl.java
License:Open Source License
@Override public Long getAssignedPrincipalCount(Realm realm, CriteriaConfiguration... configs) { Criteria criteria = createCriteria(getResourceClass()); for (CriteriaConfiguration c : configs) { c.configure(criteria);//w ww .java 2 s .c o m } criteria.add(Restrictions.eq("realm", realm)); criteria = criteria.createCriteria("roles"); criteria.add(Restrictions.eq("allUsers", false)); criteria = criteria.createCriteria("principals"); criteria.setProjection(Projections.distinct(Projections.property("id"))); criteria.setResultTransformer(CriteriaSpecification.PROJECTION); List<?> uniquePrincipals = criteria.list(); return (long) uniquePrincipals.size(); }
From source file:com.hypersocket.resource.AbstractAssignableResourceRepositoryImpl.java
License:Open Source License
@Override public Long getAssignedResourceCount(List<Principal> principals, final String searchPattern, CriteriaConfiguration... configs) { Criteria criteria = createCriteria(getResourceClass()); criteria.setProjection(Projections.property("id")); criteria.setResultTransformer(CriteriaSpecification.PROJECTION); if (StringUtils.isNotBlank(searchPattern)) { criteria.add(Restrictions.ilike("name", searchPattern)); }/*from w ww . ja v a2s. co m*/ for (CriteriaConfiguration c : configs) { c.configure(criteria); } criteria.add(Restrictions.eq("realm", principals.get(0).getRealm())); criteria = criteria.createCriteria("roles"); criteria.add(Restrictions.eq("allUsers", true)); List<?> ids = criteria.list(); criteria = createCriteria(getResourceClass()); criteria.setProjection(Projections.countDistinct("name")); criteria.setResultTransformer(CriteriaSpecification.PROJECTION); if (StringUtils.isNotBlank(searchPattern)) { criteria.add(Restrictions.ilike("name", searchPattern)); } for (CriteriaConfiguration c : configs) { c.configure(criteria); } criteria.add(Restrictions.eq("realm", principals.get(0).getRealm())); if (ids.size() > 0) { criteria.add(Restrictions.not(Restrictions.in("id", ids))); } criteria = criteria.createCriteria("roles"); criteria.add(Restrictions.eq("allUsers", false)); criteria = criteria.createCriteria("principals"); List<Long> pids = new ArrayList<Long>(); for (Principal p : principals) { pids.add(p.getId()); } criteria.add(Restrictions.in("id", pids)); Long count = (Long) criteria.uniqueResult(); return count + ids.size(); }
From source file:debop4k.data.orm.hibernate.dao.HibernateDao.java
License:Apache License
public long count(@NonNull Query query, HibernateParameter... parameters) { Object result = CriteriaEx.setParameters(query, parameters) .setResultTransformer(CriteriaSpecification.PROJECTION) .setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY).uniqueResult(); return Convertx.asLong(result); }