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:it.doqui.index.ecmengine.integration.audit.dao.AuditDAO.java

License:Open Source License

/**
 * Effettua una ricerca nella tabella di audit in base ai parametri specificati
 * @param parametriRicerca specifica i parametri da utilizzare per effettuare la
 * ricerca/* w  ww . ja v  a 2 s .c o  m*/
 * @param dataIniziale specifica la data a partire dalla quale ricercare l'audit.
 * Se settato a "null", il parametro eè ignorato.
 * @param dataMassima specifica la data massima entro cui ricercare l'audit.
 * Se settato a "null", il parametro eè ignorato.
 * @return Una lista di {@link OperazioneAudit}
 */
@SuppressWarnings("unchecked")
public AuditVO[] ricercaAudit(String utente, String fruitore, String servizio, String idOggetto,
        String tipoOggetto, String nomeOperazione, Date inizioIntervallo, Date fineIntervallo)
        throws Exception {
    logger.debug("[AuditDAO::ricercaAudit] BEGIN");
    AuditVO[] risultato = null;

    try {
        Conjunction filters = Restrictions.conjunction();
        if (inizioIntervallo != null) {
            filters.add(Restrictions.ge(PROP_DATAORA, inizioIntervallo));
        }
        if (fineIntervallo != null) {
            filters.add(Restrictions.le(PROP_DATAORA, fineIntervallo));
        }
        if (utente != null) {
            filters.add(Restrictions.eq(PROP_UTENTE, utente));
        }
        if (fruitore != null) {
            filters.add(Restrictions.eq(PROP_FRUITORE, fruitore));
        }
        if (servizio != null) {
            filters.add(Restrictions.eq(PROP_SERVIZIO, servizio));
        }
        if (idOggetto != null) {
            filters.add(Restrictions.eq(PROP_ID_OGGETTO, idOggetto));
        }
        if (tipoOggetto != null) {
            filters.add(Restrictions.eq(PROP_TIPO_OGGETTO, tipoOggetto));
        }
        if (nomeOperazione != null) {
            filters.add(Restrictions.eq(PROP_NOME_OPERAZIONE, nomeOperazione));
        }

        Criteria criteria = getSession().createCriteria(AuditVO.class);
        criteria.add(filters);

        // Ordinamento per data crescente
        criteria.addOrder(Order.asc(PROP_DATAORA));

        List<AuditVO> queryResult = criteria.list();
        logger.debug("[AuditDAO::ricercaAudit] Query di ricerca eseguita!");

        // Ricostruzione risultato
        if (queryResult != null) {
            risultato = queryResult.toArray(new AuditVO[] {});
        } else {
            risultato = new AuditVO[0];
        }

        if (logger.isDebugEnabled()) {
            logger.debug("[AuditDAO::ricercaAudit] Numero risultati ricerca su audit: " + risultato.length);
        }
    } catch (Exception e) {
        logger.error("[AuditDAO::ricercaAudit] ERROR", e);
        throw e;
    } finally {
        logger.debug("[AuditDAO::ricercaAudit] END");
    }
    return risultato;
}

From source file:it.doqui.index.ecmengine.integration.audittrail.dao.AuditTrailDAO.java

License:Open Source License

/**
 * Effettua una ricerca nella tabella di audit trail in base ai parametri specificati.
 * //www.jav a 2s. c om
 * @param parametriRicerca specifica i parametri da utilizzare per effettuare la
 * ricerca.
 * @param dataInizio specifica la data a partire dalla quale ricercare l'audit trail.
 * Se settato a "null", il parametro e&egrave; ignorato.
 * @param dataFine specifica la data massima entro cui ricercare l'audit trail.
 * Se settato a "null", il parametro e&egrave; ignorato.
 * 
 * @return Un array di {@link AuditInfo}.
 * 
 * @throws AuditTrailException Se si verifica un errore in fase di inserimento o ricerca 
 * nella tabella dell'audit trail dell'ECMENGINE.
 */

