Example usage for org.hibernate.criterion Restrictions conjunction

List of usage examples for org.hibernate.criterion Restrictions conjunction

Introduction

In this page you can find the example usage for org.hibernate.criterion Restrictions conjunction.

Prototype

public static Conjunction conjunction() 

Source Link

Document

Group expressions together in a single conjunction (A and B and C...).

Usage

From source file:modulo.administrativo.controlador.UsuarioControlador.java

@Override
public void popularCampos(Object entity) {
    UsuarioFormulario formulario = (UsuarioFormulario) super.getFormulario();
    UserAccount usuario = (UserAccount) entity;
    try {/* w  ww. j  a  v  a 2s.co m*/
        this.useraccount = usuario;
        formulario.getId().setText(Integer.toString(usuario.getId()));
        formulario.getNome().setText(usuario.getName());
        formulario.getLogin().setText(usuario.getLogin());
        formulario.getAtivo().setSelected(usuario.isActive());

        if (!Integer.toString(usuario.getId()).isEmpty()) {
            formulario.getNome().setEnabled(false);
            formulario.getLogin().setEnabled(false);
        }

        // Obter grupos de usurios, do usurio.
        Conjunction and = Restrictions.conjunction();
        and.add(Restrictions.eq("usuario", usuario));
        gruposDoUsuario = GrupoDoUsuarioDAO.getInstance().findByCriteria(new GrupoDoUsuario(), and,
                Restrictions.disjunction());

        // Popula combobox de grupos de usurios, somente com os grupos no pertencentes ao usurio editado.
        formulario.getGrupoDeUsuarios().addItem("");
        List<Object> grupos = GrupoDeUsuariosDAO.getInstance().findAll(new GrupoDeUsuarios());

        for (int i = 0; i < grupos.size(); i++) {
            GrupoDeUsuarios grupo = (GrupoDeUsuarios) grupos.get(i);
            boolean possuiGrupo = false;

            for (int g = 0; g < gruposDoUsuario.size(); g++) {
                // Somente adicionar, se no existir no list de gruposDoUsuario
                GrupoDoUsuario grupoDoUsuario = (GrupoDoUsuario) gruposDoUsuario.get(g);

                if (grupoDoUsuario.getGrupoDeUsuarios().getId() == grupo.getId()) {
                    possuiGrupo = true;
                    break;
                }
            }

            if (!possuiGrupo) {
                formulario.getGrupoDeUsuarios().addItem(grupo);
            }
        }

        // Popula tabela de grupos de usurios, com os grupos pertencentes ao usurio editado.
        DefaultTableModel modelo = (DefaultTableModel) formulario.getTabelaDeGrupos().getModel();
        for (int g = 0; g < gruposDoUsuario.size(); g++) {
            GrupoDoUsuario grupoDoUsuario = (GrupoDoUsuario) gruposDoUsuario.get(g);
            modelo.addRow(new Object[] { grupoDoUsuario.getGrupoDeUsuarios().getId(),
                    grupoDoUsuario.getGrupoDeUsuarios().getNome() });
        }
    } catch (Exception err) {
        SOptionPane.showMessageDialog(formulario, err, "Erro!", JOptionPane.ERROR_MESSAGE);
    }
}

From source file:modulo.cadastro.controlador.CertificacaoControlador.java

@Override
public void botaoBuscarActionPerformed(ActionEvent evt) {
    CertificacaoBusca busca = (CertificacaoBusca) super.getBusca();
    try {/*from   ww w  .java2 s . co  m*/
        String campoBusca = busca.getCampoBusca().getText();

        Disjunction or = Restrictions.disjunction();
        or.add(Restrictions.ilike("nome", campoBusca, MatchMode.ANYWHERE));
        //or.add(Restrictions.ilike("ativo", busca, MatchMode.ANYWHERE));

        try {
            or.add(Restrictions.eq("id", Integer.parseInt(campoBusca)));
        } catch (Exception err) {
        }

        List<Object> grupos = CertificacaoDAO.getInstance().findByCriteria(new Certificacao(),
                Restrictions.conjunction(), or);
        this.atualizarGrid(-1, grupos);
    } catch (Exception err) {
        SOptionPane.showMessageDialog(busca, err, "Erro!", JOptionPane.ERROR_MESSAGE);
    }
}

From source file:mx.edu.um.mateo.contabilidad.dao.impl.CentroCostoDaoHibernate.java

License:Open Source License

