Java Examples for org.hibernate.criterion.Criterion
The following java examples will help you to understand the usage of org.hibernate.criterion.Criterion. These source code samples are taken from different open source projects.
Example 1
| Project: Lemo-Data-Management-Server-master File: CriteriaHelper.java View source code |
@SuppressWarnings("rawtypes")
public static org.hibernate.criterion.Criterion in(String propertyName, Collection<?> values) {
org.hibernate.criterion.Criterion criterion = null;
@SuppressWarnings("unchecked") List<?> l = new ArrayList(values);
int listSize = l.size();
for (int i = 0; i < l.size(); i += MAX) {
List<?> subList;
if (listSize > i + MAX) {
subList = l.subList(i, (i + MAX));
} else {
subList = l.subList(i, listSize);
}
if (criterion != null) {
criterion = Restrictions.or(criterion, Restrictions.in(propertyName, subList));
} else {
criterion = Restrictions.in(propertyName, subList);
}
}
return criterion;
}Example 2
| Project: lemo2-master File: CriteriaHelper.java View source code |
@SuppressWarnings("rawtypes")
public static org.hibernate.criterion.Criterion in(String propertyName, Collection<?> values) {
org.hibernate.criterion.Criterion criterion = null;
@SuppressWarnings("unchecked") List<?> l = new ArrayList(values);
int listSize = l.size();
for (int i = 0; i < l.size(); i += MAX) {
List<?> subList;
if (listSize > i + MAX) {
subList = l.subList(i, (i + MAX));
} else {
subList = l.subList(i, listSize);
}
if (criterion != null) {
criterion = Restrictions.or(criterion, Restrictions.in(propertyName, subList));
} else {
criterion = Restrictions.in(propertyName, subList);
}
}
return criterion;
}Example 3
| Project: FireflowEngine20-master File: AbsPersisterHibernateImpl.java View source code |
public Object doInHibernate(Session session) throws HibernateException, SQLException {
Criteria criteria = session.createCriteria(entityClass);
if (isConnectToActivityInstance(q)) {
criteria.createAlias("activityInstance", "activityInstance");
}
List<? extends org.fireflow.client.query.Criterion> fireCriterions = q.getAllCriterions();
if (fireCriterions != null && fireCriterions.size() > 0) {
for (org.fireflow.client.query.Criterion fireCriterion : fireCriterions) {
org.hibernate.criterion.Criterion hibernateCriterion = PersisterUtils.fireCriterion2HibernateCriterion(fireCriterion);
criteria.add(hibernateCriterion);
}
}
List<org.fireflow.client.query.Order> fireOrders = q.getAllOrders();
if (fireOrders != null && fireOrders.size() > 0) {
for (org.fireflow.client.query.Order fireOrder : fireOrders) {
org.hibernate.criterion.Order hibernateOrder = PersisterUtils.fireOrder2HibernateOrder(fireOrder);
criteria.addOrder(hibernateOrder);
}
}
if (q.getPageNumber() > 0) {
int pageSize = q.DEFAULT_PAGE_SIZE;
if (q.getPageSize() > 0) {
pageSize = q.getPageSize();
}
int first = (q.getPageNumber() - 1) * pageSize;
//从0开始计数;
criteria.setFirstResult(//从0开始计数;
first);
criteria.setMaxResults(pageSize);
}
return criteria.list();
}Example 4
| Project: AIDR-master File: TaskManagerBean.java View source code |
/** * Gets a new task from the task repository * based on specified criterion */ @Override public DocumentDTO getNewTask(Long crisisID, Criterion criterion) { Criterion newCriterion = null; try { if (criterion != null) { newCriterion = Restrictions.conjunction().add(criterion).add(Restrictions.eq("collection.id", crisisID)).add(Restrictions.eq("hasHumanLabels", false)); } else { newCriterion = Restrictions.conjunction().add(Restrictions.eq("collection.id", crisisID)).add(Restrictions.eq("hasHumanLabels", false)); } Document document = remoteDocumentEJB.getByCriteria(newCriterion); //logger.debug("New task: " + document); if (document != null && !isTaskAssigned(document)) { logger.info("New task: " + document.getDocumentId()); return new DocumentDTO(document); } } catch (Exception e) { logger.error("Error in getting new Task for crisisID: " + crisisID); } return null; }
Example 5
| Project: ese-master File: PalletDAO.java View source code |
public List<PalletModel> findChang(int statusId, int warehouse, int conveyorLine, int location, String keyItemDescription, int combine, int foil) {
log.debug("findChang(). statusId {}, warehouse {}, conveyorLine {}, location {}, keyItemDescription {}, combine {}, foil {}", statusId, warehouse, conveyorLine, location, keyItemDescription, combine, foil);
List<PalletModel> palletModelList = Utils.getEmptyList();
try {
Criteria criteria = getSession().createCriteria(PalletModel.class, "p");
if (!Utils.isZero(warehouse)) {
criteria.add(Restrictions.eq("msWarehouseModel.id", warehouse));
}
if (!Utils.isZero(conveyorLine)) {
criteria.add(Restrictions.eq("msWorkingAreaModel.id", conveyorLine));
}
if (!Utils.isZero(location)) {
criteria.add(Restrictions.eq("msLocationModel.id", location));
}
if (combine == 1 && statusId == 1) {
criteria.add(Restrictions.eq("isCombine", combine));
}
if (foil != 0 && statusId == 1) {
criteria.add(Restrictions.eq("isFoil", foil));
}
if (!Utils.isNull(keyItemDescription) && !"".equalsIgnoreCase(keyItemDescription)) {
criteria.createAlias("p.msItemModel", "c");
Criterion itemDes = Restrictions.like("c.dSGThaiItemDescription", "%" + keyItemDescription.trim() + "%");
criteria.createAlias("p.msLocationModel", "d");
Criterion locationBarcode = Restrictions.like("d.locationBarcode", "%" + keyItemDescription.trim() + "%");
criteria.add(Restrictions.or(itemDes, locationBarcode));
}
if (statusId == 0) {
criteria.add(Restrictions.eq("status", 2));
} else if (statusId == 2) {
criteria.add(Restrictions.lt("status", 3));
} else if (statusId == 3) {
criteria.add(Restrictions.eq("qty", 0));
}
criteria.add(Restrictions.ne("status", 6));
criteria.add(Restrictions.eq("isValid", 1));
criteria.addOrder(Order.desc("updateDate"));
palletModelList = Utils.safetyList(criteria.list());
log.debug("findOnloadPallet Size : {}", palletModelList.size());
return palletModelList;
} catch (Exception e) {
log.debug("Exception : {}", e);
return palletModelList;
}
}Example 6
| Project: ListaExercicio-master File: DisciplinaDaoTest.java View source code |
@Test
public void salvaDisciplinaRetornaErroQuandoJahExisteUmaComOMesmoNome() {
when(disciplina.getNome()).thenReturn("Lab XP");
when(session.createCriteria(Disciplina.class)).thenReturn(criteria);
when(criteria.list()).thenReturn(Arrays.asList(disciplina));
when(criteria.add(any(Criterion.class))).thenReturn(criteria);
DisciplinaDao dao = new DisciplinaDao(session);
dao.salvaDisciplina(disciplina);
verify(session, never()).save(anyObject());
}Example 7
| Project: ALP-master File: QueryTranslator.java View source code |
private Criterion translate(String propertyName, Query exp) throws QueryTranslatorException { if (exp instanceof Word) { String value = "%" + ((Word) exp).getValue() + "%"; return Restrictions.like(propertyName, value); } else if (exp instanceof SQLLike) { String value = ((SQLLike) exp).getValue(); return Restrictions.like(propertyName, value); } else if (exp instanceof Or) { Criterion left = translate(propertyName, ((Or) exp).getLeft()); Criterion right = translate(propertyName, ((Or) exp).getRight()); return Restrictions.or(left, right); } throw new QueryTranslatorException("Unknown query type: " + propertyName + ", " + exp.getClass()); }
Example 8
| Project: candlepin-master File: PoolCurator.java View source code |
@SuppressWarnings("checkstyle:indentation")
private Criterion addAttributeFilterSubquery(String key, Collection<String> values) {
// key = this.sanitizeMatchesFilter(key);
// Find all pools which have the given attribute (and values) on a product, unless the pool
// defines that same attribute
DetachedCriteria poolAttrSubquery = DetachedCriteria.forClass(Pool.class, "PoolI").createAlias("PoolI.attributes", "attrib").setProjection(Projections.id()).add(Property.forName("Pool.id").eqProperty("PoolI.id")).add(Restrictions.eq("attrib.indices", key));
// Impl note:
// The SQL restriction below uses some Hibernate magic value to get the pool ID from the
// outer-most query. We can't use {alias} here, since we're basing the subquery on Product
// instead of Pool to save ourselves an unnecessary join. Similarly, we use an SQL
// restriction here because we can query the information we need, hitting only one table
// with direct SQL, whereas the matching criteria query would end up requiring a minimum of
// one join to get from pool to pool attributes.
DetachedCriteria prodAttrSubquery = DetachedCriteria.forClass(Product.class, "ProdI").createAlias("ProdI.attributes", "attrib").setProjection(Projections.id()).add(Property.forName("Product.uuid").eqProperty("ProdI.uuid")).add(Restrictions.eq("attrib.indices", key)).add(Restrictions.sqlRestriction("NOT EXISTS (SELECT poolattr.pool_id FROM cp_pool_attribute poolattr " + "WHERE poolattr.pool_id = this_.id AND poolattr.name = ?)", key, StringType.INSTANCE));
if (values != null && !values.isEmpty()) {
Disjunction poolAttrValueDisjunction = Restrictions.disjunction();
Disjunction prodAttrValueDisjunction = Restrictions.disjunction();
for (String attrValue : values) {
if (attrValue == null || attrValue.isEmpty()) {
poolAttrValueDisjunction.add(Restrictions.isNull("attrib.elements")).add(Restrictions.eq("attrib.elements", ""));
prodAttrValueDisjunction.add(Restrictions.isNull("attrib.elements")).add(Restrictions.eq("attrib.elements", ""));
} else {
attrValue = this.sanitizeMatchesFilter(attrValue);
poolAttrValueDisjunction.add(CPRestrictions.ilike("attrib.elements", attrValue, '!'));
prodAttrValueDisjunction.add(CPRestrictions.ilike("attrib.elements", attrValue, '!'));
}
}
poolAttrSubquery.add(poolAttrValueDisjunction);
prodAttrSubquery.add(prodAttrValueDisjunction);
}
return Restrictions.or(Subqueries.exists(poolAttrSubquery), Subqueries.exists(prodAttrSubquery));
}Example 9
| Project: chantier-master File: CommandesDAOImpl.java View source code |
public Collection<CommandesEntity> findByCriterions(ClientsEntity clientsEntity, Order order, Criterion simpleExpression, Date date) {
Criteria crit = getSession().createCriteria(getPersistentClass());
if (order != null) {
crit.addOrder(order);
}
if (simpleExpression != null) {
crit.add(simpleExpression);
}
if (clientsEntity != null) {
crit.add(Restrictions.eq("clientsByClientId.clientId", clientsEntity.getClientId()));
} else {
if (date != null) {
Calendar cal = new GregorianCalendar();
cal.setTime(date);
int mois = cal.get(Calendar.MONTH) + 1;
String moisString = (mois > 9) ? mois + "" : "0" + mois;
crit.add(Restrictions.sqlRestriction("Command_date LIKE '" + cal.get(Calendar.YEAR) + "-" + moisString + "%'"));
}
}
return new LinkedHashSet(crit.list());
}Example 10
| Project: exit-web-framework-master File: BasicHibernateDao.java View source code |
/**
* æ ¹æ?®Criterionå?¯å?˜æ•°ç»„创建DetachedCriteria对象
*
* @param persistentClass orm实体class
* @param orderBy 排åº?表达å¼?,规则为:属性å??ç§°_排åº?规则,如:property_asc或property_desc,å?¯ä»¥æ”¯æŒ?多个属性排åº?,用逗å?·åˆ†å‰²,如:"property1_asc,proerty2_desc",也å?¯ä»¥"property"ä¸?åŠ æŽ’åº?规则时默认是desc
* @param criterions ��长度的Criterion数组
*
* @return @return {@link DetachedCriteria}
*/
protected DetachedCriteria createDetachedCriteria(Class<?> persistentClass, String orderBy, Criterion... criterions) {
DetachedCriteria criteria = DetachedCriteria.forClass(persistentClass);
for (Criterion criterion : criterions) {
criteria.add(criterion);
}
;
CriteriaImpl criteriaImpl = ReflectionUtils.getFieldValue(criteria, "impl");
setOrderToCriteria(criteriaImpl, orderBy);
return criteria;
}Example 11
| Project: helium-master File: ExpedientDao.java View source code |
public List<Expedient> findAmbEntornLikeIdentificador(Long entornId, String text) {
Criterion[] criteris = new Criterion[2];
criteris[0] = Restrictions.ilike("titol", "%" + text + "%");
criteris[1] = Restrictions.ilike("numero", "%" + text + "%");
return findOrderedByCriteria(new String[] { "numero", "titol" }, true, Restrictions.eq("entorn.id", entornId), Restrictions.or(Restrictions.ilike("titol", "%" + text + "%"), Restrictions.ilike("numero", "%" + text + "%")));
}Example 12
| Project: jshoperx-master File: OrderTAction.java View source code |
/**
* æ ¹æ?®è®¢å?•ç¼–å?·æŸ¥è¯¢è®¢å?•
*
* @param orderid
*/
public void findOrderInfoByorderid(String orderid) {
int currentPage = page;
int lineSize = rp;
Criterion criterion = Restrictions.eq("orderid", orderid);
Order order = Order.desc("createtime");
total = this.orderTService.count(OrderT.class, criterion).intValue();
List<OrderT> list = this.orderTService.findByCriteriaByPage(OrderT.class, criterion, order, currentPage, lineSize);
this.processOrderList(list);
}Example 13
| Project: Metanome-master File: AlgorithmResource.java View source code |
/**
* Lists all algorithms from the database that implement a certain interface, or all if algorithm
* class is null.
*
* @param algorithmClass the implemented algorithm interface.
* @return the algorithms
* @throws de.metanome.backend.results_db.EntityStorageException if algorithms could not be listed
*/
@SuppressWarnings("unchecked")
protected List<Algorithm> listAlgorithms(Class<?>... algorithmClass) throws EntityStorageException {
// Cannot directly use array, as some interfaces might not be relevant for query.
ArrayList<Criterion> criteria = new ArrayList<>(algorithmClass.length);
Set<Class<?>> interfaces = new HashSet<>(Arrays.asList(algorithmClass));
if (interfaces.contains(InclusionDependencyAlgorithm.class)) {
criteria.add(Restrictions.eq("ind", true));
}
if (interfaces.contains(FunctionalDependencyAlgorithm.class)) {
criteria.add(Restrictions.eq("fd", true));
}
if (interfaces.contains(UniqueColumnCombinationsAlgorithm.class)) {
criteria.add(Restrictions.eq("ucc", true));
}
if (interfaces.contains(ConditionalUniqueColumnCombinationAlgorithm.class)) {
criteria.add(Restrictions.eq("cucc", true));
}
if (interfaces.contains(OrderDependencyAlgorithm.class)) {
criteria.add(Restrictions.eq("od", true));
}
if (interfaces.contains(MultivaluedDependencyAlgorithm.class)) {
criteria.add(Restrictions.eq("mvd", true));
}
if (interfaces.contains(BasicStatisticsAlgorithm.class)) {
criteria.add(Restrictions.eq("basicStat", true));
}
return (List<Algorithm>) HibernateUtil.queryCriteria(Algorithm.class, criteria.toArray(new Criterion[criteria.size()]));
}Example 14
| Project: abiquo-master File: IpPoolManagementDAO.java View source code |
/**
* Return a single {@link IpPoolManagement}
*
* @param vlan {@link VLANNetwork} oject which the Ip should belong to.
* @param ipId identifier of the Ip.
* @return the found object.
*/
public IpPoolManagement findIp(final VLANNetwork vlan, final Integer ipId) {
Criteria criteria = getSession().createCriteria(IpPoolManagement.class);
Criterion vlanEqual = Restrictions.eq(IpPoolManagement.VLAN_NETWORK_PROPERTY, vlan);
Criterion ipEqual = Restrictions.eq(PersistentEntity.ID_PROPERTY, ipId);
criteria.add(vlanEqual).add(ipEqual);
return (IpPoolManagement) criteria.uniqueResult();
}Example 15
| Project: cmestemp22-master File: GetOrganizationsByIdsDbMapper.java View source code |
/**
* Looks in cache for the necessary DTOs and returns them if found. Otherwise, makes a database call, puts them in
* cache, and returns them.
*
* @param ids
* the list of ids that should be found.
* @return list of DTO objects.
*/
@SuppressWarnings("unchecked")
public List<OrganizationModelView> execute(final List<Long> ids) {
if (ids == null || ids.size() == 0) {
return new ArrayList<OrganizationModelView>();
}
Criteria criteria = getHibernateSession().createCriteria(Organization.class);
ProjectionList fields = Projections.projectionList();
fields.add(getColumn("id"));
fields.add(Projections.property("parentOrganization.id").as("parentOrganizationId"));
fields.add(getColumn("description"));
fields.add(getColumn("name"));
fields.add(getColumn("shortName"));
fields.add(getColumn("childOrganizationCount"));
fields.add(getColumn("descendantGroupCount"));
fields.add(getColumn("descendantEmployeeCount"));
fields.add(Projections.property("employeeFollowerCount").as("followersCount"));
fields.add(getColumn("updatesCount"));
fields.add(getColumn("overview"));
fields.add(Projections.property("stream.id").as("streamId"));
fields.add(getColumn("bannerId"));
fields.add(getColumn("url"));
fields.add(getColumn("allUsersCanCreateGroups"));
fields.add(getColumn("avatarId"));
fields.add(getColumn("avatarCropSize"));
fields.add(getColumn("avatarCropX"));
fields.add(getColumn("avatarCropY"));
criteria.setProjection(fields);
criteria.createAlias("streamScope", "stream");
// Creates the necessary "OR" clauses to get all uncached items
Criterion restriction = null;
for (Long orgId : ids) {
if (restriction == null) {
restriction = Restrictions.eq("this.id", orgId);
} else {
restriction = Restrictions.or(Restrictions.eq("this.id", orgId), restriction);
}
}
criteria.add(restriction);
ModelViewResultTransformer<OrganizationModelView> //
resultTransformer = new ModelViewResultTransformer<OrganizationModelView>(new OrganizationModelViewFactory());
criteria.setResultTransformer(resultTransformer);
return criteria.list();
}Example 16
| Project: fiware-sdc-master File: TaskDaoJpaImpl.java View source code |
/**
* {@inheritDoc}
*/
@SuppressWarnings("unchecked")
@Override
public List<Task> findByCriteria(TaskSearchCriteria criteria) {
Session session = (Session) getEntityManager().getDelegate();
Criteria baseCriteria = session.createCriteria(Task.class);
if (!StringUtils.isEmpty(criteria.getVdc())) {
baseCriteria.add(Restrictions.eq("vdc", criteria.getVdc()));
}
if (criteria.getStates() != null && !criteria.getStates().isEmpty()) {
Criterion statusCr = null;
for (TaskStates states : criteria.getStates()) {
statusCr = addStatus(statusCr, states);
}
baseCriteria.add(statusCr);
}
if (criteria.getFromDate() != null) {
baseCriteria.add(Restrictions.ge("startTime", criteria.getFromDate()));
}
if (criteria.getToDate() != null) {
baseCriteria.add(Restrictions.le("startTime", criteria.getToDate()));
}
if (!StringUtils.isEmpty(criteria.getResource())) {
baseCriteria.add(Restrictions.eq("result.href", criteria.getResource()));
}
if (!StringUtils.isEmpty(criteria.getOwner())) {
baseCriteria.add(Restrictions.eq("owner.href", criteria.getOwner()));
}
return setOptionalPagination(criteria, baseCriteria).list();
}Example 17
| Project: hibernate-orm-master File: TestSpatialRestrictions.java View source code |
@Test
public void within() throws SQLException {
if (!isSupportedByDialect(SpatialFunction.within)) {
return;
}
Map<Integer, Boolean> dbexpected = expectationsFactory.getWithin(expectationsFactory.getTestPolygon());
Criterion spatialCriterion = SpatialRestrictions.within("geom", expectationsFactory.getTestPolygon());
retrieveAndCompare(dbexpected, spatialCriterion);
}Example 18
| Project: MavenOneCMDB-master File: QueryHandler.java View source code |
protected QueryExpression getExpression(GraphQuery query, ItemSelector selector) {
// OffspringItemSelector
// RelationItemSelector
// Convert the selector to an expression.
QueryExpression queryExpr = new QueryExpression();
// Find Template...
ICi template = selector.fetchTemplate();
if (selector.hasTemplate()) {
if (template == null) {
ItemExpression item = new ItemExpression();
item.setAlias(selector.getTemplateAlias());
List<ICi> cis = msvc.queryCrtiteria(item.getCriteria(), new PageInfo());
if (cis.size() != 1) {
throw new IllegalArgumentException("ItemSelector's template '" + selector.getTemplateAlias() + "' not found!");
}
template = cis.get(0);
selector.bindTemplate(template);
}
}
DetachedCriteria resultCrit = null;
if (selector instanceof ItemOffspringSelector) {
OffspringExpression expr = new OffspringExpression();
// Lookup for alias.
if (template != null) {
expr.setTemplatePath(template.getTemplatePath());
expr.setTemplateID(template.getId().asLong());
}
expr.setMatchTemplate(((ItemOffspringSelector) selector).getMatchTemplate());
expr.setLimitToChild(((ItemOffspringSelector) selector).isLimitToChild());
resultCrit = expr.getCriteria();
} else if (selector instanceof ItemAliasSelector) {
// Validate...
if (((ItemAliasSelector) selector).getAlias() == null && ((ItemAliasSelector) selector).getAliases() == null) {
queryExpr.empty = true;
return (queryExpr);
}
if (((ItemAliasSelector) selector).getAlias() == null) {
if (((ItemAliasSelector) selector).getAliases().size() == 0) {
queryExpr.empty = true;
return (queryExpr);
}
}
ItemExpression aliasExpr = new ItemExpression();
aliasExpr.setAlias(((ItemAliasSelector) selector).getAlias());
aliasExpr.setAliases(((ItemAliasSelector) selector).getAliases());
resultCrit = aliasExpr.getCriteria();
} else if (selector instanceof ItemRFCSelector) {
RFCExpression rfcExpr = new RFCExpression();
rfcExpr.setType(selector.getTemplateAlias());
rfcExpr.setTxId(((ItemRFCSelector) selector).getTxId());
resultCrit = rfcExpr.getCriteria();
} else if (selector instanceof ItemTransactionSelector) {
TransactionExpression transactionExpr = new TransactionExpression();
transactionExpr.setTxid(((ItemTransactionSelector) selector).getTxId());
resultCrit = transactionExpr.getCriteria();
} else if (selector instanceof ItemRelationSelector) {
RelationExpression expr = new RelationExpression();
ItemRelationSelector rel = (ItemRelationSelector) selector;
if (rel.getSourceRange() != null) {
if (rel.getSourceRange().size() == 0) {
log.info("RelationSelector[" + rel.getId() + "] SourceRange Empty!");
queryExpr.empty = true;
return (queryExpr);
}
expr.setSourceIds(rel.getSourceRange());
} else {
ItemSelector sourceSel = query.findSelector(rel.getSource());
if (sourceSel == null) {
throw new IllegalArgumentException("RelationSelector[" + rel.getId() + "] source id[" + rel.getSource() + "] not found.");
}
QueryExpression sExpr = getExpression(query, sourceSel);
if (sExpr.empty) {
queryExpr.empty = sExpr.empty;
return (queryExpr);
}
expr.setSource(sExpr.criteria);
}
if (rel.getTargetRange() != null) {
if (rel.getTargetRange().size() == 0) {
log.info("RelationSelector[" + rel.getId() + "] TargetRange Empty!");
queryExpr.empty = true;
return (queryExpr);
}
expr.setTargetIds(rel.getTargetRange());
} else {
ItemSelector targetSel = query.findSelector(rel.getTarget());
if (targetSel == null) {
throw new IllegalArgumentException("RelationSelector[" + rel.getId() + "] target id[" + rel.getTarget() + "] not found.");
}
QueryExpression tExpr = getExpression(query, targetSel);
if (tExpr.empty) {
queryExpr.empty = tExpr.empty;
return (queryExpr);
}
expr.setTarget(tExpr.criteria);
}
resultCrit = expr.getCriteria();
} else {
throw new IllegalArgumentException("ItemSelector type [" + selector.getClass().getName() + "] is not supported!");
}
ItemConstraint constraint = selector.fetchConstraint();
if (constraint != null) {
Criterion crit = getConstraint2(query, constraint);
if (crit == null) {
queryExpr.empty = true;
} else {
resultCrit.add(crit);
}
}
queryExpr.criteria = resultCrit;
return (queryExpr);
}Example 19
| Project: rsql-hibernate-master File: RSQL2CriteriaConverterImpl.java View source code |
/**
* Delegate given expression instance to
* {@link #createCriterion(LogicalExpression)} or
* {@link #createCriterion(ComparisonExpression)} according to its type.
*
* @param expression Instance of {@link LogicalExpression} or
* {@link ComparisonExpression}.
* @return Criterion
* @throws RSQLException
* @throws IllegalArgumentException If cannot be cast to
* {@link LogicalExpression} nor {@link ComparisonExpression}.
*/
private Criterion createCriterion(Expression expression) throws RSQLException, IllegalArgumentException {
LOG.trace("Creating criterion for: {}", expression);
if (expression.isLogical()) {
return createCriterion((LogicalExpression) expression);
}
if (expression.isComparison()) {
return createCriterion((ComparisonExpression) expression);
}
throw new IllegalArgumentException("Unknown expression type: " + expression.getClass());
}Example 20
| Project: rSYBL-master File: GenericHibernateDAO.java View source code |
@SuppressWarnings("all")
protected List<T> findByCriteria(Criterion... criterion) {
List<T> result = new LinkedList<T>();
Criteria crit = getSession().createCriteria(getPersistentClass());
crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
for (Criterion c : criterion) {
crit.add(c);
}
for (Object o : crit.list()) {
result.add((T) o);
}
return result;
}Example 21
| Project: EasySOA-Incubation-master File: GenericEntityDaoImpl.java View source code |
/* (non-Javadoc)
* @see com.axxx.dps.apv.persistence.GenericEntityDao#list(java.lang.Class, org.hibernate.criterion.Criterion, org.hibernate.criterion.Order, java.lang.Integer, java.lang.Integer)
*/
@Override
@SuppressWarnings("unchecked")
public List<T> list(Class<? extends T> objectClass, Criterion filter, Order order, Integer limit, Integer offset) {
List<T> entities = new LinkedList<T>();
try {
Criteria criteria = buildCriteria(objectClass, null, filter, order, limit, offset);
entities = criteria.list();
if (order == null) {
Collections.sort(entities);
}
return entities;
} catch (DataAccessException e) {
return entities;
}
}Example 22
| Project: opennms_dashboard-master File: DefaultSurveillanceService.java View source code |
private List<Notification> getNotificationsWithCriterion(SurveillanceSet set, String severity, Criterion... criterions) { OnmsCriteria criteria = new OnmsCriteria(OnmsNotification.class, "notification"); OnmsCriteria nodeCriteria = criteria.createCriteria("node"); addCriteriaForSurveillanceSet(nodeCriteria, set); nodeCriteria.add(Restrictions.ne("type", "D")); for (Criterion criterion : criterions) { criteria.add(criterion); } criteria.addOrder(Order.desc("notification.pageTime")); List<OnmsNotification> notifications = m_notificationDao.findMatching(criteria); return convertOnmsNotificationsToNotifications(notifications, severity); }
Example 23
| Project: agile-master File: IssueFilterPanel.java View source code |
@Override
public Criterion getAssignmentCriterion() {
switch(getAssignments()) {
case 1:
return Restrictions.eq("assignee.username", ((HeadsUpSession) org.apache.wicket.Session.get()).getUser().getUsername());
case 2:
return Restrictions.isNotNull("assignee");
case 3:
return Restrictions.isNull("assignee");
}
return null;
}Example 24
| Project: beanfuse-master File: CriterionUtils.java View source code |
/**
* 针对内建数æ?®ç±»åž‹å’Œæ—¥æœŸç±»åž‹æ·»åŠ æŸ¥è¯¢æ?¡ä»¶ å› ä¸ºå¾ˆå¤šä»Žé¡µé?¢å›žä¼ çš„""å—符串在转化æˆ?æ•°å—æ—¶ä¸º0,所以这里忽略0
*
* @param name
* @param value
* @param criterions
*/
private static void addPrimativeCriterion(String name, Object value, List criterions, boolean ignoreZero) {
Criterion criterion = null;
if (value instanceof Number) {
if (ignoreZero) {
if (0 != ((Number) value).intValue()) {
criterion = eqCriterion(name, value);
}
} else {
criterion = eqCriterion(name, value);
}
}
if ((value instanceof Character) || (value instanceof Boolean)) {
criterion = eqCriterion(name, value);
}
if ((value instanceof Date)) {
criterion = eqCriterion(name, value);
}
if (null != criterion) {
criterions.add(criterion);
}
}Example 25
| Project: clinic-softacad-master File: CriterionTest.java View source code |
@Test
public void testIlikeRendering() {
SessionFactory sf = new Configuration().addAnnotatedClass(IrrelevantEntity.class).setProperty(AvailableSettings.DIALECT, IlikeSupportingDialect.class.getName()).buildSessionFactory();
final Criteria criteria = sf.openSession().createCriteria(IrrelevantEntity.class);
final CriteriaQueryTranslator translator = new CriteriaQueryTranslator((SessionFactoryImplementor) sf, (CriteriaImpl) criteria, IrrelevantEntity.class.getName(), "a");
final Criterion ilikeExpression = Restrictions.ilike("name", "abc");
final String ilikeExpressionSqlFragment = ilikeExpression.toSqlString(criteria, translator);
assertEquals("a.name insensitiveLike ?", ilikeExpressionSqlFragment);
}Example 26
| Project: controle-financeiro-master File: MovementRepository.java View source code |
/**
*
* @param filter
* @param pageRequest
* @return
*/
@Override
public Page<Movement> listByFilter(MovementFilter filter, PageRequest pageRequest) {
final Criteria criteria = this.createCriteria();
final List<Criterion> criterions = new ArrayList<>();
criteria.createAlias("contact", "co", JoinType.LEFT_OUTER_JOIN);
criteria.createAlias("apportionments", "ap");
criteria.createAlias("ap.movementClass", "mc");
criteria.createAlias("ap.costCenter", "cc");
criteria.createAlias("financialPeriod", "fp");
// montramos os criterios de filtragem geral
if (filter.hasCriteria()) {
criterions.add(Restrictions.eq("code", filter.getCriteria()));
criterions.add(Restrictions.ilike("description", "%" + filter.getCriteria() + "%"));
criterions.add(Restrictions.ilike("mc.name", "%" + filter.getCriteria() + "%"));
criterions.add(Restrictions.ilike("cc.name", "%" + filter.getCriteria() + "%"));
criterions.add(Restrictions.ilike("co.name", "%" + filter.getCriteria() + "%"));
// se conseguir castar para bigdecimal trata como um filtro
try {
criterions.add(Restrictions.eq("value", filter.criteriaToBigDecimal()));
} catch (ParseException ex) {
}
}
criteria.add(Restrictions.or(criterions.toArray(new Criterion[] {})));
criteria.add(Restrictions.and(filter.getCustomFilters()));
// projetamos para pegar o total de paginas possiveis
criteria.setProjection(Projections.count("id"));
final Long totalRows = (Long) criteria.uniqueResult();
// limpamos a projection para que a criteria seja reusada
criteria.setProjection(null);
criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
// paginamos
criteria.setFirstResult(pageRequest.getFirstResult());
criteria.setMaxResults(pageRequest.getPageSize());
// aplica o multisort dos campos
if (pageRequest.isMultiSort()) {
pageRequest.getMultiSortFields().stream().forEach( field -> {
if (field.getDirection() == SortDirection.ASC) {
criteria.addOrder(Order.asc(field.getSortField()));
} else if (field.getDirection() == SortDirection.DESC) {
criteria.addOrder(Order.desc(field.getSortField()));
}
});
} else if (pageRequest.getSortDirection() == SortDirection.ASC) {
criteria.addOrder(Order.asc(pageRequest.getSortField()));
} else if (pageRequest.getSortDirection() == SortDirection.DESC) {
criteria.addOrder(Order.desc(pageRequest.getSortField()));
}
// montamos o resultado paginado
return new Page<>(criteria.list(), totalRows);
}Example 27
| Project: cryson-master File: CrysonRepositoryTest.java View source code |
private static Criteria givenCriteria() {
Criteria criteria = mock(Criteria.class);
when(criteria.add(any(Criterion.class))).thenReturn(criteria);
when(criteria.setResultTransformer(any(ResultTransformer.class))).thenReturn(criteria);
when(criteria.setCacheable(anyBoolean())).thenReturn(criteria);
return criteria;
}Example 28
| Project: eurekastreams-master File: GetIdsFromPointersDbMapper.java View source code |
/**
* Get the entity ids from their pointer values.
*
* @param inPointerValues
* the values of the pointers to look up ids for
* @return a Map of pointer values to Long entity ids
*/
@Override
public List<Long> execute(final List<PointerType> inPointerValues) {
if (inPointerValues == null || inPointerValues.isEmpty()) {
return new ArrayList<Long>();
}
Criteria criteria = getHibernateSession().createCriteria(entityClass);
ProjectionList fields = Projections.projectionList();
fields.add(Projections.property(pointerFieldName).as("key"));
fields.add(Projections.property("id").as("itemId"));
criteria.setProjection(fields);
// Creates the necessary "OR" clauses to get all uncached item pointers
Criterion restriction = null;
for (PointerType pointer : inPointerValues) {
if (restriction == null) {
restriction = Restrictions.eq(pointerFieldName, pointer);
} else {
restriction = Restrictions.or(Restrictions.eq(pointerFieldName, pointer), restriction);
}
}
criteria.add(restriction);
// Build the list of results
// Insure a 1-to-1 correspondence to the input pointers (same order and nulls for missing values)
// Note: results is a list of Object arrays. Each array contains the fields for the given row in the same order
// as they were added to the ProjectionList above.
List<Object[]> dbResults = criteria.list();
Map<PointerType, Long> dbIndex = new HashMap<PointerType, Long>();
for (Object[] row : dbResults) {
dbIndex.put((PointerType) row[0], (Long) row[1]);
}
List<Long> results = new ArrayList<Long>(inPointerValues.size());
for (PointerType key : inPointerValues) {
// Note: this automatically handles nulls for unknown elements
results.add(dbIndex.get(key));
}
return results;
}Example 29
| Project: FrontlineSMS-Reminders-master File: HibernateReminderDao.java View source code |
/** @see ReminderDao#getPendingReminders() */
public Collection<Reminder> getPendingReminders() {
DetachedCriteria criteria = super.getCriterion();
Criterion notSent = Restrictions.ne(Field.STATUS.getFieldName(), Reminder.Status.SENT);
Criterion isNull = Restrictions.isNull(Field.STATUS.getFieldName());
criteria.add(Restrictions.or(notSent, isNull));
return super.getList(criteria);
}Example 30
| Project: java-presentation-manager-master File: EntityFilter.java View source code |
protected Criterion getCompareCriterion(String fieldid, String fieldProperty, List<Object> values) {
Object value_0 = values.get(0);
switch(getFilterOperation(fieldid)) {
case LIKE:
if (value_0 instanceof String) {
return Restrictions.ilike(fieldProperty, "%" + value_0 + "%");
} else {
return Restrictions.eq(fieldProperty, value_0);
}
case BETWEEN:
return Restrictions.between(fieldProperty, value_0, values.get(1));
case GE:
return Restrictions.ge(fieldProperty, value_0);
case GT:
return Restrictions.gt(fieldProperty, value_0);
case LE:
return Restrictions.le(fieldProperty, value_0);
case LT:
return Restrictions.lt(fieldProperty, value_0);
case NE:
return Restrictions.not(Restrictions.eq(fieldProperty, value_0));
default:
return Restrictions.eq(fieldProperty, value_0);
}
}Example 31
| Project: jPOS-Presentation-Manager-master File: DataAccessDB.java View source code |
protected Criteria createCriteria(PMContext ctx, Entity entity, EntityFilter filter) throws PMException {
Criteria c;
DB db = getDb(ctx);
try {
c = db.session().createCriteria(Class.forName(entity.getClazz()));
} catch (ClassNotFoundException e) {
ctx.getErrors().add(new PMMessage(ENTITY, "class.not.found"));
throw new PMException();
}
String order = null;
try {
order = (ctx.getString(PM_LIST_ORDER) != null) ? entity.getFieldById(ctx.getString(PM_LIST_ORDER)).getProperty() : null;
} catch (Exception e) {
}
boolean asc = (ctx.get(PM_LIST_ASC) == null) ? true : (Boolean) ctx.get(PM_LIST_ASC);
//This is a temporary patch until i found how to sort propertys
if (order != null && order.contains(".")) {
order = order.substring(0, order.indexOf("."));
}
if (order != null && order.compareTo("") != 0) {
if (asc) {
c.addOrder(Order.asc(order));
} else {
c.addOrder(Order.desc(order));
}
}
if (entity.getListfilter() != null) {
c.add((Criterion) entity.getListfilter().getListFilter(ctx));
}
if (filter != null) {
c = ((DBEntityFilter) filter).applyFilters(c);
}
//Weak entities must filter the parent
if (entity.isWeak()) {
if (ctx.getEntityContainer().getOwner() != null && ctx.getEntityContainer().getOwner().getSelected() != null) {
final Object instance = ctx.getEntityContainer().getOwner().getSelected().getInstance();
final String localProperty = entity.getOwner().getLocalProperty();
c.add(Restrictions.eq(localProperty, instance));
}
}
return c;
}Example 32
| Project: jpospm_core_db-master File: DataAccessDB.java View source code |
@Override
public Object getItem(PMContext ctx, String property, String value) throws PMException {
try {
/*
* To avoid the use of SQL restriction that use column name we introspect
* the property type and parse it. It work for some basics for now
* until we find a better way.
*
* If we get an error or the type is not a Long, Integer, Boolean nor String,
* we try the old way.
*/
final Session db = getDb(ctx);
final Class<?> clazz = Class.forName(getEntity().getClazz());
final Criteria c = db.createCriteria(clazz);
c.setMaxResults(1);
Criterion criterion = null;
try {
final Field f = clazz.getDeclaredField(property);
final Class<?> declaringClass = f.getType();
if (declaringClass.equals(Long.class)) {
criterion = Restrictions.eq(property, Long.parseLong(value));
} else if (declaringClass.equals(Integer.class)) {
criterion = Restrictions.eq(property, Integer.parseInt(value));
} else if (declaringClass.equals(String.class)) {
criterion = Restrictions.eq(property, value);
} else if (declaringClass.equals(Boolean.class)) {
criterion = Restrictions.eq(property, Boolean.parseBoolean(value));
}
} catch (NoSuchFieldException e) {
criterion = Restrictions.sqlRestriction(property + "=" + value);
}
if (criterion == null) {
criterion = Restrictions.sqlRestriction(property + "=" + value);
}
c.add(criterion);
return c.uniqueResult();
} catch (Exception e) {
throw new PMException(e);
}
}Example 33
| Project: kaa-master File: HibernateProfileFilterDao.java View source code |
@Override
public ProfileFilter findLatestDeprecated(String endpointProfileSchemaId, String serverProfileSchemaId, String groupId) {
LOG.debug("Searching latest deprecated profile filter by endpoint profile schema id [{}], " + "server profile schema id [{}] and group id [{}] ", endpointProfileSchemaId, serverProfileSchemaId, groupId);
ProfileFilter filter = null;
if (isNotBlank(groupId)) {
Criteria criteria = getCriteria();
criteria.createAlias(ENDPOINT_PROFILE_SCHEMA_PROPERTY, ENDPOINT_PROFILE_SCHEMA_ALIAS, JoinType.LEFT_OUTER_JOIN);
criteria.createAlias(SERVER_PROFILE_SCHEMA_PROPERTY, SERVER_PROFILE_SCHEMA_ALIAS, JoinType.LEFT_OUTER_JOIN);
criteria.createAlias(ENDPOINT_GROUP_PROPERTY, ENDPOINT_GROUP_ALIAS);
Criterion crit = Restrictions.and(Restrictions.eq(ENDPOINT_GROUP_REFERENCE, Long.valueOf(groupId)), buildEqIdCriterion(ENDPOINT_PROFILE_SCHEMA_REFERENCE, endpointProfileSchemaId), buildEqIdCriterion(SERVER_PROFILE_SCHEMA_REFERENCE, serverProfileSchemaId), Restrictions.eq(STATUS_PROPERTY, UpdateStatus.DEPRECATED));
filter = (ProfileFilter) criteria.add(crit).addOrder(Order.desc(SEQUENCE_NUMBER_PROPERTY)).setMaxResults(FIRST).uniqueResult();
}
if (LOG.isTraceEnabled()) {
LOG.trace("[{},{},{}] Search result: {}.", endpointProfileSchemaId, serverProfileSchemaId, groupId, filter);
} else {
LOG.debug("[{},{},{}] Search result: {}.", endpointProfileSchemaId, serverProfileSchemaId, groupId, filter != null);
}
return filter;
}Example 34
| Project: openmrs-core-master File: HibernateConceptDAO.java View source code |
/**
* @see org.openmrs.api.db.ConceptDAO#getDrugsByIngredient(org.openmrs.Concept)
*/
@Override
@SuppressWarnings("unchecked")
public List<Drug> getDrugsByIngredient(Concept ingredient) {
Criteria searchDrugCriteria = sessionFactory.getCurrentSession().createCriteria(Drug.class, "drug");
Criterion rhs = Restrictions.eq("drug.concept", ingredient);
searchDrugCriteria.createAlias("ingredients", "ingredients");
Criterion lhs = Restrictions.eq("ingredients.ingredient", ingredient);
searchDrugCriteria.add(Restrictions.or(lhs, rhs));
return (List<Drug>) searchDrugCriteria.list();
}Example 35
| Project: TradeTrax-master File: Stock.java View source code |
/** * Create the criteria for finding other stock items that are allowed to merge * with this one. Two items may merge if they only differ in comment, * unitcount and acquisition/liquidation date (but they need to be in the same * state of acquisition/liquidation). * * @return Hibernate criterias */ public List<Criterion> allowedToMergeWith() { Vector<Criterion> ret = new Vector<Criterion>(); ret.add(Restrictions.ne("id", id)); ret.add(Restrictions.eq("buyPrice", buyPrice)); ret.add(Restrictions.eq("sellPrice", sellPrice)); if (name == null) { // This should never happen ret.add(Restrictions.isNull("name")); } else { ret.add(Restrictions.eq("name.id", name.getId())); } if (variant == null) { ret.add(Restrictions.isNull("variant")); } else { ret.add(Restrictions.eq("variant.id", variant.getId())); } if (acquired == null) { ret.add(Restrictions.isNull("acquired")); } else { ret.add(Restrictions.isNotNull("acquired")); } if (liquidated == null) { ret.add(Restrictions.isNull("liquidated")); } else { ret.add(Restrictions.isNotNull("liquidated")); } return ret; }
Example 36
| Project: vmrc-master File: VMIDao.java View source code |
/**
* Get a List<VMI> considering the ACL permissions for each VMI.
* @param user The User that performs the query.
* @return The List<VMI>
* @throws DaoException
*/
public List<VMI> getListCheckingACL(User user) throws DaoException {
try {
Criteria criteria = getSessionFactory().getCurrentSession().createCriteria(clazz);
criteria.createAlias("acl", "acl");
if (!user.isAdmin()) {
Criterion aclOwner = Restrictions.and(Restrictions.eq("acl.listPerm", "owner"), Restrictions.eq("owner", user.getUserName()));
if (user.getAcl().getListPerm().equalsIgnoreCase("all")) {
Criterion aclAll = Restrictions.eq("acl.listPerm", "all");
criteria.add(Restrictions.or(aclAll, aclOwner));
} else {
criteria.add(aclOwner);
}
}
log.debug("Performing query with criteria: " + criteria);
return criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
} catch (Exception e) {
throw new DaoException(e);
}
}Example 37
| Project: web-budget-master File: MovementRepository.java View source code |
/**
*
* @param filter
* @param pageRequest
* @return
*/
@Override
public Page<Movement> listByFilter(MovementFilter filter, PageRequest pageRequest) {
final Criteria criteria = this.createCriteria();
final List<Criterion> criterions = new ArrayList<>();
criteria.createAlias("contact", "co", JoinType.LEFT_OUTER_JOIN);
criteria.createAlias("apportionments", "ap");
criteria.createAlias("ap.movementClass", "mc");
criteria.createAlias("ap.costCenter", "cc");
criteria.createAlias("financialPeriod", "fp");
// montramos os criterios de filtragem geral
if (filter.hasCriteria()) {
criterions.add(Restrictions.eq("code", filter.getCriteria()));
criterions.add(Restrictions.ilike("description", "%" + filter.getCriteria() + "%"));
criterions.add(Restrictions.ilike("mc.name", "%" + filter.getCriteria() + "%"));
criterions.add(Restrictions.ilike("cc.name", "%" + filter.getCriteria() + "%"));
criterions.add(Restrictions.ilike("co.name", "%" + filter.getCriteria() + "%"));
// se conseguir castar para bigdecimal trata como um filtro
try {
criterions.add(Restrictions.eq("value", filter.criteriaToBigDecimal()));
} catch (ParseException ex) {
}
}
criteria.add(Restrictions.or(criterions.toArray(new Criterion[] {})));
criteria.add(Restrictions.and(filter.getCustomFilters()));
// projetamos para pegar o total de paginas possiveis
criteria.setProjection(Projections.count("id"));
final Long totalRows = (Long) criteria.uniqueResult();
// limpamos a projection para que a criteria seja reusada
criteria.setProjection(null);
criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
// paginamos
criteria.setFirstResult(pageRequest.getFirstResult());
criteria.setMaxResults(pageRequest.getPageSize());
// aplica o multisort dos campos
if (pageRequest.isMultiSort()) {
pageRequest.getMultiSortFields().stream().forEach( field -> {
if (field.getDirection() == SortDirection.ASC) {
criteria.addOrder(Order.asc(field.getSortField()));
} else if (field.getDirection() == SortDirection.DESC) {
criteria.addOrder(Order.desc(field.getSortField()));
}
});
} else if (pageRequest.getSortDirection() == SortDirection.ASC) {
criteria.addOrder(Order.asc(pageRequest.getSortField()));
} else if (pageRequest.getSortDirection() == SortDirection.DESC) {
criteria.addOrder(Order.desc(pageRequest.getSortField()));
}
// montamos o resultado paginado
return new Page<>(criteria.list(), totalRows);
}Example 38
| Project: buendia-master File: HibernateProjectBuendiaDAO.java View source code |
private <T extends SyncParameters> List<T> fetchResults(Class<T> clazz, @Nullable SyncToken syncToken, @Nullable Criterion restriction, boolean includeVoided, int maxResults) {
Session session = sessionFactory.getCurrentSession();
Criteria criteria = session.createCriteria(clazz);
if (syncToken != null) {
// (a, b) > (x, y) is equivalent to (a > x) OR ((a = x) AND (b > y)). See
// http://dev.mysql.com/doc/refman/5.7/en/comparison-operators.html#operator_greater-than
criteria.add(sqlRestriction(// {alias} is substituted for the table alias that hibernate uses for the type.
"({alias}.date_updated, {alias}.uuid) > (?, ?)", new Object[] { syncToken.greaterThanOrEqualToTimestamp, // is 'smaller' than every other string in terms of sort order.
syncToken.greaterThanUuid == null ? "" : syncToken.greaterThanUuid }, new Type[] { StandardBasicTypes.TIMESTAMP, StandardBasicTypes.STRING }));
}
Criteria subCriteria = criteria.createCriteria("item");
if (restriction != null) {
subCriteria.add(restriction);
}
if (!includeVoided) {
subCriteria.add(eq("voided", false));
}
criteria.addOrder(asc("dateUpdated")).addOrder(asc("uuid"));
if (maxResults > 0) {
criteria.setMaxResults(maxResults);
}
//noinspection unchecked
return criteria.list();
}Example 39
| Project: eGov-master File: AjaxCommonAction.java View source code |
@SuppressWarnings("unchecked")
@Action(value = "/ajaxCommon-categoryByRateUsageAndStructClass")
public String categoryByRateUsageAndStructClass() {
LOGGER.debug("Entered into categoryByRateUsageAndStructClass method, Usage Factor: " + usageFactor + ", Structure Classification: " + structFactor);
PropertyUsage propUsage = (PropertyUsage) getPersistenceService().find("from PropertyUsage pu where pu.usageName=?", usageFactor);
StructureClassification structureClass = (StructureClassification) getPersistenceService().find("from StructureClassification sc where sc.typeName=?", structFactor);
if (propUsage != null && structureClass != null && revisedRate != null) {
Criterion usgId = null;
Criterion classId = null;
Criterion catAmt = null;
Conjunction conjunction = Restrictions.conjunction();
usgId = Restrictions.eq("propUsage", propUsage);
classId = Restrictions.eq("structureClass", structureClass);
catAmt = Restrictions.eq("categoryAmount", revisedRate);
conjunction.add(usgId);
conjunction.add(classId);
conjunction.add(catAmt);
Criterion criterion = conjunction;
categoryList = categoryDAO.getCategoryByRateUsageAndStructClass(criterion);
}
addDropdownData("categoryList", categoryList);
LOGGER.debug("Exiting from categoryByRateUsageAndStructClass method");
if (categoryList == null) {
LOGGER.debug("categoryByRateUsageAndStructClass: categoryList is NULL \n Exiting from categoryByRateUsageAndStructClass");
return FAILURE;
} else {
LOGGER.debug("categoryByRateUsageAndStructClass: categoryList:" + categoryList + "\nExiting from categoryByRateUsageAndStructClass");
return CATEGORY;
}
}Example 40
| Project: eurocarbdb-master File: SubstructureQueryCriterion.java View source code |
public String toSqlString(Criteria c, CriteriaQuery q) {
String initial_hql = query.getQueryString();
// default query selects whole GlycanSequence objects, which
// aren't needed if the Criterion we're returning is just
// going to be used in a subselect.
int i = initial_hql.indexOf("from ");
assert i != -1 : initial_hql;
// so, narrow the select clause:
// String hql = "select gs.id " + initial_hql.substring( i );
String hql = "select gs.glycan_sequence_id " + initial_hql.substring(i);
// translate to SQL
//translateHql2Sql( hql );
String subquery_expr_sql = hql;
String sql = propertyName + " in (" + subquery_expr_sql + ")";
return sql;
}Example 41
| Project: frontlinesms-core-master File: HibernateMessageDao.java View source code |
/**
* Augments the supplied criteria with that required to match a keyword.
* @param criteria
* @param keyword
*/
private void addKeywordMatchCriteria(DetachedCriteria criteria, Keyword keyword) {
String keywordString = keyword.getKeyword();
// FIXME this should be case-insensitive
Criterion matchKeyword = Restrictions.or(// This should match the keyword exactly, case insensitive
Restrictions.ilike(Field.MESSAGE_CONTENT.getFieldName(), keywordString), Restrictions.ilike(Field.MESSAGE_CONTENT.getFieldName(), keywordString + ' '));
criteria.add(matchKeyword);
}Example 42
| Project: FrontlineSMS-Forms-master File: HibernateFormDao.java View source code |
public void dereferenceGroup(Group group) {
DetachedCriteria criteria = super.getCriterion();
Criterion equals = Restrictions.eq(Form.FIELD_PERMITTED, group);
Criterion like = Restrictions.like("permittedGroup.path", group.getPath() + Group.PATH_SEPARATOR, MatchMode.START);
criteria.add(Restrictions.or(equals, like));
List<Form> forms = getList(criteria);
for (Form formWithDereferencedGroup : forms) {
System.err.println("Delete form: " + formWithDereferencedGroup.getName());
formWithDereferencedGroup.setPermittedGroup(null);
try {
this.update(formWithDereferencedGroup);
} catch (DuplicateKeyException e) {
throw new RuntimeException("There was a problem removing the deleted group from its attached form.");
}
}
}Example 43
| Project: frontlinesms-plugin-forms-master File: HibernateFormDao.java View source code |
public void dereferenceGroup(Group group) {
DetachedCriteria criteria = super.getCriterion();
Criterion equals = Restrictions.eq(Form.FIELD_PERMITTED, group);
Criterion like = Restrictions.like("permittedGroup.path", group.getPath() + Group.PATH_SEPARATOR, MatchMode.START);
criteria.add(Restrictions.or(equals, like));
List<Form> forms = getList(criteria);
for (Form formWithDereferencedGroup : forms) {
formWithDereferencedGroup.setPermittedGroup(null);
try {
this.update(formWithDereferencedGroup);
} catch (DuplicateKeyException e) {
throw new RuntimeException("There was a problem removing the deleted group from its attached form.");
}
}
}Example 44
| Project: geobatch-master File: DAOAbstractSpring.java View source code |
@SuppressWarnings("unchecked")
public List<T> findByCriteria(Criterion... criterion) throws DAOException {
try {
Criteria crit = getSession().createCriteria(getPersistentClass());
for (Criterion c : criterion) {
crit.add(c);
}
return crit.list();
} catch (HibernateException ex) {
LOGGER.trace(ex.getMessage());
throw new DAOException(ex);
}
}Example 45
| Project: HumBuch-master File: DAOImpl.java View source code |
@SuppressWarnings("unchecked")
@Override
public List<EntityType> findAllWithCriteria(Order order, Criterion... criteriaArray) {
getEntityManager().clear();
Session session = (Session) getEntityManager().getDelegate();
Criteria criteria = session.createCriteria(getEntityClass());
criteria.addOrder(order);
for (Criterion criterion : criteriaArray) {
criteria.add(criterion);
}
return criteria.list();
}Example 46
| Project: IntelligentMinds-master File: UserService.java View source code |
@POST
@Path("/searchaccount")
@Produces(MediaType.TEXT_PLAIN)
public String searchAccount(@FormParam("searchText") String searchText, @FormParam("authtoken") String authtoken) {
if (!new LoginService().validate(authtoken))
return "[]";
User currentUser = LoginService.getUserByToken(authtoken);
if (currentUser == null) {
return "[]";
}
String[] parts = searchText.split(" ");
Transaction tx = HibernateSupport.getSession().beginTransaction();
Criterion cemail = Restrictions.like("email", "%" + searchText + "%");
Criterion cfirstname = Restrictions.like("firstName", "%" + searchText + "%");
Criterion clastname = Restrictions.like("lastName", "%" + searchText + "%");
Criterion caccountname = Restrictions.like("accountName", "%" + searchText + "%");
Criterion notCurrentUser = Restrictions.ne("email", currentUser.getEmail());
Disjunction or = Restrictions.disjunction();
or.add(cemail);
or.add(cfirstname);
or.add(clastname);
or.add(caccountname);
if (parts.length > 1) {
for (int i = 0; i < parts.length; i++) {
cemail = Restrictions.like("email", "%" + parts[i] + "%");
cfirstname = Restrictions.like("firstName", "%" + parts[i] + "%");
clastname = Restrictions.like("lastName", "%" + parts[i] + "%");
caccountname = Restrictions.like("accountName", "%" + parts[i] + "%");
or.add(cemail);
or.add(cfirstname);
or.add(clastname);
or.add(caccountname);
}
}
Criterion andCombined = Restrictions.and(or, notCurrentUser);
Criteria criteria = HibernateSupport.getSession().createCriteria(User.class);
criteria.add(andCombined);
criteria.setProjection(Projections.projectionList().add(Projections.property("firstName"), "firstName").add(Projections.property("lastName"), "lastName").add(Projections.property("accountName"), "accountName").add(Projections.property("email"), "email")).setResultTransformer(Transformers.aliasToBean(User.class));
List res = criteria.list();
JSONArray array = new JSONArray(res.toArray());
tx.commit();
return array.toString();
}Example 47
| Project: niths-master File: QueryGenerator.java View source code |
/**
* Creates and Criterion up to 4 Criterion
* @param size
* @param criterion
* @return
*/
private Criterion logicalExpressionBuilder(int size, Criterion[] criterion) {
LogicalExpression andExp = null;
switch(size) {
case 1:
return criterion[0];
case 2:
andExp = Restrictions.and(criterion[0], criterion[1]);
break;
case 3:
andExp = Restrictions.and(criterion[0], Restrictions.and(criterion[1], criterion[2]));
break;
case 4:
andExp = Restrictions.and(Restrictions.and(criterion[0], criterion[1]), Restrictions.and(criterion[2], criterion[3]));
break;
default:
throw new IllegalArgumentException("You can only split on max 4 words");
}
return andExp;
}Example 48
| Project: OpenConext-shared-master File: GenericServiceHibernateImpl.java View source code |
/**
* Convenicence method for subclasses to find domain objects that match the list of Criterion's in the given order
*
* @param criterionList List of {@link Criterion}'s
* @param orderList List of {@link Order}'s
* @return Sorted list of domain objects
*/
@SuppressWarnings("unchecked")
protected List<T> findByCriteriaOrdered(List<Criterion> criterionList, List<Order> orderList) {
Criteria crit = portalSessionFactory.getCurrentSession().createCriteria(getPersistentClass());
for (Criterion c : criterionList) {
crit.add(c);
}
for (Order order : orderList) {
crit.addOrder(order);
}
crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
return crit.list();
}Example 49
| Project: openmrs-module-openhmis.commons-master File: BaseObjectTemplateSearch.java View source code |
protected Criterion createCriterion(String field, Object value, ComparisonType comparisonType) { ComparisonType comparison = comparisonType == null ? ComparisonType.EQUAL : comparisonType; Criterion result; switch(comparison) { case EQUAL: result = Restrictions.eq(field, value); break; case NOT_EQUAL: result = Restrictions.ne(field, value); break; case IS_NULL: result = Restrictions.isNull(field); break; case IS_NOT_NULL: result = Restrictions.isNotNull(field); break; default: throw new IllegalArgumentException(); } return result; }
Example 50
| Project: qcadoo-master File: DataAccessTest.java View source code |
@Before
public void superInit() {
pluginStateResolver = Mockito.mock(PluginStateResolver.class);
given(pluginStateResolver.isEnabled(Mockito.anyString())).willReturn(true);
given(pluginStateResolver.isEnabled(Mockito.any(Plugin.class))).willReturn(true);
given(pluginStateResolver.isEnabledOrEnabling(Mockito.anyString())).willReturn(true);
given(pluginStateResolver.isEnabledOrEnabling(Mockito.any(Plugin.class))).willReturn(true);
PluginUtilsService pluginUtilsService = new PluginUtilsService(pluginStateResolver);
pluginUtilsService.init();
validationService = new ValidationServiceImpl();
entityService = new EntityServiceImpl();
ReflectionTestUtils.setField(entityService, "hibernateService", hibernateService);
priorityService = new PriorityServiceImpl();
ReflectionTestUtils.setField(priorityService, "entityService", entityService);
ReflectionTestUtils.setField(priorityService, "hibernateService", hibernateService);
dataAccessService = new DataAccessServiceImpl();
ReflectionTestUtils.setField(dataAccessService, "entityService", entityService);
ReflectionTestUtils.setField(dataAccessService, "priorityService", priorityService);
ReflectionTestUtils.setField(dataAccessService, "validationService", validationService);
ReflectionTestUtils.setField(dataAccessService, "hibernateService", hibernateService);
AnnotationTransactionAspect.aspectOf();
SearchRestrictions restrictions = new SearchRestrictions();
ReflectionTestUtils.setField(restrictions, "dataAccessService", dataAccessService);
buildParentDataDefinition();
buildTreeDataDefinition();
buildDataDefinition();
given(hibernateService.getCurrentSession()).willReturn(session);
given(session.createCriteria(any(Class.class))).willReturn(criteria);
given(criteria.add(any(Criterion.class))).willReturn(criteria);
given(criteria.setProjection(any(Projection.class))).willReturn(criteria);
given(criteria.setFirstResult(anyInt())).willReturn(criteria);
given(criteria.setMaxResults(anyInt())).willReturn(criteria);
given(criteria.addOrder(any(Order.class))).willReturn(criteria);
}Example 51
| Project: SOS-master File: TemporalRestrictions.java View source code |
/**
* Create a new <tt>Criterion</tt> using the specified filter.
*
* @param filter
* the filter
*
* @return the <tt>Criterion</tt>
*
* @throws UnsupportedTimeException
* if the value and property combination is not applicable for
* this restriction
* @throws UnsupportedValueReferenceException
* if the {@link TemporalFilter#getValueReference() value
* reference} can not be decoded
* @throws UnsupportedOperatorException
* if no restriction definition for the {@link TimeOperator} is
* found
*/
public static Criterion filter(TemporalFilter filter) throws UnsupportedTimeException, UnsupportedValueReferenceException, UnsupportedOperatorException {
TimePrimitiveFieldDescriptor property = getFields(filter.getValueReference());
Time value = filter.getTime();
switch(filter.getOperator()) {
case TM_Before:
return before(property, value);
case TM_After:
return after(property, value);
case TM_Begins:
return begins(property, value);
case TM_Ends:
return ends(property, value);
case TM_EndedBy:
return endedBy(property, value);
case TM_BegunBy:
return begunBy(property, value);
case TM_During:
return during(property, value);
case TM_Equals:
return tEquals(property, value);
case TM_Contains:
return contains(property, value);
case TM_Overlaps:
return overlaps(property, value);
case TM_Meets:
return meets(property, value);
case TM_MetBy:
return metBy(property, value);
case TM_OverlappedBy:
return overlappedBy(property, value);
default:
throw new UnsupportedOperatorException(filter.getOperator());
}
}Example 52
| Project: springlab-master File: HibernateDao.java View source code |
/** * 按Criteria分页查询. * * @param page 分页�数. * @param criterions 数���的Criterion. * * @return 分页查询结果.附带结果列表�所有查询输入�数. */ @SuppressWarnings("unchecked") public Page<T> findPage(final Page<T> page, final Criterion... criterions) { Assert.notNull(page, "page�能为空"); Criteria c = createCriteria(criterions); if (page.isAutoCount()) { long totalCount = countCriteriaResult(c); page.setTotalCount(totalCount); } setPageParameterToCriteria(c, page); List result = c.list(); page.setResult(result); return page; }
Example 53
| Project: springside-core-3.3.4.x-master File: HibernateDao.java View source code |
/** * 按Criteria分页查询. * * @param page 分页å?‚æ•°. * @param criterions æ•°é‡?å?¯å?˜çš„Criterion. * * @return 分页查询结果.附带结果列表å?Šæ‰€æœ‰æŸ¥è¯¢è¾“å…¥å?‚æ•°. */ @SuppressWarnings({ "unchecked", "rawtypes" }) public Page<T> findPage(final Page<T> page, final Criterion... criterions) { Assert.notNull(page, "pageä¸?能为空"); /** * ä¿?å˜æŸ¥è¯¢æ?¡ä»¶ä¸å¯¹è±¡åˆ«å??,以å…?é‡?å¤?æ·»åŠ å¯¼è‡´Hibernate报异常. */ Set<String> aliases = new HashSet<String>(); Criteria c = createCriteria(criterions); if (page.isAutoCount()) { long totalCount = countCriteriaResult(c); page.setTotalCount(totalCount); } setPageParameterToCriteria(c, page, aliases); List result = c.list(); page.setResult(result); return page; }
Example 54
| Project: tapestry-model-master File: SearchableHibernateGridDataSource.java View source code |
private Criterion createCriterion(String propertyName, SearchFilterPredicate predicate) {
switch(predicate.getOperator()) {
case eq:
return Restrictions.eq(propertyName, predicate.getLowValue());
case ne:
return Restrictions.ne(propertyName, predicate.getLowValue());
case gt:
return Restrictions.gt(propertyName, predicate.getLowValue());
case ge:
return Restrictions.ge(propertyName, predicate.getLowValue());
case lt:
return Restrictions.lt(propertyName, predicate.getLowValue());
case le:
return Restrictions.le(propertyName, predicate.getLowValue());
default:
throw new IllegalArgumentException("Search filtering for operator '" + predicate.getOperator() + "' is not yet supported");
}
}Example 55
| Project: Trainings-master File: UserController.java View source code |
@Transactional
@RequestMapping(value = "/pages/{pageNumber}", method = RequestMethod.GET)
public List<UserDTO> getUsersPaging(@PathVariable Integer pageNumber, @RequestParam Integer size, @RequestParam(required = false) String name, @RequestParam(required = false) String surname, @RequestParam(required = false) String phone, @RequestParam(required = false) String email, @RequestParam(required = false) boolean isReversed, @RequestParam(required = false) String sortParam) {
this.size = 0;
List<User> users = new ArrayList<>();
Session session = sessionFactory.openSession();
Criteria criteria = session.createCriteria(User.class);
Criterion nameCriterion, surnameCriterion, phoneCriterion, emailCriterion;
List<User> userList = new ArrayList<>();
if (name != null) {
nameCriterion = userSearch.searchByName(name);
criteria.add(nameCriterion);
}
if (surname != null) {
surnameCriterion = userSearch.searchBySurname(surname);
criteria.add(surnameCriterion);
}
if (phone != null) {
phoneCriterion = userSearch.searchByPhone(phone);
criteria.add(phoneCriterion);
}
if (email != null) {
emailCriterion = userSearch.searchByEmail(email);
criteria.add(emailCriterion);
}
criteria.setMaxResults(size);
criteria.setFirstResult(pageNumber);
if (sortParam != null) {
Sort sort = new Sort(new SortField(sortParam, SortField.Type.STRING));
if (isReversed) {
criteria.addOrder(Order.desc(sortParam));
} else
criteria.addOrder(Order.asc(sortParam));
}
this.size = criteria.list().size();
if (this.size < size) {
this.size = 1;
} else
this.size = this.size / size;
users = criteria.list();
session.close();
if (name == null && surname == null && email == null && phone == null) {
Page<User> page = userService.getUsers(pageNumber, size, sortParam, isReversed);
users = page.getContent();
this.size = page.getTotalPages();
}
List<UserDTO> userDTOs = new ArrayList<>();
for (User user : users) {
userDTOs.add(new UserDTO(user));
}
return userDTOs;
}Example 56
| Project: bloatit-master File: DaoAbstractQuery.java View source code |
/**
* Creates a criterion on the size of a collection.
* <p>
* For example: <code>
* createSizeCriterion(GREATER, "offers", 12)
* </code> Will select elements which has more than 12 offers associated
* with.
* </p>
*
* @param cmp the comparator
* @param element the element name. It must be a collection (a mapped
* association).
* @param nb the number on which we compare the size of the collection
* @return the criterion
*/
protected final Criterion createSizeCriterion(final Comparator cmp, final String element, final int nb) {
switch(cmp) {
case EQUAL:
return Restrictions.sizeEq(element, nb);
case LESS:
return Restrictions.sizeLt(element, nb);
case LESS_EQUAL:
return Restrictions.sizeLe(element, nb);
case GREATER:
return Restrictions.sizeGt(element, nb);
case GREATER_EQUAL:
return Restrictions.sizeGe(element, nb);
default:
return Restrictions.sizeEq(element, nb);
}
}Example 57
| Project: eucalyptus-master File: FilterSupport.java View source code |
/**
* Construct a criterion from a filter pattern.
*
* A Pattern is constructed from the given filter, as per AWS:
*
* Filters support the following wildcards:
*
* *: Matches zero or more characters
* ?: Matches exactly one character
*
* Your search can include the literal values of the wildcard characters; you just need to escape
* them with a backslash before the character. For example, a value of \*amazon\?\\ searches for
* the literal string *amazon?\.
*
* Wildcards are translated for use with 'like':
*
* % : Matches zero or more characters
* _: Matches exactly one character
*
* In both cases wildcards can be escaped (to allow literal values) with a backslash (\).
*
* Translation of wildcards for direct DB filtering must support literal values from each grammar.
*/
private Criterion buildRestriction(final String property, final Object persistentValue) {
final Object valueObject;
if (persistentValue instanceof String) {
final String value = persistentValue.toString();
final StringBuilder likeValueBuilder = new StringBuilder();
translateWildcards(value, likeValueBuilder, "_", "%", SyntaxEscape.Like);
final String likeValue = likeValueBuilder.toString();
if (!value.equals(likeValue)) {
// even if no regex, may contain \ escapes that must be removed
return Restrictions.like(property, likeValue);
}
valueObject = persistentValue;
} else {
valueObject = persistentValue;
}
if (persistentValue instanceof Collection) {
if (((Collection) persistentValue).isEmpty()) {
// always false
return Restrictions.not(Restrictions.conjunction());
} else {
return Restrictions.in(property, (Collection) persistentValue);
}
} else {
return Restrictions.eq(property, valueObject);
}
}Example 58
| Project: fluent-hibernate-master File: HibernateRequest.java View source code |
private Criteria createCriteria(Session session) {
Criteria result = session.createCriteria(persistentClass);
aliases.addToCriteria(result);
for (Criterion restriction : restrictions) {
result.add(restriction);
}
if (fetchJoinPaths != null) {
for (String associationPath : fetchJoinPaths) {
result.setFetchMode(associationPath, FetchMode.JOIN);
}
}
return result;
}Example 59
| Project: geo-platform-master File: GPAbstractJpaDAO.java View source code |
@Override
public List<T> findByCriteria(Criterion... criterion) throws GPDAOException {
try {
Criteria criteria = getSession().createCriteria(persistentClass);
Arrays.stream(criterion).forEach( c -> criteria.add(c));
return criteria.list();
} catch (HibernateException ex) {
logger.error("HibernateException : " + ex);
throw new GPDAOException(ex);
}
}Example 60
| Project: Java-Examples-master File: BaseHibernateDAO.java View source code |
protected List<T> findAllByCriteriaAndOrder(Order order, Criterion... criterions) {
List<T> ts = null;
try {
Session session = this.getCurrentSession();
Transaction transaction = session.beginTransaction();
Criteria criteria = createCriteria(session, criterions);
if (order != null) {
criteria.addOrder(order);
}
ts = criteria.list();
transaction.commit();
} catch (Exception e) {
LOG.error("Error while findAllByCriteria Entities and Order them. M: " + e.getMessage() + " C: " + e.getCause(), e);
}
return ts;
}Example 61
| Project: lemon-master File: HibernatePagingDao.java View source code |
/**
* åˆ†é¡µæŸ¥è¯¢å‡½æ•°ï¼Œæ ¹æ?®entityClasså’Œpageå?‚数进行查询.
*
* @param <T>
* 实体类型
* @param entityClass
* 实体类型
* @param page
* 分页里包�的���数
* @param criterions
* æ?¡ä»¶
* @return �总记录数和当�页数�的Page对象.
*/
@Transactional(readOnly = true)
public <T> Page pagedQuery(Class<T> entityClass, Page page, Criterion... criterions) {
Criteria criteria = createCriteria(entityClass, criterions);
if (page.isOrderEnabled()) {
criteria = createCriteria(entityClass, criterions);
for (int i = 0; i < page.getOrderBys().size(); i++) {
String orderBy = page.getOrderBys().get(i);
String order = page.getOrders().get(i);
if ("ASC".equals(page.getOrders().get(i))) {
criteria.addOrder(Order.asc(orderBy));
} else {
criteria.addOrder(Order.desc(orderBy));
}
}
}
Page resultPage = this.pagedQuery(criteria, page.getPageNo(), page.getPageSize());
resultPage.setOrderBys(page.getOrderBys());
resultPage.setOrders(page.getOrders());
return resultPage;
}Example 62
| Project: milton-master File: ContactsController.java View source code |
@PrincipalSearch
public List<MusicianContact> searchMusicianContacts(MusicianAddressBook addressBook, PrincipalSearchCriteria crit) {
if (crit.getCuType().equals(PrincipalSearchCriteria.CU_TYPE_INDIVIDUAL)) {
Criteria c = SessionManager.session().createCriteria(MusicianContact.class);
Junction combine;
if (crit.getTest().equals(PrincipalSearchCriteria.TestType.ALL)) {
combine = Restrictions.disjunction();
} else {
combine = Restrictions.conjunction();
}
for (PrincipalSearchCriteria.SearchItem searchItem : crit.getSearchItems()) {
Criterion r = newCriterion(searchItem);
if (r != null) {
combine.add(r);
}
}
c.add(combine);
}
return null;
}Example 63
| Project: milton2-master File: ContactsController.java View source code |
@PrincipalSearch
public List<MusicianContact> searchMusicianContacts(MusicianAddressBook addressBook, PrincipalSearchCriteria crit) {
if (crit.getCuType().equals(PrincipalSearchCriteria.CU_TYPE_INDIVIDUAL)) {
Criteria c = SessionManager.session().createCriteria(MusicianContact.class);
Junction combine;
if (crit.getTest().equals(PrincipalSearchCriteria.TestType.ALL)) {
combine = Restrictions.disjunction();
} else {
combine = Restrictions.conjunction();
}
for (PrincipalSearchCriteria.SearchItem searchItem : crit.getSearchItems()) {
Criterion r = newCriterion(searchItem);
if (r != null) {
combine.add(r);
}
}
c.add(combine);
}
return null;
}Example 64
| Project: projectforge-webapp-master File: QueryFilter.java View source code |
private void buildCriteria(final Criteria criteria) {
for (final Object obj : filterSettings) {
if (obj instanceof Criterion) {
criteria.add((Criterion) obj);
} else if (obj instanceof Order) {
criteria.addOrder((Order) obj);
} else if (obj instanceof Alias) {
final Alias alias = (Alias) obj;
criteria.createAlias(alias.arg0, alias.arg1, alias.joinType);
} else if (obj instanceof QueryFilter) {
final QueryFilter filter = (QueryFilter) obj;
Criteria subCriteria;
if (StringUtils.isEmpty(filter.getAlias()) == true) {
subCriteria = criteria.createCriteria(filter.getName());
} else {
subCriteria = criteria.createCriteria(filter.getName(), filter.getAlias());
}
filter.buildCriteria(subCriteria);
}
}
if (associationPath != null) {
criteria.setFetchMode(associationPath, fetchMode);
}
if (maxResults > 0) {
criteria.setMaxResults(maxResults);
}
}Example 65
| Project: serengeti-ws-master File: ClusterDAO.java View source code |
@Override
public List<String> findClusterByStatus(EnumSet<ClusterStatus> statusSet) {
List<String> clusterNames = new ArrayList<String>();
if (statusSet != null && statusSet.size() > 0) {
List<Criterion> criterionList = new ArrayList<Criterion>();
for (ClusterStatus status : statusSet) {
criterionList.add(Restrictions.eq("status", status));
}
Criterion finalCriterion = Restrictions.or(criterionList.toArray(new Criterion[criterionList.size()]));
List<ClusterEntity> clusterList = findByCriteria(finalCriterion);
if (clusterList != null) {
for (ClusterEntity cluster : clusterList) {
clusterNames.add(cluster.getName());
}
}
}
return clusterNames;
}Example 66
| Project: SmallMind-master File: CriteriaUtility.java View source code |
private static Criterion walkConjunction(WhereConjunction whereConjunction, WhereOperandTransformer transformer) { if ((whereConjunction == null) || whereConjunction.isEmpty()) { return null; } LinkedList<Criterion> criterionList = new LinkedList<>(); for (WhereCriterion whereCriterion : whereConjunction.getCriteria()) { switch(whereCriterion.getCriterionType()) { case CONJUNCTION: Criterion walkedCriterion; if ((walkedCriterion = walkConjunction((WhereConjunction) whereCriterion, transformer)) != null) { criterionList.add(walkedCriterion); } break; case FIELD: criterionList.add(walkField((WhereField) whereCriterion, transformer)); break; default: throw new UnknownSwitchCaseException(whereCriterion.getCriterionType().name()); } } if (criterionList.isEmpty()) { return null; } else { Criterion[] criteria; criteria = new Criterion[criterionList.size()]; criterionList.toArray(criteria); switch(whereConjunction.getConjunctionType()) { case AND: return Restrictions.and(criteria); case OR: return Restrictions.or(criteria); default: throw new UnknownSwitchCaseException(whereConjunction.getConjunctionType().name()); } } }
Example 67
| Project: tawus-master File: HibernateSearchCriteriaConverter.java View source code |
public Criteria toCriteria(SearchCriteria<?> sp, Session session, boolean sort, boolean paginate) {
final Criteria criteria = session.createCriteria(sp.getType());
criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
//If paginate is specified, then paginate
if (paginate && sp.getFirstResult() >= 0 && sp.getMaxResults() > 0) {
criteria.setFirstResult(sp.getFirstResult());
criteria.setMaxResults(sp.getMaxResults());
}
Context context = new Context();
loadPropertyValues(sp.getEntity(), null, session, context);
ICondition condition = sp.getCondition();
if (condition == null) {
List<ICondition> conditions = new ArrayList<ICondition>();
for (String propertyName : context.getValueMap().keySet()) {
conditions.add(Condition.eq(propertyName));
}
condition = Condition.and(conditions.toArray(new ICondition[] {}));
}
if (condition != null) {
Criterion c = applyCondition(criteria, condition, sp.getSearchType(), context);
if (c != null) {
criteria.add(c);
}
}
if (sort) {
Map<String, Boolean> sorting = sp.getOrder();
if (sorting == null || sorting.size() == 0) {
DefaultOrder annotation = sp.getType().getAnnotation(DefaultOrder.class);
if (annotation != null) {
String colAlias = getPropertyName(criteria, annotation.column(), context);
criteria.addOrder(annotation.ascending() ? Order.asc(colAlias) : Order.desc(colAlias));
}
} else {
for (String col : sorting.keySet()) {
boolean order = sorting.get(col);
String colAlias = getPropertyName(criteria, col, context);
criteria.addOrder(order ? Order.asc(colAlias) : Order.desc(colAlias));
}
}
}
return criteria;
}Example 68
| Project: thinapp_factory-master File: AbstractDaoImpl.java View source code |
/**
* Helper method that simplifies data loopups based on a criterion.
*
* @param criterion
* @return
*/
@SuppressWarnings("unchecked")
protected List<T> findByCriterion(Criterion criterion) {
Criteria criteria = getCurrentSession().createCriteria(_class);
if (criterion != null) {
criteria.add(criterion);
}
// Return distinct root entities. If not set, we can get duplicate rows.
criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
return criteria.list();
}Example 69
| Project: webpasswordsafe-master File: PasswordDAOHibernate.java View source code |
@Override
@SuppressWarnings("unchecked")
public List<Password> findPasswordByFuzzySearch(String query, User user, boolean activeOnly, Collection<Tag> tags, Match tagMatch) {
//kludge to not use ilike on text column if MSSQL
boolean isMSSQL = ((SessionFactoryImpl) getSessionFactory()).getDialect().toString().contains("SQLServer");
Criteria crit = getSession().createCriteria(getPersistentClass());
crit.setFetchMode("tags", FetchMode.JOIN);
crit.add(Restrictions.or(Restrictions.or(Restrictions.ilike("name", query, MatchMode.ANYWHERE), Restrictions.ilike("username", query, MatchMode.ANYWHERE)), isMSSQL ? Restrictions.like("notes", query, MatchMode.ANYWHERE) : Restrictions.ilike("notes", query, MatchMode.ANYWHERE)));
if (activeOnly) {
crit.add(Restrictions.eq("active", true));
}
Criterion tagsCriterion = null;
for (Tag tag : tags) {
Criterion tc = Restrictions.sqlRestriction("? in (select tag_id from password_tags where password_id = {alias}.id)", tag.getId(), StandardBasicTypes.LONG);
if (null == tagsCriterion) {
tagsCriterion = tc;
} else {
tagsCriterion = tagMatch.equals(Match.AND) ? Restrictions.and(tagsCriterion, tc) : Restrictions.or(tagsCriterion, tc);
}
}
if (tagsCriterion != null)
crit.add(tagsCriterion);
crit.createAlias("permissions", "pm");
crit.add(Restrictions.in("pm.accessLevel", new String[] { AccessLevel.READ.name(), AccessLevel.WRITE.name(), AccessLevel.GRANT.name() }));
if (!authorizer.isAuthorized(user, Function.BYPASS_PASSWORD_PERMISSIONS.name())) {
DetachedCriteria groupQuery = DetachedCriteria.forClass(Group.class);
groupQuery.setProjection(Projections.id());
groupQuery.createCriteria("users", "u").add(Restrictions.eq("u.id", user.getId()));
crit.add(Restrictions.or(Restrictions.eq("pm.subject", user), Subqueries.propertyIn("pm.subject", groupQuery)));
}
crit.addOrder(Order.asc("name"));
crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
return crit.list();
}Example 70
| Project: obiba-commons-master File: AssociationExample.java View source code |
protected void appendPropertyCondition(String propertyName, Object propertyValue, Criteria criteria, CriteriaQuery cq, StringBuffer buf) throws HibernateException {
Criterion criterion;
if (propertyValue != null) {
boolean isString = propertyValue instanceof String;
SimpleExpression se = isLikeEnabled && isString ? Restrictions.like(propertyName, propertyValue) : Restrictions.eq(propertyName, propertyValue);
criterion = isIgnoreCaseEnabled && isString ? se.ignoreCase() : se;
} else {
criterion = Restrictions.isNull(propertyName);
}
String critCondition = criterion.toSqlString(criteria, cq);
if (buf.length() > 1 && critCondition.trim().length() > 0)
buf.append(" and ");
buf.append(critCondition);
}Example 71
| Project: abicloud-master File: InetManagerMainPolicy.java View source code |
/*
* (non-Javadoc)
* @see com.abiquo.networking.InetManager#requestIPAddressVM(java.lang.String, java.lang.String)
*/
@Override
public IPAddress requestIPAddressVM(Integer dataCenterId, String virtualMachineId) {
IPAddress reqAddress = null;
VirtualMachineIPHB reqVM = null;
// check the correct parameters
if (dataCenterId == null || virtualMachineId == null) {
return null;
}
// Check if datacenter exists
DatacentersIPHB reqDatacenter = (DatacentersIPHB) datacentersDAO.findById(dataCenterId);
if (reqDatacenter == null) {
return null;
}
// Check if virtual machine exists
reqVM = (VirtualMachineIPHB) virtualMachineDAO.findById(virtualMachineId);
if (reqVM != null) {
// Check if virtual machine belongs to the given datacenter
if (reqVM.getDatacenterId().compareTo(reqDatacenter.getId()) == 0) {
reqAddress = IPAddress.newIPAddress(reqVM.getVirtualIP());
}
// else will return null
} else {
// getting all the virtual machines filtering by datacenter Id
Criterion filter = Restrictions.like("datacenterId", dataCenterId);
List<VirtualMachineIPHB> listVM = virtualMachineDAO.findByCriteria(filter);
// check if all the nodes of the datacenter are busy
if (listVM.size() == reqDatacenter.getNumNodes()) {
System.out.println("No more virtual machines available in this Datacenter!");
return null;
}
// first, we set the list of IP's
List<String> listIP = new ArrayList<String>();
for (int i = 0; i < listVM.size(); i++) {
listIP.add(listVM.get(i).getVirtualIP());
}
// initialize the variables to assign new IP
boolean registeredIP = true;
Integer numberIPs = reqDatacenter.getNumNodes();
IPAddress nextIP = IPAddress.newIPAddress(reqDatacenter.getFirstIP()).nextIPAddress();
while (numberIPs > 0 && registeredIP) {
if (!listIP.contains(nextIP.toString())) {
reqAddress = nextIP;
// set the entity to store
reqVM = new VirtualMachineIPHB();
reqVM.setId(virtualMachineId);
reqVM.setDatacenterId(dataCenterId);
reqVM.setVirtualIP(reqAddress.toString());
// store it
virtualMachineDAO.makePersistent(reqVM);
// set the variable to exit the bucle
registeredIP = false;
} else {
nextIP = nextIP.nextIPAddress();
numberIPs--;
}
}
}
return reqAddress;
}Example 72
| Project: geolatte-common-hibernate-master File: HibernateCriteriaBuilder.java View source code |
@Override
public void outADuringExpr(ADuringExpr node) {
PTimespanLiteral timespan = node.getTimeSpan();
Criterion greaterThan;
Criterion lowerThan;
if (timespan instanceof AFromToTimespanLiteral) {
AFromToTimespanLiteral fromToTimespan = (AFromToTimespanLiteral) timespan;
greaterThan = Restrictions.gt(node.getAttr().toString().trim(), parseDate(fromToTimespan.getFrom().getText().trim()));
lowerThan = Restrictions.lt(node.getAttr().toString().trim(), parseDate(fromToTimespan.getTo().getText().trim()));
} else if (timespan instanceof AFromDurationTimespanLiteral) {
AFromDurationTimespanLiteral fromDurationTimespan = (AFromDurationTimespanLiteral) timespan;
Date fromDate = parseDate(fromDurationTimespan.getFrom().getText().trim());
Duration duration = (Duration) translatedLiterals.get(fromDurationTimespan.getDuration());
// Calculate to 'to' date
Calendar calendar = Calendar.getInstance();
calendar.setTime(fromDate);
calendar.add(Calendar.YEAR, duration.getYears());
calendar.add(Calendar.MONTH, duration.getMonths());
calendar.add(Calendar.DATE, duration.getDays());
calendar.add(Calendar.HOUR, duration.getHours());
calendar.add(Calendar.MINUTE, duration.getMinutes());
calendar.add(Calendar.SECOND, duration.getSeconds());
Date toDate = calendar.getTime();
greaterThan = Restrictions.gt(node.getAttr().toString().trim(), fromDate);
lowerThan = Restrictions.lt(node.getAttr().toString().trim(), toDate);
} else {
// if (timespan instanceof ADurationToTimespanLiteral)
greaterThan = null;
lowerThan = null;
}
Criterion combined = Restrictions.and(greaterThan, lowerThan);
translatedExpressions.put(node, combined);
}Example 73
| Project: Gorm-master File: HibernateCriteriaBuilder.java View source code |
private static void populateHibernateDetachedCriteria(AbstractHibernateQuery query, org.hibernate.criterion.DetachedCriteria detachedCriteria, QueryableCriteria<?> queryableCriteria) {
List<org.grails.datastore.mapping.query.Query.Criterion> criteriaList = queryableCriteria.getCriteria();
for (org.grails.datastore.mapping.query.Query.Criterion criterion : criteriaList) {
Criterion hibernateCriterion = HibernateQuery.HIBERNATE_CRITERION_ADAPTER.toHibernateCriterion(query, criterion, null);
if (hibernateCriterion != null) {
detachedCriteria.add(hibernateCriterion);
}
}
List<org.grails.datastore.mapping.query.Query.Projection> projections = queryableCriteria.getProjections();
ProjectionList projectionList = Projections.projectionList();
for (org.grails.datastore.mapping.query.Query.Projection projection : projections) {
Projection hibernateProjection = new HibernateProjectionAdapter(projection).toHibernateProjection();
if (hibernateProjection != null) {
projectionList.add(hibernateProjection);
}
}
detachedCriteria.setProjection(projectionList);
}Example 74
| Project: gsn-master File: TestHibernateStorage.java View source code |
@Test
public void testPaginatedQueryWithoutCriterionWithLimit() {
int numberOfElements = 283;
String identifier = "testPaginatedQueryWithoutCriterionWithLimit";
generateDataTest(identifier, numberOfElements);
//
DataField[] structure = dataField.toArray(new DataField[] {});
HibernateStorage storage = HibernateStorage.newInstance(dbInfo, identifier, dataField.toArray(new DataField[] {}), false);
assertNotNull(storage);
//
int[] pageSizes = new int[] { 1, 11, numberOfElements / 2, numberOfElements / 3, numberOfElements / 3 - 1, numberOfElements / 3 + 1, numberOfElements - 1, numberOfElements + 1, numberOfElements * 2 };
//
for (int pageSize : pageSizes) {
System.out.println("testPaginatedQueryWithoutCriterionWithLimit ASC with pageSize: " + pageSize);
// Set the limit to a fixed number: 1
checkQueryResult(storage.getStreamElements(pageSize, Order.asc("timed"), new Criterion[] {}, 1), 1, 1);
// Set the limit to a fixed number: 11
checkQueryResult(storage.getStreamElements(pageSize, Order.asc("timed"), new Criterion[] {}, 11), 1, 11);
// Set the limit to numberOfElements/10+1
checkQueryResult(storage.getStreamElements(pageSize, Order.asc("timed"), new Criterion[] {}, numberOfElements / 10 + 1), 1, numberOfElements / 10 + 1);
// Set the limit to numberOfElements/10-1
checkQueryResult(storage.getStreamElements(pageSize, Order.asc("timed"), new Criterion[] {}, numberOfElements / 10 - 1), 1, numberOfElements / 10 - 1);
// Set the limit to 0
checkQueryResult(storage.getStreamElements(pageSize, Order.asc("timed"), new Criterion[] {}, 0), -1, -1);
}
//
for (int pageSize : pageSizes) {
System.out.println("testPaginatedQueryWithoutCriterionWithLimit DESC with pageSize: " + pageSize);
// Set the limit to a fixed number: 1
checkQueryResult(storage.getStreamElements(pageSize, Order.desc("timed"), new Criterion[] {}, 1), numberOfElements, numberOfElements);
// Set the limit to a fixed number: 11
checkQueryResult(storage.getStreamElements(pageSize, Order.desc("timed"), new Criterion[] {}, 11), numberOfElements, numberOfElements - 10);
// Set the limit to numberOfElements/10+1
checkQueryResult(storage.getStreamElements(pageSize, Order.desc("timed"), new Criterion[] {}, numberOfElements / 10 + 1), numberOfElements, numberOfElements - (numberOfElements / 10 + 1) + 1);
// Set the limit to numberOfElements/10-1
checkQueryResult(storage.getStreamElements(pageSize, Order.desc("timed"), new Criterion[] {}, numberOfElements / 10 - 1), numberOfElements, numberOfElements - (numberOfElements / 10 - 1) + 1);
// Set the limit to 0
checkQueryResult(storage.getStreamElements(pageSize, Order.desc("timed"), new Criterion[] {}, 0), -1, -1);
}
}Example 75
| Project: hibernate-search-master File: CriteriaObjectInitializer.java View source code |
/**
* Returns a {@link Criterion} for fetching all the given entity infos. If needed, this criterion will contain a
* {@link Disjunction} for fetching the infos in chunks of {@link CriteriaObjectInitializer#MAX_IN_CLAUSE} elements.
*/
private Criterion getIdListCriterion(List<EntityInfo> entityInfos, ObjectInitializationContext objectInitializationContext) {
DocumentBuilderIndexedEntity documentBuilder = getDocumentBuilder(entityInfos.iterator().next().getClazz(), objectInitializationContext.getExtendedSearchIntegrator());
String idName = documentBuilder.getIdPropertyName();
Disjunction disjunction = Restrictions.disjunction();
int maxResults = entityInfos.size();
int loop = maxResults / MAX_IN_CLAUSE;
boolean exact = maxResults % MAX_IN_CLAUSE == 0;
if (!exact) {
loop++;
}
for (int index = 0; index < loop; index++) {
int max = Math.min(index * MAX_IN_CLAUSE + MAX_IN_CLAUSE, maxResults);
List<Serializable> ids = new ArrayList<>(max - index * MAX_IN_CLAUSE);
for (int entityInfoIndex = index * MAX_IN_CLAUSE; entityInfoIndex < max; entityInfoIndex++) {
ids.add(entityInfos.get(entityInfoIndex).getId());
}
disjunction.add(Restrictions.in(idName, ids));
}
return disjunction;
}Example 76
| Project: hospitalcore-master File: HibernatePatientDashboardDAO.java View source code |
public List<Concept> searchInvestigation(String text) throws DAOException {
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Concept.class);
ConceptClass cct = Context.getConceptService().getConceptClassByName("Test");
ConceptClass ccl = Context.getConceptService().getConceptClassByName("LabSet");
criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
criteria.add(Expression.eq("retired", false));
Criterion lhs = Restrictions.eq("conceptClass", cct);
Criterion rhs = Restrictions.eq("conceptClass", ccl);
LogicalExpression orExp = Restrictions.or(lhs, rhs);
criteria.add(orExp);
if (StringUtils.isNotBlank(text)) {
criteria.createAlias("names", "names");
criteria.add(Expression.like("names.name", text, MatchMode.ANYWHERE));
}
return criteria.list();
}Example 77
| Project: jspresso-ce-master File: DefaultCriteriaFactory.java View source code |
@SuppressWarnings("ConstantConditions")
private boolean completeCriteria(EnhancedDetachedCriteria rootCriteria, DetachedCriteria currentCriteria, String path, IQueryComponent aQueryComponent, Map<String, Object> context) {
boolean abort = false;
IComponentDescriptor<?> componentDescriptor = aQueryComponent.getQueryDescriptor();
if (aQueryComponent instanceof ComparableQueryStructure) {
completeCriteria(currentCriteria, createComparableQueryStructureRestriction(path, (ComparableQueryStructure) aQueryComponent, componentDescriptor, aQueryComponent, context));
} else {
String translationsPath = AbstractComponentDescriptor.getComponentTranslationsDescriptorTemplate().getName();
String translationsAlias = currentCriteria.getAlias() + "_" + componentDescriptor.getComponentContract().getSimpleName() + "_" + translationsPath;
if (componentDescriptor.isTranslatable()) {
rootCriteria.getSubCriteriaFor(currentCriteria, translationsPath, translationsAlias, JoinType.LEFT_OUTER_JOIN);
}
for (Map.Entry<String, Object> property : aQueryComponent.entrySet()) {
String propertyName = property.getKey();
Object propertyValue = property.getValue();
IPropertyDescriptor propertyDescriptor = componentDescriptor.getPropertyDescriptor(propertyName);
if (propertyDescriptor != null) {
boolean isEntityRef = false;
if (componentDescriptor.isEntity() && aQueryComponent.containsKey(IEntity.ID)) {
isEntityRef = true;
}
if ((!PropertyViewDescriptorHelper.isComputed(componentDescriptor, propertyName) || (propertyDescriptor instanceof IStringPropertyDescriptor && ((IStringPropertyDescriptor) propertyDescriptor).isTranslatable())) && (!isEntityRef || IEntity.ID.equals(propertyName))) {
String prefixedProperty = PropertyHelper.toJavaBeanPropertyName(propertyName);
if (path != null) {
prefixedProperty = path + "." + prefixedProperty;
}
if (propertyValue instanceof IEntity) {
if (!((IEntity) propertyValue).isPersistent()) {
abort = true;
} else {
completeCriteria(currentCriteria, Restrictions.eq(prefixedProperty, propertyValue));
}
} else if (propertyValue instanceof Boolean && (isTriStateBooleanSupported() || (Boolean) propertyValue)) {
completeCriteria(currentCriteria, Restrictions.eq(prefixedProperty, propertyValue));
} else if (IEntity.ID.equalsIgnoreCase(propertyName)) {
completeCriteria(currentCriteria, createIdRestriction(propertyDescriptor, prefixedProperty, propertyValue, componentDescriptor, aQueryComponent, context));
} else if (propertyValue instanceof String) {
completeCriteriaWithTranslations(currentCriteria, translationsPath, translationsAlias, property, propertyDescriptor, prefixedProperty, getBackendController(context).getLocale(), componentDescriptor, aQueryComponent, context);
} else if (propertyValue instanceof Number || propertyValue instanceof Date) {
completeCriteria(currentCriteria, Restrictions.eq(prefixedProperty, propertyValue));
} else if (propertyValue instanceof EnumQueryStructure) {
completeCriteria(currentCriteria, createEnumQueryStructureRestriction(prefixedProperty, ((EnumQueryStructure) propertyValue)));
} else if (propertyValue instanceof IQueryComponent) {
IQueryComponent joinedComponent = ((IQueryComponent) propertyValue);
if (!isQueryComponentEmpty(joinedComponent, propertyDescriptor)) {
if (joinedComponent.isInlineComponent()) /* || path != null */
{
// the joined component is an inline component so we must use
// dot nested properties. Same applies if we are in a nested
// path i.e. already on an inline component.
abort = abort || completeCriteria(rootCriteria, currentCriteria, prefixedProperty, (IQueryComponent) propertyValue, context);
} else {
// the joined component is an entity so we must use
// nested criteria; unless the autoComplete property
// is a special char.
boolean digDeeper = true;
String autoCompleteProperty = joinedComponent.getQueryDescriptor().getAutoCompleteProperty();
if (autoCompleteProperty != null) {
String val = (String) joinedComponent.get(autoCompleteProperty);
if (val != null) {
boolean negate = false;
if (val.startsWith(IQueryComponent.NOT_VAL)) {
val = val.substring(1);
negate = true;
}
if (IQueryComponent.NULL_VAL.equals(val)) {
Criterion crit = Restrictions.isNull(prefixedProperty);
if (negate) {
crit = Restrictions.not(crit);
// there might be other restrictions
// digDeeper = false;
} else {
digDeeper = true;
}
completeCriteria(currentCriteria, crit);
}
}
}
if (digDeeper) {
DetachedCriteria joinCriteria;
if (isUseAliasesForJoins()) {
joinCriteria = rootCriteria.getSubCriteriaFor(currentCriteria, prefixedProperty, prefixedProperty, JoinType.INNER_JOIN);
} else {
joinCriteria = rootCriteria.getSubCriteriaFor(currentCriteria, prefixedProperty, JoinType.INNER_JOIN);
}
abort = abort || completeCriteria(rootCriteria, joinCriteria, null, joinedComponent, context);
}
}
}
} else if (propertyValue != null) {
// Unknown property type. Assume equals.
completeCriteria(currentCriteria, Restrictions.eq(prefixedProperty, propertyValue));
}
}
}
}
}
return abort;
}Example 78
| Project: ouvidoria-master File: HibernateDao.java View source code |
/*
* (non-Javadoc)
*
* @see br.gov.serpro.ouvidoria.dao.Dao#find(java.lang.Object)
*/
public List find(Object[] criteria) throws DaoException {
if (criteria == null || criteria.length == 0) {
throw new DaoException("Critério de busca não pode ser nulo.");
}
Session session = HibernateSessionFactory.getFactory().getSession();
try {
Criteria crit = session.createCriteria(this.clazz);
for (int i = 0; i < criteria.length; i++) {
crit.add((Criterion) criteria[i]);
}
List list = crit.list();
return list;
} catch (HibernateException e) {
String errorMessage = e.getMessage();
if (e.getCause() != null && e.getCause().getMessage() != null) {
errorMessage = e.getCause().getMessage();
}
throw new DaoException("DAO FIND ERROR: " + errorMessage, e);
}
}Example 79
| Project: tita-master File: EffortDao.java View source code |
/** {@inheritDoc} */
public List<Effort> getTimeEffortsMonthlyView(Integer year, Integer month, TiTAUser user) {
Calendar start = Calendar.getInstance();
Calendar end = Calendar.getInstance();
start.set(year, month, 1);
end.set(year, month, start.getActualMaximum(Calendar.DAY_OF_MONTH));
return findByCriteriaOrdered(new Criterion[] { Restrictions.between("date", start.getTime(), end.getTime()), Restrictions.eq("deleted", false), Restrictions.eq("user", user) }, new Order[] { Property.forName("date").asc() }, new String[] {});
}Example 80
| Project: ArchmanDataServer-master File: AddressbookBean.java View source code |
@SuppressWarnings({ "unchecked" })
public List<Address> searchAddress(Class entityClass, Criterion criterion, List<Order> orders) throws Throwable {
Session session = ((HibernateSession) manager).getHibernateSession();
Criteria criteria = session.createCriteria(entityClass);
if (orders.size() > 0) {
criteria.setMaxResults(1);
Iterator<Order> ordIt = orders.iterator();
while (ordIt.hasNext() == true) {
criteria.addOrder(ordIt.next());
}
} else {
criteria.addOrder(Order.asc("lastname"));
}
criteria.add(criterion).setFetchMode("renewal", FetchMode.SELECT).setFetchMode("specializations", FetchMode.SELECT).setFetchMode("formations", FetchMode.SELECT).setFetchMode("committeemembers", FetchMode.SELECT);
return criteria.list();
}Example 81
| Project: breeze.server.java-master File: CriteriaBuilder.java View source code |
// crit is cast as Object because it can be either a Criteria or a DetachedCriteria
// and these two classes do not share any useful interfaces.
private Criterion toCriterion(CriteriaWrapper crit, Predicate pred, String contextAlias) {
if (pred instanceof AndOrPredicate) {
return createCriterion(crit, (AndOrPredicate) pred, contextAlias);
} else if (pred instanceof AnyAllPredicate) {
return createCriterion(crit, (AnyAllPredicate) pred, contextAlias);
} else if (pred instanceof BinaryPredicate) {
return createCriterion(crit, (BinaryPredicate) pred, contextAlias);
} else if (pred instanceof UnaryPredicate) {
return createCriterion(crit, (UnaryPredicate) pred, contextAlias);
} else {
throw new RuntimeException("Unable to recognize predicate: " + pred.getOperator().getName());
}
}Example 82
| Project: DataHubSystem-master File: SQLVisitor.java View source code |
/* Binary Operators. */
@Override
public Object visitBinary(BinaryExpression binary_expression, BinaryOperator operator, Object left_side, Object right_side) {
Criterion criterion;
switch(operator) {
case EQ:
case NE:
case GT:
case GE:
case LT:
case LE:
{
criterion = getCriterionComparative(operator, left_side, right_side);
break;
}
case AND:
case OR:
{
Criterion left = (Criterion) left_side;
Criterion right = (Criterion) right_side;
criterion = getCriterionLogical(operator, left, right);
break;
}
default:
// Other operators are not supported for SQL Statements
throw new UnsupportedOperationException("Unsupported operator: " + operator.toUriLiteral());
}
// return the binary statement
return criterion;
}Example 83
| Project: mateo-master File: EmpleadoDaoHibernate.java View source code |
private Criterion getQueryByMonth(Calendar gc) { Criterion cr = null; gc.add(Calendar.YEAR, 1); gc.set(Calendar.DAY_OF_MONTH, 1); Date fechaI = gc.getTime(); gc.set(Calendar.DAY_OF_MONTH, gc.getMaximum(Calendar.DAY_OF_MONTH)); Date fechaF = gc.getTime(); cr = Restrictions.between("fechaNacimiento", fechaI, fechaF); Calendar tmp = (Calendar) gc.clone(); tmp.clear(); tmp.setTime(new Date()); tmp.add(Calendar.YEAR, -17); if (gc.compareTo(tmp) <= 0) { return Restrictions.or(cr, getQueryByMonth(gc)); } else { return cr; } }
Example 84
| Project: nbspweb-master File: BaseDao.java View source code |
/** * 按Criteria分页查询. * * @param page * 分页�数. * @param criterions * 数���的Criterion. * * @return 分页查询结果.附带结果列表�所有查询输入�数. */ @SuppressWarnings("unchecked") public Page<T> findCriterionPage(final Page<T> page, final Criterion... criterions) { Assert.notNull(page, "page�能为空"); Criteria c = createCriteria(criterions); if (page.isAutoCount()) { long totalCount = countCriteriaResult(c); page.setTotalCount(totalCount); } setPageParameterToCriteria(c, page); List result = c.list(); page.setResult(result); return page; }
Example 85
| Project: openmicroscopy-master File: SearchAction.java View source code |
public static Criterion notNullOrLikeOrEqual(String path, Class type, Object value, boolean useLike, boolean caseSensitive) {
if (null == value) {
return Restrictions.isNull(path);
} else if (useLike && String.class.isAssignableFrom(type)) {
if (caseSensitive) {
return Restrictions.like(path, value);
} else {
return Restrictions.ilike(path, value);
}
} else {
return Restrictions.eq(path, value);
}
}Example 86
| Project: OpenMyEWB-master File: PostList.java View source code |
private void addBooleanFilters(boolean onlyNew, boolean findReplies, boolean onlyFlagged, boolean onlyFeatured, boolean findEmails, boolean sortByLastReply, Criteria criteria) {
if (!findReplies) {
criteria.add(Restrictions.isNull("parent"));
}
if (!findEmails) {
criteria.add(Restrictions.eq("emailed", false));
}
if (sortByLastReply) {
criteria.addOrder(Order.desc("lastReply"));
} else if (onlyNew) {
SimpleExpression mainDate = Restrictions.gt("date", currentUser.getLastLogin());
criteria.add(mainDate);
criteria.addOrder(Order.asc("date"));
} else {
criteria.addOrder(Order.desc("date"));
}
if (onlyFlagged) {
Set<PostModel> flaggedPosts2 = currentUser.getFlaggedPosts();
if (flaggedPosts2.isEmpty()) {
criteria.add(Restrictions.eq("id", 0));
} else {
Vector<Integer> flaggedIDs = new Vector<Integer>();
for (PostModel p : flaggedPosts2) {
flaggedIDs.add(p.getId());
}
Criterion flaggedSelf = Restrictions.in("id", flaggedIDs);
Criterion flaggedParent = Restrictions.in("parent", flaggedPosts2);
criteria.add(Restrictions.or(flaggedSelf, flaggedParent));
}
}
if (onlyFeatured) {
criteria.add(Restrictions.eq("featured", true));
}
}Example 87
| Project: shogun-master File: DatabaseDao.java View source code |
/**
* Retrieves entities of the database by a given filter, sort-object
* and paging-object
*
* @param hibernateSortObject
* @param hibernateFilter
* @param hibernatePagingObject
* @param hibernateAdditionalFilter
* @return
* @throws ShogunDatabaseAccessException
*
*/
@SuppressWarnings("unchecked")
public List<Object> getDataByFilter(HibernateSortObject hibernateSortObject, HibernateFilter hibernateFilter, Set<String> fields, Set<String> ignoreFields, HibernatePagingObject hibernatePagingObject, HibernateFilter hibernateAdditionalFilter) throws ShogunDatabaseAccessException {
boolean isPlainModelRequest = (fields == null && ignoreFields == null);
Class<?> clazz = hibernateSortObject.getMainClass();
Criteria criteria = this.sessionFactory.getCurrentSession().createCriteria(clazz);
// Fields
if (fields != null) {
ProjectionList pl = Projections.projectionList();
for (Iterator<String> iterator = fields.iterator(); iterator.hasNext(); ) {
String field = iterator.next();
pl.add(Projections.property(field));
}
criteria.setProjection(Projections.distinct(pl));
}
// Ignore Fields
// -> get all fields of the class and remove the ignorefields, works like a blacklist
Set<String> cleanedFieldNames = new HashSet<String>();
if (ignoreFields != null) {
ProjectionList pl = Projections.projectionList();
List<Field> allFields = getAllFields(new ArrayList<Field>(), clazz);
for (Iterator<Field> iterator = allFields.iterator(); iterator.hasNext(); ) {
Field field = (Field) iterator.next();
if (!ignoreFields.contains(field.getName())) {
cleanedFieldNames.add(field.getName());
}
}
for (Iterator<String> iterator = cleanedFieldNames.iterator(); iterator.hasNext(); ) {
String cleanField = iterator.next();
pl.add(Projections.property(cleanField), cleanField);
}
criteria.setProjection(Projections.distinct(pl));
}
// PAGING
if (hibernatePagingObject != null) {
criteria.setFirstResult(hibernatePagingObject.getStart());
criteria.setMaxResults(hibernatePagingObject.getLimit());
}
// SORT
List<HibernateSortItem> hibernateSortItems = hibernateSortObject.getSortItems();
for (HibernateSortItem hibernateSortItem : hibernateSortItems) {
criteria.addOrder(hibernateSortItem.createHibernateOrder());
}
/*
* Check additional filters:
* These are being sent from a client and represent AND conditions to be
* applied globally.
* The use-case that lead us to implement the additionalFilter is
* the requirement that users are allowed to have both a AND and an OR
* filter (e.g. in the frontend for EigeneLayer).
* Usually one would implement this requirement with nested logical
* filters
*/
if (hibernateAdditionalFilter != null) {
Conjunction afConjunction = Restrictions.conjunction();
Criterion afCriterion = null;
try {
HibernateFilterItem hfi = (HibernateFilterItem) hibernateAdditionalFilter.getFilterItem(0);
afCriterion = hfi.makeCriterion(clazz);
afConjunction.add(afCriterion);
} catch (Exception e) {
e.printStackTrace();
throw new ShogunDatabaseAccessException("Error creating a criterion for additionalFilter.", e);
}
criteria.add(afConjunction);
}
// FILTER
int filterItemCount = hibernateFilter.getFilterItemCount();
if (filterItemCount > 0) {
// OR connected filter items
if (hibernateFilter.getLogicalOperator().equals(LogicalOperator.OR)) {
try {
Disjunction dis = Restrictions.disjunction();
for (int i = 0; i < filterItemCount; i++) {
HibernateFilterItem hfi = (HibernateFilterItem) hibernateFilter.getFilterItem(i);
if (hfi.getFieldName() != null && hfi.getFieldName().contains(".")) {
String ownFieldName = hfi.getFieldName().split("\\.")[0];
criteria.createCriteria(ownFieldName, ownFieldName);
// todo move outside
Criterion criterion = hfi.makeCriterion(clazz);
if (criterion != null) {
dis.add(criterion);
}
} else {
Criterion criterion = hfi.makeCriterion(clazz);
if (criterion != null) {
dis.add(criterion);
}
}
}
criteria.add(dis);
} catch (Exception e) {
throw new ShogunDatabaseAccessException("(getDataByFilter)" + " Error while adding an OR connected filter: " + e.getMessage(), e);
}
} else {
// AND connected filter items
try {
Conjunction conjunction = Restrictions.conjunction();
for (int i = 0; i < filterItemCount; i++) {
HibernateFilterItem hfi = (HibernateFilterItem) hibernateFilter.getFilterItem(i);
if (hfi.getFieldName() != null && hfi.getFieldName().contains(".")) {
String ownFieldName = hfi.getFieldName().split("\\.")[0];
criteria.createCriteria(ownFieldName, ownFieldName);
// todo move outside
Criterion criterion = hfi.makeCriterion(clazz);
if (criterion != null) {
conjunction.add(criterion);
}
} else {
Criterion criterion = hfi.makeCriterion(clazz);
if (criterion != null) {
conjunction.add(criterion);
}
}
}
criteria.add(conjunction);
} catch (Exception e) {
throw new ShogunDatabaseAccessException("(getDataByFilter)" + " Error while adding an AND connected filter", e);
}
}
}
// Ok we're done creating the criteria.
// System.out.println("Querying for " + clazz.getSimpleName() + " with this SQL:");
// String niceSql = (new BasicFormatterImpl()).format(this.toSql(criteria));
// System.out.println(niceSql);
// next we need to know whether we are being filtered with fields
// because we then do NOT get a List of instances of BaseModelInterface.
List<Object> list = null;
if (isPlainModelRequest == false) {
if (fields == null && cleanedFieldNames.size() > 0) {
fields = cleanedFieldNames;
}
// we dont really know what criteria.list() will return, can be List<Object> or List<Object[]>
// will be determined later
List<Object> rawListOfResults = criteria.list();
List<Object> saneResultList = new ArrayList<Object>();
for (Object rawRow : rawListOfResults) {
Map<String, Object> newRowMap = new HashMap<String, Object>();
int fieldIdx = 0;
for (Iterator<String> fieldIter = fields.iterator(); fieldIter.hasNext(); ) {
String fieldName = fieldIter.next();
Object fieldVal = null;
if (rawRow != null) {
if (rawRow.getClass().isArray()) {
Object[] objArr = (Object[]) rawRow;
fieldVal = objArr[fieldIdx];
} else {
fieldVal = rawRow;
}
}
// store the pair in the newRowMap.
newRowMap.put(fieldName, fieldVal);
fieldIdx++;
}
// OK, one result row has been trasformed, store it back
saneResultList.add(newRowMap);
}
// now overwrite the list we'll rerturn to the caller.
list = saneResultList;
} else {
// We are NOT filtered, we can rely on the serialization process
// that takes instances of ou models and transforms them
// to (possibly huge) JSON structures.
// Please beware that we can only setResultTransformer here,
// otherwise we'd loose all but the first filtered field.
// this ensures that no cartesian product is returned when
// having sub objects, e.g. User <-> Modules
criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
// we need to set the fetch mode for all sets in our class, as most
// of them are defined to be fetched lazily:
criteria = this.setEagerFetchModeForCollections(criteria, clazz);
list = criteria.list();
}
return list;
}Example 88
| Project: smart-dao-master File: AbstractDAO.java View source code |
private Criterion getCriterion(String element, QueryParameter queryParamemter) {
OperatorType operator = getOperator(queryParamemter);
Object parameter = getValue(queryParamemter);
switch(operator) {
case OPERATOR_EQUAL:
{
return Expression.eq(element, parameter);
}
case OPERATOR_LESSER:
{
return Expression.lt(element, parameter);
}
case OPERATOR_LESSER_EQUAL:
{
return Expression.le(element, parameter);
}
case OPERATOR_GREATER:
{
return Expression.gt(element, parameter);
}
case OPERATOR_GREATER_EQUAL:
{
return Expression.ge(element, parameter);
}
case OPERATOR_NOT_EQUAL:
{
return Expression.ne(element, parameter);
}
case OPERATOR_IS_NULL:
{
return Expression.isNull(element);
}
case OPERATOR_IS_NOT_NULL:
{
return Expression.isNotNull(element);
}
case OPERATOR_IS_EMPTY:
{
return Expression.isEmpty(element);
}
case OPERATOR_IS_NOT_EMPTY:
{
return Expression.isNotEmpty(element);
}
case OPERATOR_STRING_LIKE:
{
MatchMode hibernateMatchMode;
com.smartitengineering.dao.common.queryparam.MatchMode matchMode = getMatchMode(queryParamemter);
if (matchMode == null) {
matchMode = com.smartitengineering.dao.common.queryparam.MatchMode.EXACT;
}
switch(matchMode) {
case END:
hibernateMatchMode = MatchMode.END;
break;
case EXACT:
hibernateMatchMode = MatchMode.EXACT;
break;
case START:
hibernateMatchMode = MatchMode.START;
break;
default:
case ANYWHERE:
hibernateMatchMode = MatchMode.ANYWHERE;
break;
}
return Expression.like(element, parameter.toString(), hibernateMatchMode);
}
case OPERATOR_BETWEEN:
{
parameter = getFirstParameter(queryParamemter);
Object parameter2 = getSecondParameter(queryParamemter);
return Expression.between(element, parameter, parameter2);
}
case OPERATOR_IS_IN:
{
Collection inCollectin = QueryParameterCastHelper.MULTI_OPERAND_PARAM_HELPER.cast(queryParamemter).getValues();
return Restrictions.in(element, inCollectin);
}
case OPERATOR_IS_NOT_IN:
{
Collection inCollectin = QueryParameterCastHelper.MULTI_OPERAND_PARAM_HELPER.cast(queryParamemter).getValues();
return Restrictions.not(Restrictions.in(element, inCollectin));
}
}
return null;
}Example 89
| Project: SOCIETIES-Platform-master File: ServiceRegistry.java View source code |
@Override
public void unregisterServiceList(List<Service> servicesList) throws ServiceRegistrationException {
Session session = null;
RegistryEntry tmpRegistryEntry = null;
Transaction t = null;
try {
session = sessionFactory.openSession();
t = session.beginTransaction();
for (Service service : servicesList) {
tmpRegistryEntry = new RegistryEntry(service.getServiceIdentifier(), service.getServiceEndpoint(), service.getServiceName(), service.getServiceDescription(), service.getAuthorSignature(), service.getPrivacyPolicy(), service.getSecurityPolicy(), service.getServiceCategory(), service.getServiceType(), service.getServiceLocation(), service.getContextSource(), service.getServiceInstance(), service.getServiceStatus());
// tmpRegistryEntry = (RegistryEntry)
// session.get(RegistryEntry.class,tmpRegistryEntry.getServiceIdentifier());
Object obj = session.load(RegistryEntry.class, tmpRegistryEntry.getServiceIdentifier());
// Delete the corresponding entry for service shared in CIS
// sorry for criterion name ;)
Criterion a = Restrictions.eq("serviceResourceIdentifier.identifier", service.getServiceIdentifier().getIdentifier().toString());
Criterion b = Restrictions.eq("serviceResourceIdentifier.instanceId", service.getServiceIdentifier().getServiceInstanceIdentifier());
List<ServiceSharedInCISDAO> serviceSharedInCISList = (List<ServiceSharedInCISDAO>) session.createCriteria(ServiceSharedInCISDAO.class).add(Restrictions.and(a, b)).list();
for (ServiceSharedInCISDAO serviceSharedInCISDAO : serviceSharedInCISList) {
session.delete(serviceSharedInCISDAO);
}
session.delete(obj);
}
t.commit();
} catch (Exception e) {
if (t != null)
t.rollback();
e.printStackTrace();
throw new ServiceRegistrationException(e);
} finally {
if (session != null) {
session.close();
}
}
}Example 90
| Project: 5.2.0.RC-master File: SimpleHibernateTemplate.java View source code |
/** * 按Criterion分页查询. * @param page 分页å?‚æ•°.包括pageSizeã€?firstResultã€?orderByã€?ascã€?autoCount. * å…¶ä¸firstResultå?¯ç›´æŽ¥æŒ‡å®š,也å?¯ä»¥æŒ‡å®špageNo. * autoCount指定是å?¦åЍæ€?获å?–总结果数. * * @param criterion æ•°é‡?å?¯å?˜çš„Criterion. * @return 分页查询结果.附带结果列表å?Šæ‰€æœ‰æŸ¥è¯¢æ—¶çš„å?‚æ•°. */ public Page<T> findByCriteria(Page page, Criterion... criterion) { Assert.notNull(page); Criteria c = createCriteria(criterion); if (page.isAutoCount()) { page.setTotalCount(countQueryResult(page, c)); } if (page.isOrderBySetted()) { if (page.getOrder().endsWith("asc")) { c.addOrder(Order.asc(page.getOrderBy())); } else { c.addOrder(Order.desc(page.getOrderBy())); } } //hibernateçš„firstResultçš„åº?å?·ä»Ž0开始 c.setFirstResult(page.getFirst() - 1); c.setMaxResults(page.getPageSize()); page.setResult(c.list()); return page; }
Example 91
| Project: enterprise-app-master File: DefaultHbnContainer.java View source code |
/**
* @return a Criteria object with restrictions accordingly to current filters.
*/
@Override
public Criteria getBaseCriteria() {
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(entityType);
ArrayList<Subcriteria> subcriterias = new ArrayList<Subcriteria>();
if (filters != null) {
for (ContainerFilter f : filters) {
StringContainerFilter filter = (StringContainerFilter) f;
String propertyString = filter.getPropertyId().toString();
String[] properties = propertyString.split("\\.");
String property = properties[properties.length - 1];
Type propertyType = getClassMetadata().getPropertyType(properties[0]);
if (properties.length > 1) {
for (int i = 0; i < properties.length - 1; i++) {
boolean subcriteriaFound = false;
for (Subcriteria sc : subcriterias) {
if (sc.getPath().equals(properties[i])) {
criteria = sc;
subcriteriaFound = true;
break;
}
}
if (!subcriteriaFound) {
criteria = criteria.createCriteria(properties[i]);
subcriterias.add((Subcriteria) criteria);
}
propertyType = sessionFactory.getCurrentSession().getSessionFactory().getClassMetadata(propertyType.getReturnedClass()).getPropertyType(properties[i + 1]);
}
}
Class<?> returnedClass = propertyType.getReturnedClass();
if (propertyType.isCollectionType()) {
try {
Field field = entityType.getDeclaredField(property);
ParameterizedType parameterizedType = (ParameterizedType) field.getGenericType();
returnedClass = (Class<?>) parameterizedType.getActualTypeArguments()[0];
} catch (Exception e) {
throw new RuntimeException(e);
}
}
if (propertyType.isAssociationType()) {
CrudTable crudTableAnnotation = (CrudTable) returnedClass.getAnnotation(CrudTable.class);
if (crudTableAnnotation != null) {
boolean subcriteriaFound = false;
for (Subcriteria sc : subcriterias) {
if (sc.getPath().equals(property)) {
criteria = sc;
subcriteriaFound = true;
break;
}
}
if (!subcriteriaFound) {
criteria = criteria.createCriteria(property);
subcriterias.add((Subcriteria) criteria);
}
property = crudTableAnnotation.filteringPropertyName();
propertyType = sessionFactory.getCurrentSession().getSessionFactory().getClassMetadata(returnedClass).getPropertyType(property);
} else {
throw new RuntimeException("Entity class " + getClassMetadata().getEntityName() + " doesn't declare a filtering property name (no CrudTable annotation present).");
}
}
StringContainerFilter sf = new StringContainerFilter(property, filter.filterString, filter.filterString2, filter.ignoreCase, filter.onlyMatchPrefix);
Criterion criterion = getCustomRestriction(sf, propertyType.getReturnedClass());
if (criterion != null) {
criteria.add(criterion);
}
while (criteria.getClass().equals(Subcriteria.class)) {
criteria = ((Subcriteria) criteria).getParent();
}
}
}
return criteria;
}Example 92
| Project: gsan-master File: GeradorHQLCondicional.java View source code |
/** * Este método avalia cada parâmetro informado num filtro para ser adicionado * como uma condicional de busca usando o padrão Criteria Queries do hibernate */ public static Criterion avaliarParametrosQueryCriteriaExpression(Session session, FiltroParametro filtroParametro) throws HibernateException { Criterion retorno = null; // Chama o método de geração de acordo com o tipo do parâmetro if (filtroParametro instanceof Intervalo) { Intervalo intervalo = ((Intervalo) filtroParametro); // Monta a condicional para a query retorno = Expression.between(intervalo.getNomeAtributo(), intervalo.getIntervaloInicial(), intervalo.getIntervaloFinal()); } else if (filtroParametro instanceof ParametroSimples) { ParametroSimples parametroSimples = ((ParametroSimples) filtroParametro); // Monta a condicional para a query retorno = Expression.eq(parametroSimples.getNomeAtributo(), parametroSimples.getValor()); } else if (filtroParametro instanceof ComparacaoTexto) { ComparacaoTexto comparacaoTexto = ((ComparacaoTexto) filtroParametro); // Monta a condicional para a query retorno = Expression.like(comparacaoTexto.getNomeAtributo(), comparacaoTexto.getValor()).ignoreCase(); } else if (filtroParametro instanceof ParametroNaoNulo) { ParametroNaoNulo parametroNaoNulo = (ParametroNaoNulo) filtroParametro; // Monta a condicional para a query retorno = Expression.isNotNull(parametroNaoNulo.getNomeAtributo()); } else if (filtroParametro instanceof ParametroNulo) { ParametroNulo parametroNulo = (ParametroNulo) filtroParametro; // Monta a condicional para a query retorno = Expression.isNull(parametroNulo.getNomeAtributo()); } else if (filtroParametro instanceof ConectorAnd) { ConectorAnd conectorAnd = (ConectorAnd) filtroParametro; // Obtém os parâmetros FiltroParametro filtro1 = conectorAnd.getFiltro1(); FiltroParametro filtro2 = conectorAnd.getFiltro2(); // Monta a condicional para a query retorno = Expression.and(avaliarParametrosQueryCriteriaExpression(session, filtro1), avaliarParametrosQueryCriteriaExpression(session, filtro2)); } else if (filtroParametro instanceof ConectorOr) { ConectorOr conectorOr = (ConectorOr) filtroParametro; // Obtém os parâmetros FiltroParametro filtro1 = conectorOr.getFiltro1(); FiltroParametro filtro2 = conectorOr.getFiltro2(); // Monta a condicional para a query retorno = Expression.or(avaliarParametrosQueryCriteriaExpression(session, filtro1), avaliarParametrosQueryCriteriaExpression(session, filtro2)); } return retorno; }
Example 93
| Project: iMatrix6.0.0Dev-master File: SimpleHibernateTemplate.java View source code |
/** * 按Criterion分页查询. * @param page 分页å?‚æ•°.包括pageSizeã€?firstResultã€?orderByã€?ascã€?autoCount. * å…¶ä¸firstResultå?¯ç›´æŽ¥æŒ‡å®š,也å?¯ä»¥æŒ‡å®špageNo. * autoCount指定是å?¦åЍæ€?获å?–总结果数. * * @param criterion æ•°é‡?å?¯å?˜çš„Criterion. * @return 分页查询结果.附带结果列表å?Šæ‰€æœ‰æŸ¥è¯¢æ—¶çš„å?‚æ•°. */ public Page<T> findByCriteria(Page page, Criterion... criterion) { Assert.notNull(page); Criteria c = createCriteria(criterion); if (page.isAutoCount()) { page.setTotalCount(countQueryResult(page, c)); } if (page.isOrderBySetted()) { if (page.getOrder().endsWith("asc")) { c.addOrder(Order.asc(page.getOrderBy())); } else { c.addOrder(Order.desc(page.getOrderBy())); } } //hibernateçš„firstResultçš„åº?å?·ä»Ž0开始 c.setFirstResult(page.getFirst() - 1); c.setMaxResults(page.getPageSize()); page.setResult(c.list()); return page; }
Example 94
| Project: jeppetto-master File: HibernateQueryModelDAO.java View source code |
//-------------------------------------------------------------
// Methods - Private
//-------------------------------------------------------------
private Criteria buildCriteria(QueryModel queryModel) {
Criteria criteria = getCurrentSession().createCriteria(persistentClass);
if (queryModel.getConditions() != null) {
for (Condition condition : queryModel.getConditions()) {
criteria.add((Criterion) condition.getConstraint());
}
}
for (Map.Entry<String, List<Condition>> associationCriteriaEntry : queryModel.getAssociationConditions().entrySet()) {
Criteria associationCriteria = criteria.createCriteria(associationCriteriaEntry.getKey());
criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
for (Condition condition : associationCriteriaEntry.getValue()) {
associationCriteria.add((Criterion) condition.getConstraint());
}
}
if (queryModel.getProjection() != null) {
ProjectionList projectionList = Projections.projectionList();
projectionList.add((org.hibernate.criterion.Projection) queryModel.getProjection().getDetails());
criteria.setProjection(projectionList);
}
return criteria;
}Example 95
| Project: jPOS-EE-master File: EntityContainer.java View source code |
public int size() {
if (size == null) {
try {
size = (Long) DB.exec(( db) -> {
Criteria crit = getBaseCriteria(db);
if (searchRestrictions != null && searchRestrictions.size() > 0) {
for (Criterion c : searchRestrictions) {
crit.add(c);
}
}
if (restrictions != null && restrictions.size() > 0) {
for (Criterion c : restrictions) {
crit.add(c);
}
}
crit = crit.setProjection(Projections.projectionList().add(Projections.rowCount()).add(Projections.groupProperty("id")));
return (long) crit.list().size();
});
} catch (Exception e) {
QI.getQI().getLog().error(e);
return 0;
}
}
return (int) size.longValue();
}Example 96
| Project: libreplan-master File: OrderDAO.java View source code |
private boolean matchFilterCriterion(OrderElement orderElement, List<Criterion> criterions) {
if ((criterions != null) && (!criterions.isEmpty())) {
List<OrderElement> orderElements = new ArrayList<>();
orderElements.add(orderElement);
List<Task> tasks = this.getFilteredTask(orderElements, criterions);
return !tasks.isEmpty();
}
return true;
}Example 97
| Project: hbs4ode-master File: HibernateInstancesQueryCompiler.java View source code |
@Override
public CommandEvaluator<List, Session> compile(final Query node) {
init();
final OrderByEvaluator<Collection<Order>, Object> orderEvaluator = (node.getOrder() != null) ? compileOrderBy(node.getOrder()) : null;
final CommandEvaluator<Criterion, Object> selectionEvaluator = node.getChilds().size() == 0 ? null : compileEvaluator(node.getChilds().iterator().next());
final boolean joinCorrelationSet = propertyInQuery;
final boolean sortByStatus = orderByStatus;
final boolean sortByStatusDesc = orderByStatusDesc;
final Limit limit = node.getLimit();
return new CommandEvaluator<List, Session>() {
public List evaluate(Session session) {
Criteria criteria = session.createCriteria(HProcessInstance.class).createAlias("process", "process");
if (joinCorrelationSet) {
criteria = criteria.createAlias("correlationSets", "property");
}
if (selectionEvaluator != null) {
criteria.add(selectionEvaluator.evaluate(null));
}
if (orderEvaluator != null) {
Collection<Order> orders = orderEvaluator.evaluate(null);
for (Order order : orders) {
criteria.addOrder(order);
}
}
// setting limit
if (limit != null) {
criteria.setMaxResults(limit.getNumber());
}
List result = criteria.list();
//check whether ordering by status
if (sortByStatus) {
Collections.sort(result, sortByStatusDesc ? StateComparator.DESC : StateComparator.ASC);
}
return result;
}
;
};
}Example 98
| Project: infoglue-calendarOld-master File: EventController.java View source code |
/**
* Gets a list of all events available for a particular calendar with the optional categories.
* @return List of Event
* @throws Exception
*/
public Set getEventList(String[] calendarIds, String categoryAttribute, String[] categoryNames, String includedLanguages, java.util.Calendar startCalendar, java.util.Calendar endCalendar, String freeText, Integer numberOfItems, Session session) throws Exception {
List result = null;
String calendarSQL = null;
if (calendarIds != null && calendarIds.length > 0) {
calendarSQL = "(";
for (int i = 0; i < calendarIds.length; i++) {
String calendarIdString = calendarIds[i];
try {
Integer calendarId = new Integer(calendarIdString);
} catch (Exception e) {
log.warn("An invalid calendarId was given:" + e.getMessage());
return null;
}
if (i > 0)
calendarSQL += ",";
calendarSQL += calendarIdString;
}
calendarSQL += ")";
} else {
return null;
}
Object[] calendarIdArray = new Object[calendarIds.length];
for (int i = 0; i < calendarIds.length; i++) calendarIdArray[i] = new Long(calendarIds[i]);
Set set = new LinkedHashSet();
if (calendarIdArray.length > 0) {
Criteria criteria = session.createCriteria(Event.class);
criteria.add(Expression.eq("stateId", Event.STATE_PUBLISHED));
Criteria versionsCriteria = criteria.createAlias("versions", "v");
if (startCalendar != null && endCalendar != null) {
if (startCalendar.get(java.util.Calendar.YEAR) == endCalendar.get(java.util.Calendar.YEAR) && startCalendar.get(java.util.Calendar.DAY_OF_YEAR) == endCalendar.get(java.util.Calendar.DAY_OF_YEAR)) {
startCalendar.set(java.util.Calendar.HOUR_OF_DAY, 23);
endCalendar.set(java.util.Calendar.HOUR_OF_DAY, 1);
criteria.add(Expression.and(Expression.le("startDateTime", startCalendar), Expression.ge("endDateTime", endCalendar)));
} else
criteria.add(Expression.or(Expression.and(Expression.ge("startDateTime", startCalendar), Expression.le("startDateTime", endCalendar)), Expression.and(Expression.ge("endDateTime", endCalendar), Expression.le("endDateTime", endCalendar))));
} else {
criteria.add(Expression.gt("endDateTime", java.util.Calendar.getInstance()));
}
criteria.add(Expression.eq("stateId", Event.STATE_PUBLISHED));
criteria.addOrder(Order.asc("startDateTime"));
criteria.createCriteria("calendars").add(Expression.in("id", calendarIdArray));
Criteria eventCategoriesCriteria = null;
log.info("categoryAttribute:" + categoryAttribute);
if (categoryAttribute != null && !categoryAttribute.equalsIgnoreCase("")) {
log.info("categoryAttribute:" + categoryAttribute);
eventCategoriesCriteria = criteria.createCriteria("eventCategories");
eventCategoriesCriteria.createCriteria("eventTypeCategoryAttribute").add(Expression.eq("internalName", categoryAttribute));
}
Criteria languageVersionCriteria = null;
log.info("includedLanguages:" + includedLanguages);
if (includedLanguages != null && !includedLanguages.equalsIgnoreCase("") && !includedLanguages.equalsIgnoreCase("*")) {
//languageVersionCriteria = criteria.createCriteria("versions");
versionsCriteria.createCriteria("v.language").add(Expression.eq("isoCode", includedLanguages));
}
if (categoryNames != null && categoryNames.length > 0 && !categoryNames[0].equalsIgnoreCase("")) {
log.info("categoryNames[0]:" + categoryNames[0]);
if (eventCategoriesCriteria == null)
eventCategoriesCriteria = criteria.createCriteria("eventCategories");
eventCategoriesCriteria.createCriteria("category").add(Expression.in("internalName", categoryNames));
}
if (freeText != null && !freeText.equals("")) {
Criterion nameRestriction = Restrictions.like("name", "%" + freeText + "%");
Criterion organizerNameRestriction = Restrictions.like("organizerName", "%" + freeText + "%");
Junction d1 = Restrictions.disjunction().add(Restrictions.like("v.name", "%" + freeText + "%")).add(Restrictions.like("v.description", "%" + freeText + "%")).add(Restrictions.like("v.lecturer", "%" + freeText + "%")).add(Restrictions.like("v.longDescription", "%" + freeText + "%")).add(Restrictions.like("v.shortDescription", "%" + freeText + "%")).add(Restrictions.like("v.organizerName", "%" + freeText + "%")).add(Restrictions.like("v.customLocation", "%" + freeText + "%")).add(Restrictions.like("v.eventUrl", "%" + freeText + "%")).add(Restrictions.like("v.alternativeLocation", "%" + freeText + "%")).add(Restrictions.like("name", "%" + freeText + "%")).add(Restrictions.like("description", "%" + freeText + "%")).add(Restrictions.like("contactName", "%" + freeText + "%")).add(Restrictions.like("lecturer", "%" + freeText + "%")).add(Restrictions.like("longDescription", "%" + freeText + "%")).add(Restrictions.like("contactEmail", "%" + freeText + "%")).add(Restrictions.like("shortDescription", "%" + freeText + "%")).add(Restrictions.like("organizerName", "%" + freeText + "%")).add(Restrictions.like("contactPhone", "%" + freeText + "%")).add(Restrictions.like("price", "%" + freeText + "%")).add(Restrictions.like("customLocation", "%" + freeText + "%")).add(Restrictions.like("eventUrl", "%" + freeText + "%")).add(Restrictions.like("alternativeLocation", "%" + freeText + "%"));
criteria.add(d1);
}
if (numberOfItems != null)
criteria.setMaxResults(numberOfItems);
result = criteria.list();
log.info("result:" + result.size());
set.addAll(result);
}
return set;
}Example 99
| Project: ode-master File: HibernateInstancesQueryCompiler.java View source code |
@Override
public CommandEvaluator<List, Session> compile(final Query node) {
init();
final OrderByEvaluator<Collection<Order>, Object> orderEvaluator = (node.getOrder() != null) ? compileOrderBy(node.getOrder()) : null;
final CommandEvaluator<Criterion, Object> selectionEvaluator = node.getChilds().size() == 0 ? null : compileEvaluator(node.getChilds().iterator().next());
final boolean joinCorrelationSet = propertyInQuery;
final boolean sortByStatus = orderByStatus;
final boolean sortByStatusDesc = orderByStatusDesc;
final Limit limit = node.getLimit();
return new CommandEvaluator<List, Session>() {
public List evaluate(Session session) {
Criteria criteria = session.createCriteria(HProcessInstance.class).createAlias("process", "process");
if (joinCorrelationSet) {
criteria = criteria.createAlias("correlationSets", "property");
}
if (selectionEvaluator != null) {
criteria.add(selectionEvaluator.evaluate(null));
}
if (orderEvaluator != null) {
Collection<Order> orders = orderEvaluator.evaluate(null);
for (Order order : orders) {
criteria.addOrder(order);
}
}
// setting limit
if (limit != null) {
criteria.setMaxResults(limit.getNumber());
}
List result = criteria.list();
//check whether ordering by status
if (sortByStatus) {
Collections.sort(result, sortByStatusDesc ? StateComparator.DESC : StateComparator.ASC);
}
return result;
}
;
};
}Example 100
| Project: SensorWebClient-master File: HibernateUtil.java View source code |
@SuppressWarnings("unchecked")
public static List<BasicRule> getAllOtherBasicRules(String userID) {
Session session = getSessionFactory().getCurrentSession();
session.beginTransaction();
Criteria crit = session.createCriteria(BasicRule.class);
Criterion restriction = Restrictions.not(Restrictions.eq(OWNER_ID, Integer.valueOf(userID)));
List<BasicRule> rules = crit.add(restriction).list();
session.getTransaction().commit();
return rules;
}Example 101
| Project: acs-master File: HibernateWDALImpl.java View source code |
public List getListForConfiguration(Session session, Class type, Criterion cr) throws Throwable {
List<Computer> result = null;
try {
type.getMethod("getConfiguration", (Class[]) null);
result = session.createCriteria(type).add(Restrictions.eq("configuration", config)).add(cr).list();
} catch (NoSuchMethodException nsme) {
result = session.createCriteria(type).add(Restrictions.eq("ConfigurationId", configId)).add(cr).list();
}
return result;
}