Refine search
@Override public NotificationSchema findLatestNotificationSchemaByAppId( String appId, NotificationTypeDto type) { LOG.debug("Searching latest notification schema by application id [{}] type [{}]", appId, type); NotificationSchema latestSchema = null; if (isNotBlank(appId)) { Criteria criteria = getCriteria().add(Restrictions.and( Restrictions.eq(APPLICATION_REFERENCE, Long.valueOf(appId)), Restrictions.eq(NOTIFICATION_SCHEMA_TYPE_PROPERTY, type) )).addOrder(Order.desc(VERSION_PROPERTY)).setMaxResults(FIRST); latestSchema = findOneByCriteria(criteria); } if (LOG.isTraceEnabled()) { LOG.trace("[{},{}] Search result: {}.", appId, type, latestSchema); } else { LOG.debug("[{},{}] Search result: {}.", appId, type, latestSchema != null); } return latestSchema; } }
@Override public List<EndpointProfileSchema> findVacantSchemas(String appId, List<String> usedSchemaIds) { LOG.debug("Searching vacant schemas by application id [{}] and used schema ids [{}] ", appId, usedSchemaIds); List<EndpointProfileSchema> schemas = Collections.emptyList(); if (isNotBlank(appId)) { Criteria criteria = getCriteria().createAlias(APPLICATION_PROPERTY, APPLICATION_ALIAS) .add(Restrictions.eq(APPLICATION_REFERENCE, Long.valueOf(appId))); if (usedSchemaIds != null && !usedSchemaIds.isEmpty()) { criteria.add(Restrictions.not(Restrictions.in(ID_PROPERTY, toLongIds(usedSchemaIds)))); } schemas = findListByCriteria(criteria); } if (LOG.isTraceEnabled()) { LOG.trace("[{}] Search result: {}.", appId, Arrays.toString(schemas.toArray())); } else { LOG.debug("[{}] Search result: {}.", appId, schemas.size()); } return schemas; }
@Override public List<Offer> readOffersByAutomaticDeliveryType() { //TODO change this to a JPA criteria Criteria criteria = ((HibernateEntityManager) em).getSession().createCriteria(OfferImpl.class); Date myDate = getCurrentDateAfterFactoringInDateResolution(); Calendar c = Calendar.getInstance(); c.setTime(myDate); c.add(Calendar.DATE, +1); criteria.add(Restrictions.lt("startDate", c.getTime())); c = Calendar.getInstance(); c.setTime(myDate); c.add(Calendar.DATE, -1); criteria.add(Restrictions.or(Restrictions.isNull("endDate"), Restrictions.gt("endDate", c.getTime()))); criteria.add(Restrictions.or(Restrictions.eq("archiveStatus.archived", 'N'), Restrictions.isNull("archiveStatus.archived"))); criteria.add(Restrictions.eq("automaticallyAdded", true)); criteria.setCacheable(true); criteria.setCacheRegion("query.Offer"); return criteria.list(); }
/** * Apply an "equal" constraint to the named property. If the value * is null, instead apply "is null". * * @param propertyName The name of the property * @param value The value to use in comparison * * @return The Criterion * * @see #eq * @see #isNull */ public static Criterion eqOrIsNull(String propertyName, Object value) { return value == null ? isNull( propertyName ) : eq( propertyName, value ); }
public Users findNotificationSubscribingUsers() { return (Users) transactionTemplate.execute((TransactionCallback) transactionStatus -> { Criteria criteria = sessionFactory.getCurrentSession().createCriteria(User.class); criteria.setCacheable(true); criteria.add(Restrictions.isNotEmpty("notificationFilters")); criteria.add(Restrictions.eq("enabled", true)); return new Users(criteria.list()); }); }
private Criterion buildSearchCriterion(String fqn, String tenantId, String applicationId) { List<Criterion> searchCriterions = new ArrayList<>(); searchCriterions.add(Restrictions.eq(CTL_SCHEMA_META_INFO_FQN, fqn)); if (isNotBlank(tenantId)) { searchCriterions.add(Restrictions.eq(CTL_SCHEMA_META_INFO_TENANT_ID_ALIAS, Long.valueOf(tenantId))); } else { searchCriterions.add(Restrictions.isNull(CTL_SCHEMA_META_INFO_TENANT_ID_ALIAS)); } if (isNotBlank(applicationId)) { searchCriterions.add(Restrictions.eq(CTL_SCHEMA_META_INFO_APPLICATION_ID_ALIAS, Long.valueOf(applicationId))); } else { searchCriterions.add(Restrictions.isNull(CTL_SCHEMA_META_INFO_APPLICATION_ID_ALIAS)); } return Restrictions.and(searchCriterions.toArray(new Criterion[searchCriterions.size()])); }
.add( Restrictions.eq( "integer", f.getInteger() ) ) .add( Restrictions.eqProperty("integer", "integer") ) .add( Restrictions.like( "string", f.getString().toUpperCase(Locale.ROOT) ).ignoreCase() ) .add( Restrictions.in( "boolean", f.getBoolean(), f.getBoolean() ) ) Restrictions.disjunction() .add( Restrictions.eq( "integer", f.getInteger() ) ) .add( Restrictions.like( "string", f.getString() ) ) .add( Restrictions.eq( "boolean", f.getBoolean() ) ) .add( Restrictions.isNotNull("boolean") ) .add( Restrictions.or( Restrictions.and( Restrictions.eq( "integer", f.getInteger() ), Restrictions.like( "string", f.getString() ) ), Restrictions.eq( "boolean", f.getBoolean() ) .addOrder( Order.asc("date") ) .addOrder( Order.asc("date") ) .addOrder( Order.desc("string") ) .add( Restrictions.eq( "integer", f.getInteger() ) ) .add( Restrictions.like( "string", f.getString() ) ) .add( Restrictions.in( "boolean", f.getBoolean(), f.getBoolean() ) ) .add( Restrictions.isNotNull("foo") )
@Test public void testJoinedSubclass() { Session s = openSession(); Transaction t = s.beginTransaction(); yomomma.setSex('F'); s.save(yomomma); s.save(mark); s.save(joe); assertEquals( s.createQuery("from Person p where p.address.zip = '30306'" ).list().size(),1 ); s.createCriteria( Person.class ).add( Restrictions.in( "address", mark.getAddress(), joe.getAddress() ) ).list(); s.delete(mark);
/** * @see org.openmrs.api.FormService#getFieldsByConcept(org.openmrs.Concept) */ @SuppressWarnings("unchecked") public List<Field> getFieldsByConcept(Concept concept) throws DAOException { Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Field.class); criteria.add(Restrictions.eq("concept", concept)); criteria.addOrder(Order.asc("name")); return criteria.list(); }
@Test public void testCriteriaRestrictionOnKeyManyToOne() { Session s = openSession(); s.beginTransaction(); s.createQuery( "from Order o where o.customer.name = 'Acme'" ).list(); Criteria criteria = s.createCriteria( Order.class ); criteria.createCriteria( "customer" ).add( Restrictions.eq( "name", "Acme" ) ); criteria.list(); s.getTransaction().commit(); s.close(); }
/** * @see org.openmrs.api.db.FormDAO#getFormsByName(java.lang.String) */ @Override @SuppressWarnings("unchecked") public List<Form> getFormsByName(String name) throws DAOException { Criteria crit = sessionFactory.getCurrentSession().createCriteria(Form.class); crit.add(Restrictions.eq("name", name)); crit.add(Restrictions.eq("retired", false)); crit.addOrder(Order.desc("version")); return crit.list(); }
@Override public List<CohortMembership> getCohortMemberships(Integer patientId, Date activeOnDate, boolean includeVoided) { Criteria criteria = sessionFactory.getCurrentSession().createCriteria(CohortMembership.class); criteria.add(Restrictions.eq("patientId", patientId)); if (activeOnDate != null) { criteria.add(Restrictions.le("startDate", activeOnDate)); criteria.add(Restrictions.or( Restrictions.isNull("endDate"), Restrictions.ge("endDate", activeOnDate) )); } if (!includeVoided) { criteria.add(Restrictions.eq(VOIDED, false)); } return criteria.list(); }
@Override public List<T> getUpdateEventsByProteinAcAndDate(String intactObjectAc, Date updatedDate) { return getSession().createCriteria(getEntityClass()) .createAlias("updateProcess", "p") .add(Restrictions.lt("p.date", DateUtils.addDays(updatedDate, 1))) .add(Restrictions.gt("p.date", DateUtils.addDays(updatedDate, -1))) .add(Restrictions.eq("proteinAc", intactObjectAc)) .addOrder(Order.asc("eventDate")).list(); }
@Test public void testRestrictionsOnComponentTypes() { doInHibernate( this::sessionFactory, session -> { session.enableFilter( "statusFilter" ).setParameter( "status", "active" ); final Criteria query = session.createCriteria( Student.class ); query.add( Restrictions.eq( "id", STUDENT_ID ) ); query.add( Restrictions.eq( "address", new Address( "London", "Lollard St" ) ) ); query.add( Restrictions.eq( "name", "dre" ) ); final List list = query.list(); assertThat( list.size(), is( 1 ) ); }); }
@Override public Object doInTransaction(TransactionStatus transactionStatus) { return sessionFactory.getCurrentSession() .createCriteria(PipelineState.class) .add(Restrictions.eq("pipelineName", pipelineName)) .setCacheable(false).uniqueResult(); } });
public Optional<ContentReviewItem> findByProviderSingleItemToSubmit(Integer providerId) { Calendar calendar = Calendar.getInstance(); Criteria c = sessionFactory.getCurrentSession() .createCriteria(ContentReviewItem.class) .add(Restrictions.eq("providerId", providerId)) .add(Restrictions.in("status", new Long[]{ContentReviewConstants.CONTENT_REVIEW_NOT_SUBMITTED_CODE, ContentReviewConstants.CONTENT_REVIEW_SUBMISSION_ERROR_RETRY_CODE})) .add(Restrictions.lt("nextRetryTime", calendar.getTime())) .setMaxResults(1); return Optional.ofNullable((ContentReviewItem) c.uniqueResult()); } }
@Override public List<AssignedProductOptionDTO> findAssignedProductOptionsByProductId(Long productId) { Session session = em.unwrap(Session.class); Criteria criteria = session.createCriteria(SkuProductOptionValueXrefImpl.class); List dtoList = criteria .createAlias("sku", "sku") .createAlias("sku.product", "product") .createAlias("productOptionValue", "productOptionValue") .createAlias("productOptionValue.productOption", "productOption") .setProjection(Projections.distinct( Projections.projectionList() .add(Projections.property("product.id"), "productId") .add(Projections.property("productOption.attributeName"), "productOptionAttrName") .add(Projections.property("productOptionValue"), "productOptionValue") .add(Projections.property("sku"), "sku") ) ).setResultTransformer(Transformers.aliasToBean(AssignedProductOptionDTO.class)) .add(Restrictions.eq("product.id", productId)) .addOrder(Order.asc("productOption.attributeName")).list(); List<AssignedProductOptionDTO> results = new ArrayList<>(); for (Object o : dtoList) { AssignedProductOptionDTO dto = (AssignedProductOptionDTO) o; if (dto.getSku().isActive()) { results.add(dto); } } return results; }
@Test public void testLike(){ Session session = openSession(); Transaction tx = session.beginTransaction(); TestObject obj = new TestObject(); String uniq = "uniq" + System.currentTimeMillis(); obj.setText( "XyZ " + uniq + " blablabla" ); session.save( obj ); session.flush(); tx.commit(); session.close(); tx = session.beginTransaction(); List objects = session.createCriteria( TestObject.class ).add( Restrictions.like( "text", pattern ) ).list(); assertEquals( 1, objects.size() ); session.clear(); objects = session.createCriteria( TestObject.class ).add( Restrictions.like( "text", pattern ).ignoreCase() ).list();
/** * @see org.openmrs.api.db.FormDAO#getFields(java.lang.String) */ @Override @SuppressWarnings("unchecked") public List<Field> getFields(String search) throws DAOException { Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Field.class); criteria.add(Restrictions.like("name", search, MatchMode.ANYWHERE)); criteria.addOrder(Order.asc("name")); return criteria.list(); }
public EnvironmentVariables load(final Long entityId, final EnvironmentVariableType type) { List<EnvironmentVariable> result = (List<EnvironmentVariable>) transactionTemplate.execute((TransactionCallback) transactionStatus -> { Criteria criteria = sessionFactory.getCurrentSession().createCriteria(EnvironmentVariable.class).add(Restrictions.eq("entityId", entityId)).add( Restrictions.eq("entityType", type.toString())).addOrder(Order.asc("id")); criteria.setCacheable(true); return criteria.list(); }); return new EnvironmentVariables(result); }