@Override
@Transactional(readOnly = true)/*from w  ww. ja va 2  s .  c om*/
public List<CentroCosto> buscaPorOrganizacion(String filtro, Usuario usuario) {
    Ejercicio ejercicio = usuario.getEjercicio();
    Organizacion organizacion = usuario.getEmpresa().getOrganizacion();
    Criteria criteria = currentSession().createCriteria(CentroCosto.class);
    criteria.add(Restrictions.eq("id.ejercicio", ejercicio));
    Disjunction or = Restrictions.disjunction();
    Conjunction and = Restrictions.conjunction();
    String base = organizacion.getCentroCostoId();
    StringBuilder sb = new StringBuilder();
    sb.append(base);
    sb.append("%");
    sb.append(filtro);
    String cuenta = sb.toString();
    or.add(Restrictions.ilike("id.idCosto", cuenta, MatchMode.START));
    and.add(Restrictions.ilike("nombre", filtro, MatchMode.ANYWHERE));
    and.add(Restrictions.ilike("id.idCosto", base, MatchMode.START));
    or.add(and);
    criteria.add(or);
    criteria.setMaxResults(10);
    return criteria.list();
}

From source file:mx.edu.um.mateo.contabilidad.dao.impl.CentroCostoDaoHibernate.java

License:Open Source License

@Override
@Transactional(readOnly = true)//w ww  . j  av a2 s  . c om
public List<CentroCosto> buscaPorEmpresa(String filtro, Usuario usuario) {
    Ejercicio ejercicio = usuario.getEjercicio();
    Empresa empresa = usuario.getEmpresa();
    Criteria criteria = currentSession().createCriteria(CentroCosto.class);
    criteria.add(Restrictions.eq("id.ejercicio", ejercicio));
    Disjunction or = Restrictions.disjunction();
    Conjunction and = Restrictions.conjunction();
    String base = empresa.getCentroCosto().getId().getIdCosto();
    StringBuilder sb = new StringBuilder();
    sb.append(base);
    sb.append("%");
    sb.append(filtro);
    String cuenta = sb.toString();
    or.add(Restrictions.ilike("id.idCosto", cuenta, MatchMode.START));
    and.add(Restrictions.ilike("nombre", filtro, MatchMode.ANYWHERE));
    and.add(Restrictions.ilike("id.idCosto", base, MatchMode.START));
    or.add(and);
    criteria.add(or);
    criteria.setMaxResults(10);
    return criteria.list();
}

From source file:mx.edu.um.mateo.contabilidad.dao.impl.CentroCostoDaoHibernate.java

License:Open Source License

@Override
@Transactional(readOnly = true)//from ww  w .j  a  v a 2 s.co m
public List<CentroCosto> listaDepartamento(Usuario usuario) {
    Ejercicio ejercicio = usuario.getEjercicio();
    Organizacion organizacion = usuario.getEmpresa().getOrganizacion();
    Criteria criteria = currentSession().createCriteria(CentroCosto.class);
    criteria.add(Restrictions.eq("id.ejercicio", ejercicio));
    criteria.add(Restrictions.eq("detalle", "S"));
    Disjunction or = Restrictions.disjunction();
    Conjunction and = Restrictions.conjunction();
    String org = organizacion.getCentroCostoId();
    StringBuilder sb = new StringBuilder();
    sb.append(org);
    sb.append("%");
    String cuenta = sb.toString();
    or.add(Restrictions.ilike("id.idCosto", cuenta, MatchMode.START));
    criteria.addOrder(Order.asc("id.idCosto"));
    return criteria.list();
}

From source file:net.databinder.models.hib.CriteriaFilterAndSort.java

License:Open Source License

