Java Examples for org.hibernate.criterion.MatchMode
The following java examples will help you to understand the usage of org.hibernate.criterion.MatchMode. These source code samples are taken from different open source projects.
Example 1
Project: Doctors-master File: PerfilUsuarioDao.java View source code |
// mudar p/ UsuarioInvalidoException. public PerfilUsuario logar(PerfilUsuario usuario) throws UsuarioInvalidoException { Criteria criteria = getSession().createCriteria(PerfilUsuario.class).add(Restrictions.ilike("login", usuario.getLogin(), MatchMode.EXACT)).add(Restrictions.ilike("senha", usuario.getSenha(), MatchMode.EXACT)); PerfilUsuario user = (PerfilUsuario) criteria.uniqueResult(); if (user == null) { throw new UsuarioInvalidoException("Usuário Inválido!"); } return user; }
Example 2
Project: RBAC-master File: AccountDao.java View source code |
/** * æ ¹æ?®ç”¨æˆ·ç™»å½•å??和用户显示å??查找用户列表 * @param username * @param realname * @return */ public List<SysAccount> getSysAccountList(String username, String realname) { Criteria crit = super.getSession().createCriteria(SysAccount.class); crit.add(Restrictions.eq("isDeleted", 0)); if (CommonUtils.isNotEmpty(username)) { crit.add(Restrictions.ilike("username", username, MatchMode.ANYWHERE)); } if (CommonUtils.isNotEmpty(realname)) { crit.add(Restrictions.ilike("realname", realname, MatchMode.ANYWHERE)); } return crit.list(); }
Example 3
Project: breeze.server.java-master File: CriteriaBuilder.java View source code |
private Criterion createCriterion(CriteriaWrapper crit, BinaryPredicate pred, String contextAlias) { Operator op = pred.getOperator(); String symbol = _operatorMap.get(op.getName()); Expression expr1 = pred.getExpr1(); Expression expr2 = pred.getExpr2(); Criterion cr; if (expr1 instanceof PropExpression) { PropExpression pexpr1 = (PropExpression) expr1; String propPath = pexpr1.getPropertyPath(); String propName; if (pexpr1.getProperty().getParentType().isComplexType()) { // don't process the property path in this case. propName = propPath; } else { propName = _aliasBuilder.getPropertyName(crit, propPath); } propName = (contextAlias == null) ? propName : contextAlias + "." + propName; if (expr2 instanceof LitExpression) { Object value = ((LitExpression) expr2).getValue(); if (value == null) { if (op == Operator.Equals) { cr = Restrictions.isNull(propName); } else if (op == Operator.NotEquals) { cr = Restrictions.isNotNull(propName); } else { throw new RuntimeException("Binary Predicate with a null value and the " + op.getName() + "operator is not supported ."); } } else if (symbol != null) { cr = new OperatorExpression(propName, value, symbol); } else if (op == Operator.In) { cr = Restrictions.in(propName, ((List) value).toArray()); } else if (op == Operator.StartsWith) { cr = Restrictions.like(propName, ((String) value), MatchMode.START); } else if (op == Operator.EndsWith) { cr = Restrictions.like(propName, (String) value, MatchMode.END); } else if (op == Operator.Contains) { cr = Restrictions.like(propName, ((String) value), MatchMode.ANYWHERE); } else { throw new RuntimeException("Binary Predicate with the " + op.getName() + "operator is not yet supported."); } } else { // javax.persistence.criteria.CriteriaBuilder x = new // javax.persistence.criteria.CriteriaBuilder(); String otherPropPath = ((PropExpression) expr2).getPropertyPath(); if (symbol != null) { cr = new PropertyExpression(propName, otherPropPath, symbol); } else if (op == Operator.StartsWith) { cr = new LikePropertyExpression(propName, otherPropPath, MatchMode.START); } else if (op == Operator.EndsWith) { cr = new LikePropertyExpression(propName, otherPropPath, MatchMode.END); } else if (op == Operator.Contains) { cr = new LikePropertyExpression(propName, otherPropPath, MatchMode.ANYWHERE); } else { throw new RuntimeException("Property comparison with the " + op.getName() + "operator is not yet supported."); } } return cr; } else { throw new RuntimeException("Function expressions not yet supported."); } }
Example 4
Project: cagrid2-master File: AbstractDao.java View source code |
@SuppressWarnings("unchecked")
public List<T> searchByExample(final T sample, final boolean inexactMatches) {
return (List<T>) getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException, SQLException {
Example example = Example.create(sample).excludeZeroes();
if (inexactMatches) {
example.ignoreCase().enableLike(MatchMode.ANYWHERE);
}
return session.createCriteria(domainClass()).add(example).list();
}
});
}
Example 5
Project: curso-javaee-primefaces-master File: Pedidos.java View source code |
@SuppressWarnings("unchecked") public List<Pedido> filtrados(PedidoFilter filtro) { Session session = this.manager.unwrap(Session.class); Criteria criteria = session.createCriteria(Pedido.class).createAlias(// fazemos uma associação (join) com cliente e nomeamos como "c" "cliente", "c").createAlias(// fazemos uma associação (join) com vendedor e nomeamos como "v" "vendedor", "v"); if (filtro.getNumeroDe() != null) { // id deve ser maior ou igual (ge = greater or equals) a filtro.numeroDe criteria.add(Restrictions.ge("id", filtro.getNumeroDe())); } if (filtro.getNumeroAte() != null) { // id deve ser menor ou igual (le = lower or equal) a filtro.numeroDe criteria.add(Restrictions.le("id", filtro.getNumeroAte())); } if (filtro.getDataCriacaoDe() != null) { criteria.add(Restrictions.ge("dataCriacao", filtro.getDataCriacaoDe())); } if (filtro.getDataCriacaoAte() != null) { criteria.add(Restrictions.le("dataCriacao", filtro.getDataCriacaoAte())); } if (StringUtils.isNotBlank(filtro.getNomeCliente())) { // acessamos o nome do cliente associado ao pedido pelo alias "c", criado anteriormente criteria.add(Restrictions.ilike("c.nome", filtro.getNomeCliente(), MatchMode.ANYWHERE)); } if (StringUtils.isNotBlank(filtro.getNomeVendedor())) { // acessamos o nome do vendedor associado ao pedido pelo alias "v", criado anteriormente criteria.add(Restrictions.ilike("v.nome", filtro.getNomeVendedor(), MatchMode.ANYWHERE)); } if (filtro.getStatuses() != null && filtro.getStatuses().length > 0) { // adicionamos uma restrição "in", passando um array de constantes da enum StatusPedido criteria.add(Restrictions.in("status", filtro.getStatuses())); } return criteria.addOrder(Order.asc("id")).list(); }
Example 6
Project: issuetracker-master File: IssueServiceImpl.java View source code |
/** * metodo invocado toda vez que uma lazy datatable de um MB(ex: <p:datatable value="#{issueBean.dataModel}") que usa * esta service for atualizada(via ajax ou não) */ @Override public Criteria configPagination(SearchModel<Issue> searchModel) { Criteria crit = getCriteria(); //configura paginação para o dashboard //parametro passado atraves do mapa de parametros {@see DashboardBean#preload()} Long idUsuario = (Long) searchModel.getFilter().get("uID"); if (idUsuario != null) { crit.createAlias("assinadoPara", "assinadoPara"); crit.add(Restrictions.eq("assinadoPara.id", idUsuario)); } String nomeProjeto = null; // configura filtros das colunas da tabela, somente necessário se houver relacionamentos(ex:issue->projeto) // ou para alterar comportamento padrão dos filtros {@see StandaloneHenericHibernateDao#addBasicFilterRestrictions} Map<String, String> tableFilters = searchModel.getDatatableFilter(); if (tableFilters != null && !tableFilters.isEmpty()) { String id = tableFilters.get("id"); if (id != null && !"".endsWith(id)) { try { crit.add(Restrictions.eq("id", Long.parseLong(id))); } catch (Exception e) { e.printStackTrace(); } } nomeProjeto = tableFilters.get("projeto.nome"); if (nomeProjeto != null) { crit.createAlias("projeto", "projeto"); crit.add(Restrictions.ilike("projeto.nome", nomeProjeto, MatchMode.ANYWHERE)); } String sumario = tableFilters.get("sumario"); if (sumario != null) { crit.add(Restrictions.ilike("sumario", sumario, MatchMode.ANYWHERE)); } String tipo = tableFilters.get("tipo"); if (tipo != null) { if (TipoDeIssue.BUG.name().equals(tipo)) { crit.add(Restrictions.eq("tipo", TipoDeIssue.BUG)); } else if (TipoDeIssue.FEATURE.name().equals(tipo)) { crit.add(Restrictions.eq("tipo", TipoDeIssue.FEATURE)); } } } //cria join para ordenar por "assinadoPara" String sortField = searchModel.getSortField(); if (//se idUsuario for != null é pq o alias ja foi criado sortField != null && sortField.equals("assinadoPara.nome") && idUsuario == null) { crit.createAlias("assinadoPara", "assinadoPara", JoinType.LEFT_OUTER_JOIN); } if (//se nome projeto != null é pq o alias ja foi criado sortField != null && sortField.equals("projeto.nome") && nomeProjeto == null) { crit.createAlias("projeto", "projeto", JoinType.LEFT_OUTER_JOIN); } return crit; }
Example 7
Project: issuetracker-weld-master File: IssueServiceImpl.java View source code |
/** * metodo invocado toda vez que uma lazy datatable de um MB(ex: <p:datatable value="#{issueBean.dataModel}") que usa * esta service for atualizada(via ajax ou não) */ @Override public Criteria configPagination(SearchModel<Issue> searchModel) { //configura paginação para o dashboard //parametro passado atraves do mapa de parametros {@see DashboardBean#preload()} Long idUsuario = (Long) searchModel.getFilter().get("uID"); if (idUsuario != null) { crud.join("assinadoPara", "assinadoPara").eq("assinadoPara.id", idUsuario); } String nomeProjeto = null; // configura filtros das colunas da tabela, somente necessário se houver relacionamentos(ex:issue->projeto) // ou para alterar comportamento padrão dos filtros {@see StandaloneHenericHibernateDao#addBasicFilterRestrictions} Map<String, String> tableFilters = searchModel.getDatatableFilter(); if (tableFilters != null && !tableFilters.isEmpty()) { String id = tableFilters.get("id"); if (id != null && !"".endsWith(id)) { try { crud.eq("id", Long.parseLong(id)); } catch (Exception e) { e.printStackTrace(); } } nomeProjeto = tableFilters.get("projeto.nome"); if (nomeProjeto != null) { crud.join("projeto", "projeto"); crud.ilike("projeto.nome", nomeProjeto, MatchMode.ANYWHERE); } String sumario = tableFilters.get("sumario"); if (sumario != null) { crud.ilike("sumario", sumario, MatchMode.ANYWHERE); } String tipo = tableFilters.get("tipo"); if (tipo != null) { if (TipoDeIssue.BUG.name().equals(tipo)) { crud.eq("tipo", TipoDeIssue.BUG); } else if (TipoDeIssue.FEATURE.name().equals(tipo)) { crud.eq("tipo", TipoDeIssue.FEATURE); } } } //cria join para ordenar por "assinadoPara" String sortField = searchModel.getSortField(); if (//se idUsuario for != null é pq o alias ja foi criado sortField != null && sortField.equals("assinadoPara.nome") && idUsuario == null) { crud.join("assinadoPara", "assinadoPara", JoinType.LEFT_OUTER_JOIN); } if (//se nome projeto != null é pq o alias ja foi criado sortField != null && sortField.equals("projeto.nome") && nomeProjeto == null) { crud.join("projeto", "projeto", JoinType.LEFT_OUTER_JOIN); } return crud.getCriteria(true); }
Example 8
Project: midpoint-master File: RootHibernateQuery.java View source code |
public Condition createLike(String propertyPath, String value, MatchMode matchMode, boolean ignoreCase) {
switch(matchMode) {
case ANYWHERE:
value = "%" + value + "%";
break;
case START:
value = value + "%";
break;
case END:
value = "%" + value;
break;
default:
throw new IllegalStateException("Unsupported match mode: " + matchMode);
}
return new SimpleComparisonCondition(this, propertyPath, value, "like", ignoreCase);
}
Example 9
Project: testcube-server-master File: HibernateTestRunResult.java View source code |
@Override @SuppressWarnings("unchecked") public List<ITestRunResult> findAll(Paging paging, Sorting sorting, String keyword, TestRun testRun, RunStatus status) { Criteria criteria = getCurrentSession().createCriteria(TestRunResult.class); if (keyword != null) { criteria.createAlias(TestRunResult.FIELD_TESTCASE, TestRunResult.FIELD_TESTCASE_ALIAS); if (StringUtils.isNotEmpty(keyword)) { criteria.add(Restrictions.or(Restrictions.ilike(TestRunResult.FIELD_TESTCASE_ALIAS + "." + TestCase.FIELD_NAME, keyword.toLowerCase(), MatchMode.ANYWHERE), Restrictions.ilike(TestRunResult.FIELD_TESTCASE_ALIAS + "." + TestCase.FIELD_DESC, keyword.toLowerCase(), MatchMode.ANYWHERE))); } } if (testRun != null) { criteria.add(Restrictions.eq(TestRunResult.FIELD_TEST_RUN, testRun)); } if (status != null) { criteria.add(Restrictions.and(Restrictions.eq(TestRunResult.FIELD_STATUS, status))); } addPaging(criteria, paging); addSorting(criteria, sorting); return criteria.list(); }
Example 10
Project: titanic-javaee7-master File: UsuarioRepositorio.java View source code |
@SuppressWarnings("unchecked")
public List<Usuario> listarUsuariosFiltrados(UsuarioFiltros usuarioFiltros) {
Session session = entityManager.unwrap(Session.class);
Criteria criteria = session.createCriteria(Usuario.class);
if (StringUtils.isNotBlank(usuarioFiltros.getEmail())) {
criteria.add(Restrictions.eq("email", usuarioFiltros.getEmail()));
}
if (StringUtils.isNotBlank(usuarioFiltros.getNombre())) {
criteria.add(Restrictions.ilike("nombreUsuario", usuarioFiltros.getNombre(), MatchMode.ANYWHERE));
}
return criteria.addOrder(Order.asc("nombreUsuario")).list();
}
Example 11
Project: Databinder-for-Wicket-master File: SearchPanel.java View source code |
/** * Adds a criterion that will match the current search string within (depending on the MatchMode) * any of the given properties. If the search is empty, no criterion is added. * @param matchMode used against all properties * @param searchProperty one or more properties to be searched * @return builder to be used with list model or data provider */ public CriteriaBuilder getCriteriaBuilder(final MatchMode matchMode, final String... searchProperty) { return new CriteriaBuilder() { public void build(final Criteria criteria) { final String search = (String) getDefaultModelObject(); if (search != null) { final Disjunction d = Restrictions.disjunction(); for (final String prop : searchProperty) { d.add(Property.forName(prop).like(search, matchMode)); } criteria.add(d); } } }; }
Example 12
Project: EngSoft2011_Grupo1-master File: TurmaDao.java View source code |
/**
* Cadastra a turma no banco de dados.
*
* @param turma
*/
@SuppressWarnings("unchecked")
public void salvaTurma(Turma turma) {
String nome = turma.getNome();
Disciplina disciplina = turma.getDisciplina();
List<Turma> listaDeTurmas = session.createCriteria(Turma.class).add(Restrictions.like("nome", nome, MatchMode.EXACT)).add(Restrictions.eq("disciplina", disciplina)).list();
if (listaDeTurmas.size() != 0)
return;
Transaction tx = session.beginTransaction();
session.save(turma);
tx.commit();
}
Example 13
Project: ismp_manager-master File: SysLogSourceDaoImpl.java View source code |
/**
* spliceCriteria decription : 带分页功能的多æ?¡ä»¶æŸ¥è¯¢è¯å?¥æ‹¼æŽ¥
* @param sysLogSource
* @param pageNo
* @param pageRowNum
* @return
*/
private Criteria spliceCriteria(SysLogSource sysLogSource, List<Domain> domain, Integer pageNo, Integer pageRowNum) {
Criteria criteria = getSession().createCriteria(SysLogSource.class);
if (sysLogSource != null) {
// 产生范例对�
Example example = Example.create(sysLogSource);
// 排除属性为null
// example.excludeNone();
// 对String属性都用模糊匹�方�
example.enableLike(MatchMode.ANYWHERE);
criteria.add(example);
if (domain.size() > 0)
criteria.add(Expression.in("domain", domain));
criteria.addOrder(Order.desc("createTime"));
if (sysLogSource.getId() != null) {
criteria.add(Expression.eq("id", sysLogSource.getId()));
}
}
// æ·»åŠ åˆ†é¡µæŸ¥è¯¢æ?¡ä»¶ï¼šèµ·å§‹é¡µ
if (null != pageNo) {
criteria.setFirstResult(pageNo.intValue());
}
// æ·»åŠ åˆ†é¡µæŸ¥è¯¢æ?¡ä»¶ï¼šæ¯?页需è¦?显示的数目
if (null != pageRowNum) {
criteria.setMaxResults(pageRowNum.intValue());
}
return criteria;
}
Example 14
Project: ListaExercicio-master File: QuestaoDao.java View source code |
private Criteria listaFiltrada(String filtro, Long idLista) {
Criteria criteria = this.session.createCriteria(Questao.class);
/**
* filtra por disciplina
*/
Disciplina disciplina = listaDeExercicioDao.carrega(idLista).getTurma().getDisciplina();
criteria.createCriteria("disciplina").add(Restrictions.eq("id", disciplina.getId()));
if (filtro != null && !filtro.equals(""))
criteria.createCriteria("tags").add(Restrictions.ilike("nome", filtro, MatchMode.ANYWHERE));
return criteria;
}
Example 15
Project: bbks-master File: CommentService.java View source code |
/**
*
* @param type---评论类型�book:图书;user:用户动�;】
* @param contentId---原题目id�如,图书id】
* @param comment---not null 评论内容�】
* @return
*/
public List<Comment> find(Comment comment) {
DetachedCriteria dc = commentDao.createDetachedCriteria();
if (StringUtils.isNotEmpty(comment.getModule())) {
dc.add(Restrictions.eq("module", comment.getModule()));
}
if (comment.getContentId() != null) {
dc.add(Restrictions.eq("contentId", comment.getContentId()));
}
if (comment.getUid() != null) {
dc.add(Restrictions.eq("uid", comment.getUid()));
}
//评论人
if (StringUtils.isNotBlank(comment.getName())) {
dc.add(Restrictions.eq("name", comment.getName()));
}
//è¯„è®ºçš„æ ‡é¢˜
if (StringUtils.isNotBlank(comment.getTitle())) {
dc.add(Restrictions.like("title", comment.getTitle(), MatchMode.ANYWHERE));
}
dc.addOrder(Order.desc("createDate"));
return commentDao.find(dc);
}
Example 16
Project: caratarse-auth-master File: CriteriaFilterHelper.java View source code |
@Override public void filterOn(FilterComponent c) { switch(c.getOperator()) { case // String-related CONTAINS: crit.add(Restrictions.ilike(c.getField(), c.getValue().toString(), MatchMode.ANYWHERE)); break; case // String-related STARTS_WITH: crit.add(Restrictions.ilike(c.getField(), c.getValue().toString(), MatchMode.START)); break; case GREATER_THAN: crit.add(Restrictions.gt(c.getField(), c.getValue())); break; case GREATER_THAN_OR_EQUAL_TO: crit.add(Restrictions.ge(c.getField(), c.getValue())); break; case LESS_THAN: crit.add(Restrictions.lt(c.getField(), c.getValue())); break; case LESS_THAN_OR_EQUAL_TO: crit.add(Restrictions.le(c.getField(), c.getValue())); break; case NOT_EQUALS: crit.add(Restrictions.ne(c.getField(), c.getValue())); break; case EQUALS: default: crit.add(Restrictions.eq(c.getField(), c.getValue())); break; } }
Example 17
Project: jpa-issuetracker-project-master File: IssueDaoImpl.java View source code |
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true)
@Override
public List<Issue> buscaPorSumario(String sumario) {
Session session = getSession();
Criteria criteria = session.createCriteria(Issue.class);
criteria.add(Restrictions.ilike("sumario", sumario, MatchMode.ANYWHERE));
// == FetchMode.LAZY
criteria.setFetchMode("projeto", FetchMode.SELECT);
criteria.setFetchMode("reportadoPor", FetchMode.SELECT);
criteria.setFetchMode("assinadoPara", FetchMode.SELECT);
return criteria.list();
}
Example 18
Project: libreplan-master File: CostCategoryDAO.java View source code |
@Override
@Transactional(readOnly = true)
public CostCategory findByNameCaseInsensitive(String name) throws InstanceNotFoundException {
Criteria c = getSession().createCriteria(CostCategory.class);
c.add(Restrictions.ilike("name", name, MatchMode.EXACT));
CostCategory result = (CostCategory) c.uniqueResult();
if (result == null) {
throw new InstanceNotFoundException(name, getEntityClass().getName());
}
return result;
}
Example 19
Project: mateo-master File: ActivoDaoHibernate.java View source code |
@Override @Transactional(readOnly = true) public Map<String, Object> lista(Map<String, Object> params) { log.debug("Buscando lista de activos con params {}", params); if (params == null) { params = new HashMap<>(); } if (!params.containsKey("max")) { params.put("max", 10); } else { params.put("max", Math.min((Integer) params.get("max"), 100)); } if (params.containsKey("pagina")) { Long pagina = (Long) params.get("pagina"); Long offset = (pagina - 1) * (Integer) params.get("max"); params.put("offset", offset.intValue()); } if (!params.containsKey("offset")) { params.put("offset", 0); } Criteria criteria = currentSession().createCriteria(Activo.class); Criteria countCriteria = currentSession().createCriteria(Activo.class); criteria.createAlias("tipoActivo", "ta"); countCriteria.createAlias("tipoActivo", "ta"); if (params.containsKey("empresa")) { criteria.createCriteria("empresa").add(Restrictions.idEq(params.get("empresa"))); countCriteria.createCriteria("empresa").add(Restrictions.idEq(params.get("empresa"))); } if (params.containsKey("tipoActivoIds")) { criteria.add(Restrictions.in("ta.id", (List) params.get("tipoActivoIds"))); countCriteria.add(Restrictions.in("ta.id", (List) params.get("tipoActivoIds"))); } if (params.containsKey("cuentaId")) { criteria.createCriteria("centroCosto").add(Restrictions.eq("id.idCosto", params.get("cuentaId"))); countCriteria.createCriteria("centroCosto").add(Restrictions.eq("id.idCosto", params.get("cuentaId"))); } if (params.containsKey("proveedorId")) { criteria.createCriteria("proveedor").add(Restrictions.idEq(params.get("proveedorId"))); countCriteria.createCriteria("proveedor").add(Restrictions.idEq(params.get("proveedorId"))); } Date fechaIniciado = null; if (params.containsKey("fechaIniciado")) { fechaIniciado = (Date) params.get("fechaIniciado"); criteria.add(Restrictions.ge("fechaCompra", fechaIniciado)); countCriteria.add(Restrictions.ge("fechaCompra", fechaIniciado)); } Date fechaTerminado = null; if (params.containsKey("fechaTerminado")) { Calendar cal = Calendar.getInstance(); cal.setTime((Date) params.get("fechaTerminado")); cal.set(Calendar.HOUR_OF_DAY, 23); cal.set(Calendar.MINUTE, 59); cal.set(Calendar.SECOND, 59); cal.set(Calendar.MILLISECOND, 999); fechaTerminado = cal.getTime(); criteria.add(Restrictions.le("fechaCompra", fechaTerminado)); countCriteria.add(Restrictions.le("fechaCompra", fechaTerminado)); } if (params.containsKey("bajas")) { if (fechaIniciado != null) { criteria.add(Restrictions.eq("inactivo", true)); countCriteria.add(Restrictions.eq("inactivo", true)); criteria.add(Restrictions.ge("fechaInactivo", fechaIniciado)); countCriteria.add(Restrictions.ge("fechaInactivo", fechaIniciado)); if (fechaTerminado != null) { criteria.add(Restrictions.le("fechaInactivo", fechaTerminado)); countCriteria.add(Restrictions.le("fechaInactivo", fechaTerminado)); } } else if (fechaTerminado != null) { criteria.add(Restrictions.eq("inactivo", true)); countCriteria.add(Restrictions.eq("inactivo", true)); criteria.add(Restrictions.le("fechaInactivo", fechaTerminado)); countCriteria.add(Restrictions.le("fechaInactivo", fechaTerminado)); } else { criteria.add(Restrictions.eq("inactivo", true)); countCriteria.add(Restrictions.eq("inactivo", true)); } } else { criteria.add(Restrictions.eq("inactivo", false)); countCriteria.add(Restrictions.eq("inactivo", false)); } if (params.containsKey("reubicaciones")) { if (fechaIniciado != null) { criteria.add(Restrictions.isNotNull("fechaReubicado")); countCriteria.add(Restrictions.isNotNull("fechaReubicado")); criteria.add(Restrictions.ge("fechaReubicado", fechaIniciado)); countCriteria.add(Restrictions.ge("fechaReubicado", fechaIniciado)); if (fechaTerminado != null) { criteria.add(Restrictions.le("fechaReubicado", fechaIniciado)); countCriteria.add(Restrictions.le("fechaReubicado", fechaIniciado)); } } else if (fechaTerminado != null) { criteria.add(Restrictions.isNotNull("fechaReubicado")); countCriteria.add(Restrictions.isNotNull("fechaReubicado")); criteria.add(Restrictions.le("fechaReubicado", fechaIniciado)); countCriteria.add(Restrictions.le("fechaReubicado", fechaIniciado)); } else { criteria.add(Restrictions.isNotNull("fechaReubicado")); countCriteria.add(Restrictions.isNotNull("fechaReubicado")); } } if (params.containsKey("responsableNombre")) { criteria.add(Restrictions.ilike("responsable", (String) params.get("responsable"), MatchMode.ANYWHERE)); countCriteria.add(Restrictions.ilike("responsable", (String) params.get("responsable"), MatchMode.ANYWHERE)); } if (params.containsKey("filtro")) { String filtro = (String) params.get("filtro"); Disjunction propiedades = Restrictions.disjunction(); propiedades.add(Restrictions.ilike("folio", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("procedencia", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("factura", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("pedimento", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("poliza", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("codigo", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("descripcion", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("marca", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("modelo", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("ubicacion", filtro, MatchMode.ANYWHERE)); propiedades.add(Restrictions.ilike("responsable", filtro, MatchMode.ANYWHERE)); criteria.add(propiedades); countCriteria.add(propiedades); } if (params.containsKey("order")) { criteria.addOrder(Order.asc("ta.cuenta.id.idCtaMayor")); String campo = (String) params.get("order"); if (params.get("sort").equals("desc")) { criteria.addOrder(Order.desc(campo)); } else { criteria.addOrder(Order.asc(campo)); } } else { criteria.addOrder(Order.asc("ta.cuenta.id.idCtaMayor")); criteria.addOrder(Order.desc("folio")); } if (!params.containsKey("reporte")) { criteria.setFirstResult((Integer) params.get("offset")); criteria.setMaxResults((Integer) params.get("max")); } params.put("activos", criteria.list()); countCriteria.setProjection(Projections.rowCount()); params.put("cantidad", (Long) countCriteria.list().get(0)); ProjectionList list = Projections.projectionList(); list.add(Projections.sum("depreciacionAnual"), "depreciacionAnual"); list.add(Projections.sum("depreciacionMensual"), "depreciacionMensual"); list.add(Projections.sum("depreciacionAcumulada"), "depreciacionAcumulada"); list.add(Projections.sum("moi"), "moi"); list.add(Projections.groupProperty("fechaDepreciacion"), "fechaDepreciacion"); countCriteria.setProjection(list); List<?> proyecciones = countCriteria.list(); Iterator<?> iterator = proyecciones.iterator(); if (iterator.hasNext()) { Object[] obj = (Object[]) iterator.next(); NumberFormat nf = DecimalFormat.getInstance(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); Date fecha; if (obj[4] != null) { fecha = (Date) obj[4]; } else { fecha = new Date(); } params.put("resumen", new String[] { nf.format(obj[0]), nf.format(obj[1]), nf.format(obj[2]), nf.format(obj[3]), sdf.format(fecha) }); } return params; }
Example 20
Project: OpenHMIS-master File: CashPointServiceImpl.java View source code |
@Override
public List<CashPoint> getCashPointsByLocationAndName(final Location location, final String name, final boolean includeRetired, PagingInfo pagingInfo) {
if (location == null) {
throw new IllegalArgumentException("The location must be defined");
}
if (StringUtils.isEmpty(name)) {
throw new IllegalArgumentException("The Cashpoint name must be defined.");
}
if (name.length() > MAX_CASHPOINT_NAME_CHARACTERS) {
throw new IllegalArgumentException("The Cashpoint name must be less than 256 characters.");
}
return executeCriteria(CashPoint.class, pagingInfo, new Action1<Criteria>() {
@Override
public void apply(Criteria criteria) {
criteria.add(Restrictions.eq(HibernateCriteriaConstants.LOCATION, location)).add(Restrictions.ilike(HibernateCriteriaConstants.NAME, name, MatchMode.START));
if (!includeRetired) {
criteria.add(Restrictions.eq(HibernateCriteriaConstants.RETIRED, false));
}
}
});
}
Example 21
Project: openmrs-core-master File: HibernateConceptDAO.java View source code |
/**
* @see org.openmrs.api.db.ConceptDAO#getConceptReferenceTermByName(java.lang.String,
* org.openmrs.ConceptSource)
*/
@SuppressWarnings("rawtypes")
@Override
public ConceptReferenceTerm getConceptReferenceTermByName(String name, ConceptSource conceptSource) throws DAOException {
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(ConceptReferenceTerm.class);
criteria.add(Restrictions.ilike("name", name, MatchMode.EXACT));
criteria.add(Restrictions.eq("conceptSource", conceptSource));
List terms = criteria.list();
if (terms.isEmpty()) {
return null;
} else if (terms.size() > 1) {
throw new APIException("ConceptReferenceTerm.foundMultipleTermsWithNameInSource", new Object[] { name, conceptSource.getName() });
}
return (ConceptReferenceTerm) terms.get(0);
}
Example 22
Project: openmrs-module-openhmis.cashier-master File: CashPointServiceImpl.java View source code |
@Override
public List<CashPoint> getCashPointsByLocationAndName(final Location location, final String name, final boolean includeRetired, PagingInfo pagingInfo) {
if (location == null) {
throw new IllegalArgumentException("The location must be defined");
}
if (StringUtils.isEmpty(name)) {
throw new IllegalArgumentException("The Cashpoint name must be defined.");
}
if (name.length() > MAX_CASHPOINT_NAME_CHARACTERS) {
throw new IllegalArgumentException("The Cashpoint name must be less than 256 characters.");
}
return executeCriteria(CashPoint.class, pagingInfo, new Action1<Criteria>() {
@Override
public void apply(Criteria criteria) {
criteria.add(Restrictions.eq(HibernateCriteriaConstants.LOCATION, location)).add(Restrictions.ilike(HibernateCriteriaConstants.NAME, name, MatchMode.START));
if (!includeRetired) {
criteria.add(Restrictions.eq(HibernateCriteriaConstants.RETIRED, false));
}
}
});
}
Example 23
Project: radiology-master File: HibernateMrrtReportTemplateDAO.java View source code |
/** * @see org.openmrs.module.radiology.report.template.MrrtReportTemplateService#getMrrtReportTemplates(MrrtReportTemplateSearchCriteria) */ @SuppressWarnings("unchecked") @Override public List<MrrtReportTemplate> getMrrtReportTemplates(MrrtReportTemplateSearchCriteria searchCriteria) { final Criteria crit = sessionFactory.getCurrentSession().createCriteria(MrrtReportTemplate.class); crit.addOrder(Order.asc("dcTermsTitle")); if (searchCriteria.getTitle() != null) { crit.add(Restrictions.ilike("dcTermsTitle", searchCriteria.getTitle() + "%", MatchMode.ANYWHERE)); } if (searchCriteria.getPublisher() != null) { crit.add(Restrictions.ilike("dcTermsPublisher", searchCriteria.getPublisher() + "%", MatchMode.ANYWHERE)); } if (searchCriteria.getLicense() != null) { crit.add(Restrictions.ilike("dcTermsLicense", searchCriteria.getLicense() + "%", MatchMode.ANYWHERE)); } if (searchCriteria.getCreator() != null) { crit.add(Restrictions.ilike("dcTermsCreator", searchCriteria.getCreator() + "%", MatchMode.ANYWHERE)); } final List<MrrtReportTemplate> result = (List<MrrtReportTemplate>) crit.list(); return result == null ? new ArrayList<>() : result; }
Example 24
Project: tourismwork-master File: EmployeeDaoImpl.java View source code |
@SuppressWarnings("unchecked")
public List<Employee> getEmployees(int groupId, String userName) {
DetachedCriteria criteria = DetachedCriteria.forClass(Employee.class);
if (groupId != 0)
criteria.add(Restrictions.eq("group.groupId", groupId));
if (StringUtil.hasLength(userName))
criteria.add(Restrictions.like("userName", userName.trim(), MatchMode.ANYWHERE));
criteria.addOrder(Order.asc("userCd"));
criteria.setResultTransformer(CriteriaSpecification.ROOT_ENTITY);
return getHibernateTemplate().findByCriteria(criteria);
}
Example 25
Project: wicket-web-beans-master File: DataSearchFilter.java View source code |
@Override
public void build(Criteria criteria) {
super.build(criteria);
if (searchPanel.getDefaultModelObject() != null && properties != null) {
for (String alias : aliases) {
criteria.createAlias(alias, alias);
}
Disjunction disjunction = Restrictions.disjunction();
criteria.add(disjunction);
for (String property : properties) {
disjunction.add(Restrictions.ilike(property, searchPanel.getDefaultModelObject().toString(), MatchMode.ANYWHERE));
}
}
}
Example 26
Project: eGov-master File: WorkProgressRegisterService.java View source code |
@Transactional public List<WorkProgressRegister> searchWorkProgressRegister(final WorkProgressRegisterSearchRequest workProgressRegisterSearchRequest) { if (workProgressRegisterSearchRequest != null) { final Criteria criteria = entityManager.unwrap(Session.class).createCriteria(WorkProgressRegister.class); if (workProgressRegisterSearchRequest.getDepartment() != null) criteria.add(Restrictions.eq("department.id", workProgressRegisterSearchRequest.getDepartment())); if (workProgressRegisterSearchRequest.getWorkIdentificationNumber() != null) criteria.add(Restrictions.eq("winCode", workProgressRegisterSearchRequest.getWorkIdentificationNumber()).ignoreCase()); if (workProgressRegisterSearchRequest.getContractor() != null) { criteria.createAlias("contractor", "contractor"); criteria.add(Restrictions.or(Restrictions.ilike("contractor.code", workProgressRegisterSearchRequest.getContractor(), MatchMode.ANYWHERE), Restrictions.ilike("contractor.name", workProgressRegisterSearchRequest.getContractor(), MatchMode.ANYWHERE))); } if (workProgressRegisterSearchRequest.getAdminSanctionFromDate() != null) criteria.add(Restrictions.ge("adminSanctionDate", workProgressRegisterSearchRequest.getAdminSanctionFromDate())); if (workProgressRegisterSearchRequest.getAdminSanctionToDate() != null) criteria.add(Restrictions.le("adminSanctionDate", workProgressRegisterSearchRequest.getAdminSanctionToDate())); if (workProgressRegisterSearchRequest.isSpillOverFlag()) criteria.add(Restrictions.eq("spillOverFlag", workProgressRegisterSearchRequest.isSpillOverFlag())); criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY); return criteria.list(); } else return new ArrayList<WorkProgressRegister>(); }
Example 27
Project: frontlinesms-core-master File: HibernateGroupDao.java View source code |
/** @see GroupDao#deleteGroup(Group, boolean) */
@Transactional
public void deleteGroup(Group group, boolean destroyContacts) {
// Dereference all keywordActions relating to this group
String keywordActionQuery = "DELETE FROM KeywordAction WHERE group_path=?";
super.getHibernateTemplate().bulkUpdate(keywordActionQuery, group.getPath());
Object[] paramValues = getPathParamValues(group);
if (destroyContacts) {
// If the contacts must also be destroyed, we start by selecting them
String queryString = "SELECT DISTINCT contact FROM GroupMembership WHERE group_path=? OR group_path LIKE ?";
List<Contact> contactsList = getList(Contact.class, queryString, paramValues);
// Then we delete all group memberships for the group and its descendants
String groupMembershipQuery = "DELETE from GroupMembership WHERE group_path=? OR group_path LIKE ?";
super.getHibernateTemplate().bulkUpdate(groupMembershipQuery, paramValues);
// Then, for each contact...
for (Contact c : contactsList) {
// We remove it from each group it's included in
groupMembershipQuery = "DELETE from GroupMembership WHERE contact=?";
super.getHibernateTemplate().bulkUpdate(groupMembershipQuery, c);
// And we delete the contact
String deleteContactQuery = "DELETE FROM Contact WHERE id=?";
super.getHibernateTemplate().bulkUpdate(deleteContactQuery, c.getId());
}
} else {
// We just delete all group memberships for the group and its descendants
String groupMembershipQuery = "DELETE from GroupMembership WHERE group_path=? OR group_path LIKE ?";
super.getHibernateTemplate().bulkUpdate(groupMembershipQuery, paramValues);
}
// Finally, we delete all child groups and the group itself
DetachedCriteria criteria = super.getCriterion();
Criterion equals = Restrictions.eq(Group.Field.PATH.getFieldName(), paramValues[0]);
Criterion like = Restrictions.like(Group.Field.PATH.getFieldName(), paramValues[1].toString(), MatchMode.START);
criteria.add(Restrictions.or(equals, like));
List<Group> groups = getList(criteria);
for (Group deletedGroup : groups) {
this.delete(deletedGroup);
}
}
Example 28
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 29
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 30
Project: lemo2-master File: ServiceCourseTitleSearch.java View source code |
/**
* Gets the details of all courses whose title matches search text. Informations include id, title, description,
* number of participants, time of first student-request, time of latest student-request.
*
* @param text .
*
* @return A List of CourseObjects containing the information.
*/
@GET
public ResultListCourseObject getCoursesByText(@QueryParam(MetaParam.SEARCH_TEXT) final String text, @QueryParam(MetaParam.RESULT_AMOUNT) final Long count, @QueryParam(MetaParam.OFFSET) final Long offset) {
IDBHandler dbHandler = ServerConfiguration.getInstance().getMiningDbHandler();
List<CourseObject> result = new ArrayList<CourseObject>();
result.add(new CourseObject());
result.add(new CourseObject());
if (text == null || text.equals("")) {
return new ResultListCourseObject(result);
}
// Set up db-connection
final Session session = dbHandler.getMiningSession();
Criteria criteria = session.createCriteria(CourseMining.class, "course");
criteria.add(Restrictions.ilike("course.title", text, MatchMode.ANYWHERE));
@SuppressWarnings("unchecked") final ArrayList<CourseMining> courses = (ArrayList<CourseMining>) criteria.list();
List<Long> ids = new ArrayList<Long>();
for (CourseMining course : courses) {
ids.add(course.getId());
}
Map<Long, Long> userMap = StudentHelper.getCourseStudentsAliasKeys(ids, new ArrayList<Long>());
for (CourseMining courseMining : courses) {
criteria = session.createCriteria(ILogMining.class, "log");
criteria.add(Restrictions.eq("log.course.id", courseMining.getId()));
if (userMap.size() > 0) {
criteria.add(Restrictions.in("log.user.id", userMap.values()));
}
@SuppressWarnings("unchecked") ArrayList<ILogMining> logs = (ArrayList<ILogMining>) criteria.list();
Collections.sort(logs);
Long lastTime = 0L;
Long firstTime = 0L;
if (logs.size() > 0) {
lastTime = logs.get(logs.size() - 1).getTimestamp();
firstTime = logs.get(0).getTimestamp();
}
ServiceCourseDetails scd = new ServiceCourseDetails();
final CourseObject co = new CourseObject(courseMining.getId(), courseMining.getShortname(), courseMining.getTitle(), userMap.size(), lastTime, firstTime, scd.getCourseHash(courseMining.getId()), StudentHelper.getGenderSupport(courseMining.getId()));
result.add(co);
}
if (count != null && count > 0) {
if (offset != null && offset > 0) {
if (result.size() - offset >= count) {
result = result.subList(offset.intValue(), offset.intValue() + count.intValue());
} else {
result = result.subList(offset.intValue(), courses.size() - 1);
}
} else {
if (result.size() > count) {
result = result.subList(0, count.intValue());
}
}
}
session.close();
return new ResultListCourseObject(result);
}
Example 31
Project: MavenOneCMDB-master File: HibernateDao.java View source code |
public QueryResult<ICi> query(QueryCriteria criteria, boolean count) { DetachedCriteria hibCiCriteria = DetachedCriteria.forClass(ConfigurationItem.class); DetachedCriteria hibAttributeCriteria = DetachedCriteria.forClass(BasicAttribute.class); // Search in the db... if (criteria.getOffspringOfId() != null) { try { // Query for an unique id. Long longId = Long.parseLong(criteria.getOffspringOfId()); hibCiCriteria.add(Expression.eq("derivedFromId", longId)); } catch (NumberFormatException e) { log.warn("QueryCriteria contained not a long offspringId <" + criteria.getCiId()); throw new IllegalArgumentException("Not a correct long ci id <" + criteria.getCiId()); } } else if (criteria.getOffspringOfAlias() != null) { ICi ci = findCiByAlias(new Path<String>(criteria.getOffspringOfAlias())); if (criteria.getOffspringDepth() != null) { if (ci == null) { // Is an error, but we don't throw an exception, instead it will return empty/0 DetachedCriteria hibAliasCiCriteria = DetachedCriteria.forClass(ConfigurationItem.class); hibAliasCiCriteria.add(Expression.eq("alias", criteria.getOffspringOfAlias())); DetachedCriteria idCriteria = hibAliasCiCriteria.setProjection(Projections.property("longId")); hibCiCriteria.add(Property.forName("derivedFromId").in(idCriteria)); } else { // TODO: append %/%/% according to offspring depth. hibCiCriteria.add(Expression.ilike("templatePath", ci.getTemplatePath() + "/%")); } } else { if (ci != null) { hibCiCriteria.add(Expression.eq("derivedFromId", ci.getId().asLong())); } else { hibCiCriteria.add(Expression.eq("derivedFromId", new Long(0))); } } //hibAttributeCriteria.add(Expression.eq("alias", criteria.getOffspringOfAlias())); } if (criteria.getCiAlias() != null) { hibCiCriteria.add(Expression.eq("alias", criteria.getCiAlias())); } else if (criteria.getCiId() != null) { try { // Query for an unique id. Long longId = Long.parseLong(criteria.getCiId()); hibCiCriteria.add(Expression.eq("longId", longId)); } catch (NumberFormatException e) { log.warn("QueryCriteria contained not a long ci id <" + criteria.getCiId()); throw new IllegalArgumentException("Not a correct long ci id <" + criteria.getCiId()); } /* if (ci == null || ci instanceof IAttribute) { if (count) { result.setTotalHits(0); } } else { if (count) { result.setTotalHits(1); } result.add(ci); } return(result); */ } if (criteria.getMatchType() != null) { ICi type = findCiByAlias(new Path<String>(criteria.getMatchType())); if (type != null) { Disjunction orAttribute = Restrictions.disjunction(); String path = type.getTemplatePath(); String paths[] = path.split("/"); if (paths.length > 1) { for (int i = 1; i < paths.length; i++) { orAttribute.add(Expression.ilike("typeName", "%#" + paths[i], MatchMode.START)); } DetachedCriteria typeCrit = DetachedCriteria.forClass(BasicAttribute.class); typeCrit.add(Expression.isNull("derivedFromId")); typeCrit.add(orAttribute); DetachedCriteria idCrit = typeCrit.setProjection(Projections.property("ownerId")); hibCiCriteria.add(Property.forName("longId").in(idCrit)); if (criteria.getMatchCiPath() != null) { String idPath = ""; String ciPath[] = criteria.getMatchCiPath().split("/"); if (ciPath.length > 0) { for (int i = 0; i < ciPath.length; i++) { ICi ci = findCiByAlias(new Path<String>(ciPath[i])); if (ci != null) { idPath += "/" + ci.getId().asLong(); } } // TODO: append %/%/% according to offspring depth. hibCiCriteria.add(Expression.ilike("templatePath", idPath + "/%")); } } } } } if (criteria.isMatchCiTemplates() && criteria.isMatchCiInstances()) { // Search Both. } else if (criteria.isMatchCiTemplates()) { hibCiCriteria.add(Expression.eq("isBlueprint", Boolean.TRUE)); } else if (criteria.isMatchCiInstances()) { hibCiCriteria.add(Expression.eq("isBlueprint", Boolean.FALSE)); } if (criteria.isMatchAttributeTemplates() && criteria.isMatchAttributeInstances()) { // Search both } else if (criteria.isMatchAttributeTemplates()) { hibAttributeCriteria.add(Expression.eq("isBlueprint", Boolean.TRUE)); } else if (criteria.isMatchAttributeInstances()) { hibAttributeCriteria.add(Expression.eq("isBlueprint", Boolean.FALSE)); } if (criteria.getText() != null) { Disjunction orAttribute = Restrictions.disjunction(); Disjunction orCi = Restrictions.disjunction(); boolean orAttributeAdded = false; boolean orCiAdded = false; if (criteria.isTextMatchAlias()) { orCi.add(Expression.ilike("alias", criteria.getText(), MatchMode.ANYWHERE)); orAttribute.add(Expression.ilike("alias", criteria.getText(), MatchMode.ANYWHERE)); orAttributeAdded = true; orCiAdded = true; } if (criteria.isTextMatchDescription()) { orCi.add(Expression.ilike("description", criteria.getText(), MatchMode.ANYWHERE)); orAttribute.add(Expression.ilike("description", criteria.getText(), MatchMode.ANYWHERE)); orAttributeAdded = true; orCiAdded = true; } if (criteria.isTextMatchValue()) { orAttribute.add(Expression.ilike("valueAsString", criteria.getText(), MatchMode.ANYWHERE)); orAttributeAdded = true; // Enable Attribute serach.... criteria.setMatchAttribute(true); } if (orAttributeAdded) { if (criteria.getMatchAttributeAlias() != null) { hibAttributeCriteria.add(Expression.eq("alias", criteria.getMatchAttributeAlias())); } hibAttributeCriteria.add(orAttribute); DetachedCriteria idCriteria = hibAttributeCriteria.setProjection(Projections.property("ownerId")); orCi.add(Property.forName("longId").in(idCriteria)); orCiAdded = true; } if (orCiAdded) { hibCiCriteria.add(orCi); } } QueryResult<ICi> result = new QueryResult<ICi>(); /* if (criteria.isMatchAttribute()) { DetachedCriteria idCriteria = hibAttributeCriteria.setProjection(Projections.property("ownerId")); hibCiCriteria.add(Property.forName("longId").in(idCriteria)); } */ // Search ICi. Session session = getSession(); try { Profiler.start("QueryCi():"); if (count) { Criteria hibCriteria = hibCiCriteria.getExecutableCriteria(session); hibCriteria.setProjection(Projections.rowCount()); List list = hibCriteria.list(); if (list != null && !list.isEmpty()) { Integer itemCount = ((Integer) list.get(0)).intValue(); result.setTotalHits(itemCount); } } else { if (criteria.getOrderAttAlias() != null) { DetachedCriteria idCriteria = hibCiCriteria.setProjection(Projections.property("longId")); DetachedCriteria attr = DetachedCriteria.forClass(BasicAttribute.class); attr.add(Expression.eq("alias", criteria.getOrderAttAlias())); attr.add(Property.forName("ownerId").in(idCriteria)); if (criteria.isOrderAscending()) { attr.addOrder(Order.asc(criteria.getOrderType())); } else { attr.addOrder(Order.desc(criteria.getOrderType())); } Criteria attrCriteria = attr.getExecutableCriteria(session); if (criteria.getMaxResult() != null) { attrCriteria.setMaxResults(criteria.getMaxResult()); } if (criteria.getFirstResult() != null) { attrCriteria.setFirstResult(criteria.getFirstResult()); } List<IAttribute> attrs = attrCriteria.list(); for (IAttribute a : attrs) { result.add(a.getOwner()); } } else { hibCiCriteria.addOrder(Order.asc("alias")); Criteria hibCriteria = hibCiCriteria.getExecutableCriteria(session); if (criteria.getMaxResult() != null) { hibCriteria.setMaxResults(criteria.getMaxResult()); } if (criteria.getFirstResult() != null) { hibCriteria.setFirstResult(criteria.getFirstResult()); } List objects = hibCriteria.list(); result.addAll(objects); } } } finally { Profiler.stop(); closeSession(session); } return (result); }
Example 32
Project: openmrs-module-webservices.rest-master File: RestHelperServiceImpl.java View source code |
@Override
public List<Patient> findPatientsByIdentifierStartingWith(String identifier, boolean includeAll) {
Criteria criteria = getSession().createCriteria(Patient.class);
criteria.createAlias("identifiers", "identifiers");
criteria.add(Restrictions.like("identifiers.identifier", identifier, MatchMode.START));
criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
if (!includeAll) {
criteria.add(Restrictions.eq("voided", false));
}
return criteria.list();
}
Example 33
Project: sample-boot-hibernate-master File: OrmCriteria.java View source code |
/** like�件を付与���。[複数フィールド�対�るOR��](値�null�時�無視�れ��) */
public OrmCriteria<T> like(String[] fields, String value, MatchMode mode) {
if (isValid(value)) {
Predicate[] predicates = new Predicate[fields.length];
for (int i = 0; i < fields.length; i++) {
predicates[i] = builder.like(root.get(fields[i]), mode.toMatchString(value));
}
add(builder.or(predicates));
}
return this;
}
Example 34
Project: seam-2.2-master File: UserDAO.java View source code |
private Criteria prepareExampleCriteria(User exampleUser, String orderByProperty, boolean orderDescending, String... ignoreProperty) {
Example example = Example.create(exampleUser).enableLike(MatchMode.ANYWHERE).ignoreCase();
// Sanitize input
if (orderByProperty != null) {
orderByProperty = orderByProperty.replaceAll("[^a-zA-Z0-9]", "");
}
for (String s : ignoreProperty) example.excludeProperty(s);
Session session = (Session) entityManager.getDelegate();
Criteria crit = session.createCriteria(User.class).add(example);
if (orderByProperty != null)
crit.addOrder(orderDescending ? Order.desc(orderByProperty) : Order.asc(orderByProperty));
return crit.setResultTransformer(DistinctRootEntityResultTransformer.INSTANCE);
}
Example 35
Project: seam2jsf2-master File: UserDAO.java View source code |
private Criteria prepareExampleCriteria(User exampleUser, String orderByProperty, boolean orderDescending, String... ignoreProperty) {
Example example = Example.create(exampleUser).enableLike(MatchMode.ANYWHERE).ignoreCase();
// Sanitize input
if (orderByProperty != null) {
orderByProperty = orderByProperty.replaceAll("[^a-zA-Z0-9]", "");
}
for (String s : ignoreProperty) example.excludeProperty(s);
Session session = (Session) entityManager.getDelegate();
Criteria crit = session.createCriteria(User.class).add(example);
if (orderByProperty != null)
crit.addOrder(orderDescending ? Order.desc(orderByProperty) : Order.asc(orderByProperty));
return crit.setResultTransformer(DistinctRootEntityResultTransformer.INSTANCE);
}
Example 36
Project: socialsite-master File: AbstractDaoImpl.java View source code |
/**
* helper method to find the count of item that match the filter
*
* @param filter
* filter text
* @param clazz
* class of the item
* @param field
* field that will be matched with the criteria
* @return
*/
@SuppressWarnings("unchecked")
protected int count(String filter, final Class clazz, final String field) {
// Avoids NPE
filter = filter == null ? "" : filter;
final Criteria criteria = getSession().createCriteria(clazz);
criteria.add(Restrictions.ilike(field, filter, MatchMode.ANYWHERE));
criteria.setProjection(Projections.rowCount());
return (Integer) criteria.uniqueResult();
}
Example 37
Project: aperte-workflow-core-master File: UserSearchForm.java View source code |
@Override public void configure(DetachedCriteria criteria) { if (hasText(email)) { criteria.add(Restrictions.ilike("email", email, MatchMode.ANYWHERE)); } if (hasText(name)) { criteria.add(Restrictions.ilike("name", name, MatchMode.ANYWHERE)); } if (hasText(surname)) { criteria.add(Restrictions.ilike("surname", surname, MatchMode.ANYWHERE)); } if (hasText(companyId)) { criteria.createCriteria("attributes").add(Restrictions.eq("key", "teta_company")).add(Restrictions.ilike("value", companyId, MatchMode.ANYWHERE)); } else // to trochę nie ma sensu: musimy zrobić multijoina po atrybutach if (hasText(mpkId)) { criteria.createCriteria("attributes").add(Restrictions.eq("key", "teta_mpk")).add(Restrictions.ilike("value", mpkId, MatchMode.ANYWHERE)); } criteria.addOrder(Order.asc("login")); criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); }
Example 38
Project: BBS-master File: PostDaoImpl.java View source code |
public List<Post> search(String keyword) {
Session session = getSession();
String sql = "from Post post where post.title like ?";
Query query = session.createQuery(sql);
query.setString(0, '%' + keyword + '%');
List list = query.list();
session.flush();
session.close();
return list;
// Session session = getSession();
// Criteria criteria = session.createCriteria(Post.class);
// criteria.add(Restrictions.like("title",keyword,MatchMode.ANYWHERE));
// List list = criteria.list();
// session.close();
// return list;
}
Example 39
Project: cms-ce-master File: GroupEntityDao.java View source code |
public Object doInHibernate(Session session) throws HibernateException, SQLException {
Criteria crit = session.createCriteria(GroupEntity.class).setCacheable(true);
if (spec.getUserStoreKey() != null) {
crit.add(Restrictions.eq("userStore.key", spec.getUserStoreKey().toInt()));
} else if (spec.isGlobalOnly()) {
crit.add(Restrictions.isNull("userStore.key"));
}
if (!spec.isIncludeDeleted()) {
crit.add(Restrictions.eq("deleted", 0));
}
if (spec.getQuery() != null && spec.getQuery().length() > 0) {
crit.add(Restrictions.ilike("name", spec.getQuery(), MatchMode.ANYWHERE));
}
if (spec.getOrderBy() != null && !spec.getOrderBy().equals("")) {
if (spec.isOrderAscending()) {
crit.addOrder(Order.asc(spec.getOrderBy()).ignoreCase());
} else {
crit.addOrder(Order.desc(spec.getOrderBy()).ignoreCase());
}
}
if (spec.getGroupTypes() != null) {
Collection<GroupType> gt = new ArrayList<GroupType>(spec.getGroupTypes());
if (spec.isIncludeBuiltInGroups()) {
if (!spec.isIncludeAnonymousGroups()) {
gt.remove(GroupType.ANONYMOUS);
}
} else {
gt.removeAll(GroupType.getBuiltInTypes());
}
if (spec.isIncludeUserGroups()) {
gt.add(GroupType.USER);
}
crit.add(Restrictions.in("type", GroupType.getIntegerValues(gt)));
} else {
Collection<GroupType> notGroupType = new ArrayList<GroupType>();
if (!spec.isIncludeBuiltInGroups()) {
notGroupType.addAll(GroupType.getBuiltInTypes());
if (spec.isIncludeAnonymousGroups()) {
notGroupType.remove(GroupType.ANONYMOUS);
}
}
if (!spec.isIncludeUserGroups()) {
notGroupType.add(GroupType.USER);
}
if (!spec.isIncludeAnonymousGroups() && !notGroupType.contains(GroupType.ANONYMOUS)) {
notGroupType.add(GroupType.ANONYMOUS);
}
crit.add(Restrictions.not(Restrictions.in("type", GroupType.getIntegerValues(notGroupType))));
}
crit.setFirstResult(spec.getIndex());
List list = crit.list();
if (spec.getCount() == null) {
return list;
} else {
return list.subList(0, Math.min(spec.getCount(), list.size()));
}
}
Example 40
Project: cryson-master File: CrysonRepository.java View source code |
@PostFilter("hasPermission(filterObject, 'read')")
public List findByExample(String entityClassName, Object exampleEntity, Set<String> associationsToFetch) {
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(entityClassName).add(Example.create(exampleEntity).enableLike(MatchMode.EXACT)).setResultTransformer(DistinctRootEntityResultTransformer.INSTANCE).setCacheable(true);
setFetchModeForAssociations(criteria, associationsToFetch);
return criteria.list();
}
Example 41
Project: eurocarbdb-master File: SearchGlycanSequence.java View source code |
private DetachedCriteria createSerializableCriteria() { // create base criteria log.debug("creating GlycanSequence criteria"); DetachedCriteria criteria; criteria = DetachedCriteria.forClass(GlycanSequence.class); // create biological contexts criteria DetachedCriteria bc_criteria = null; DetachedCriteria tax_criteria = null; DetachedCriteria tissue_criteria = null; DetachedCriteria disease_criteria = null; DetachedCriteria perturbation_criteria = null; if (taxonomyName != null || tissueName != null || diseaseName != null || perturbationName != null) { isNewQuery = true; log.debug("creating Biological context criteria"); bc_criteria = criteria.createCriteria("glycanContexts").createCriteria("biologicalContext", "bc"); // add taxonomy criteria if (taxonomyName != null) { log.debug("adding taxonomy query predicates for input string '" + taxonomyName + "'"); tax_criteria = bc_criteria.createCriteria("taxonomy", "taxa").createCriteria("taxonomySupertypes", "supertax").add(Restrictions.ilike("taxon", taxonomyName, MatchMode.EXACT)); } // add tissue criteria if (tissueName != null) { log.debug("adding tissue query predicates for input string '" + tissueName + "'"); tissue_criteria = bc_criteria.createCriteria("tissueTaxonomy", "ttax").add(Restrictions.ilike("tissueTaxon", tissueName, MatchMode.EXACT)); } // add disease criteria if (diseaseName != null) { log.debug("adding disease query criteria for input string '" + diseaseName + "'"); disease_criteria = bc_criteria.createCriteria("diseaseContexts").createCriteria("disease", "dis").add(Restrictions.ilike("diseaseName", diseaseName, MatchMode.EXACT)); } if (perturbationName != null) { log.debug("adding perturbation query criteria for input string '" + perturbationName + "'"); perturbation_criteria = bc_criteria.createCriteria("perturbationContexts").createCriteria("perturbation", "per").add(Restrictions.ilike("perturbationName", perturbationName, MatchMode.EXACT)); } } // add mass criteria boolean mass_query_is_given = false; boolean params_are_ok = false; if (exactMass > 0 && exactMassTolerance > 0) { isNewQuery = true; mass_query_is_given = true; lowMass = exactMass - exactMassTolerance; highMass = exactMass + exactMassTolerance; log.debug("adding predicates for exactMass=" + exactMass + " Da +/- " + exactMassTolerance + " Da (ie: " + lowMass + "-" + highMass + " Da)"); params_are_ok = true; } else if (lowMass > 0 && highMass > 0) { isNewQuery = true; mass_query_is_given = true; exactMass = -1; exactMassTolerance = -1; log.debug("adding predicates for mass range=(" + lowMass + ".." + highMass + " Da)"); params_are_ok = true; } if (mass_query_is_given) { if (params_are_ok) { isNewQuery = true; String property = useAvgMass ? "massAverage" : "massMonoisotopic"; criteria.add(Restrictions.between(property, new BigDecimal(lowMass), new BigDecimal(highMass))); } else { String msg = "Insufficient mass parameters given, either " + "provide an exactMass + exactMassTolerence + useAvgMass preference, " + "or provide a lowMass + highMass + useAvgMass preference"; addActionError(msg); log.info(msg); } } Glycan glycan = null; if (sequenceGWS != null) { glycan = Glycan.fromString(sequenceGWS); glycan.removeReducingEndModification(); if (glycan.isEmpty()) { glycan = null; sequenceGWS = null; } } if (glycan != null) { isNewQuery = true; // search structure in DB String glycoct = glycan.toGlycoCTCondensed(); SugarSequence seq = new SugarSequence(glycoct); SubstructureQuery query = new SubstructureQuery(seq); if (sequencePosition != null) { if (sequencePosition.equals("Core") || sequencePosition.equals("Core + Terminii")) query.setOption(Must_Include_Reducing_Terminus); if (sequencePosition.equals("Terminii") || sequencePosition.equals("Core + Terminii")) query.setOption(Must_Include_All_Non_Reducing_Terminii); } criteria.add(query.getQueryCriterion()); } if (this.additionalQueries.size() > 1) { isNewQuery = true; } for (SavedGlycanSequenceSearch oldQuery : this.additionalQueries) { DetachedCriteria oldCriteria = oldQuery.getQueryCriteria(); criteria.add(Subqueries.propertyIn("glycanSequenceId", oldCriteria)); oldCriteria.setProjection(Projections.distinct(Projections.property("glycanSequenceId"))); this.currentSearch = oldQuery; } return criteria; }
Example 42
Project: jrecruiter-master File: UserDaoJpa.java View source code |
/**
* Method for returning list of available job postings.
* @param pageSize Max number of results returned
* @param pageNumber Which page are you one?
* @param fieldSorted Which field shall be sorted
* @param sortOrder What is the sort order?
* @return List of jobs.
*/
@SuppressWarnings("unchecked")
public List<User> getUsers(final Integer pageSize, final Integer pageNumber, Map<String, String> sortOrders, Map<String, String> userFilters) {
List<User> users;
if (pageSize == null) {
throw new IllegalStateException("pageSize must not be null.");
}
if (pageNumber == null) {
throw new IllegalStateException("pageNumber must not be null.");
}
if (sortOrders == null) {
sortOrders = CollectionUtils.getHashMap();
}
if (sortOrders.isEmpty()) {
sortOrders.put("lastName", "ASC");
}
if (userFilters == null) {
userFilters = CollectionUtils.getHashMap();
}
Session session = (Session) entityManager.getDelegate();
final Criteria criteria = session.createCriteria(User.class);
for (Entry<String, String> entry : sortOrders.entrySet()) {
if (entry.getValue().equalsIgnoreCase("DESC")) {
criteria.addOrder(Order.desc(entry.getKey()));
} else if (entry.getValue().equalsIgnoreCase("ASC")) {
criteria.addOrder(Order.asc(entry.getKey()));
} else {
throw new IllegalStateException("SortOrder " + entry.getValue() + " is not supported.");
}
}
for (Entry<String, String> entry : userFilters.entrySet()) {
criteria.add(Restrictions.ilike(entry.getKey(), entry.getValue(), MatchMode.ANYWHERE));
}
criteria.setFirstResult((pageNumber - 1) * pageSize);
criteria.setMaxResults(pageSize);
users = criteria.list();
return users;
}
Example 43
Project: Lemo-Data-Management-Server-master File: ServiceCourseTitleSearch.java View source code |
/**
* Gets the details of all courses whose title matches search text. Informations include id, title, description,
* number of participants, time of first student-request, time of latest student-request.
*
* @param text .
*
* @return A List of CourseObjects containing the information.
*/
@GET
public ResultListCourseObject getCoursesByText(@QueryParam(MetaParam.SEARCH_TEXT) final String text, @QueryParam(MetaParam.RESULT_AMOUNT) final Long count, @QueryParam(MetaParam.OFFSET) final Long offset) {
IDBHandler dbHandler = ServerConfiguration.getInstance().getMiningDbHandler();
List<CourseObject> result = new ArrayList<CourseObject>();
result.add(new CourseObject());
result.add(new CourseObject());
if (text == null || text.equals("")) {
return new ResultListCourseObject(result);
}
// Set up db-connection
final Session session = dbHandler.getMiningSession();
Criteria criteria = session.createCriteria(Course.class, "course");
criteria.add(Restrictions.ilike("course.title", text, MatchMode.ANYWHERE));
@SuppressWarnings("unchecked") final ArrayList<Course> courses = (ArrayList<Course>) criteria.list();
criteria = session.createCriteria(Attribute.class, "attribute");
criteria.add(Restrictions.like("attribute.name", "CourseFirstRequest"));
Long fattId = -1l;
if (criteria.list().size() > 0) {
fattId = ((Attribute) criteria.list().get(criteria.list().size() - 1)).getId();
}
criteria = session.createCriteria(Attribute.class, "attribute");
criteria.add(Restrictions.like("attribute.name", "CourseLastRequest"));
Long lattId = -1l;
if (criteria.list().size() > 0) {
lattId = ((Attribute) criteria.list().get(criteria.list().size() - 1)).getId();
}
ServiceCourseDetails scd = new ServiceCourseDetails();
for (Course courseMining : courses) {
Long lastTime = 0L;
Long firstTime = 0L;
criteria = session.createCriteria(CourseAttribute.class, "courseAttribute");
criteria.add(Restrictions.eq("courseAttribute.course.id", courseMining.getId()));
criteria.add(Restrictions.eq("courseAttribute.attribute.id", fattId));
if (criteria.list().size() > 0)
firstTime = Long.valueOf(((CourseAttribute) criteria.list().get(0)).getValue());
criteria = session.createCriteria(CourseAttribute.class, "courseAttribute");
criteria.add(Restrictions.eq("courseAttribute.course.id", courseMining.getId()));
criteria.add(Restrictions.eq("courseAttribute.attribute.id", lattId));
if (criteria.list().size() > 0)
lastTime = Long.valueOf(((CourseAttribute) criteria.list().get(0)).getValue());
if (lastTime == 0L) {
criteria = session.createCriteria(ILog.class, "log");
criteria.add(Restrictions.eq("log.course.id", courseMining.getId()));
criteria.setProjection(Projections.projectionList().add(Projections.max("log.timestamp")));
for (int i = 0; i < criteria.list().size(); i++) {
if (criteria.list().get(i) != null)
lastTime = (Long) criteria.list().get(i);
}
}
if (firstTime == 0L) {
criteria = session.createCriteria(ILog.class, "log");
criteria.add(Restrictions.eq("log.course.id", courseMining.getId()));
criteria.setProjection(Projections.projectionList().add(Projections.min("log.timestamp")));
for (int i = 0; i < criteria.list().size(); i++) {
if (criteria.list().get(i) != null)
firstTime = (Long) criteria.list().get(i);
}
}
int scount = StudentHelper.getStudentCount(courseMining.getId());
Long chash = scd.getCourseHash(courseMining.getId(), firstTime, lastTime);
boolean gsupp = StudentHelper.getGenderSupport(courseMining.getId());
final CourseObject co = new CourseObject(courseMining.getId(), courseMining.getTitle(), courseMining.getTitle(), scount, lastTime, firstTime, chash, gsupp);
result.add(co);
}
session.close();
return new ResultListCourseObject(result);
}
Example 44
Project: lemon-master File: HibernateUtils.java View source code |
/**
* 按属性�件�数创建Criterion,辅助函数.
*
* @param propertyName
* String
* @param propertyValue
* Object
* @param matchType
* MatchType
* @return Criterion
*/
public static Criterion buildCriterion(String propertyName, Object propertyValue, MatchType matchType) {
Assert.hasText(propertyName, "propertyName�能为空");
Criterion criterion = null;
// æ ¹æ?®MatchTypeæž„é€ criterion
switch(matchType) {
case EQ:
criterion = Restrictions.eq(propertyName, propertyValue);
break;
case NOT:
criterion = Restrictions.ne(propertyName, propertyValue);
break;
case LIKE:
criterion = Restrictions.like(propertyName, (String) propertyValue, MatchMode.ANYWHERE);
break;
case LE:
criterion = Restrictions.le(propertyName, propertyValue);
break;
case LT:
criterion = Restrictions.lt(propertyName, propertyValue);
break;
case GE:
criterion = Restrictions.ge(propertyName, propertyValue);
break;
case GT:
criterion = Restrictions.gt(propertyName, propertyValue);
break;
case IN:
criterion = Restrictions.in(propertyName, (Collection) propertyValue);
break;
case INL:
criterion = Restrictions.isNull(propertyName);
break;
case NNL:
criterion = Restrictions.isNotNull(propertyName);
break;
default:
criterion = Restrictions.eq(propertyName, propertyValue);
break;
}
return criterion;
}
Example 45
Project: linshare-core-master File: GuestRepositoryImpl.java View source code |
/** * Search some guests. If given agument is null, it's not considered. * @param mail * user mail. * @param firstName * user first name. * @param lastName * user last name. * @param ownerLogin * login of the user who creates the searched guest(s). * * @return a list of matching users. */ public List<Guest> searchGuest(Account owner, String mail, String firstName, String lastName) { DetachedCriteria criteria = DetachedCriteria.forClass(getPersistentClass()); criteria.add(Restrictions.eq("destroyed", 0L)); if (mail != null) { criteria.add(Restrictions.ilike("mail", mail, MatchMode.ANYWHERE)); } if (firstName != null) { criteria.add(Restrictions.ilike("firstName", firstName, MatchMode.ANYWHERE)); } if (lastName != null) { criteria.add(Restrictions.ilike("lastName", lastName, MatchMode.ANYWHERE)); } if (owner != null) { criteria.add(Restrictions.eq("owner", owner)); } return findByCriteria(criteria); }
Example 46
Project: openmrs-module-openhmis.commons-master File: BaseMetadataDataServiceImpl.java View source code |
@Override
@Transactional(readOnly = true)
public List<E> getByNameFragment(final String nameFragment, final boolean includeRetired, PagingInfo pagingInfo) {
IMetadataAuthorizationPrivileges privileges = getPrivileges();
if (privileges != null && !StringUtils.isEmpty(privileges.getGetPrivilege())) {
PrivilegeUtil.requirePrivileges(Context.getAuthenticatedUser(), privileges.getGetPrivilege());
}
if (StringUtils.isEmpty(nameFragment)) {
throw new IllegalArgumentException("The name fragment must be defined.");
}
if (nameFragment.length() > NAME_LENGTH) {
throw new IllegalArgumentException("the name fragment must be less than 256 characters long.");
}
return executeCriteria(getEntityClass(), pagingInfo, new Action1<Criteria>() {
@Override
public void apply(Criteria criteria) {
criteria.add(Restrictions.ilike("name", nameFragment, MatchMode.START));
if (!includeRetired) {
criteria.add(Restrictions.eq("retired", false));
}
}
}, getDefaultSort());
}
Example 47
Project: openmrs_gsoc-master File: HibernateConceptDAO.java View source code |
/** * @see org.openmrs.api.db.ConceptDAO#getDrugs(java.lang.String) */ @SuppressWarnings("unchecked") public List<Drug> getDrugs(String phrase) throws DAOException { List<String> words = ConceptWord.getUniqueWords(phrase); List<Drug> conceptDrugs = new Vector<Drug>(); if (words.size() > 0) { Criteria searchCriteria = sessionFactory.getCurrentSession().createCriteria(Drug.class, "drug"); searchCriteria.add(Restrictions.eq("drug.retired", false)); Iterator<String> word = words.iterator(); searchCriteria.add(Restrictions.like("name", word.next(), MatchMode.ANYWHERE)); while (word.hasNext()) { String w = word.next(); log.debug(w); searchCriteria.add(Restrictions.like("name", w, MatchMode.ANYWHERE)); } searchCriteria.addOrder(Order.asc("drug.concept")); conceptDrugs = searchCriteria.list(); } return conceptDrugs; }
Example 48
Project: Openmrs_old-master File: HibernateConceptDAO.java View source code |
/** * @see org.openmrs.api.db.ConceptDAO#getDrugs(java.lang.String) */ @SuppressWarnings("unchecked") public List<Drug> getDrugs(String phrase) throws DAOException { List<String> words = ConceptWord.getUniqueWords(phrase); List<Drug> conceptDrugs = new Vector<Drug>(); if (words.size() > 0) { Criteria searchCriteria = sessionFactory.getCurrentSession().createCriteria(Drug.class, "drug"); searchCriteria.add(Expression.eq("drug.retired", false)); Iterator<String> word = words.iterator(); searchCriteria.add(Expression.like("name", word.next(), MatchMode.ANYWHERE)); while (word.hasNext()) { String w = word.next(); log.debug(w); searchCriteria.add(Expression.like("name", w, MatchMode.ANYWHERE)); } searchCriteria.addOrder(Order.asc("drug.concept")); conceptDrugs = searchCriteria.list(); } return conceptDrugs; }
Example 49
Project: springlab-master File: HibernateDao.java View source code |
/**
* 按属性�件�数创建Criterion,辅助函数.
*/
protected Criterion buildCriterion(final String propertyName, final Object propertyValue, final MatchType matchType) {
Assert.hasText(propertyName, "propertyName�能为空");
Criterion criterion = null;
//æ ¹æ?®MatchTypeæž„é€ criterion
switch(matchType) {
case EQ:
criterion = Restrictions.eq(propertyName, propertyValue);
break;
case LIKE:
criterion = Restrictions.like(propertyName, (String) propertyValue, MatchMode.ANYWHERE);
break;
case LE:
criterion = Restrictions.le(propertyName, propertyValue);
break;
case LT:
criterion = Restrictions.lt(propertyName, propertyValue);
break;
case GE:
criterion = Restrictions.ge(propertyName, propertyValue);
break;
case GT:
criterion = Restrictions.gt(propertyName, propertyValue);
}
return criterion;
}
Example 50
Project: springside-core-3.3.4.x-master File: HibernateDao.java View source code |
/** * 按属性æ?¡ä»¶å?‚数创建Criterion,辅助函数. */ protected Criterion buildCriterion(final String propertyName, final Object propertyValue, final MatchType matchType) { Assert.hasText(propertyName, "propertyNameä¸?能为空"); Criterion criterion = null; SimpleExpression se = null; //æ ¹æ?®MatchTypeæž„é€ criterion switch(matchType) { case EQ: se = Restrictions.eq(propertyName, propertyValue); criterion = ignoreCase(se, propertyName, propertyValue); break; case NE: criterion = Restrictions.ne(propertyName, propertyValue); break; case LIKE: if (propertyValue instanceof String) { se = Restrictions.like(propertyName, (String) propertyValue, MatchMode.ANYWHERE); criterion = ignoreCase(se, propertyName, propertyValue); } else { logger.warn("属性{}使用LIKE查询,为é?žå—符型,实际类型为:{},自动使用EQ查询", propertyName, propertyValue.getClass().getName()); se = Restrictions.eq(propertyName, propertyValue); criterion = ignoreCase(se, propertyName, propertyValue); } break; case RLIKE: if (propertyValue instanceof String) { se = Restrictions.like(propertyName, (String) propertyValue, MatchMode.START); criterion = ignoreCase(se, propertyName, propertyValue); } else { logger.warn("属性{}使用LLIKE查询,为é?žå—符型,实际类型为:{},自动使用EQ查询", propertyName, propertyValue.getClass().getName()); se = Restrictions.eq(propertyName, propertyValue); criterion = ignoreCase(se, propertyName, propertyValue); } break; case LLIKE: if (propertyValue instanceof String) { se = Restrictions.like(propertyName, (String) propertyValue, MatchMode.END); criterion = ignoreCase(se, propertyName, propertyValue); } else { logger.warn("属性{}使用RLIKE查询,为é?žå—符型,实际类型为:{},自动使用EQ查询", propertyName, propertyValue.getClass().getName()); se = Restrictions.eq(propertyName, propertyValue); criterion = ignoreCase(se, propertyName, propertyValue); } break; case LE: criterion = Restrictions.le(propertyName, propertyValue); break; case LT: criterion = Restrictions.lt(propertyName, propertyValue); break; case GE: criterion = Restrictions.ge(propertyName, propertyValue); break; case GT: criterion = Restrictions.gt(propertyName, propertyValue); break; case NN: criterion = Restrictions.isNotNull(propertyName); break; case IN: criterion = Restrictions.in(propertyName, (Object[]) propertyValue); break; case BTD: Date dateValue = (Date) propertyValue; Calendar calendar = Calendar.getInstance(); calendar.setTime(dateValue); calendar.add(Calendar.DAY_OF_MONTH, 1); criterion = Restrictions.and(Restrictions.ge(propertyName, propertyValue), Restrictions.le(propertyName, calendar.getTime())); break; } return criterion; }
Example 51
Project: voms-admin-server-master File: AuditSearchDAOHibernate.java View source code |
protected Criteria buildCriteriaFromParams(AuditLogSearchParams sp) { Criteria crit = createCriteria(); crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); if (sp.getFromTime() != null) { crit.add(Restrictions.ge("timestamp", sp.getFromTime())); } if (sp.getToTime() != null) { crit.add(Restrictions.le("timestamp", sp.getToTime())); } if (sp.getFilterString() != null && !sp.getFilterString().trim().equals("")) { if (sp.getFilterType().equals(AuditLogSearchParams.FULL_SEARCH_KEY)) { // Full search is basically search over principal // and audit event data point values String filterString = String.format("%%%s%%", sp.getFilterString()); // This is due to another ugly limitation of Hibernate 3.3 // which does not support criteria queries on embedded // collections // See https://hibernate.atlassian.net/browse/HHH-869 crit.add(Restrictions.disjunction().add(Restrictions.sqlRestriction("{alias}.event_id in (select ae.event_id from audit_event ae, audit_event_data aed where ae.event_id = aed.event_id and aed.value like ?)", filterString, StringType.INSTANCE)).add(Restrictions.like("principal", sp.getFilterString().trim(), MatchMode.ANYWHERE))); } else { crit.add(Restrictions.like(sp.getFilterType(), sp.getFilterString().trim(), MatchMode.ANYWHERE)); } } if (sp.getFirstResult() != null) { crit.setFirstResult(sp.getFirstResult()); } if (sp.getMaxResults() != null) { crit.setMaxResults(sp.getMaxResults()); } crit.addOrder(Order.desc("timestamp")); return crit; }
Example 52
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 53
Project: abiquo-master File: VirtualDatacenterDAO.java View source code |
public Collection<VirtualDatacenter> findByEnterpriseAndDatacenterFilter(final Enterprise enterprise, final Datacenter datacenter, final User user, final FilterOptions filterOptions) {
Collection<Criterion> restrictions = new ArrayList<Criterion>();
if (enterprise != null) {
restrictions.add(sameEnterprise(enterprise));
}
if (datacenter != null) {
restrictions.add(sameDatacenter(datacenter));
}
if (user != null) {
restrictions.add(availableToUser(user));
}
if (filterOptions != null) {
restrictions.add(Restrictions.like(VirtualDatacenter.NAME_PROPERTY, filterOptions.getFilter(), MatchMode.ANYWHERE));
}
return findVirtualDatacentersByCriterions(restrictions, filterOptions);
}
Example 54
Project: BACKUP_FROM_SVN-master File: Main.java View source code |
/**
* Demonstrates query by example
*/
public void viewAuctionsByDescription(String description, int condition) throws Exception {
String msg = "Viewing auctions containing: " + description;
if (condition > 0)
msg += " with condition: " + condition + "/10";
AuctionItem item = new AuctionItem();
item.setDescription(description);
item.setCondition(condition);
Session s = factory.openSession();
Transaction tx = null;
try {
tx = s.beginTransaction();
Iterator iter = s.createCriteria(AuctionItem.class).add(Example.create(item).enableLike(MatchMode.ANYWHERE).ignoreCase().excludeZeroes()).list().iterator();
System.out.println(msg);
while (iter.hasNext()) {
item = (AuctionItem) iter.next();
System.out.println("Item: " + item.getId() + " - " + item.getDescription());
}
System.out.println();
tx.commit();
} catch (Exception e) {
if (tx != null)
tx.rollback();
throw e;
} finally {
s.close();
}
}
Example 55
Project: dddlib-master File: EntityRepositoryHibernate.java View source code |
/*
* (non-Javadoc)
* @see org.dayatang.domain.EntityRepository#findByExample(org.dayatang.domain.Entity, org.dayatang.domain.ExampleSettings)
*/
@Override
public <T extends Entity, E extends T> List<T> findByExample(final E example, final ExampleSettings<T> settings) {
Example theExample = Example.create(example);
if (settings.isLikeEnabled()) {
theExample.enableLike(MatchMode.ANYWHERE);
}
if (settings.isIgnoreCaseEnabled()) {
theExample.ignoreCase();
}
if (settings.isExcludeNone()) {
theExample.excludeNone();
}
if (settings.isExcludeZeroes()) {
theExample.excludeZeroes();
}
for (String propName : settings.getExcludedProperties()) {
theExample.excludeProperty(propName);
}
return getSession().createCriteria(settings.getEntityClass()).add(theExample).list();
}
Example 56
Project: eucalyptus-fork-2.0-master File: DatabaseAuthProvider.java View source code |
@Override public User lookupCertificate(X509Certificate cert) throws NoSuchUserException { String certPem = B64.url.encString(PEMFiles.getBytes(cert)); UserEntity searchUser = new UserEntity(); searchUser.setEnabled(true); X509Cert searchCert = new X509Cert(); searchCert.setPemCertificate(certPem); searchCert.setRevoked(null); EntityWrapper<UserEntity> db = EntityWrapper.get(searchUser); Session session = db.getSession(); try { Example qbeUser = Example.create(searchUser).enableLike(MatchMode.EXACT); Example qbeCert = Example.create(searchCert).enableLike(MatchMode.EXACT); List<UserEntity> users = (List<UserEntity>) session.createCriteria(UserEntity.class).setCacheable(true).add(qbeUser).createCriteria("certificates").setCacheable(true).add(qbeCert).list(); UserEntity ret = users.size() == 1 ? users.get(0) : null; int size = users.size(); if (ret != null) { return new DatabaseWrappedUser(ret); } else { throw new GeneralSecurityException((size == 0) ? "No user with the specified certificate." : "Multiple users with the same certificate."); } } catch (Throwable t) { throw new NoSuchUserException(t); } finally { db.rollback(); } }
Example 57
Project: hospitalcore-master File: HibernatePatientDashboardDAO.java View source code |
@SuppressWarnings("unchecked")
public List<Concept> searchConceptsByNameAndClass(String text, ConceptClass clazz) throws DAOException {
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Concept.class);
criteria.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
criteria.add(Expression.eq("retired", false));
criteria.add(Restrictions.eq("conceptClass", clazz));
if (StringUtils.isNotBlank(text)) {
criteria.createAlias("names", "names");
criteria.add(Expression.like("names.name", text, MatchMode.ANYWHERE));
}
return criteria.list();
}
Example 58
Project: jshoperx-master File: GoodsTAction.java View source code |
/**
* æ ¹æ?®å•†å“?å??称查询商å“?
*/
private void findGoodsByGoodsname() {
int currentPage = page;
int lineSize = rp;
Criterion criterion = Restrictions.like(this.getQtype(), this.getQuery().trim(), MatchMode.ANYWHERE);
total = this.goodsTService.count(GoodsT.class, criterion).intValue();
if (StringUtils.isNotBlank(this.getSortname()) && StringUtils.isNotBlank(this.getSortorder())) {
Order order = null;
if (StringUtils.equals(this.getSortorder(), StaticKey.ASC)) {
order = Order.asc(this.getSortname());
} else {
order = Order.desc(this.getSortname());
}
List<GoodsT> list = this.goodsTService.findByCriteriaByPage(GoodsT.class, criterion, order, currentPage, lineSize);
this.processGoodsList(list);
}
}
Example 59
Project: openmrs-master File: HibernateConceptDAO.java View source code |
/** * @see org.openmrs.api.db.ConceptDAO#getDrugs(java.lang.String) */ @SuppressWarnings("unchecked") public List<Drug> getDrugs(String phrase) throws DAOException { List<String> words = ConceptWord.getUniqueWords(phrase); List<Drug> conceptDrugs = new Vector<Drug>(); if (words.size() > 0) { Criteria searchCriteria = sessionFactory.getCurrentSession().createCriteria(Drug.class, "drug"); searchCriteria.add(Expression.eq("drug.retired", false)); Iterator<String> word = words.iterator(); searchCriteria.add(Expression.like("name", word.next(), MatchMode.ANYWHERE)); while (word.hasNext()) { String w = word.next(); log.debug(w); searchCriteria.add(Expression.like("name", w, MatchMode.ANYWHERE)); } searchCriteria.addOrder(Order.asc("drug.concept")); conceptDrugs = searchCriteria.list(); } return conceptDrugs; }
Example 60
Project: openmrs-maven-master File: HibernateConceptDAO.java View source code |
/** * @see org.openmrs.api.db.ConceptDAO#getDrugs(java.lang.String) */ @SuppressWarnings("unchecked") public List<Drug> getDrugs(String phrase) throws DAOException { List<String> words = ConceptWord.getUniqueWords(phrase); List<Drug> conceptDrugs = new Vector<Drug>(); if (words.size() > 0) { Criteria searchCriteria = sessionFactory.getCurrentSession().createCriteria(Drug.class, "drug"); searchCriteria.add(Expression.eq("drug.retired", false)); Iterator<String> word = words.iterator(); searchCriteria.add(Expression.like("name", word.next(), MatchMode.ANYWHERE)); while (word.hasNext()) { String w = word.next(); log.debug(w); searchCriteria.add(Expression.like("name", w, MatchMode.ANYWHERE)); } searchCriteria.addOrder(Order.asc("drug.concept")); conceptDrugs = searchCriteria.list(); } return conceptDrugs; }
Example 61
Project: qalingo-engine-master File: ProductDao.java View source code |
public List<ProductMarketing> findProductMarketings(final String text, Object... params) { Criteria criteria = createDefaultCriteria(ProductMarketing.class); handleSpecificProductMarketingFetchMode(criteria, params); criteria.add(Restrictions.or(Restrictions.like("code", text, MatchMode.ANYWHERE), Restrictions.like("name", text, MatchMode.ANYWHERE), Restrictions.like("description", text, MatchMode.ANYWHERE))); criteria.addOrder(Order.asc("id")); @SuppressWarnings("unchecked") List<ProductMarketing> productMarketings = criteria.list(); return productMarketings; }
Example 62
Project: beanfuse-master File: CriterionUtils.java View source code |
public static Example getExampleCriterion(Object entity, String[] excludePropertes, MatchMode mode) {
Example example = Example.create(entity).setPropertySelector(new NotEmptyPropertySelector());
if (null != mode) {
example.enableLike(mode);
}
if (null != excludePropertes) {
for (int i = 0; i < excludePropertes.length; i++) {
example.excludeProperty(excludePropertes[i]);
}
}
return example;
}
Example 63
Project: eucalyptus-master File: WalrusFSManager.java View source code |
@Override
public ListBucketResponseType listBucket(ListBucketType request) throws WalrusException {
ListBucketResponseType reply = (ListBucketResponseType) request.getReply();
Context ctx = Contexts.lookup();
String bucketName = request.getBucket();
// Lookup bucket
try {
Transactions.find(new BucketInfo(bucketName));
} catch (NoSuchElementException e) {
throw new NoSuchBucketException(bucketName);
} catch (Exception e) {
LOG.error("Failed to look up metadata for bucket=" + bucketName, e);
throw new InternalErrorException("Failed to lookup bucket " + bucketName, e);
}
String prefix = request.getPrefix();
String delimiter = request.getDelimiter();
String marker = request.getMarker();
int maxKeys = -1;
reply.setName(bucketName);
reply.setIsTruncated(false);
reply.setPrefix(prefix);
reply.setMarker(marker);
reply.setDelimiter(delimiter);
if (request.getMaxKeys() != null) {
maxKeys = Integer.parseInt(request.getMaxKeys());
if (maxKeys < 0) {
throw new InvalidArgumentException("max-keys", "Argument max-keys must be an integer between 0 and " + Integer.MAX_VALUE);
} else if (maxKeys == 0) {
// No keys requested, so just return
reply.setMaxKeys(maxKeys);
reply.setContents(new ArrayList<ListEntry>());
reply.setCommonPrefixesList(new ArrayList<CommonPrefixesEntry>());
return reply;
}
} else {
maxKeys = WalrusProperties.MAX_KEYS;
reply.setMaxKeys(maxKeys);
}
try (TransactionResource tr = Entities.transactionFor(ObjectInfo.class)) {
final int queryStrideSize = maxKeys + 1;
ObjectInfo searchObj = new ObjectInfo();
searchObj.setBucketName(bucketName);
Criteria objCriteria = Entities.createCriteria(ObjectInfo.class);
objCriteria.add(Example.create(searchObj));
objCriteria.addOrder(Order.asc("objectKey"));
// add one to, hopefully, indicate truncation in one call
objCriteria.setMaxResults(queryStrideSize);
objCriteria.setReadOnly(true);
if (!Strings.isNullOrEmpty(marker)) {
// The result set should be exclusive of the marker. marker could be a common prefix from a previous response. Look for keys that
// lexicographically follow the marker and don't contain the marker as the prefix.
objCriteria.add(Restrictions.gt("objectKey", marker));
} else {
marker = "";
}
if (!Strings.isNullOrEmpty(prefix)) {
objCriteria.add(Restrictions.like("objectKey", prefix, MatchMode.START));
} else {
prefix = "";
}
// Ensure not null.
if (Strings.isNullOrEmpty(delimiter)) {
delimiter = "";
}
List<ObjectInfo> objectInfos = null;
int resultKeyCount = 0;
// contents for reply
ArrayList<ListEntry> contents = new ArrayList<ListEntry>();
String nextMarker = null;
TreeSet<String> commonPrefixes = new TreeSet<String>();
int firstResult = -1;
// same owner for every object
CanonicalUser owner = buildCanonicalUser(ctx.getUser());
// Iterate over result sets of size maxkeys + 1
do {
// Start listing from the 0th element and increment the first element to be listed by the query size
objCriteria.setFirstResult(queryStrideSize * (++firstResult));
objectInfos = (List<ObjectInfo>) objCriteria.list();
if (objectInfos.size() > 0) {
for (ObjectInfo objectInfo : objectInfos) {
String objectKey = objectInfo.getObjectKey();
// Check if it will get aggregated as a commonprefix
if (!Strings.isNullOrEmpty(delimiter)) {
// Split the substring to a maximum of two parts as we need a result containing trailing strings. For instance
// if "x" is delimiter and key string is also "x", then this key should be included in common prefixes.
// "x".split("x") gives 0 strings which causes the subsequent logic to skip the key where as
// "x".split("x", 2) gives 2 empty strings which is what the logic expects
String[] parts = objectKey.substring(prefix.length()).split(delimiter, 2);
if (parts.length > 1) {
String prefixString = prefix + parts[0] + delimiter;
if (!StringUtils.equals(prefixString, marker) && !commonPrefixes.contains(prefixString)) {
if (resultKeyCount == maxKeys) {
// This is a new record, so we know we're truncating if this is true
reply.setNextMarker(nextMarker);
reply.setIsTruncated(true);
resultKeyCount++;
break;
}
commonPrefixes.add(prefixString);
// count the unique commonprefix as a single return entry
resultKeyCount++;
// If the common prefixes hit the limit set by max-keys, next-marker is the last common prefix
if (resultKeyCount == maxKeys) {
nextMarker = prefixString;
}
}
continue;
}
}
if (resultKeyCount == maxKeys) {
// This is a new (non-commonprefix) record, so we know we're truncating
reply.setNextMarker(nextMarker);
reply.setIsTruncated(true);
resultKeyCount++;
break;
}
// Process the entry as a full key listing
ListEntry listEntry = new ListEntry();
listEntry.setKey(objectKey);
listEntry.setEtag(objectInfo.getEtag());
listEntry.setLastModified(DateFormatter.dateToListingFormattedString(objectInfo.getLastModified()));
listEntry.setStorageClass(objectInfo.getStorageClass());
listEntry.setSize(objectInfo.getSize());
listEntry.setStorageClass(objectInfo.getStorageClass());
listEntry.setOwner(owner);
contents.add(listEntry);
resultKeyCount++;
// If max keys have been collected, set the next-marker. It might be needed for the response if the list is truncated
if (resultKeyCount == maxKeys) {
nextMarker = objectKey;
}
}
}
if (resultKeyCount <= maxKeys && objectInfos.size() <= maxKeys) {
break;
}
} while (resultKeyCount <= maxKeys);
tr.commit();
reply.setContents(contents);
// Prefixes are already sorted, add them to the proper data structures and populate the reply
if (!commonPrefixes.isEmpty()) {
ArrayList<CommonPrefixesEntry> commonPrefixesList = new ArrayList<CommonPrefixesEntry>();
for (String prefixEntry : commonPrefixes) {
commonPrefixesList.add(new CommonPrefixesEntry(prefixEntry));
}
reply.setCommonPrefixesList(commonPrefixesList);
}
return reply;
} catch (Exception e) {
LOG.error("Failed to lookup metadata for objects in bucket=" + bucketName, e);
throw new InternalErrorException("Failed to lookup metadata for objects in bucket=" + bucketName, e);
}
}
Example 64
Project: openmicroscopy-master File: QueryImpl.java View source code |
@Override @RolesAllowed("user") @SuppressWarnings("unchecked") public <T extends IObject> List<T> findAllByString(final Class<T> klass, final String fieldName, final String value, final boolean caseSensitive, final Filter filter) throws ApiUsageException { return (List<T>) getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException { Criteria c = session.createCriteria(klass); parseFilter(c, filter); if (caseSensitive) { c.add(Restrictions.like(fieldName, value, MatchMode.ANYWHERE)); } else { c.add(Restrictions.ilike(fieldName, value, MatchMode.ANYWHERE)); } return c.list(); } }); }
Example 65
Project: ProjectModel-master File: LookupRepositoryImpl.java View source code |
private Criteria createStandardFieldFilterCriteria(Session session, String domainClassName, IStandardFieldLookupProfile example, Boolean activeSetting) {
final Example ex = Example.create(example);
ex.enableLike(MatchMode.START);
ex.ignoreCase();
ex.excludeProperty("active");
Criteria crit = session.createCriteria(domainClassName);
crit.add(ex);
// example, so we have to do it ourselves. argh...
if (!Utils.isBlankOrNull(example.getCode())) {
crit.add(Restrictions.ilike("code", example.getCode().toLowerCase() + "%"));
}
if (activeSetting != null) {
crit.add(Restrictions.eq("active", activeSetting));
}
return crit;
}
Example 66
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 67
Project: SOS-master File: HibernateGetObservationHelper.java View source code |
/** * Get the Hibernate Criterion for the requested result filter * * @param resultFilter * Requested result filter * @return Hibernate Criterion * @throws CodedException * If the requested result filter is not supported */ public static Criterion getCriterionForComparisonFilter(ComparisonFilter resultFilter) throws CodedException { if (ComparisonOperator.PropertyIsLike.equals(resultFilter.getOperator())) { checkValueReferenceForResultFilter(resultFilter.getValueReference()); if (resultFilter.isSetEscapeString()) { return HibernateCriterionHelper.getLikeExpression(Observation.DESCRIPTION, checkValueForWildcardSingleCharAndEscape(resultFilter), MatchMode.ANYWHERE, Constants.DOLLAR_CHAR, true); } else { return Restrictions.like(Observation.DESCRIPTION, checkValueForWildcardSingleCharAndEscape(resultFilter), MatchMode.ANYWHERE); } } else { throw new NoApplicableCodeException().withMessage("The requested comparison filter {} is not supported! Only {} is supported!", resultFilter.getOperator().name(), ComparisonOperator.PropertyIsLike.name()); } }
Example 68
Project: tapestry-model-master File: HibernatePersistenceServiceImpl.java View source code |
public List getInstances(final Object example, final TynamoClassDescriptor classDescriptor) {
//create Criteria instance
DetachedCriteria searchCriteria = DetachedCriteria.forClass(example.getClass());
searchCriteria = alterCriteria(example.getClass(), searchCriteria);
//loop over the example object's PropertyDescriptors
for (TynamoPropertyDescriptor propertyDescriptor : classDescriptor.getPropertyDescriptors()) {
//only add a Criterion to the Criteria instance if this property is searchable
if (propertyDescriptor.isSearchable()) {
String propertyName = propertyDescriptor.getName();
Class propertyClass = propertyDescriptor.getPropertyType();
Object value = getPropertyAccess().get(example, propertyName);
//only add a Criterion to the Criteria instance if the value for this property is non-null
if (value != null) {
if (String.class.isAssignableFrom(propertyClass) && ((String) value).length() > 0) {
searchCriteria.add(Restrictions.like(propertyName, value.toString(), MatchMode.ANYWHERE));
} else /**
* 'one'-end of many-to-one, one-to-one
*
* Just match the identifier
*/
if (propertyDescriptor.isObjectReference()) {
Serializable identifierValue = getIdentifier(value, descriptorService.getClassDescriptor(propertyDescriptor.getBeanType()));
searchCriteria.createCriteria(propertyName).add(Restrictions.idEq(identifierValue));
} else if (propertyClass.isPrimitive()) {
//primitive types: ignore zeroes in case of numeric types, ignore booleans anyway (TODO come up with something...)
if (!propertyClass.equals(boolean.class) && ((Number) value).longValue() != 0) {
searchCriteria.add(Restrictions.eq(propertyName, value));
}
} else if (propertyDescriptor.isCollection()) {
//one-to-many or many-to-many
CollectionDescriptor collectionDescriptor = (CollectionDescriptor) propertyDescriptor;
TynamoClassDescriptor collectionClassDescriptor = descriptorService.getClassDescriptor(collectionDescriptor.getElementType());
if (collectionClassDescriptor != null) {
String identifierName = collectionClassDescriptor.getIdentifierDescriptor().getName();
Collection<Serializable> identifierValues = new ArrayList<Serializable>();
Collection associatedItems = (Collection) value;
if (associatedItems != null && associatedItems.size() > 0) {
for (Object o : associatedItems) {
identifierValues.add(getIdentifier(o, collectionClassDescriptor));
}
//add a 'value IN collection' restriction
searchCriteria.createCriteria(propertyName).add(Restrictions.in(identifierName, identifierValues));
}
}
}
}
}
}
searchCriteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
// and obtain the Session from it
return searchCriteria.getExecutableCriteria(getSession()).list();
}
Example 69
Project: dkpro-uby-master File: UbyStatistics.java View source code |
/** * Counts the number of {@link SenseAxis} instances between two {@link Lexicon} instances * identified by their name. The counted sense axes are filtered by the * specified type.<p> * <b>Important properties of this method:</b> * <ul> * <li>Only alignments between {@link Sense} instances are considered.</li> * <li>The sources of the alignments are not distinguished.</li> * <li>The lexicons are identified by identifier prefixes of the aligned senses.</li> * </ul> * * @param type * Type of sense axes to be considered when counting * * @param lex1Name * The name of the first of two lexicons between which sense axes should be counted * * @param lex2Name * The name of the second of two lexicons between which sense axes should be counted * * @return the number of sense axes between the lexicons filtered by the specified sense axes type. * This method returns zero if a lexicon with the specified name does not exist or one of the * consumed arguments is null. * * @see ESenseAxisType */ public long countSenseAxesPerLexiconPair(ESenseAxisType type, String lex1Name, String lex2Name) { // get prefix for res1Name Criteria c1 = session.createCriteria(Sense.class, "s"); c1 = c1.createCriteria("lexicalEntry"); c1 = c1.createCriteria("lexicon"); c1 = c1.add(Restrictions.eq("name", lex1Name)); c1 = c1.setProjection(Projections.property("s.id")); c1 = c1.setMaxResults(1); String res1 = (String) c1.uniqueResult(); //get prefix for res2Name Criteria c2 = session.createCriteria(Sense.class, "s"); c2 = c2.createCriteria("lexicalEntry"); c2 = c2.createCriteria("lexicon"); c2 = c2.add(Restrictions.eq("name", lex2Name)); c2 = c2.setProjection(Projections.property("s.id")); c2 = c2.setMaxResults(1); String res2 = (String) c2.uniqueResult(); String pref1 = ""; String pref2 = ""; if (res1 != null && res2 != null) { pref1 = res1.split("_")[0]; if (res1.split("_")[1].equals("en") || res1.split("_")[1].equals("de")) { pref1 += "_" + res1.split("_")[1]; } pref2 = res2.split("_")[0]; if (res2.split("_")[1].equals("en") || res2.split("_")[1].equals("de")) { pref2 += "_" + res2.split("_")[1]; } // get alignments with these prefixes Criteria criteria = session.createCriteria(SenseAxis.class); criteria = criteria.add(Restrictions.eq("senseAxisType", type)); criteria = criteria.add(Restrictions.like("senseOne.id", pref1, MatchMode.START)); criteria = criteria.add(Restrictions.like("senseTwo.id", pref2, MatchMode.START)); criteria = criteria.setProjection(Projections.rowCount()); return (Long) criteria.uniqueResult(); } else { return 0L; } }
Example 70
Project: enterprise-app-master File: DefaultHbnContainer.java View source code |
/** * Returns a Restriction accordingly to the given Filter. * @param Filter to construct the Restriction object. * @param clazz property class. * @return a Restriction object for the given Filter. */ public Criterion getCustomRestriction(StringContainerFilter filter, Class<?> clazz) { Criterion criterion = null; if (clazz.equals(String.class)) { if (filter.ignoreCase) { criterion = Restrictions.ilike(filter.getPropertyId().toString(), filter.filterString, filter.onlyMatchPrefix ? MatchMode.START : MatchMode.ANYWHERE); } else { criterion = Restrictions.like(filter.getPropertyId().toString(), filter.filterString, filter.onlyMatchPrefix ? MatchMode.START : MatchMode.ANYWHERE); } } else if (clazz.equals(Integer.class)) { try { criterion = Restrictions.eq(filter.getPropertyId().toString(), new Integer(filter.filterString)); } catch (NumberFormatException e) { } } else if (clazz.equals(Long.class)) { try { criterion = Restrictions.eq(filter.getPropertyId().toString(), new Long(filter.filterString)); } catch (NumberFormatException e) { } } else if (clazz.equals(Double.class)) { try { criterion = Restrictions.eq(filter.getPropertyId().toString(), new Double(filter.filterString)); } catch (NumberFormatException e) { } } else if (clazz.equals(Float.class)) { try { criterion = Restrictions.eq(filter.getPropertyId().toString(), new Double(filter.filterString)); } catch (NumberFormatException e) { } } else if (clazz.equals(BigDecimal.class)) { try { criterion = Restrictions.eq(filter.getPropertyId().toString(), new BigDecimal(filter.filterString)); } catch (NumberFormatException e) { } } else if (clazz.equals(Date.class)) { try { Date date1; Date date2; if (filter.filterString.isEmpty()) { date1 = new Date(Long.MIN_VALUE); } else { int length = filter.filterString.length() < Utils.getDateTimeFormatPattern().length() ? filter.filterString.length() : Utils.getDateTimeFormatPattern().length(); date1 = new SimpleDateFormat(Utils.getDateTimeFormatPattern().substring(0, length)).parse(filter.filterString); } if (filter.filterString2.isEmpty()) { date2 = Utils.getMaxDate(); } else { int length = filter.filterString2.length() < Utils.getDateTimeFormatPattern().length() ? filter.filterString2.length() : Utils.getDateTimeFormatPattern().length(); date2 = new SimpleDateFormat(Utils.getDateTimeFormatPattern().substring(0, length)).parse(filter.filterString2); } criterion = Restrictions.between(filter.getPropertyId().toString(), date1, date2); } catch (ParseException e) { Date date1 = new Date(1); Date date2 = new Date(2); criterion = Restrictions.between(filter.getPropertyId().toString(), date2, date1); } } else if (clazz.equals(Boolean.class)) { if (filter.filterString.equalsIgnoreCase(Constants.uiYes) || filter.filterString.equalsIgnoreCase(Constants.uiYes.substring(0, 1)) || filter.filterString.equals("1")) { criterion = Restrictions.eq(filter.getPropertyId().toString(), true); } else if (filter.filterString.equalsIgnoreCase(Constants.uiNo) || filter.filterString.equalsIgnoreCase(Constants.uiNo.substring(0, 1)) || filter.filterString.equals("0")) { criterion = Restrictions.eq(filter.getPropertyId().toString(), false); } else { // this should reject all results criterion = Restrictions.and(Restrictions.eq(filter.getPropertyId().toString(), true), Restrictions.eq(filter.getPropertyId().toString(), false)); } } return criterion; }
Example 71
Project: jspresso-ce-master File: DefaultCriteriaFactory.java View source code |
/** * Creates a like restriction. * * @param propertyDescriptor * the property descriptor. * @param prefixedProperty * the complete property path. * @param propertyValue * the value to create the like restriction for * @param componentDescriptor * the component descriptor * @param queryComponent * the query component * @param context * the context * @return the created criterion or null if no criterion necessary. */ protected Criterion createLikeRestriction(IPropertyDescriptor propertyDescriptor, String prefixedProperty, String propertyValue, IComponentDescriptor<?> componentDescriptor, IQueryComponent queryComponent, Map<String, Object> context) { MatchMode matchMode; if (propertyValue.contains("%")) { matchMode = MatchMode.EXACT; } else { matchMode = MatchMode.START; } if (propertyDescriptor instanceof IStringPropertyDescriptor && ((IStringPropertyDescriptor) propertyDescriptor).isUpperCase()) { // don't use ignoreCase() to be able to leverage indices. return Restrictions.like(prefixedProperty, propertyValue.toUpperCase(), matchMode); } return Restrictions.like(prefixedProperty, propertyValue, matchMode).ignoreCase(); }
Example 72
Project: Katari-master File: KatariActivityService.java View source code |
/** Creates a hibernate criteria for the provided conditions. * * This operation only considers the conditions that affect the number of * returned activities. The criteria is intended to be used to count the * number of matching activities and then add the sort conditions. * * @param userIds The user ids of the activities to search. It cannot be null. * * @param groupId only supports @self, that returns all the activities from * all the provided users. It cannot be null. * * @param appId The application id of activities. It cannot be null. * * @param options Options related to the resulting activities, like * filtering, etc. The returned criteria only contains the options that affect * the number or returned activities.. It cannot be null. * * @param token an opaque token that represents the logged in user. It cannot * be null. * * @return A criteria that matches the conditions inferred from the * parameters. */ private Criteria createCriteriaFor(final Set<UserId> userIds, final GroupId groupId, final String appId, final CollectionOptions options, final SecurityToken token) { log.trace("Entering createCriteriaFor"); Validate.notNull(userIds, "The list of user ids cannot be null."); Validate.notNull(groupId, "The group id cannot be null."); Validate.notNull(options, "The options cannot be null."); Validate.notNull(token, "The security token cannot be null."); Validate.isTrue(options.getMax() > 0, "You should ask for at least one row."); Criteria criteria = getSession().createCriteria(Activity.class); addGroupFilterToCriteria(criteria, userIds, groupId, token, appId); if (!appId.equals(newsFeedApplicationId)) { Application app; app = applicationRepository.findApplicationByUrl(appId); criteria.add(Restrictions.eq("application", app)); } if (options.getFilter() != null) { if (options.getFilterOperation() == null) { throw new ProtocolException(HttpServletResponse.SC_BAD_REQUEST, "If you request a filter, you must specify the filter operation."); } else if (options.getFilterOperation().equals(FilterOperation.present)) { criteria.add(Restrictions.isNotNull(options.getFilter())); } else { if (options.getFilterValue() == null) { throw new ProtocolException(HttpServletResponse.SC_BAD_REQUEST, "If you request a filter, you must specify the value."); } switch(options.getFilterOperation()) { case equals: criteria.add(Restrictions.eq(options.getFilter(), options.getFilterValue())); break; case startsWith: criteria.add(Restrictions.like(options.getFilter(), options.getFilterValue(), MatchMode.START)); break; case present: criteria.add(Restrictions.like(options.getFilter(), options.getFilterValue(), MatchMode.ANYWHERE)); break; default: throw new RuntimeException("Unsupported filter operation " + options.getFilterOperation()); } } } log.trace("Leaving createCriteriaFor"); return criteria; }
Example 73
Project: opennms_dashboard-master File: NetworkElementFactory.java View source code |
/* (non-Javadoc)
* @see org.opennms.web.element.NetworkElementFactoryInterface#getNodesLike(java.lang.String)
*/
@Override
public List<OnmsNode> getNodesLike(String nodeLabel) {
OnmsCriteria criteria = new OnmsCriteria(OnmsNode.class);
criteria.createAlias("assetRecord", "assetRecord");
criteria.add(Restrictions.and(Restrictions.ilike("label", nodeLabel, MatchMode.ANYWHERE), Restrictions.or(Restrictions.isNull("type"), Restrictions.ne("type", "D"))));
criteria.addOrder(Order.asc("label"));
return m_nodeDao.findMatching(criteria);
}
Example 74
Project: SOCIETIES-Platform-master File: ServiceRegistry.java View source code |
private Criteria createCriteriaFromService(Service filter, Session session) { Criteria c = session.createCriteria(RegistryEntry.class); // Direct Attributes if (filter.getServiceName() != null) c.add(Restrictions.like("serviceName", filter.getServiceName(), MatchMode.ANYWHERE)); if (filter.getServiceDescription() != null) c.add(Restrictions.like("serviceDescription", filter.getServiceDescription(), MatchMode.ANYWHERE)); if (filter.getAuthorSignature() != null) c.add(Restrictions.like("authorSignature", filter.getAuthorSignature(), MatchMode.ANYWHERE)); if (filter.getPrivacyPolicy() != null) c.add(Restrictions.like("privacyPolicy", filter.getPrivacyPolicy())); if (filter.getSecurityPolicy() != null) c.add(Restrictions.like("securityPolicy", filter.getSecurityPolicy())); if (filter.getServiceCategory() != null) c.add(Restrictions.like("serviceCategory", filter.getServiceCategory(), MatchMode.ANYWHERE)); if (filter.getServiceEndpoint() != null) c.add(Restrictions.like("serviceEndPoint", filter.getServiceEndpoint())); if (filter.getContextSource() != null) c.add(Restrictions.like("contextSource", filter.getContextSource())); if (filter.getServiceLocation() != null) c.add(Restrictions.like("serviceLocation", filter.getServiceLocation())); if (filter.getServiceStatus() != null) c.add(Restrictions.like("serviceStatus", filter.getServiceStatus().toString())); if (filter.getServiceType() != null) c.add(Restrictions.like("serviceType", filter.getServiceType().toString())); //Service Identifier ServiceResourceIdentifier servId = filter.getServiceIdentifier(); if (servId != null) { //c.createAlias("serviceIdentifier", "sri"); if (servId.getIdentifier() != null) { c.add(Restrictions.like("serviceIdentifier.identifier", servId.getIdentifier().toString())); } if (servId.getServiceInstanceIdentifier() != null) { c.add(Restrictions.like("serviceIdentifier.instanceId", servId.getServiceInstanceIdentifier())); } } //Service Instance ServiceInstance servInst = filter.getServiceInstance(); if (servInst != null) { c.createAlias("serviceInstance", "servInst"); if (servInst.getFullJid() != null) { c.add(Restrictions.like("servInst.fullJid", servInst.getFullJid())); } if (servInst.getCssJid() != null) { c.add(Restrictions.like("servInst.cssJid", servInst.getXMPPNode())); } if (servInst.getParentJid() != null) { c.add(Restrictions.like("servInst.parentJid", servInst.getXMPPNode())); } if (servInst.getXMPPNode() != null) { c.add(Restrictions.like("servInst.XMPPNode", servInst.getXMPPNode())); } ServiceResourceIdentifier pi = servInst.getParentIdentifier(); if (pi != null) { c.createAlias("servInst.parentIdentifier", "parentId"); if (pi.getIdentifier() != null) { c.add(Restrictions.like("parentId.identifier", pi.getIdentifier().toString())); } if (pi.getServiceInstanceIdentifier() != null) { c.add(Restrictions.like("parentId.instanceId", pi.getServiceInstanceIdentifier())); } } ServiceImplementation si = servInst.getServiceImpl(); if (si != null) { c.createAlias("servInst.serviceImpl", "servImpl"); if (si.getServiceNameSpace() != null) { c.add(Restrictions.like("servImpl.serviceNameSpace", si.getServiceNameSpace())); } if (si.getServiceProvider() != null) { c.add(Restrictions.like("servImpl.serviceProvider", si.getServiceProvider())); } if (si.getServiceVersion() != null) { c.add(Restrictions.like("servImpl.serviceVersion", si.getServiceVersion())); } if (si.getServiceClient() != null) { c.add(Restrictions.like("servImpl.serviceClient", si.getServiceVersion())); } } } return c; }
Example 75
Project: clinic-softacad-master File: FooBarTest.java View source code |
@Test
public void testFindByCriteria() throws Exception {
if (getDialect() instanceof DB2Dialect) {
return;
}
Session s = openSession();
Transaction txn = s.beginTransaction();
Foo f = new Foo();
s.save(f);
s.flush();
List list = s.createCriteria(Foo.class).add(Restrictions.eq("integer", f.getInteger())).add(Restrictions.eqProperty("integer", "integer")).add(Restrictions.like("string", f.getString().toUpperCase()).ignoreCase()).add(Restrictions.in("boolean", new Boolean[] { f.getBoolean(), f.getBoolean() })).setFetchMode("foo", FetchMode.JOIN).setFetchMode("baz", FetchMode.SELECT).setFetchMode("abstracts", FetchMode.JOIN).list();
assertTrue(list.size() == 1 && list.get(0) == f);
list = s.createCriteria(Foo.class).add(Restrictions.disjunction().add(Restrictions.eq("integer", f.getInteger())).add(Restrictions.like("string", f.getString())).add(Restrictions.eq("boolean", f.getBoolean()))).add(Restrictions.isNotNull("boolean")).list();
assertTrue(list.size() == 1 && list.get(0) == f);
Foo example = new Foo();
example.setString("a STRing");
list = s.createCriteria(Foo.class).add(Example.create(example).excludeZeroes().ignoreCase().excludeProperty("bool").excludeProperty("char").excludeProperty("yesno")).list();
assertTrue("Example API without like did not work correctly, size was " + list.size(), list.size() == 1 && list.get(0) == f);
example.setString("rin");
list = s.createCriteria(Foo.class).add(Example.create(example).excludeZeroes().enableLike(MatchMode.ANYWHERE).excludeProperty("bool").excludeProperty("char").excludeProperty("yesno")).list();
assertTrue("Example API without like did not work correctly, size was " + list.size(), list.size() == 1 && list.get(0) == f);
list = s.createCriteria(Foo.class).add(Restrictions.or(Restrictions.and(Restrictions.eq("integer", f.getInteger()), Restrictions.like("string", f.getString())), Restrictions.eq("boolean", f.getBoolean()))).list();
assertTrue(list.size() == 1 && list.get(0) == f);
list = s.createCriteria(Foo.class).setMaxResults(5).addOrder(Order.asc("date")).list();
assertTrue(list.size() == 1 && list.get(0) == f);
list = s.createCriteria(Foo.class).setFirstResult(1).addOrder(Order.asc("date")).addOrder(Order.desc("string")).list();
assertTrue(list.size() == 0);
list = s.createCriteria(Foo.class).setFetchMode("component.importantDates", FetchMode.JOIN).list();
assertTrue(list.size() == 3);
list = s.createCriteria(Foo.class).setFetchMode("component.importantDates", FetchMode.JOIN).setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
assertTrue(list.size() == 1);
f.setFoo(new Foo());
s.save(f.getFoo());
txn.commit();
s.close();
s = openSession();
txn = s.beginTransaction();
list = s.createCriteria(Foo.class).add(Restrictions.eq("integer", f.getInteger())).add(Restrictions.like("string", f.getString())).add(Restrictions.in("boolean", new Boolean[] { f.getBoolean(), f.getBoolean() })).add(Restrictions.isNotNull("foo")).setFetchMode("foo", FetchMode.JOIN).setFetchMode("baz", FetchMode.SELECT).setFetchMode("component.glarch", FetchMode.SELECT).setFetchMode("foo.baz", FetchMode.SELECT).setFetchMode("foo.component.glarch", FetchMode.SELECT).list();
f = (Foo) list.get(0);
assertTrue(Hibernate.isInitialized(f.getFoo()));
assertTrue(!Hibernate.isInitialized(f.getComponent().getGlarch()));
s.save(new Bar());
list = s.createCriteria(Bar.class).list();
assertTrue(list.size() == 1);
assertTrue(s.createCriteria(Foo.class).list().size() == 3);
s.delete(list.get(0));
s.delete(f.getFoo());
s.delete(f);
txn.commit();
s.close();
}
Example 76
Project: hibernate-core-ogm-master File: FooBarTest.java View source code |
@Test
public void testFindByCriteria() throws Exception {
if (getDialect() instanceof DB2Dialect) {
return;
}
Session s = openSession();
Transaction txn = s.beginTransaction();
Foo f = new Foo();
s.save(f);
s.flush();
List list = s.createCriteria(Foo.class).add(Restrictions.eq("integer", f.getInteger())).add(Restrictions.eqProperty("integer", "integer")).add(Restrictions.like("string", f.getString().toUpperCase()).ignoreCase()).add(Restrictions.in("boolean", new Boolean[] { f.getBoolean(), f.getBoolean() })).setFetchMode("foo", FetchMode.JOIN).setFetchMode("baz", FetchMode.SELECT).setFetchMode("abstracts", FetchMode.JOIN).list();
assertTrue(list.size() == 1 && list.get(0) == f);
list = s.createCriteria(Foo.class).add(Restrictions.disjunction().add(Restrictions.eq("integer", f.getInteger())).add(Restrictions.like("string", f.getString())).add(Restrictions.eq("boolean", f.getBoolean()))).add(Restrictions.isNotNull("boolean")).list();
assertTrue(list.size() == 1 && list.get(0) == f);
Foo example = new Foo();
example.setString("a STRing");
list = s.createCriteria(Foo.class).add(Example.create(example).excludeZeroes().ignoreCase().excludeProperty("bool").excludeProperty("char").excludeProperty("yesno")).list();
assertTrue("Example API without like did not work correctly, size was " + list.size(), list.size() == 1 && list.get(0) == f);
example.setString("rin");
list = s.createCriteria(Foo.class).add(Example.create(example).excludeZeroes().enableLike(MatchMode.ANYWHERE).excludeProperty("bool").excludeProperty("char").excludeProperty("yesno")).list();
assertTrue("Example API without like did not work correctly, size was " + list.size(), list.size() == 1 && list.get(0) == f);
list = s.createCriteria(Foo.class).add(Restrictions.or(Restrictions.and(Restrictions.eq("integer", f.getInteger()), Restrictions.like("string", f.getString())), Restrictions.eq("boolean", f.getBoolean()))).list();
assertTrue(list.size() == 1 && list.get(0) == f);
list = s.createCriteria(Foo.class).setMaxResults(5).addOrder(Order.asc("date")).list();
assertTrue(list.size() == 1 && list.get(0) == f);
if (!(getDialect() instanceof TimesTenDialect || getDialect() instanceof HSQLDialect)) {
list = s.createCriteria(Foo.class).setMaxResults(0).list();
assertTrue(list.size() == 0);
}
list = s.createCriteria(Foo.class).setFirstResult(1).addOrder(Order.asc("date")).addOrder(Order.desc("string")).list();
assertTrue(list.size() == 0);
list = s.createCriteria(Foo.class).setFetchMode("component.importantDates", FetchMode.JOIN).list();
assertTrue(list.size() == 3);
list = s.createCriteria(Foo.class).setFetchMode("component.importantDates", FetchMode.JOIN).setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
assertTrue(list.size() == 1);
f.setFoo(new Foo());
s.save(f.getFoo());
txn.commit();
s.close();
s = openSession();
txn = s.beginTransaction();
list = s.createCriteria(Foo.class).add(Restrictions.eq("integer", f.getInteger())).add(Restrictions.like("string", f.getString())).add(Restrictions.in("boolean", new Boolean[] { f.getBoolean(), f.getBoolean() })).add(Restrictions.isNotNull("foo")).setFetchMode("foo", FetchMode.JOIN).setFetchMode("baz", FetchMode.SELECT).setFetchMode("component.glarch", FetchMode.SELECT).setFetchMode("foo.baz", FetchMode.SELECT).setFetchMode("foo.component.glarch", FetchMode.SELECT).list();
f = (Foo) list.get(0);
assertTrue(Hibernate.isInitialized(f.getFoo()));
assertTrue(!Hibernate.isInitialized(f.getComponent().getGlarch()));
s.save(new Bar());
list = s.createCriteria(Bar.class).list();
assertTrue(list.size() == 1);
assertTrue(s.createCriteria(Foo.class).list().size() == 3);
s.delete(list.get(0));
s.delete(f.getFoo());
s.delete(f);
txn.commit();
s.close();
}
Example 77
Project: hibernate-orm-master File: FooBarTest.java View source code |
@Test
public void testFindByCriteria() throws Exception {
if (getDialect() instanceof DB2Dialect) {
return;
}
Session s = openSession();
Transaction txn = s.beginTransaction();
Foo f = new Foo();
s.save(f);
s.flush();
List list = s.createCriteria(Foo.class).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())).setFetchMode("foo", FetchMode.JOIN).setFetchMode("baz", FetchMode.SELECT).setFetchMode("abstracts", FetchMode.JOIN).list();
assertTrue(list.size() == 1 && list.get(0) == f);
list = s.createCriteria(Foo.class).add(Restrictions.disjunction().add(Restrictions.eq("integer", f.getInteger())).add(Restrictions.like("string", f.getString())).add(Restrictions.eq("boolean", f.getBoolean()))).add(Restrictions.isNotNull("boolean")).list();
assertTrue(list.size() == 1 && list.get(0) == f);
Foo example = new Foo();
example.setString("a STRing");
list = s.createCriteria(Foo.class).add(Example.create(example).excludeZeroes().ignoreCase().excludeProperty("bool").excludeProperty("char").excludeProperty("yesno")).list();
assertTrue("Example API without like did not work correctly, size was " + list.size(), list.size() == 1 && list.get(0) == f);
example.setString("rin");
list = s.createCriteria(Foo.class).add(Example.create(example).excludeZeroes().enableLike(MatchMode.ANYWHERE).excludeProperty("bool").excludeProperty("char").excludeProperty("yesno")).list();
assertTrue("Example API without like did not work correctly, size was " + list.size(), list.size() == 1 && list.get(0) == f);
list = s.createCriteria(Foo.class).add(Restrictions.or(Restrictions.and(Restrictions.eq("integer", f.getInteger()), Restrictions.like("string", f.getString())), Restrictions.eq("boolean", f.getBoolean()))).list();
assertTrue(list.size() == 1 && list.get(0) == f);
list = s.createCriteria(Foo.class).setMaxResults(5).addOrder(Order.asc("date")).list();
assertTrue(list.size() == 1 && list.get(0) == f);
list = s.createCriteria(Foo.class).setFirstResult(1).addOrder(Order.asc("date")).addOrder(Order.desc("string")).list();
assertTrue(list.size() == 0);
list = s.createCriteria(Foo.class).setFetchMode("component.importantDates", FetchMode.JOIN).list();
assertTrue(list.size() == 3);
list = s.createCriteria(Foo.class).setFetchMode("component.importantDates", FetchMode.JOIN).setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY).list();
assertTrue(list.size() == 1);
f.setFoo(new Foo());
s.save(f.getFoo());
txn.commit();
s.close();
s = openSession();
txn = s.beginTransaction();
list = s.createCriteria(Foo.class).add(Restrictions.eq("integer", f.getInteger())).add(Restrictions.like("string", f.getString())).add(Restrictions.in("boolean", f.getBoolean(), f.getBoolean())).add(Restrictions.isNotNull("foo")).setFetchMode("foo", FetchMode.JOIN).setFetchMode("baz", FetchMode.SELECT).setFetchMode("component.glarch", FetchMode.SELECT).setFetchMode("foo.baz", FetchMode.SELECT).setFetchMode("foo.component.glarch", FetchMode.SELECT).list();
f = (Foo) list.get(0);
assertTrue(Hibernate.isInitialized(f.getFoo()));
assertTrue(!Hibernate.isInitialized(f.getComponent().getGlarch()));
s.save(new Bar());
list = s.createCriteria(Bar.class).list();
assertTrue(list.size() == 1);
assertTrue(s.createCriteria(Foo.class).list().size() == 3);
s.delete(list.get(0));
s.delete(f.getFoo());
s.delete(f);
txn.commit();
s.close();
}
Example 78
Project: jtrac-master File: HibernateJtracDao.java View source code |
public List<User> findUsersMatching(final String searchText, final String searchOn) {
return (List<User>) getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session) {
Criteria criteria = session.createCriteria(User.class);
criteria.add(Restrictions.ilike(searchOn, searchText, MatchMode.ANYWHERE));
criteria.addOrder(Order.asc("name"));
return criteria.list();
}
});
}
Example 79
Project: squale-master File: AbstractDAOImpl.java View source code |
/** * Execute un find a partir d'un objet exemple * * @param session session de persistance * @param bo businness object exemple * @param nbLignes nombre de lignes * @param indexDepart index de depart * @param ignoreCase ignore la casse * @param likeMode mode like * @param cache true si les elements retournes sont mis en cache, false sinon * @return liste d'objets retrouves * @throws JrafDaoException */ public List findByExample(ISession session, Object bo, int nbLignes, int indexDepart, boolean ignoreCase, boolean likeMode, boolean cache, int matchMode) throws JrafDaoException { SessionImpl sessionImpl = (SessionImpl) session; Criteria crit = sessionImpl.getSession().createCriteria(bo.getClass()); Example example = Example.create(bo); // ignore la casse if (ignoreCase) { example.ignoreCase(); } // mode like if (likeMode) { switch(matchMode) { case 0: example.enableLike(MatchMode.START); break; case 1: example.enableLike(MatchMode.END); break; default: example.enableLike(MatchMode.ANYWHERE); break; } } // ajout de l'example crit.add(example); if (indexDepart > -1) { crit.setFirstResult(indexDepart); } if (nbLignes > 0) { crit.setMaxResults(nbLignes); } crit.setCacheable(cache); List l = null; try { l = crit.list(); } catch (HibernateException e) { throwDAOException(e, "findByExample"); } return l; }
Example 80
Project: exit-web-framework-master File: LikeRestriction.java View source code |
public Criterion build(String propertyName, Object value) {
return Restrictions.like(propertyName, value.toString(), MatchMode.ANYWHERE);
}
Example 81
Project: kickr-master File: PlayerDAO.java View source code |
@SuppressWarnings("unchecked") public List<Player> findPlayersMatchingNameOrAlias(String part) { return criteria().add(Restrictions.or(Restrictions.ilike("name", part, MatchMode.ANYWHERE), Restrictions.ilike("alias", part, MatchMode.ANYWHERE))).list(); }
Example 82
Project: bbsys-master File: UsuarioDao.java View source code |
@SuppressWarnings("unchecked")
public List<Usuario> busca(String nome) {
return session.createCriteria(Usuario.class).add(Restrictions.ilike("name", nome, MatchMode.ANYWHERE)).list();
}
Example 83
Project: gxt-tools-master File: WsecPermissionDaoImpl.java View source code |
public List<WsecPermission> fetchSystemPermissions() {
List<WsecPermission> result = getHibernateTemplate().findByCriteria(DetachedCriteria.forClass(WsecPermission.class).add(Restrictions.like("name", "WSEC_", MatchMode.START)));
return result;
}
Example 84
Project: liquid-democracy-master File: AbstractDao.java View source code |
@SuppressWarnings("unchecked")
public List<T> findByName(String name) {
Criteria criteria = getSession().createCriteria(clazz.getName());
criteria.add(Restrictions.ilike("name", name.toUpperCase(), MatchMode.START));
return criteria.list();
}
Example 85
Project: encontreaquipecas-master File: UsuarioRepository.java View source code |
@SuppressWarnings("unchecked")
public List<Usuario> findAllByLogin(String login) {
Criteria criteria = getSession().createCriteria(Usuario.class);
criteria.add(Restrictions.ilike("login", login, MatchMode.ANYWHERE));
return criteria.addOrder(Order.asc("nome")).list();
}
Example 86
Project: niths-master File: AbstractGenericRepositoryImpl.java View source code |
/**
* Find and returns all objects which has values equal to the object sent as
* parameter.
*
* @param domain
* - The object that has the values to search for
* @return List of objects found
*/
@SuppressWarnings("unchecked")
public List<T> getAll(T domain) {
return buildCriteria(domain, MatchMode.ANYWHERE).list();
}
Example 87
Project: generic-dao-hibernate-master File: ReadableDAOImpl.java View source code |
/**
* Used by {@link #findByExample(Object)} to create an {@link Example} instance.
*
* @todo add criteria for property types not handled by Example (primary keys, associations,
* etc)
* @return an {@link Example}.
*/
public Example createExample(T entity) {
Example example = Example.create(entity);
example.enableLike(MatchMode.ANYWHERE);
example.excludeZeroes();
example.ignoreCase();
return example;
}
Example 88
Project: jforum3-master File: UserRepository.java View source code |
/**
* Find a set of users who match an input
* @param username the search input
* @return the list of users matching the search input
*/
@SuppressWarnings("unchecked")
public List<User> findByUserName(String username) {
return session.createCriteria(this.persistClass).add(Restrictions.ilike("username", username, MatchMode.ANYWHERE)).addOrder(Order.asc("username")).setComment("userDAO.findByUsername").list();
}
Example 89
Project: obiba-commons-master File: AssociationExample.java View source code |
/**
* Use the "like" operator for all string-valued properties
*/
public AssociationExample enableLike(@SuppressWarnings("ParameterHidesMemberVariable") MatchMode matchMode) {
isLikeEnabled = true;
this.matchMode = matchMode;
return this;
}
Example 90
Project: tocollege.net-master File: SchoolDAOHibernateImpl.java View source code |
public List<School> getSchoolsMatching(String match) {
return getSchoolsMatching(match, 0, autoCompleteMax, MatchMode.ANYWHERE);
}
Example 91
Project: cosmocode-hibernate-master File: CustomRestrictions.java View source code |
/** * Apply an "ilike" constraint on the named property. * * <p> * Note: This implementation differs from {@link Restrictions#ilike(String, String, MatchMode)} * because it checks for empty strings and applies {@link CustomRestrictions#isEmpty(String)} * instead. * </p> * * @param propertyName the name of the property the constraint should be applied to * @param value the actual value the property should be similiar to * @param matchMode the {@link MatchMode} being used * @return a new {@link Criterion} */ public static Criterion ilike(String propertyName, String value, MatchMode matchMode) { return StringUtils.isEmpty(value) ? CustomRestrictions.isEmpty(propertyName) : Restrictions.ilike(propertyName, value, matchMode); }
Example 92
Project: hq-master File: ResourceEdgeDAO.java View source code |
List<ResourceEdge> findByName(String name, ResourceRelation relation) {
return getSession().createCriteria(ResourceEdge.class).createAlias("from", "f").add(Restrictions.ilike("f.name", name, MatchMode.ANYWHERE)).add(Restrictions.eq("relation", relation)).add(Restrictions.eq("distance", new Integer(0))).list();
}
Example 93
Project: AIDR-master File: CollectionRepositoryImpl.java View source code |
@SuppressWarnings("unchecked")
@Override
public List<Collection> searchByName(String query, Long userId) throws Exception {
Criteria criteria = getHibernateTemplate().getSessionFactory().getCurrentSession().createCriteria(Collection.class);
criteria.add(Restrictions.ilike("name", query, MatchMode.ANYWHERE));
criteria.add(Restrictions.eq("owner.id", userId));
return criteria.list();
}
Example 94
Project: qcadoo-master File: SearchRestrictions.java View source code |
public MatchMode getHibernateMatchMode() {
return matchMode;
}
Example 95
Project: buendia-master File: HibernateSyncDAO.java View source code |
@SuppressWarnings("unchecked")
public List<SyncRecord> getSyncRecords(String query) throws DAOException {
return sessionFactory.getCurrentSession().createCriteria(SyncRecord.class).add(Expression.or(Restrictions.like("items", query, MatchMode.ANYWHERE), Restrictions.eq("originalUuid", query))).addOrder(Order.desc("timestamp")).setMaxResults(// max number of records returned
250).list();
}