@SuppressWarnings("unchecked")
public AuditTrailVO[] ricercaAuditTrail(String utente, String idOggetto, String operazione, String metadati,
        Date inizioIntervallo, Date fineIntervallo) throws Exception {
    logger.debug("[AuditTrailDAO::ricercaAuditTrail] BEGIN");
    AuditTrailVO[] risultato = null;
    try {
        Conjunction filters = Restrictions.conjunction();
        if (inizioIntervallo != null) {
            filters.add(Restrictions.ge(PROP_DATA, inizioIntervallo));
        }
        if (fineIntervallo != null) {
            filters.add(Restrictions.le(PROP_DATA, fineIntervallo));
        }
        if (utente != null) {
            filters.add(Restrictions.eq(PROP_UTENTE, utente));
        }
        if (idOggetto != null) {
            filters.add(Restrictions.eq(PROP_ID_OGGETTO, idOggetto));
        }
        if (operazione != null) {
            filters.add(Restrictions.eq(PROP_OPERAZIONE, operazione));
        }
        if (metadati != null) {
            filters.add(Restrictions.eq(PROP_METADATI, metadati));
        }

        Criteria criteria = getSession().createCriteria(AuditTrailVO.class);
        criteria.add(filters);

        // Ordinamento per data crescente
        criteria.addOrder(Order.asc(PROP_DATA));

        List<AuditTrailVO> queryResult = criteria.list();
        logger.debug("[AuditTrailDAO::ricercaAuditTrail] Query di ricerca eseguita!");

        // Ricostruzione risultato
        if (queryResult != null) {
            risultato = queryResult.toArray(new AuditTrailVO[] {});
        } else {
            risultato = new AuditTrailVO[0];
        }
    } catch (Exception e) {
        logger.error("[AuditTrailDAO::ricercaAuditTrail] ERROR", e);
        throw e;
    } finally {
        logger.debug("[AuditTrailDAO::ricercaAuditTrail] END");
    }
    return risultato;
}

From source file:it.doqui.index.ecmengine.integration.job.dao.JobDAO.java

License:Open Source License

/**
 * Reperisce le righe dei job filtrati per id dell'esecutore e per stato.
 *
 * @param jobRef/*from w  ww.j  a va 2 s. c  o  m*/
 *            Stringa che identifica l'esecutore che ha rischiesto
 *            l'accodamento del job.
 * @param status
 *            Stato dei job da reperire.
 * @return Un array di {@code JobVO} contenente i job trovati dalla query.
 * @throws Exception
 *
 * @see it.doqui.index.ecmengine.business.job.util.JobStatus
 */
@SuppressWarnings("unchecked")
public JobVO[] getJobsByStatus(String jobRef, String status) throws Exception {
    logger.debug("[JobDAO::getJobsByStatus] BEGIN");
    logger.debug("[JobDAO::getJobsByStatus] Param [" + jobRef + "][" + status + "]");
    JobVO[] result = null;
    try {
        Conjunction filters = Restrictions.conjunction();
        filters.add(Restrictions.eq("ref", jobRef));
        // Se ho passato lo status, lo aggiungo alla query
        if (status != null) {
            filters.add(Restrictions.eq("status", status));
        }
        Criteria criteria = getSession().createCriteria(JobVO.class);
        criteria.add(filters);

        // Ordino per progressivo, non e' garantita la temporarita'
        criteria.addOrder(Order.asc("id"));

        List<JobVO> queryResult = criteria.list();
        if (queryResult != null) {
            result = queryResult.toArray(new JobVO[] {});
        } else {
            result = new JobVO[0];
        }
    } catch (Exception e) {
        logger.error("[JobDAO::getJobsByStatus] ERROR", e);
        throw e;
    } finally {
        if (result != null) {
            logger.debug("[JobDAO::getJobsByStatus] Result size " + result.length);
        } else {
            logger.debug("[JobDAO::getJobsByStatus] Result size NULL");
        }
        logger.debug("[JobDAO::getJobsByStatus] Result " + result);
        logger.debug("[JobDAO::getJobsByStatus] END");
    }
    return result;
}

From source file:it.doqui.index.ecmengine.integration.job.dao.JobDAO.java

License:Open Source License

