List of usage examples for org.hibernate.criterion Restrictions not
public static Criterion not(Criterion expression)
From source file:ispyb.server.common.services.sessions.Session3ServiceBean.java
License:Open Source License
private List<Session3VO> findSessionToBeProtected(Integer delay, Integer window) { Session session = (Session) this.entityManager.getDelegate(); Criteria crit = session.createCriteria(Session3VO.class); crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); // DISTINCT RESULTS ! Integer delayToTrigger = 26;/*from w w w . j a va 2 s .c o m*/ Integer windowForTrigger = 24; if (delay != null) delayToTrigger = delay; if (window != null) windowForTrigger = window; Calendar cal = Calendar.getInstance(); cal.setTime(new Date()); cal.add(Calendar.HOUR_OF_DAY, -delayToTrigger); Date date2 = cal.getTime(); cal.add(Calendar.HOUR_OF_DAY, -windowForTrigger); Date date1 = cal.getTime(); if (date1 != null) crit.add(Restrictions.ge("lastUpdate", date1)); if (date2 != null) crit.add(Restrictions.le("lastUpdate", date2)); crit.add(Restrictions.in("beamlineName", beamlinesToProtect)); // account not to protect: opid*, opd*, mxihr* Criteria subCrit = crit.createCriteria("proposalVO"); subCrit.add(Restrictions.not(Restrictions.in("code", account_not_to_protect))); crit.addOrder(Order.asc("lastUpdate")); return crit.list(); }
From source file:ispyb.server.common.services.sessions.Session3ServiceBean.java
License:Open Source License
private List<Session3VO> findSessionNotProtectedToBeProtected(Date date1, Date date2) { Session session = (Session) this.entityManager.getDelegate(); Criteria crit = session.createCriteria(Session3VO.class); crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); // DISTINCT RESULTS ! Calendar cal = Calendar.getInstance(); cal.setTime(new Date()); Integer delayToTrigger = 8;//from w w w. j a v a 2 s . c om Integer windowForTrigger = 14 * 24; cal.add(Calendar.HOUR_OF_DAY, -delayToTrigger); // launch the protection of sessions which have not been protected during the last 14 days. if (date2 == null) date2 = cal.getTime(); if (date1 == null) { cal.setTime(date2); cal.add(Calendar.HOUR_OF_DAY, -windowForTrigger); date1 = cal.getTime(); } if (date1 != null) crit.add(Restrictions.ge("lastUpdate", date1)); if (date2 != null) crit.add(Restrictions.le("lastUpdate", date2)); crit.add(Restrictions.in("beamlineName", beamlinesToProtect)); crit.add(Restrictions.isNull("protectedData")); // account not to protect: opid*, opd*, mxihr* Criteria subCrit = crit.createCriteria("proposalVO"); subCrit.add(Restrictions.not(Restrictions.in("code", account_not_to_protect))); crit.addOrder(Order.asc("lastUpdate")); List<Session3VO> listNotProtected = crit.list(); LOG.info("find not protected sessions between " + date1 + " and " + date2); if (listNotProtected != null) { String sessionsIds = ""; for (Iterator iterator = listNotProtected.iterator(); iterator.hasNext();) { Session3VO session3vo = (Session3VO) iterator.next(); sessionsIds = sessionsIds + ", " + session3vo.getSessionId(); } LOG.info(listNotProtected.size() + " sessions found : " + sessionsIds); } return listNotProtected; }
From source file:ispyb.server.mx.daos.autoproc.PhasingStatistics3DAOBean.java
License:Open Source License
/** * Find all PhasingStatistics3 related to a given autoProc *//*from www . j av a2s . c o m*/ @SuppressWarnings("unchecked") public List<PhasingStatistics3VO> findFiltered(Integer autoProcId, String metric, Boolean withOverall) { Session session = (Session) this.entityManager.getDelegate(); Criteria crit = session.createCriteria(PhasingStatistics3VO.class); crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); // DISTINCT RESULTS ! if (autoProcId != null) { Criteria subCritPhasingHasScaling = crit.createCriteria("phasingHasScaling1VO"); Criteria subCritAutoProcScaling = subCritPhasingHasScaling.createCriteria("autoProcScalingVO"); Criteria subCritAutoProc = subCritAutoProcScaling.createCriteria("autoProcVO"); subCritAutoProc.add(Restrictions.eq("autoProcId", autoProcId)); } if (metric != null && metric.trim().length() > 0) { crit.add(Restrictions.eq("metric", metric)); } if (withOverall != null && !withOverall) { crit.add(Restrictions.not(Restrictions.eq("binNumber", 999))); } crit.addOrder(Order.desc("phasingStatisticsId")); return crit.list(); }
From source file:ispyb.server.mx.services.autoproc.PhasingStatistics3ServiceBean.java
License:Open Source License
/** * Find all PhasingStatistics3 related to a given autoProc *///www.j ava2s .co m @SuppressWarnings("unchecked") public List<PhasingStatistics3VO> findFiltered(final Integer autoProcId, final String metric, final Boolean withOverall) throws Exception { Session session = (Session) this.entityManager.getDelegate(); Criteria crit = session.createCriteria(PhasingStatistics3VO.class); crit.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY); // DISTINCT RESULTS ! if (autoProcId != null) { Criteria subCritPhasingHasScaling = crit.createCriteria("phasingHasScaling1VO"); Criteria subCritAutoProcScaling = subCritPhasingHasScaling.createCriteria("autoProcScalingVO"); Criteria subCritAutoProc = subCritAutoProcScaling.createCriteria("autoProcVO"); subCritAutoProc.add(Restrictions.eq("autoProcId", autoProcId)); } if (metric != null && metric.trim().length() > 0) { crit.add(Restrictions.eq("metric", metric)); } if (withOverall != null && !withOverall) { crit.add(Restrictions.not(Restrictions.eq("binNumber", 999))); } crit.addOrder(Order.desc("phasingStatisticsId")); List<PhasingStatistics3VO> foundEntities = crit.list(); return foundEntities; }
From source file:it.av.eatt.service.impl.EaterServiceHibernate.java
License:Apache License
/** * {@inheritDoc}//w w w . j av a2 s.c o m */ @Override public Collection<Eater> findUserWithoutRelation(Eater forUser, String pattern) { // TODO can be improved with an outer join Collection<EaterRelation> relatedUser = userRelationService.getAllRelations(forUser); ArrayList<String> relatedUserId = new ArrayList<String>(relatedUser.size()); for (EaterRelation userRelation : relatedUser) { relatedUserId.add(userRelation.getToUser().getId()); } List<Criterion> criterions = new ArrayList<Criterion>(3); if (StringUtils.isNotBlank(pattern)) { criterions.add(Restrictions.or(Restrictions.ilike(Eater.FIRSTNAME, pattern), Restrictions.ilike(Eater.LASTNAME, pattern))); } if (relatedUserId.size() > 0) { criterions.add(Restrictions.not(Restrictions.in(Eater.ID, relatedUserId))); } // escludes the forUser from the search criterions.add(Restrictions.not(Restrictions.idEq(forUser.getId()))); List<Eater> results = super.findByCriteria(criterions.toArray(new Criterion[criterions.size()])); return results; }
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 w ww .j av a 2 s .com 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:kr.debop4j.data.hibernate.tools.CriteriaTool.java
License:Apache License
/** * Add not./*from w w w . j a v a 2s .c o m*/ * * @param criteria the criteria * @param expression the expression * @return the criteria */ public static Criteria addNot(Criteria criteria, Criterion expression) { return criteria.add(Restrictions.not(expression)); }
From source file:kr.debop4j.data.hibernate.tools.CriteriaTool.java
License:Apache License
/** * Add not./*from www. j a v a 2 s. c o m*/ * * @param dc the dc * @param expression the expression * @return the detached criteria */ public static DetachedCriteria addNot(DetachedCriteria dc, Criterion expression) { return dc.add(Restrictions.not(expression)); }
From source file:main.java.edu.isistan.genCom.redSocial.dao.DAOInvestigador.java
License:Open Source License
/** * Obtiene los investigadores con iguales publicaciones, y los que tienen mismo lugar de trabajo * @return/*from ww w .j ava2 s.c om*/ */ public Set getRelacionados(Investigador investigador) { // TODO Obtener investigadores con mismas publicaciones y con igual lugar de trabajo log.debug("Obteniendo todos los coautores"); Session session = sessionFactory.openSession(); Transaction tx = null; Set results = new HashSet<>(); try { tx = session.beginTransaction(); // Agrega los investigadores con iguales publicaciones Set<Publicacion> publicaciones = investigador.getPublicaciones(); for (Publicacion publicacion : publicaciones) { List consulta = session.createCriteria(Investigador.class).createAlias("publicaciones", "pub") .add(Restrictions.eq("pub.publicacionId", publicacion.getPublicacionId())) .add(Restrictions.not(Restrictions.eq("investigadorId", investigador.getInvestigadorId()))) .list(); results.addAll(consulta); } // Agrega los investigadores con iguales lugares de trabajo Set<LugarDeTrabajo> lugares = investigador.getLugaresDeTrabajos(); for (LugarDeTrabajo lugar : lugares) { List consulta = session.createCriteria(Investigador.class).createAlias("lugaresDeTrabajos", "lug") .add(Restrictions.eq("lug.id", lugar.getId())) .add(Restrictions.not(Restrictions.eq("investigadorId", investigador.getInvestigadorId()))) .list(); results.addAll(consulta); } log.debug("recuperacin exitosa, result size: " + results.size()); tx.commit(); return results; } catch (RuntimeException re) { tx.rollback(); log.error("fall la recuperacin", re); throw re; } finally { session.close(); } }
From source file:main.java.info.jtrac.domain.ColumnHeading.java
License:Apache License
private Object process(Component c, DetachedCriteria criteria) { boolean forFragment = c != null; List<Expression> list = new ArrayList<Expression>(); Fragment fragment = null;/*w w w.ja va2 s. co m*/ List values = filterCriteria.getValues(); Object value = filterCriteria.getValue(); Object value2 = filterCriteria.getValue2(); Expression expression = filterCriteria.getExpression(); if (isField()) { switch (field.getName().getType()) { case 1: case 2: case 3: list.add(Expression.IN); if (forFragment) { fragment = new Fragment("fragParent", "multiSelect"); final Map<String, String> options = field.getOptions(); JtracCheckBoxMultipleChoice choice = new JtracCheckBoxMultipleChoice("values", new ArrayList(options.keySet()), new IChoiceRenderer() { /** * */ private static final long serialVersionUID = 1L; public Object getDisplayValue(Object o) { return options.get(o); } public String getIdValue(Object o, int i) { return o.toString(); } }); fragment.add(choice); choice.setModel(new PropertyModel(this, "filterCriteria.values")); } if (filterHasValueList(criteria)) { List<Integer> keys = new ArrayList<Integer>(values.size()); for (Object o : values) { keys.add(new Integer(o.toString())); } criteria.add(Restrictions.in(name, keys)); } break; // drop down list case 4: // decimal number list.add(Expression.EQ); list.add(Expression.NOT_EQ); list.add(Expression.GT); list.add(Expression.LT); list.add(Expression.BETWEEN); if (forFragment) { fragment = new Fragment("fragParent", "textField"); TextField textField = new TextField("value", Double.class); textField.setModel(new PropertyModel(this, "filterCriteria.value")); fragment.add(textField); if (expression == Expression.BETWEEN) { TextField textField2 = new TextField("value2", Double.class); textField.setModel(new PropertyModel(this, "filterCriteria.value2")); fragment.add(textField2); } else { fragment.add(new WebMarkupContainer("value2").setVisible(false)); } } if (filterHasValue(criteria)) { switch (expression) { case EQ: criteria.add(Restrictions.eq(name, value)); break; case NOT_EQ: criteria.add(Restrictions.not(Restrictions.eq(name, value))); break; case GT: criteria.add(Restrictions.gt(name, value)); break; case LT: criteria.add(Restrictions.lt(name, value)); break; case BETWEEN: criteria.add(Restrictions.gt(name, value)); criteria.add(Restrictions.lt(name, value2)); break; default: } } break; case 6: // date list.add(Expression.EQ); list.add(Expression.NOT_EQ); list.add(Expression.GT); list.add(Expression.LT); list.add(Expression.BETWEEN); if (forFragment) { fragment = new Fragment("fragParent", "dateField"); YuiCalendar calendar = new YuiCalendar("value", new PropertyModel(this, "filterCriteria.value"), false); fragment.add(calendar); if (filterCriteria.getExpression() == Expression.BETWEEN) { YuiCalendar calendar2 = new YuiCalendar("value2", new PropertyModel(this, "filterCriteria.value2"), false); fragment.add(calendar2); } else { fragment.add(new WebMarkupContainer("value2").setVisible(false)); } } if (filterHasValue(criteria)) { switch (expression) { case EQ: criteria.add(Restrictions.eq(name, value)); break; case NOT_EQ: criteria.add(Restrictions.not(Restrictions.eq(name, value))); break; case GT: criteria.add(Restrictions.gt(name, value)); break; case LT: criteria.add(Restrictions.lt(name, value)); break; case BETWEEN: criteria.add(Restrictions.gt(name, value)); criteria.add(Restrictions.lt(name, value2)); break; default: } } break; case 5: // free text list.add(Expression.CONTAINS); if (forFragment) { fragment = new Fragment("fragParent", "textField"); TextField textField = new TextField("value", String.class); textField.setModel(new PropertyModel(this, "filterCriteria.value")); fragment.add(textField); fragment.add(new WebMarkupContainer("value2").setVisible(false)); } if (filterHasValue(criteria)) { criteria.add(Restrictions.ilike(name, (String) value, MatchMode.ANYWHERE)); } break; default: throw new RuntimeException("Unknown Column Heading " + name); } } else { if (name.equals(ID)) { list.add(Expression.EQ); if (forFragment) { fragment = new Fragment("fragParent", "textField"); TextField textField = new TextField("value", String.class); textField.setModel(new PropertyModel(this, "filterCriteria.value")); fragment.add(textField); fragment.add(new WebMarkupContainer("value2").setVisible(false)); } // should never come here for criteria: see ItemSearch#getRefId() } else if (name.equals(SUMMARY)) { list.add(Expression.CONTAINS); if (forFragment) { fragment = new Fragment("fragParent", "textField"); TextField textField = new TextField("value", String.class); textField.setModel(new PropertyModel(this, "filterCriteria.value")); fragment.add(textField); fragment.add(new WebMarkupContainer("value2").setVisible(false)); } if (filterHasValue(criteria)) { criteria.add(Restrictions.ilike(name, (String) value, MatchMode.ANYWHERE)); } } else if (name.equals(DETAIL)) { list.add(Expression.CONTAINS); if (forFragment) { fragment = new Fragment("fragParent", "textField"); TextField textField = new TextField("value", String.class); textField.setModel(new PropertyModel(this, "filterCriteria.value")); fragment.add(textField); fragment.add(new WebMarkupContainer("value2").setVisible(false)); } // should never come here for criteria: see ItemSearch#getSearchText() } else if (name.equals(STATUS)) { list.add(Expression.IN); if (forFragment) { fragment = new Fragment("fragParent", "multiSelect"); final Map<Integer, String> options = ComponentUtils.getCurrentSpace(c).getMetadata() .getStates(); options.remove(State.NEW); JtracCheckBoxMultipleChoice choice = new JtracCheckBoxMultipleChoice("values", new ArrayList(options.keySet()), new IChoiceRenderer() { /** * */ private static final long serialVersionUID = 1L; public Object getDisplayValue(Object o) { return options.get(o); } public String getIdValue(Object o, int i) { return o.toString(); } }); fragment.add(choice); choice.setModel(new PropertyModel(this, "filterCriteria.values")); } if (filterHasValueList(criteria)) { criteria.add(Restrictions.in(name, filterCriteria.getValues())); } } else if (name.equals(ASSIGNED_TO) || name.equals(LOGGED_BY)) { list.add(Expression.IN); if (forFragment) { fragment = new Fragment("fragParent", "multiSelect"); List<User> users = null; Space s = ComponentUtils.getCurrentSpace(c); if (s == null) { User u = ComponentUtils.getPrincipal(c); users = ComponentUtils.getJtrac(c).findUsersForUser(u); } else { users = ComponentUtils.getJtrac(c).findUsersForSpace(s.getId()); } JtracCheckBoxMultipleChoice choice = new JtracCheckBoxMultipleChoice("values", users, new IChoiceRenderer() { /** * */ private static final long serialVersionUID = 1L; public Object getDisplayValue(Object o) { return ((User) o).getName(); } public String getIdValue(Object o, int i) { return ((User) o).getId() + ""; } }); fragment.add(choice); choice.setModel(new PropertyModel(this, "filterCriteria.values")); } if (filterHasValueList(criteria)) { criteria.add(Restrictions.in(name, filterCriteria.getValues())); } } else if (name.equals(TIME_STAMP)) { list.add(Expression.BETWEEN); list.add(Expression.GT); list.add(Expression.LT); if (forFragment) { fragment = new Fragment("fragParent", "dateField"); YuiCalendar calendar = new YuiCalendar("value", new PropertyModel(this, "filterCriteria.value"), false); fragment.add(calendar); if (expression == Expression.BETWEEN) { YuiCalendar calendar2 = new YuiCalendar("value2", new PropertyModel(this, "filterCriteria.value2"), false); fragment.add(calendar2); } else { fragment.add(new WebMarkupContainer("value2").setVisible(false)); } } if (filterHasValue(criteria)) { switch (expression) { case GT: criteria.add(Restrictions.gt(name, value)); break; case LT: criteria.add(Restrictions.lt(name, value)); break; case BETWEEN: criteria.add(Restrictions.gt(name, value)); criteria.add(Restrictions.lt(name, value2)); break; default: } } } else if (name.equals(SPACE)) { list.add(Expression.IN); if (forFragment) { fragment = new Fragment("fragParent", "multiSelect"); List<Space> spaces = new ArrayList(ComponentUtils.getPrincipal(c).getSpaces()); JtracCheckBoxMultipleChoice choice = new JtracCheckBoxMultipleChoice("values", spaces, new IChoiceRenderer() { /** * */ private static final long serialVersionUID = 1L; public Object getDisplayValue(Object o) { return ((Space) o).getName(); } public String getIdValue(Object o, int i) { return ((Space) o).getId() + ""; } }); fragment.add(choice); choice.setModel(new PropertyModel(this, "filterCriteria.values")); } // should never come here for criteria: see ItemSearch#getSelectedSpaces() } else { throw new RuntimeException("Unknown Column Heading " + name); } } if (forFragment) { return fragment; } else { return list; } }