List of usage examples for org.hibernate.criterion Junction toString
@Override
public String toString()
From source file:com.ihsolution.hqipo.dao.utils.QueryHelper.java
License:Open Source License
/** * convert the InputDTO to QueryHelper to get the count (omitting sort order) *///from ww w . ja v a2s . com @SuppressWarnings("deprecation") public QueryHelper convertDtoToQhelperForCount(InputDTO dto) { if (dto == null) return this; this.dto = dto; int ind = 0; try { Junction j = null; Junction conj = Restrictions.conjunction(); Junction disj = Restrictions.disjunction(); String operator = ""; boolean disjB = false, conjB = false; if (dto.getFetchMode() != null) { for (Map.Entry<String, String> entry : dto.getFetchMode().entrySet()) { FetchMode fmode = null; logger.debug("FetchMode key=" + entry.getKey() + " val=" + entry.getValue()); if (entry.getValue().equals("join")) fmode = FetchMode.JOIN; else if (entry.getValue().equals("eager")) fmode = FetchMode.EAGER; else if (entry.getValue().equals("lazy")) fmode = FetchMode.LAZY; else fmode = FetchMode.LAZY; this.detCriteria.setFetchMode(entry.getKey(), fmode); } } for (String field : dto.getFields()) { operator = dto.getOperators().get(ind); if ("or".equals(operator)) { j = disj; disjB = true; } else { j = conj; conjB = true; } this.addFieldAndVal(createAliases(field), dto.getValues().get(ind), dto.getOperations().get(ind), j); ind++; } if (dto.getExpressions() != null) { for (String expr : dto.getExpressions()) { j.add(Expression.sql(expr)); } } if (dto.getFieldsToSelect() != null && dto.getFieldsToSelect().length > 0) { ProjectionList prList = Projections.projectionList(); Projection projection = null; for (String fld : dto.getFieldsToSelect()) { String als = this.createAliases(fld); prList.add(Projections.property(als)); } if (dto.isDistinct()) { projection = Projections.distinct(prList); } else { projection = prList; } this.detCriteria.setProjection(projection); } else { this.fldSelectedSet = false; } if (disjB) detCriteria.add(disj); if (conjB) detCriteria.add(conj); if (logger.isDebugEnabled()) { if (conjB) logger.debug("conjuction=" + conj.toString()); if (disjB) logger.debug("disjunction=" + disj.toString()); } if (dto.isDistinct()) detCriteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); } catch (Exception e) { e.printStackTrace(); logger.error(e); } return this; }
From source file:org.infoglue.calendar.controllers.EntryController.java
License:Open Source License
/** * Gets a list of all entrys available sorted by primary key. * @return List of Entry//w ww .jav a 2s. co m * @throws Exception */ public Set getEntryList(String userName, List roles, List groups, Long[] eventId, String firstName, String lastName, String email, boolean onlyFutureEvents, Map selectedCategoryAttributes, boolean andSearch, Session session) throws Exception { List result = null; Criteria criteria = session.createCriteria(Entry.class); Criteria eventCriteria = criteria.createCriteria("event"); Criteria calendarCriteria = eventCriteria.createCriteria("owningCalendar"); calendarCriteria.createCriteria("owningRoles").add(Expression.in("name", roles.toArray())); if (groups.size() > 0) calendarCriteria.createCriteria("owningGroups").add(Expression.in("name", groups.toArray())); if (onlyFutureEvents) eventCriteria.add(Expression.gt("endDateTime", java.util.Calendar.getInstance())); if (selectedCategoryAttributes != null && selectedCategoryAttributes.size() > 0) { Criteria eventCategoriesCriteria = eventCriteria.createCriteria("eventCategories"); Criteria categoryAttributesCriteria = eventCategoriesCriteria .createCriteria("eventTypeCategoryAttribute"); Criteria categoryCriteria = eventCategoriesCriteria.createCriteria("category"); Junction junction = Restrictions.disjunction(); if (andSearch) junction = Restrictions.conjunction(); eventCategoriesCriteria.add(junction); Iterator selectedCategoryAttributesIterator = selectedCategoryAttributes.keySet().iterator(); while (selectedCategoryAttributesIterator.hasNext()) { String id = (String) selectedCategoryAttributesIterator.next(); Long[] categories = (Long[]) selectedCategoryAttributes.get(id); log.info("id:" + id); log.info("categories:" + categories); if (categories != null) { Criterion e1 = Restrictions.eq("eventTypeCategoryAttribute.id", new Long(id)); Criterion e2 = Restrictions.in("category.id", categories); Criterion criterion = Restrictions.and(e1, e2); junction.add(criterion); } } log.info("junction:" + junction.toString()); } // if(eventId != null) // eventCriteria.add(Restrictions.idEq(eventId)); if (eventId != null && eventId.length > 0 && eventId[0] != null) eventCriteria.add(Restrictions.in("id", eventId)); if (firstName != null && firstName.length() != 0) criteria.add(Restrictions.like("firstName", firstName)); if (lastName != null && lastName.length() != 0) criteria.add(Restrictions.like("lastName", lastName)); if (email != null && email.length() != 0) criteria.add(Restrictions.like("email", email)); criteria.addOrder(Order.asc("id")); Set set = new LinkedHashSet(); set.addAll(criteria.list()); return set; }