List of usage examples for org.hibernate.criterion Restrictions conjunction
public static Conjunction conjunction()
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è ignorato. * @param dataFine specifica la data massima entro cui ricercare l'audit trail. * Se settato a "null", il parametro eè 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); } }