List of usage examples for org.hibernate Criteria createCriteria
public Criteria createCriteria(String associationPath) throws HibernateException;
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);//from ww w. ja v a 2 s. com } 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)); }//ww w.j a va 2 s . 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:com.hypersocket.resource.AbstractAssignableResourceRepositoryImpl.java
License:Open Source License
@SuppressWarnings("unchecked") @Override/*from w ww . j a v a 2 s . c om*/ public List<AssignableResource> getAllAssignableResources(List<Principal> principals) { Set<Long> ids = new HashSet<Long>(); for (Principal p : principals) { ids.add(p.getId()); } Criteria crit = createCriteria(AssignableResource.class); crit.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); crit = crit.createCriteria("roles"); crit = crit.createCriteria("principals"); crit.add(Restrictions.in("id", ids)); return (List<AssignableResource>) crit.list(); }
From source file:com.hypersocket.resource.AbstractAssignableResourceRepositoryImpl.java
License:Open Source License
@SuppressWarnings("unchecked") @Override/*from w ww . java 2 s . c om*/ public T getResourceByIdAndPrincipals(Long resourceId, List<Principal> principals) { Set<Long> ids = new HashSet<Long>(); for (Principal p : principals) { ids.add(p.getId()); } Criteria crit = createCriteria(getResourceClass()); crit.add(Restrictions.eq("id", resourceId)); crit.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); crit = crit.createCriteria("roles"); crit = crit.createCriteria("principals"); crit.add(Restrictions.in("id", ids)); return (T) crit.uniqueResult(); }
From source file:com.hypersocket.session.SessionRepositoryImpl.java
License:Open Source License
@Override @Transactional(readOnly = true)/*from w w w . j av a2s . co m*/ public List<Session> search(Realm realm, final String searchPattern, int start, int length, ColumnSort[] sorting, CriteriaConfiguration... configs) { return super.search(getEntityClass(), "uuid", "", start, length, sorting, ArrayUtils.addAll(configs, new RealmOrSystemRealmCriteria(realm), new CriteriaConfiguration() { @Override public void configure(Criteria criteria) { criteria.add(Restrictions.eq("system", false)); criteria.add(Restrictions.isNull("signedOut")); if (StringUtils.isNotEmpty(searchPattern)) { criteria = criteria.createCriteria("principal"); criteria.add(Restrictions.ilike("name", searchPattern)); } } })); }
From source file:com.hypersocket.session.SessionRepositoryImpl.java
License:Open Source License
@Override @Transactional(readOnly = true)//from w w w .java 2s. com public long getResourceCount(Realm realm, final String searchPattern, CriteriaConfiguration... configs) { return getCount(getEntityClass(), "uuid", "", ArrayUtils.addAll(configs, new RealmOrSystemRealmCriteria(realm), new CriteriaConfiguration() { @Override public void configure(Criteria criteria) { criteria.add(Restrictions.eq("system", false)); criteria.add(Restrictions.isNull("signedOut")); if (StringUtils.isNotEmpty(searchPattern)) { criteria = criteria.createCriteria("principal"); criteria.add(Restrictions.ilike("name", searchPattern)); } } })); }
From source file:com.liferay.portal.workflow.jbpm.dao.CustomSession.java
License:Open Source License
public int countTaskInstances(long processInstanceId, long tokenId, String[] actorIds, boolean pooledActors, Boolean completed) {// w w w . j a v a 2 s.c o m if ((actorIds != null) && (actorIds.length == 0)) { return 0; } try { Criteria criteria = _session.createCriteria(TaskInstance.class); criteria.setProjection(Projections.countDistinct("id")); if (processInstanceId > 0) { criteria.add(Restrictions.eq("processInstance.id", processInstanceId)); } else if (tokenId > 0) { criteria.add(Restrictions.eq("token.id", tokenId)); } else if (actorIds != null) { if (pooledActors) { Criteria subcriteria = criteria.createCriteria("pooledActors"); subcriteria.add(Restrictions.in("actorId", actorIds)); } else { criteria.add(Restrictions.in("actorId", actorIds)); } } if (completed != null) { if (completed.booleanValue()) { criteria.add(Restrictions.isNotNull("end")); } else { criteria.add(Restrictions.isNull("end")); } } Number count = (Number) criteria.uniqueResult(); return count.intValue(); } catch (Exception e) { throw new JbpmException(e); } }
From source file:com.liferay.portal.workflow.jbpm.dao.CustomSession.java
License:Open Source License
public List<TaskInstance> findTaskInstances(long processInstanceId, long tokenId, String[] actorIds, boolean pooledActors, Boolean completed, int start, int end, OrderByComparator orderByComparator) { if ((actorIds != null) && (actorIds.length == 0)) { return Collections.emptyList(); }/*w w w . ja va 2s .com*/ try { Criteria criteria = _session.createCriteria(TaskInstance.class); criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); if (processInstanceId > 0) { criteria.add(Restrictions.eq("processInstance.id", processInstanceId)); } else if (tokenId > 0) { criteria.add(Restrictions.eq("token.id", tokenId)); } if (actorIds != null) { if (pooledActors) { Criteria subcriteria = criteria.createCriteria("pooledActors"); subcriteria.add(Restrictions.in("actorId", actorIds)); criteria.add(Restrictions.isNull("actorId")); } else { criteria.add(Restrictions.in("actorId", actorIds)); } } if (completed != null) { if (completed.booleanValue()) { criteria.add(Restrictions.isNotNull("end")); } else { criteria.add(Restrictions.isNull("end")); } } addPagination(criteria, start, end); addOrder(criteria, orderByComparator); return criteria.list(); } catch (Exception e) { throw new JbpmException(e); } }
From source file:com.liferay.portal.workflow.jbpm.dao.CustomSession.java
License:Open Source License
protected void addSearchByUserRolesCriterion(Criteria criteria, Boolean searchByUserRoles, ServiceContext serviceContext) throws SystemException { if (searchByUserRoles == null) { return;// w w w .j a va2s .co m } Criteria assigneesCriteria = criteria.createCriteria("assignees"); if (!searchByUserRoles) { assigneesCriteria.add(Restrictions.eq("assigneeClassName", User.class.getName())); assigneesCriteria.add(Restrictions.eq("assigneeClassPK", serviceContext.getUserId())); return; } List<Long> roleIds = RoleRetrievalUtil.getRoleIds(serviceContext); List<UserGroupRole> userGroupRoles = UserGroupRoleLocalServiceUtil .getUserGroupRoles(serviceContext.getUserId()); if (userGroupRoles.isEmpty()) { assigneesCriteria.add(Restrictions.eq("assigneeClassName", Role.class.getName())); assigneesCriteria.add(Restrictions.in("assigneeClassPK", roleIds.toArray(new Long[roleIds.size()]))); } else { Junction junction = Restrictions.disjunction(); junction.add(Restrictions.and(Restrictions.eq("assigneeClassName", Role.class.getName()), Restrictions.in("assigneeClassPK", roleIds.toArray(new Long[roleIds.size()])))); for (UserGroupRole userGroupRole : userGroupRoles) { junction.add(Restrictions.and(Restrictions.eq("groupId", userGroupRole.getGroupId()), Restrictions.and(Restrictions.eq("assigneeClassName", Role.class.getName()), Restrictions.eq("assigneeClassPK", userGroupRole.getRoleId())))); } assigneesCriteria.add(junction); } }
From source file:com.liferay.portal.workflow.jbpm.dao.CustomSession.java
License:Open Source License
protected Criteria buildProcessInstanceExtensionSearchCriteria(long companyId, Long userId, String assetClassName, Long assetClassPK, Boolean completed) { Criteria criteria = _session.createCriteria(ProcessInstanceExtensionImpl.class); criteria.add(Restrictions.eq("companyId", companyId)); if (userId != null) { criteria.add(Restrictions.eq("userId", userId)); }/*from w w w. j a v a 2 s. co m*/ if (Validator.isNotNull(assetClassName)) { criteria.add(Restrictions.like("className", assetClassName)); } if (Validator.isNotNull(assetClassPK)) { criteria.add(Restrictions.eq("classPK", assetClassPK)); } if (completed != null) { Criteria completionCriteria = criteria.createCriteria("processInstance"); if (completed) { completionCriteria.add(Restrictions.isNotNull("end")); } else { completionCriteria.add(Restrictions.isNull("end")); } } return criteria; }