public void buildUnordered(Criteria criteria) {
    super.buildUnordered(criteria);

    Conjunction conj = Restrictions.conjunction();

    for (Map.Entry<String, String> entry : (Set<Map.Entry<String, String>>) filterMap.entrySet()) {
        // System.out.println(String.format("%s\t%s", entry.getKey(), entry.getValue()));
        String property = entry.getKey();
        String value = entry.getValue();
        if (value == null)
            continue;

        String prop = processProperty(criteria, property);
        Class clazz = PropertyResolver.getPropertyClass(property, beanClass);

        if (String.class.isAssignableFrom(clazz)) {
            String[] items = value.split("\\s+");
            for (String item : items) {
                Disjunction dist = Restrictions.disjunction();
                dist.add(Restrictions.ilike(prop, item, MatchMode.ANYWHERE));
                conj.add(dist);/*from  ww  w  .  j a v  a 2 s.c om*/
            }
        } else if (Number.class.isAssignableFrom(clazz)) {
            try {
                Matcher matcher = pattern.matcher(value);
                if (matcher.matches()) {
                    String qualifier = matcher.group(2);
                    value = matcher.group(4);
                    Number num = convertToNumber(value, clazz);
                    if (">".equals(qualifier))
                        conj.add(Restrictions.gt(prop, num));
                    else if ("<".equals(qualifier))
                        conj.add(Restrictions.lt(prop, num));
                    else if (">=".equals(qualifier))
                        conj.add(Restrictions.ge(prop, num));
                    else if ("<=".equals(qualifier))
                        conj.add(Restrictions.le(prop, num));
                } else
                    conj.add(Restrictions.eq(prop, convertToNumber(value, clazz)));
            } catch (ConversionException ex) {
                // ignore filter in this case
            }
        } else if (Boolean.class.isAssignableFrom(clazz)) {
            conj.add(Restrictions.eq(prop, Boolean.parseBoolean(value)));
        }
    }
    criteria.add(conj);
}

From source file:net.databinder.models.hib.CriteriaSearchAndSort.java

License:Apache License

public void buildUnordered(Criteria criteria) {
    super.buildUnordered(criteria);

    String searchText = (String) searchTextModel.getObject();
    if (searchText != null) {
        String[] items = searchText.split("\\s+");
        Conjunction conj = Restrictions.conjunction();

        List<String> properties = new ArrayList<String>();
        for (String prop : getSearchProperties())
            properties.add(processProperty(criteria, prop));

        for (String item : items) {
            Disjunction dist = Restrictions.disjunction();
            for (String prop : properties)
                dist.add(Restrictions.ilike(prop, item, MatchMode.ANYWHERE));
            conj.add(dist);/*from   w ww . ja  v a 2  s. c o  m*/
        }
        criteria.add(conj);
    }
}

From source file:net.longfalcon.newsj.persistence.hibernate.BinaryDAOImpl.java

License:Open Source License

@Override
@Transactional(readOnly = true, propagation = Propagation.SUPPORTS)
public List<Binary> searchByNameAndExcludedCats(String[] searchTokens, int limit,
        Collection<Integer> excludedCategoryIds) {
    Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Binary.class);

    if (searchTokens != null && searchTokens.length > 0) {
        Conjunction searchTokensOr = Restrictions.conjunction();
        for (String searchToken : searchTokens) {
            searchTokensOr.add(Restrictions.ilike("name", searchToken.trim(), MatchMode.ANYWHERE));
        }//from  w  ww  .  ja v a 2s.  co  m
        criteria.add(searchTokensOr);
    }

    if (excludedCategoryIds != null && !excludedCategoryIds.isEmpty()) {
        criteria.add(Restrictions.not(Restrictions.in("categoryId", excludedCategoryIds)));
    }

    criteria.setMaxResults(limit);
    criteria.setFetchMode("releaseGuid", FetchMode.EAGER);
    criteria.setFetchMode("numberParts", FetchMode.EAGER);
    criteria.setFetchMode("groupName", FetchMode.EAGER);

    return criteria.list();
}

From source file:net.longfalcon.newsj.persistence.hibernate.ReleaseDAOImpl.java

License:Open Source License

private void addSearchTokens(String[] searchTokens, Criteria criteria) {
    if (searchTokens != null && searchTokens.length > 0) {
        Conjunction searchTokensOr = Restrictions.conjunction();
        for (String searchToken : searchTokens) {
            searchTokensOr.add(Restrictions.ilike("searchName", searchToken.trim(), MatchMode.ANYWHERE));
        }//from  w  ww  .j  av  a 2s.c  o  m
        criteria.add(searchTokensOr);
    }
}

From source file:org.apache.ode.daohib.bpel.ql.HibernateInstancesQueryCompiler.java

License:Apache License

protected ConjunctionEvaluator<Criterion, Object> compileConjunction(Collection<CommandEvaluator> childs) {
    return new AbstractConjunction<Criterion, Object>(childs) {
        public Criterion evaluate(Object arg) {
            Conjunction conj = Restrictions.conjunction();
            for (CommandEvaluator eval : childs) {
                conj.add((Criterion) eval.evaluate(null));
            }/*w ww . j a va 2  s .  c  o  m*/
            return conj;
        }
    };
}