/**
 * Reperisce i parametri relativi ad un job specifico.
 *
 * @param jobVO//from   w ww . j av  a  2 s . co m
 *            L'istanza di {@code JobVO} relativa al job di cui reperire i
 *            parametri.
 * @return Un array di {@code JobParamVO} contenente i parametri.
 * @throws Exception
 */
@SuppressWarnings("unchecked")
public JobParamVO[] getJobParamsByJob(JobVO jobVO) throws Exception {
    logger.debug("[JobDAO::getJobParamsByJob] BEGIN");
    JobParamVO[] result = null;
    try {
        Conjunction filters = Restrictions.conjunction();
        filters.add(Restrictions.eq("jobId", jobVO.getId()));
        Criteria criteria = getSession().createCriteria(JobParamVO.class);
        criteria.add(filters);
        List<JobParamVO> queryResult = criteria.list();
        if (queryResult != null) {
            result = queryResult.toArray(new JobParamVO[] {});
        } else {
            result = new JobParamVO[0];
        }
    } catch (Exception e) {
        logger.error("[JobDAO::getJobParamsByJob] ERROR", e);
        throw e;
    } finally {
        logger.debug("[JobDAO::getJobParamsByJob] END");
    }
    return result;
}

From source file:itensil.repository.hibernate.BasicSearcher.java

License:Open Source License

protected static Criterion convertCriteria(Criteria crit, BasicSearchClause clause, String alias) {
    if (clause.needsSubClause()) {
        switch (clause.getOp()) {
        case BasicSearchClause.OP_AND:
            Junction conj = Restrictions.conjunction();
            boolean empty = true;
            int acount = 0;
            for (BasicSearchClause subClause : clause.getSubClauses()) {
                Criterion subCrit = convertCriteria(crit, subClause, alias + "a" + acount);
                acount++;/*from www . ja  v  a  2  s  .c  o m*/
                if (subCrit != null) {
                    empty = false;
                    conj.add(subCrit);
                }
            }
            return empty ? null : conj;

        case BasicSearchClause.OP_NOT:
            Criterion subCrit = convertCriteria(crit, clause.getSubClauses()[0], alias + "n");
            if (subCrit != null) {
                return Restrictions.not(subCrit);
            }
            return null;

        default: // probably OR
            return null;
        }
    }
    if (clause.getOp() == BasicSearchClause.OP_IS_COLLECTION) {
        return Restrictions.eq("collection", true);
    }
    String argName;
    Criterion nameCrit = null;
    if (QNAME_DISPLAYNAME.equals(clause.getProperty())) {
        if (clause.getOp() == BasicSearchClause.OP_IS_DEFINED)
            return null;
        argName = "localUri";
    } else {

        /* This has bugged in hibernate
                
        crit.createAlias("versionEntities", alias);
        crit.createAlias(alias + ".propertyVals", alias + "pv");
        //crit.createAlias(alias + "p.name", alias + "nm");
        argName = alias + "pv.value";
                
                
        crit.createAlias("defaultVersion.directProps", alias);
        crit.createAlias("defaultVersion.directProps.name", alias + "nm");
                
        //crit.createAlias(alias + "dp.name", alias + "nm");
        argName = alias + ".value";
        nameCrit = Restrictions.eq(alias + "nm.localName", clause.getProperty().getLocalPart());
        */
        return null;
    }
    Criterion valCrit;
    switch (clause.getOp()) {
    case BasicSearchClause.OP_IS_DEFINED:
        return nameCrit;
    case BasicSearchClause.OP_EQ:
        valCrit = Restrictions.eq(argName, clause.getLiteral());
        break;
    case BasicSearchClause.OP_GT:
        valCrit = Restrictions.gt(argName, clause.getLiteral());
        break;
    case BasicSearchClause.OP_GTE:
        valCrit = Restrictions.ge(argName, clause.getLiteral());
        break;
    case BasicSearchClause.OP_LT:
        valCrit = Restrictions.lt(argName, clause.getLiteral());
        break;
    case BasicSearchClause.OP_LTE:
        valCrit = Restrictions.le(argName, clause.getLiteral());
        break;
    case BasicSearchClause.OP_LIKE:
        valCrit = Restrictions.like(argName, clause.getLiteral());
        break;
    default:
        return null;
    }
    return nameCrit == null ? valCrit : Restrictions.and(nameCrit, valCrit);
}

