List of usage examples for org.hibernate.criterion Restrictions or
public static LogicalExpression or(Criterion lhs, Criterion rhs)
From source file:com.itrus.ca.modules.sys.service.SystemService.java
License:Open Source License
public Page<User> findUser(Page<User> page, User user) { DetachedCriteria dc = userDao.createDetachedCriteria(); User currentUser = UserUtils.getUser(); dc.createAlias("company", "company"); if (user.getCompany() != null && user.getCompany().getId() != null) { dc.add(Restrictions.or(Restrictions.eq("company.id", user.getCompany().getId()), Restrictions.like("company.parentIds", "%," + user.getCompany().getId() + ",%"))); }/*w w w. ja v a2s . c o m*/ dc.createAlias("office", "office"); if (user.getOffice() != null && user.getOffice().getId() != null) { dc.add(Restrictions.or(Restrictions.eq("office.id", user.getOffice().getId()), Restrictions.like("office.parentIds", "%," + user.getOffice().getId() + ",%"))); } // ???? if (!currentUser.isAdmin()) { dc.add(Restrictions.ne("id", 1L)); } dc.add(dataScopeFilter(currentUser, "office", "")); //System.out.println(dataScopeFilterString(currentUser, "office", "")); if (StringUtils.isNotEmpty(user.getLoginName())) { dc.add(Restrictions.like("loginName", "%" + EscapeUtil.escapeLike(user.getLoginName()) + "%")); } if (StringUtils.isNotEmpty(user.getName())) { dc.add(Restrictions.like("name", "%" + EscapeUtil.escapeLike(user.getName()) + "%")); } dc.add(Restrictions.eq(User.DEL_FLAG, User.DEL_FLAG_NORMAL)); // if (!StringUtils.isNotEmpty(page.getOrderBy())){ // dc.addOrder(Order.asc("company.code")).addOrder(Order.asc("office.code")).addOrder(Order.desc("id")); // } return userDao.find(page, dc); }
From source file:com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateFilter.java
License:Open Source License
public void applyOr(FilterElement lhs, FilterElement rhs) { HibernateFilter lhsFilter = new HibernateFilter(null, referenceResolver); lhs.apply(lhsFilter);//w ww . j ava2s . c om HibernateFilter rhsFilter = new HibernateFilter(null, referenceResolver); rhs.apply(rhsFilter); LogicalExpression or = Restrictions.or(lhsFilter.last(), rhsFilter.last()); add(or); }
From source file:com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateFilter.java
License:Open Source License
protected Criterion ancestorFolderRestriction(String folderURI) { if (Folder.SEPARATOR.equals(folderURI)) { return null; }// www.j a v a2 s. c o m return Restrictions.or( folderURI.indexOf("%") == -1 ? Restrictions.eq("parent.URI", folderURI) : Restrictions.like("parent.URI", folderURI), Restrictions.like("parent.URI", folderURI + "/%")); }
From source file:com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateRepositoryServiceImpl.java
License:Open Source License
@Transactional(propagation = Propagation.REQUIRED) public int getFoldersCount(final String parentURI) { return (Integer) executeCallback(new DaoCallback() { public Object execute() { DetachedCriteria criteria = DetachedCriteria.forClass(RepoFolder.class); criteria.add(Restrictions.eq("hidden", Boolean.FALSE)); criteria.setProjection(Projections.rowCount()); if (parentURI != null && !Folder.SEPARATOR.equals(parentURI)) { criteria.add(Restrictions.or( (parentURI.contains("%")) ? Restrictions.eq("URI", parentURI) : Restrictions.like("URI", parentURI), Restrictions.like("URI", parentURI + "/%"))); }/*from w w w .ja v a 2 s . com*/ return new BasicTransformer().transformToCount(getHibernateTemplate().findByCriteria(criteria)); } }); }
From source file:com.jaspersoft.jasperserver.api.metadata.common.service.impl.hibernate.HibernateRepositoryServiceImpl.java
License:Open Source License
protected List loadAllSubfolders(ExecutionContext context, String parentURI) { DetachedCriteria criteria = DetachedCriteria.forClass(RepoFolder.class); criteria.add(Restrictions.eq("hidden", Boolean.FALSE)); if (parentURI != null && !Folder.SEPARATOR.equals(parentURI)) { criteria.add(Restrictions.or((parentURI.indexOf("%") == -1) ? Restrictions.eq("URI", parentURI) : Restrictions.like("URI", parentURI), Restrictions.like("URI", parentURI + "/%"))); }/* w w w . jav a 2 s .co m*/ criteria.getExecutableCriteria(getSession()).setCacheable(true); List repoFolders = getHibernateTemplate().findByCriteria(criteria); List folders = new ArrayList(repoFolders.size()); for (Iterator iter = repoFolders.iterator(); iter.hasNext();) { RepoFolder repoFolder = (RepoFolder) iter.next(); Folder folder = repoFolder.toClient(); folders.add(folder); } SortingUtils.sortFoldersByURI(getCollator(context), folders); return folders; }
From source file:com.jaspersoft.jasperserver.api.metadata.tenant.service.impl.TenantServiceImpl.java
License:Open Source License
private int createNumberOfUsersOrRolesCriteria(String tenantId, Class aClass) { Integer rowCount = 0;/*from w w w.j a va 2 s . co m*/ RepoTenant tenant = getRepoTenant(tenantId, false); if (tenant != null) { DetachedCriteria criteria = DetachedCriteria.forClass(aClass); criteria.createAlias("tenant", "t"); criteria.add(Restrictions.or(Restrictions.eq("t.tenantUri", tenant.getTenantUri()), Restrictions .like("t.tenantUri", tenant.getTenantUri().equals("/") ? "/%" : tenant.getTenantUri() + "/%"))); criteria.setProjection(Projections.count("id")); criteria.getExecutableCriteria(getSession()).setCacheable(true); List results = getHibernateTemplate().findByCriteria(criteria); if (results != null && !results.isEmpty()) { rowCount = (Integer) results.get(0); } } return rowCount; }
From source file:com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl.java
License:Open Source License
private Criteria createTenantUsersCriteria(Session session, Set tenantIds, String name, boolean order) { Set internalTenantIds = null; if (tenantIds != null) { internalTenantIds = new HashSet(); internalTenantIds.addAll(tenantIds); if (internalTenantIds.contains(null)) { internalTenantIds.remove(null); internalTenantIds.add(TenantService.ORGANIZATIONS); }/*w w w . ja v a2s . c o m*/ } Criteria criteria = session.createCriteria(getPersistentUserClass()); criteria.createAlias("tenant", "tenant", Criteria.LEFT_JOIN); if (internalTenantIds == null) { criteria.add(Restrictions.eq("tenant.tenantId", TenantService.ORGANIZATIONS)); } else { if (!internalTenantIds.isEmpty()) { criteria.add(Restrictions.in("tenant.tenantId", internalTenantIds)); } } if (name != null) { name = databaseCharactersEscapeResolver.getEscapedText(name.trim()); if (name.length() > 0) { // Criterion userNameCriterion = Restrictions.ilike("username", "%" + name + "%"); // Criterion fullNameCriterion = Restrictions.ilike("fullName", "%" + name + "%"); Criterion userNameCriterion = new IlikeEscapeAwareExpression("username", name, MatchMode.ANYWHERE); Criterion fullNameCriterion = new IlikeEscapeAwareExpression("fullName", name, MatchMode.ANYWHERE); criteria.add(Restrictions.or(userNameCriterion, fullNameCriterion)); } } if (order) { criteria.addOrder(Order.asc("username")); criteria.addOrder(Order.asc("tenant.tenantId")); } return criteria; }
From source file:com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl.java
License:Open Source License
protected void createSearchByUserNameCriteria(DetachedCriteria criteria, String userName) { if (userName != null && userName.trim().length() > 0) { Criterion userNameCriterion = Restrictions.ilike("username", "%" + userName.trim() + "%"); Criterion fullNameCriterion = Restrictions.ilike("fullName", "%" + userName.trim() + "%"); criteria.add(Restrictions.or(userNameCriterion, fullNameCriterion)); }//from ww w . ja v a 2 s .co m }
From source file:com.jaspersoft.jasperserver.search.filter.FolderFilter.java
License:Open Source License
protected void addSearchModeFolderRestrictions(SearchCriteria criteria, String folderUri, String alias) { criteria.add(Restrictions.or(Restrictions.like(alias + ".URI", createSubFoldersLikeUri(folderUri)), Restrictions.eq(alias + ".URI", folderUri))); }
From source file:com.jaspersoft.jasperserver.search.filter.HiddenFilter.java
License:Open Source License
@Override public void applyRestrictions(String type, ExecutionContext context, SearchCriteria criteria) { RepositorySearchCriteria searchCriteria = getTypedAttribute(context, RepositorySearchCriteria.class); if (searchCriteria == null || !searchCriteria.isShowHidden()) { String p = criteria.getAlias("parent", "p"); criteria.add(Restrictions.eq(p + ".hidden", Boolean.FALSE)); if (Folder.class.getName().equals(type)) { criteria.add(Restrictions.eq("hidden", Boolean.FALSE)); }/*w ww.j av a2 s .c o m*/ if (ResourceLookup.class.getName().equals(type)) { criteria.add( Restrictions.or(Restrictions.isNull("hidden"), Restrictions.eq("hidden", Boolean.FALSE))); } } }