List of usage examples for org.hibernate.criterion DetachedCriteria add
public DetachedCriteria add(Criterion criterion)
From source file:com.jaspersoft.jasperserver.api.metadata.tenant.service.impl.TenantServiceImpl.java
License:Open Source License
public String getUniqueTenantId(String proposedTenantId) { List similarTenantIdList;//from w w w .j av a 2 s . c o m DetachedCriteria criteria = DetachedCriteria.forClass(persistentTenantClass()); criteria.add(Restrictions.like("tenantId", proposedTenantId + "%").ignoreCase()); criteria.getExecutableCriteria(getSession()).setCacheable(true); List tenantList = getHibernateTemplate().findByCriteria(criteria); if (tenantList.isEmpty()) { similarTenantIdList = Collections.emptyList(); } else { similarTenantIdList = new ArrayList(tenantList.size()); for (int i = 0; i < tenantList.size(); i++) { similarTenantIdList.add(((RepoTenant) tenantList.get(i)).getTenantId()); } } return getUniqueItem(proposedTenantId, similarTenantIdList); }
From source file:com.jaspersoft.jasperserver.api.metadata.tenant.service.impl.TenantServiceImpl.java
License:Open Source License
@Transactional(propagation = Propagation.REQUIRED) public String getUniqueTenantAlias(String proposedAlias) { List similarAliasesAndTenantIdList; DetachedCriteria criteria = DetachedCriteria.forClass(persistentTenantClass()); criteria.add(Restrictions.like("tenantAlias", proposedAlias + "%").ignoreCase()); criteria.getExecutableCriteria(getSession()).setCacheable(true); List tenantAliasesList = getHibernateTemplate().findByCriteria(criteria); if (tenantAliasesList.isEmpty()) { similarAliasesAndTenantIdList = Collections.emptyList(); } else {/* ww w.j a v a 2 s . com*/ similarAliasesAndTenantIdList = new ArrayList(tenantAliasesList.size()); for (int i = 0; i < tenantAliasesList.size(); i++) { similarAliasesAndTenantIdList.add(((RepoTenant) tenantAliasesList.get(i)).getTenantAlias()); } } criteria = DetachedCriteria.forClass(persistentTenantClass()); criteria.add(Restrictions.like("tenantId", proposedAlias + "%")); criteria.getExecutableCriteria(getSession()).setCacheable(true); List tenantIdsList = getHibernateTemplate().findByCriteria(criteria); if (!tenantIdsList.isEmpty()) { if (similarAliasesAndTenantIdList.isEmpty()) { similarAliasesAndTenantIdList = new ArrayList(tenantIdsList.size()); } for (int i = 0; i < tenantIdsList.size(); i++) { similarAliasesAndTenantIdList.add(((RepoTenant) tenantIdsList.get(i)).getTenantId()); } } // Alias should be unique among all tenant IDs and tenant aliases. return getUniqueItem(proposedAlias, similarAliasesAndTenantIdList); }
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 ww w.ja v a 2 s . c o 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.tenant.service.impl.TenantServiceImpl.java
License:Open Source License
private DetachedCriteria createSearchTenantsCriteria(String parentTenantId, String text) { DetachedCriteria criteria = DetachedCriteria.forClass(persistentTenantClass()); criteria.createAlias("parent", "p"); criteria.add(Restrictions.naturalId().set("p.tenantId", parentTenantId)); if (text != null) { text = databaseCharactersEscapeResolver.getEscapedText(text.trim()); if (text.length() > 0) { Disjunction disjunction = Restrictions.disjunction(); // disjunction.add(Restrictions.ilike("tenantId", "%" + text + "%")); // disjunction.add(Restrictions.ilike("tenantAlias", "%" + text + "%")); // disjunction.add(Restrictions.ilike("tenantName", "%" + text + "%")); // disjunction.add(Restrictions.ilike("tenantDesc", "%" + text + "%")); disjunction.add(new IlikeEscapeAwareExpression("tenantId", text, MatchMode.ANYWHERE)); disjunction.add(new IlikeEscapeAwareExpression("tenantAlias", text, MatchMode.ANYWHERE)); disjunction.add(new IlikeEscapeAwareExpression("tenantName", text, MatchMode.ANYWHERE)); disjunction.add(new IlikeEscapeAwareExpression("tenantDesc", text, MatchMode.ANYWHERE)); criteria.add(disjunction);//from w ww .j a v a 2s . c om } } return criteria; }
From source file:com.jaspersoft.jasperserver.api.metadata.tenant.service.impl.TenantServiceImpl.java
License:Open Source License
public Map<String, Integer> getSubTenantsCountMap(List<String> tenantIds) { if (tenantIds == null || tenantIds.size() == 0) { return Collections.emptyMap(); }//from ww w.j ava2 s. c o m DetachedCriteria criteria = DetachedCriteria.forClass(persistentTenantClass()); criteria.createAlias("parent", "p"); criteria.add(Restrictions.in("p.tenantId", tenantIds)); criteria.setProjection(Projections.projectionList().add(Projections.rowCount()) .add(Projections.groupProperty("p.tenantId"))); criteria.getExecutableCriteria(getSession()).setCacheable(true); List results = getHibernateTemplate().findByCriteria(criteria); Map<String, Integer> subTenantCounts = new HashMap<String, Integer>(tenantIds.size(), 1); if (results != null && results.size() > 0) { for (Object result : results) { String tenantId = (String) ((Object[]) result)[1]; Integer count = (Integer) ((Object[]) result)[0]; subTenantCounts.put(tenantId, count); } } for (String tenantId : tenantIds) { if (!subTenantCounts.containsKey(tenantId)) { subTenantCounts.put(tenantId, 0); } } return subTenantCounts; }
From source file:com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl.java
License:Open Source License
private DetachedCriteria createUserSearchCriteria(String username, RepoTenant tenant, boolean isCaseSensitive) { DetachedCriteria criteria = DetachedCriteria.forClass(getPersistentUserClass()); criteria.add( isCaseSensitive ? Restrictions.eq("username", username) : Restrictions.ilike("username", username)); criteria.add(Restrictions.eq("tenant", tenant)); criteria.getExecutableCriteria(getSession()).setCacheable(true); return criteria; }
From source file:com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl.java
License:Open Source License
protected RepoRole getRepoRole(String roleName, String tenantId) { RepoTenant tenant = getPersistentTenant(tenantId, false); if (tenant == null && !isNullTenant(tenantId)) { //if the requested tenant was not found, return null if (log.isDebugEnabled()) { log.debug("Tenant " + tenantId + " not found, returning null role"); }//w w w . j a v a2s . co m return null; } DetachedCriteria criteria = DetachedCriteria.forClass(getPersistentRoleClass()); if (tenant == null) { criteria.add(Restrictions.isNull("tenant")).add(Restrictions.eq("roleName", roleName)); } else { criteria.add(Restrictions.naturalId().set("tenant", tenant).set("roleName", roleName)); } List roleList = getHibernateTemplate().findByCriteria(criteria); RepoRole role = null; if (roleList.isEmpty()) { if (log.isDebugEnabled()) { log.debug("Role not found with role name \"" + roleName + "\"" + (tenantId == null ? "" : (", tenant \"" + tenantId + "\""))); } } else { role = (RepoRole) roleList.get(0); } return role; }
From source file:com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl.java
License:Open Source License
protected DetachedCriteria createTenantVisibleRolesCriteria(Set tenantIds, String name, boolean order) { DetachedCriteria criteria = DetachedCriteria.forClass(getPersistentRoleClass()); String roleNameField = "roleName"; addVisibleTenantCriteria(criteria, tenantIds); if (name != null) { name = databaseCharactersEscapeResolver.getEscapedText(name.trim()); if (name.length() > 0) { // Criterion roleNameCriterion = Restrictions.ilike(roleNameField, "%" // + name.trim() + "%"); // criteria.add(roleNameCriterion); criteria.add(new IlikeEscapeAwareExpression(roleNameField, name, MatchMode.ANYWHERE)); }//from ww w.j a v a2 s. com } if (order) { criteria.addOrder(Order.asc(roleNameField)); } return criteria; }
From source file:com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl.java
License:Open Source License
protected DetachedCriteria createAvailableRolesCriteria(String roleName, Set userRoles, String userName, boolean order) { DetachedCriteria criteria = DetachedCriteria.forClass(getPersistentRoleClass()); String roleNameField = "roleName"; String externallyDefinedField = "externallyDefined"; if (userRoles != null && userRoles.size() > 0) { List userRoleIdList = getRoleIdList(userRoles); criteria.add(Restrictions.not(Restrictions.in("id", userRoleIdList))); }/* w w w.j av a 2s. c om*/ Criterion roleNameCriterion = Restrictions.ilike(roleNameField, "%" + roleName.trim() + "%"); criteria.add(roleNameCriterion); criteria.add(Restrictions.eq(externallyDefinedField, Boolean.FALSE)); if (order) { criteria.addOrder(Order.asc(roleNameField)); } return criteria; }
From source file:com.jaspersoft.jasperserver.api.metadata.user.service.impl.UserAuthorityServiceImpl.java
License:Open Source License
protected List getRoleIdList(Set roleNames) { DetachedCriteria criteria = DetachedCriteria.forClass(getPersistentRoleClass()); if (roleNames != null && roleNames.size() > 0) { criteria.add(Restrictions.in("roleName", roleNames)); } else {/*from w ww . j ava2 s .c o m*/ return new ArrayList(); } criteria.setProjection(Projections.id()); return getHibernateTemplate().findByCriteria(criteria); }