From source file:model.entityDAO.implementation.UserDAOHib.java

@Override
public Collection<Grade> getGradesBySubject(User user, Subject s) {

    Property student = Property.forName("student");
    Property subject = Property.forName("subject");
    Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Grade.class);

    criteria.add(Restrictions.conjunction().add(student.eq(user)).add(subject.eq(s)));

    return criteria.list();

}

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

@Override
public void botaoBuscarActionPerformed(ActionEvent evt) {
    GrupoDeUsuariosBusca busca = (GrupoDeUsuariosBusca) super.getBusca();
    try {/*from   w w w . j  a v  a 2s .  c  o  m*/
        String campoBusca = busca.getCampoBusca().getText();

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

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

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

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

@Override
public void botaoSalvarActionPerformed(ActionEvent evt) {
    GrupoDeUsuariosFormulario formulario = (GrupoDeUsuariosFormulario) super.getFormulario();
    try {//from   w  w w . j  a  va2 s  .  c o m
        if (this.validarCampos()) {
            GrupoDeUsuarios grupoDeUsuarios = new GrupoDeUsuarios();
            grupoDeUsuarios.setNome(formulario.getNome().getText());

            if (formulario.getId().getText().length() > 0) {
                grupoDeUsuarios.setId(Integer.parseInt(formulario.getId().getText()));
                GrupoDeUsuariosDAO.getInstance().merge(grupoDeUsuarios);
            } else {
                GrupoDeUsuariosDAO.getInstance().persist(grupoDeUsuarios);
            }

            // Obter lista de permisses j registrada para o grupo
            Conjunction and = Restrictions.conjunction();
            and.add(Restrictions.eq("grupoDeUsuarios", grupoDeUsuarios));
            List findPermissoes = PermissaoDoGrupoDeUsuariosDAO.getInstance()
                    .findByCriteria(new PermissaoDoGrupoDeUsuarios(), and, Restrictions.disjunction());

            // Obter lista de permisses marcadas.
            DefaultTableModel modelo = (DefaultTableModel) formulario.getTabelaPermissoes().getModel();

            for (int c = 0; c < modelo.getRowCount(); c++) {
                PermissaoDoGrupoDeUsuarios permissaoDoGrupoDeUsuarios = new PermissaoDoGrupoDeUsuarios();
                permissaoDoGrupoDeUsuarios.setId((String) modelo.getValueAt(c, 0));
                permissaoDoGrupoDeUsuarios.setGrupoDeUsuarios(grupoDeUsuarios);
                permissaoDoGrupoDeUsuarios.setVisualizar((boolean) modelo.getValueAt(c, 3));
                permissaoDoGrupoDeUsuarios.setInserir((boolean) modelo.getValueAt(c, 4));
                permissaoDoGrupoDeUsuarios.setAtualizar((boolean) modelo.getValueAt(c, 5));
                permissaoDoGrupoDeUsuarios.setExcluir((boolean) modelo.getValueAt(c, 6));
                permissaoDoGrupoDeUsuarios.setAdmin((boolean) modelo.getValueAt(c, 7));

                // Verifica se a permisso j est registrada para o grupo, se sim, atualiza, caso contrrio, insere.
                boolean merge = false;
                for (Object object : findPermissoes) {
                    PermissaoDoGrupoDeUsuarios permissao = (PermissaoDoGrupoDeUsuarios) object;
                    if (permissao.getId().equals(permissaoDoGrupoDeUsuarios.getId())) {
                        merge = true;
                        break;
                    }
                }

                if (merge) {
                    PermissaoDoGrupoDeUsuariosDAO.getInstance().merge(permissaoDoGrupoDeUsuarios);
                } else {
                    PermissaoDoGrupoDeUsuariosDAO.getInstance().persist(permissaoDoGrupoDeUsuarios);
                }
            }

            this.atualizarGrid(grupoDeUsuarios.getId(), new ArrayList());
            JOptionPane.showMessageDialog(formulario, "Registro efetuado com sucesso!", "Sucesso!",
                    JOptionPane.INFORMATION_MESSAGE);

            formulario.setVisible(false);
        }
    } catch (Exception err) {
        SOptionPane.showMessageDialog(formulario, err, "Erro!", JOptionPane.ERROR_MESSAGE);
    }
}

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

public void atualizarGridPermissoes(GrupoDeUsuariosFormulario formulario) {
    try {/*www .  j  a va 2  s  . c  o  m*/
        List<Object> permissoes = new ArrayList();

        if (formulario.getId().getText().length() > 0) {
            GrupoDeUsuarios grupoDeusuarios = new GrupoDeUsuarios();
            grupoDeusuarios.setId(Integer.parseInt(formulario.getId().getText()));

            Conjunction conjunction = Restrictions.conjunction();
            conjunction.add(Restrictions.eq("grupoDeUsuarios", grupoDeusuarios));

            permissoes = PermissaoDoGrupoDeUsuariosDAO.getInstance()
                    .findByCriteria(new PermissaoDoGrupoDeUsuarios(), conjunction, Restrictions.disjunction());
        }

        DefaultTableModel modelo = (DefaultTableModel) formulario.getTabelaPermissoes().getModel();
        modelo.setNumRows(0);

        SistemaVisao sistemaVisao = new SistemaVisao();
        JMenuBar menuSistema = sistemaVisao.getMenu();
        Component[] modulos = menuSistema.getComponents();

        // Percorre os mdulos.
        for (int m = 0; m < modulos.length; m++) {

            if (modulos[m] instanceof JMenu) {
                JMenu modulo = (JMenu) modulos[m];
                Component[] telas = modulo.getMenuComponents();

                // Percorre as telas do mdulo.
                for (int t = 0; t < telas.length; t++) {
                    if (telas[t] instanceof JMenuItem) {
                        // Por padro, todos itens desmarcados.
                        JMenuItem tela = (JMenuItem) telas[t];
                        boolean visualizar = false;
                        boolean inserir = false;
                        boolean atualizar = false;
                        boolean excluir = false;
                        boolean admin = false;

                        // Verifica se o grupo j possui registro na permisso, e popula conforme registros.
                        for (Object object : permissoes) {
                            PermissaoDoGrupoDeUsuarios permissaoDoGrupoDeUsuarios = (PermissaoDoGrupoDeUsuarios) object;

                            if (permissaoDoGrupoDeUsuarios.getId().equals(tela.getName())) {
                                visualizar = permissaoDoGrupoDeUsuarios.isVisualizar();
                                inserir = permissaoDoGrupoDeUsuarios.isInserir();
                                atualizar = permissaoDoGrupoDeUsuarios.isAtualizar();
                                excluir = permissaoDoGrupoDeUsuarios.isExcluir();
                                admin = permissaoDoGrupoDeUsuarios.isAdmin();

                                break;
                            }
                        }

                        // Popula a grid com os itens do menu, de seus respectivos mdulos.
                        modelo.addRow(new Object[] { tela.getName(), // ESTE  O ID DA TELA!!!
                                modulo.getText(), tela.getText(), visualizar, inserir, atualizar, excluir,
                                admin });
                    }
                }
            }
        }
    } catch (Exception err) {
        SOptionPane.showMessageDialog(formulario, err, "Erro!", JOptionPane.ERROR_MESSAGE);
    }
}

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

@Override
public void botaoBuscarActionPerformed(ActionEvent evt) {
    UsuarioBusca busca = (UsuarioBusca) super.getBusca();
    try {/*from w w  w  .  j  a  v  a  2s  .  co  m*/
        String campoBusca = busca.getCampoBusca().getText();

        Disjunction or = Restrictions.disjunction();
        or.add(Restrictions.ilike("login", campoBusca, MatchMode.ANYWHERE));
        or.add(Restrictions.ilike("name", campoBusca, MatchMode.ANYWHERE));

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

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