List of usage examples for org.hibernate.criterion Restrictions eqProperty
public static PropertyExpression eqProperty(String propertyName, String otherPropertyName)
From source file:gov.nih.nci.cananolab.service.sample.helper.AdvancedSampleServiceHelper.java
License:BSD License
private DetachedCriteria getNanomaterialEntitySubquery(CompositionQueryBean query, String nanoEntityAlias, String projectionProperty) throws Exception { DetachedCriteria subCrit = DetachedCriteria.forClass(NanomaterialEntity.class, "subCrit"); subCrit.setProjection(Projections.distinct(Property.forName(projectionProperty))); // join composing element if (!StringUtils.isEmpty(query.getChemicalName())) { subCrit.createAlias("subCrit.composingElementCollection", "compElement", CriteriaSpecification.LEFT_JOIN); }//from w ww .j a v a 2 s . c o m Criterion nanoCrit = getNanomaterialEntityCriterion(query, ""); subCrit.add(nanoCrit); subCrit.add(Restrictions.eqProperty("subCrit." + projectionProperty, nanoEntityAlias + "id")); return subCrit; }
From source file:gov.nih.nci.cananolab.service.sample.helper.AdvancedSampleServiceHelper.java
License:BSD License
private DetachedCriteria getPointOfContactSubquery(SampleQueryBean query, String pocAlias1, String pocAlias2, String projectionProperty) { DetachedCriteria subCrit = DetachedCriteria.forClass(PointOfContact.class, "subCrit"); subCrit.createAlias("subCrit.organization", "organization", CriteriaSpecification.LEFT_JOIN); subCrit.setProjection(Projections.distinct(Property.forName("id"))); Disjunction pocDisjunction = getPointOfContactDisjunctionPerQuery(query, "", ""); subCrit.add(pocDisjunction);/*from w ww . j av a2 s. co m*/ if (pocAlias1.equals(pocAlias2)) { subCrit.add(Restrictions.eqProperty("subCrit." + projectionProperty, pocAlias1 + "id")); } else { subCrit.add(Restrictions.or(Restrictions.eqProperty("subCrit." + projectionProperty, pocAlias1 + "id"), Restrictions.eqProperty("subCrit." + projectionProperty, pocAlias2 + "id"))); } return subCrit; }
From source file:gov.nih.nci.security.dao.AuthorizationDAOImpl.java
License:Open Source License
public List getObjects(SearchCriteria searchCriteria) { Session s = null;//from www .ja va 2 s .co m List result = new ArrayList(); try { s = HibernateSessionFactoryHelper.getAuditSession(sf); Criteria criteria = s.createCriteria(searchCriteria.getObjectType()); Hashtable fieldValues = searchCriteria.getFieldAndValues(); Enumeration en = fieldValues.keys(); while (en.hasMoreElements()) { String str = (String) en.nextElement(); String fieldValue = (String) fieldValues.get(str); String fieldValue_ = StringUtilities.replaceInString(fieldValue.trim(), "*", "%"); //int i = ((String) fieldValues.get(str)).indexOf("%"); int i = fieldValue_.indexOf("%"); if (i != -1) { //criteria.add(Restrictions.like(str, fieldValues.get(str))); criteria.add(Restrictions.like(str, fieldValue_)); } else { //criteria.add(Restrictions.eq(str, fieldValues.get(str))); criteria.add(Restrictions.eq(str, fieldValue_)); } } if (fieldValues.size() == 0) { criteria.add(Restrictions.eqProperty("1", "1")); } log.debug("Message from debug: ObjectType=" + searchCriteria.getObjectType().getName()); //boolean t = // searchCriteria.getObjectType().getName().equalsIgnoreCase("gov.nih.nci.security.authorization.domainobjects.User")||searchCriteria.getObjectType().getName().equalsIgnoreCase("gov.nih.nci.security.authorization.domainobjects.Privilege"); //log.debug("Test:"+t); //if(!t){ // criteria.add(Restrictions.eq("application", this.application)); //} if (!(searchCriteria.getObjectType().getName() .equalsIgnoreCase("gov.nih.nci.security.authorization.domainobjects.User") || searchCriteria.getObjectType().getName() .equalsIgnoreCase("gov.nih.nci.security.authorization.domainobjects.Privilege") || searchCriteria.getObjectType().getName() .equalsIgnoreCase("gov.nih.nci.security.authorization.domainobjects.Application"))) { criteria.add(Restrictions.eq("application", this.application)); } List list = new ArrayList(); list = criteria.list(); Collections.sort(list); result.clear(); result.addAll(list); } catch (Exception ex) { ex.printStackTrace(); if (log.isDebugEnabled()) log.debug("Authorization|||getObjects|Failure|Error in Obtaining Search Objects from Database |" + ex.getMessage()); } finally { try { s.close(); } catch (Exception ex2) { if (log.isDebugEnabled()) log.debug("Authorization|||getObjects|Failure|Error in Closing Session |" + ex2.getMessage()); } } if (log.isDebugEnabled()) log.debug("Authorization|||getObjects|Success|Successful in Searching objects from the database |"); return result; }
From source file:gov.nih.nci.security.dao.AuthorizationDAOImpl.java
License:Open Source License
private List getObjects(Session s, SearchCriteria searchCriteria) { List result = new ArrayList(); try {//from w w w . j a v a2s . c o m Criteria criteria = s.createCriteria(searchCriteria.getObjectType()); Hashtable fieldValues = searchCriteria.getFieldAndValues(); Enumeration en = fieldValues.keys(); while (en.hasMoreElements()) { String str = (String) en.nextElement(); String fieldValue = (String) fieldValues.get(str); String fieldValue_ = StringUtilities.replaceInString(fieldValue, "*", "%"); //int i = ((String) fieldValues.get(str)).indexOf("%"); int i = fieldValue_.indexOf("%"); if (i != -1) { //criteria.add(Restrictions.like(str, fieldValues.get(str))); criteria.add(Restrictions.like(str, fieldValue_)); } else { //criteria.add(Restrictions.eq(str, fieldValues.get(str))); criteria.add(Restrictions.eq(str, fieldValue_)); } } if (fieldValues.size() == 0) { criteria.add(Restrictions.eqProperty("1", "1")); } log.debug("Message from debug: ObjectType=" + searchCriteria.getObjectType().getName()); //boolean t = // searchCriteria.getObjectType().getName().equalsIgnoreCase("gov.nih.nci.security.authorization.domainobjects.User")||searchCriteria.getObjectType().getName().equalsIgnoreCase("gov.nih.nci.security.authorization.domainobjects.Privilege"); //log.debug("Test:"+t); //if(!t){ // criteria.add(Restrictions.eq("application", this.application)); //} if (!(searchCriteria.getObjectType().getName() .equalsIgnoreCase("gov.nih.nci.security.authorization.domainobjects.User") || searchCriteria.getObjectType().getName() .equalsIgnoreCase("gov.nih.nci.security.authorization.domainobjects.Privilege") || searchCriteria.getObjectType().getName() .equalsIgnoreCase("gov.nih.nci.security.authorization.domainobjects.Application"))) { criteria.add(Restrictions.eq("application", this.application)); } result = criteria.list(); Collections.sort(result); } catch (Exception ex) { ex.printStackTrace(); if (log.isDebugEnabled()) log.debug("Authorization|||getObjects|Failure|Error in Obtaining Search Objects from Database |" + ex.getMessage()); } if (log.isDebugEnabled()) log.debug("Authorization|||getObjects|Success|Successful in Searching objects from the database |"); return result; }
From source file:grails.orm.HibernateCriteriaBuilder.java
License:Apache License
/** * Creates a Criterion that compares to class properties for equality * @param propertyName The first property name * @param otherPropertyName The second property name * @return A Criterion instance//w ww. ja va2s.c om */ public org.grails.datastore.mapping.query.api.Criteria eqProperty(String propertyName, String otherPropertyName) { if (!validateSimpleExpression()) { throwRuntimeException(new IllegalArgumentException("Call to [eqProperty] with propertyName [" + propertyName + "] and other property name [" + otherPropertyName + "] not allowed here.")); } propertyName = calculatePropertyName(propertyName); otherPropertyName = calculatePropertyName(otherPropertyName); addToCriteria(Restrictions.eqProperty(propertyName, otherPropertyName)); return this; }
From source file:monasca.api.infrastructure.persistence.hibernate.AlarmSqlRepoImpl.java
License:Apache License
@Override public void deleteById(String tenantId, String id) { logger.trace(ORM_LOG_MARKER, "deleteById(...) entering"); Transaction tx = null;/*from www. j a va 2 s . co m*/ Session session = null; try { session = sessionFactory.openSession(); tx = session.beginTransaction(); final long result = (Long) session.createCriteria(AlarmDb.class, "a") .createAlias("alarmDefinition", "ad") .add(Restrictions.conjunction(Restrictions.eq("a.id", id), Restrictions.eq("ad.tenantId", tenantId), Restrictions.eqProperty("a.alarmDefinition.id", "ad.id"), Restrictions.isNull("ad.deletedAt"))) .setProjection(Projections.count("a.id")).setReadOnly(true).uniqueResult(); // This will throw an EntityNotFoundException if Alarm doesn't exist or has a different tenant // id if (result < 1) { throw new EntityNotFoundException("No alarm exists for %s", id); } // delete alarm session.getNamedQuery(AlarmDb.Queries.DELETE_BY_ID).setString("id", id).executeUpdate(); tx.commit(); tx = null; } catch (Exception e) { this.rollbackIfNotNull(tx); throw e; } finally { if (session != null) { session.close(); } } }
From source file:monasca.thresh.infrastructure.persistence.hibernate.AlarmDefinitionSqlImpl.java
License:Apache License
@SuppressWarnings("unchecked") private List<SubExpression> findSubExpressions(final Session session, final String alarmDefId) { final List<SubExpression> subExpressions = Lists.newArrayList(); Map<String, Map<String, String>> dimensionMap = Maps.newHashMap(); final DetachedCriteria subAlarmDefinitionCriteria = DetachedCriteria .forClass(SubAlarmDefinitionDb.class, "sad").createAlias("alarmDefinition", "ad") .add(Restrictions.conjunction(Restrictions.eqProperty("sad.alarmDefinition.id", "ad.id"), Restrictions.eq("sad.alarmDefinition.id", alarmDefId))) .addOrder(Order.asc("sad.id")).setProjection(Projections.property("sad.id")); final ScrollableResults subAlarmDefinitionDimensionResult = session .createCriteria(SubAlarmDefinitionDimensionDb.class).add(Property .forName("subAlarmDefinitionDimensionId.subExpression.id").in(subAlarmDefinitionCriteria)) .setReadOnly(true).scroll(ScrollMode.FORWARD_ONLY); final ScrollableResults subAlarmDefinitionResult = session .getNamedQuery(SubAlarmDefinitionDb.Queries.BY_ALARMDEFINITION_ID).setString("id", alarmDefId) .setReadOnly(true).scroll(ScrollMode.FORWARD_ONLY); while (subAlarmDefinitionDimensionResult.next()) { final SubAlarmDefinitionDimensionDb dim = (SubAlarmDefinitionDimensionDb) subAlarmDefinitionDimensionResult .get()[0];/* www.j av a2s .c om*/ final SubAlarmDefinitionDimensionId id = dim.getSubAlarmDefinitionDimensionId(); final String subAlarmId = (String) session.getIdentifier(id.getSubExpression()); final String name = id.getDimensionName(); final String value = dim.getValue(); if (!dimensionMap.containsKey(subAlarmId)) { dimensionMap.put(subAlarmId, Maps.<String, String>newTreeMap()); } dimensionMap.get(subAlarmId).put(name, value); session.evict(dim); } while (subAlarmDefinitionResult.next()) { final SubAlarmDefinitionDb def = (SubAlarmDefinitionDb) subAlarmDefinitionResult.get()[0]; final String id = def.getId(); final AggregateFunction function = AggregateFunction.fromJson(def.getFunction()); final String metricName = def.getMetricName(); final AlarmOperator operator = AlarmOperator.fromJson(def.getOperator()); final Double threshold = def.getThreshold(); final Integer period = def.getPeriod(); final Integer periods = def.getPeriods(); final Boolean deterministic = def.isDeterministic(); Map<String, String> dimensions = dimensionMap.get(id); if (dimensions == null) { dimensions = Collections.emptyMap(); } subExpressions.add(new SubExpression(id, new AlarmSubExpression(function, new MetricDefinition(metricName, dimensions), operator, threshold, period, periods, deterministic))); session.evict(def); } subAlarmDefinitionDimensionResult.close(); subAlarmDefinitionResult.close(); return subExpressions; }
From source file:net.firejack.platform.core.store.AbstractStore.java
License:Apache License
protected Criterion getRestrictions(SearchQuery query, Class<?> type) { Criterion criterion;/*from w w w. j a v a2 s . c o m*/ Object value = query.getValue(); QueryOperation operation = query.getOperation(); if (value != null && !(QueryOperation.FIELDEQUALS.equals(operation) || QueryOperation.FIELDNOTEQUALS.equals(operation) || QueryOperation.FIELDGREATERTHAN.equals(operation) || QueryOperation.FIELDLESSTHAN.equals(operation))) { if (value instanceof Collection) { Collection values = (Collection) value; if (Integer.class.equals(type)) { List<Integer> list = new ArrayList<Integer>(); for (Object item : values) { list.add(Integer.parseInt(item.toString())); } value = list; } else if (Long.class.equals(type)) { List<Long> list = new ArrayList<Long>(); for (Object item : values) { list.add(Long.parseLong(item.toString())); } value = list; } else if (java.sql.Date.class.equals(type) || Date.class.equals(type)) { List<Date> list = new ArrayList<Date>(); for (Object item : values) { Tuple<Date, QueryOperation> tuple = convertToDate(item, operation); operation = tuple.getValue(); list.add(tuple.getKey()); } value = list; } else if (Enum.class.isAssignableFrom(type)) { List<Enum> enumValues = new ArrayList<Enum>(values.size()); for (Object item : values) { Enum enumItem = prepareEnumFromSearchCriteria((Class<? extends Enum>) type, item); enumValues.add(enumItem); } value = enumValues; } } else { if (Integer.class.equals(type)) { value = Integer.parseInt(value.toString()); } else if (Long.class.equals(type)) { value = Long.parseLong(value.toString()); } else if (Double.class.equals(type)) { value = Double.parseDouble(value.toString()); } else if (java.sql.Date.class.equals(type) || Date.class.equals(type)) { Tuple<Date, QueryOperation> tuple = convertToDate(value, operation); value = tuple.getKey(); operation = tuple.getValue(); } else if (Enum.class.isAssignableFrom(type)) { value = prepareEnumFromSearchCriteria((Class<? extends Enum>) type, value); } } } if (!String.class.equals(type) && (QueryOperation.LIKECS.equals(operation) || QueryOperation.LIKECSFIRST.equals(operation) || QueryOperation.LIKE.equals(operation) || QueryOperation.LIKEFIRST.equals(operation))) { operation = QueryOperation.EQUALS; } switch (operation) { case LIKECS: criterion = Restrictions.like(query.getField(), "%" + value + "%"); break; case LIKECSFIRST: criterion = Restrictions.like(query.getField(), value + "%"); break; case LIKE: criterion = Restrictions.ilike(query.getField(), "%" + value + "%"); break; case LIKEFIRST: criterion = Restrictions.ilike(query.getField(), value + "%"); break; case EQUALS: criterion = Restrictions.eq(query.getField(), value); break; case LESSTHAN: criterion = Restrictions.lt(query.getField(), value); break; case GREATERTHAN: criterion = Restrictions.gt(query.getField(), value); break; case ISNULL: criterion = Restrictions.isNull(query.getField()); break; case ISNOTNULL: criterion = Restrictions.isNotNull(query.getField()); break; case ISEMPTY: criterion = Restrictions.isEmpty(query.getField()); break; case ISNOTEMPTY: criterion = Restrictions.isNotEmpty(query.getField()); break; case NOTEQUALS: criterion = Restrictions.ne(query.getField(), value); break; case IN: criterion = generateInRestriction(query.getField(), (Collection) value); break; case NOTIN: criterion = Restrictions.not(generateInRestriction(query.getField(), (Collection) value)); break; case FIELDEQUALS: criterion = Restrictions.eqProperty(query.getField(), value != null ? value.toString() : ""); break; case FIELDNOTEQUALS: criterion = Restrictions.neProperty(query.getField(), value != null ? value.toString() : ""); break; case FIELDGREATERTHAN: criterion = Restrictions.gtProperty(query.getField(), value != null ? value.toString() : ""); break; case FIELDLESSTHAN: criterion = Restrictions.ltProperty(query.getField(), value != null ? value.toString() : ""); break; default: throw new RuntimeException("Operation " + query.getField() + " is not a valid operation"); } return criterion; }
From source file:org.balisunrise.daa.hibernate.HCriteria.java
License:Open Source License
private org.hibernate.criterion.Criterion makeCriterion(Criterion.Comparator comparator) { String fp = aliasMap.getPropertyName(comparator.getFirstProperty()); String sp = aliasMap.getPropertyName(comparator.getSecondProperty()); switch (comparator.getComparatorType()) { case EQUALS:/*from w w w . jav a 2 s. co m*/ return Restrictions.eqProperty(fp, sp); case DIFFERENT: return Restrictions.neProperty(fp, sp); case GREATHER: return Restrictions.gtProperty(fp, sp); case GREATHER_EQUALS: return Restrictions.geProperty(fp, sp); case LESS: return Restrictions.ltProperty(fp, sp); case LESS_EQUALS: return Restrictions.leProperty(fp, sp); } return null; }
From source file:org.candlepin.auth.permissions.CheckJobStatusPermission.java
License:Open Source License
@Override @SuppressWarnings("checkstyle:indentation") public Criterion getCriteriaRestrictions(Class entityClass) { if (!entityClass.equals(JobStatus.class)) { return null; }//from w w w .j av a 2s. c o m Conjunction conjunction = Restrictions.conjunction(); // Org has to match. conjunction.add(Restrictions.in("ownerId", allowedOrgKeys)); conjunction.add(Restrictions.or(Restrictions.ne("targetType", JobStatus.TargetType.OWNER), Restrictions.and(Restrictions.eq("targetType", JobStatus.TargetType.OWNER), Restrictions.eqProperty("ownerId", "targetId")))); // If the principal is not a user, make sure to enforce a principalName match. if (!"user".equalsIgnoreCase(principalType)) { conjunction.add(Restrictions.eq("principalName", principalName)); } return conjunction; }