List of usage examples for org.springframework.data.mongodb.core.query Criteria Criteria
public Criteria(String key)
From source file:org.oncoblocks.centromere.mongodb.MongoQueryUtils.java
/** * Converts a collection of {@link QueryCriteria} * objects into Spring Data MongoDB {@link Criteria} * objects, used to build a {@link Query}. * * @param queryCriterias list of query parameters to be converted. * @return {@link Criteria} representation of the dataimport. *//*from w w w . ja va 2s. com*/ public static Criteria getQueryFromQueryCriteria(Iterable<QueryCriteria> queryCriterias) { List<Criteria> criteriaList = new ArrayList<>(); for (QueryCriteria queryCriteria : queryCriterias) { Criteria criteria = null; if (queryCriteria != null) { switch (queryCriteria.getEvaluation()) { case EQUALS: criteria = new Criteria(queryCriteria.getKey()).is(queryCriteria.getValue()); break; case NOT_EQUALS: criteria = new Criteria(queryCriteria.getKey()).not().is(queryCriteria.getValue()); break; case IN: criteria = new Criteria(queryCriteria.getKey()).in((Collection) queryCriteria.getValue()); break; case NOT_IN: criteria = new Criteria(queryCriteria.getKey()).nin((Collection) queryCriteria.getValue()); break; case IS_NULL: criteria = new Criteria(queryCriteria.getKey()).is(null); break; case NOT_NULL: criteria = new Criteria(queryCriteria.getKey()).not().is(null); break; case GREATER_THAN: criteria = new Criteria(queryCriteria.getKey()).gt(queryCriteria.getValue()); break; case GREATER_THAN_EQUALS: criteria = new Criteria(queryCriteria.getKey()).gte(queryCriteria.getValue()); break; case LESS_THAN: criteria = new Criteria(queryCriteria.getKey()).lt(queryCriteria.getValue()); break; case LESS_THAN_EQUALS: criteria = new Criteria(queryCriteria.getKey()).lte(queryCriteria.getValue()); break; case BETWEEN: criteria = new Criteria().andOperator( Criteria.where(queryCriteria.getKey()).gt(((List) queryCriteria.getValue()).get(0)), Criteria.where(queryCriteria.getKey()).lt(((List) queryCriteria.getValue()).get(1))); break; case OUTSIDE: criteria = new Criteria().orOperator( Criteria.where(queryCriteria.getKey()).lt(((List) queryCriteria.getValue()).get(0)), Criteria.where(queryCriteria.getKey()).gt(((List) queryCriteria.getValue()).get(1))); break; case BETWEEN_INCLUSIVE: criteria = new Criteria().andOperator( Criteria.where(queryCriteria.getKey()).gte(((List) queryCriteria.getValue()).get(0)), Criteria.where(queryCriteria.getKey()).lte(((List) queryCriteria.getValue()).get(1))); break; case OUTSIDE_INCLUSIVE: criteria = new Criteria().orOperator( Criteria.where(queryCriteria.getKey()).lte(((List) queryCriteria.getValue()).get(0)), Criteria.where(queryCriteria.getKey()).gte(((List) queryCriteria.getValue()).get(1))); break; case LIKE: criteria = new Criteria(queryCriteria.getKey()).regex((String) queryCriteria.getValue()); break; case NOT_LIKE: // TODO break; case STARTS_WITH: criteria = new Criteria(queryCriteria.getKey()).regex("^" + queryCriteria.getValue()); break; case ENDS_WITH: criteria = new Criteria(queryCriteria.getKey()).regex(queryCriteria.getValue() + "$"); break; default: criteria = new Criteria(queryCriteria.getKey()).is(queryCriteria.getValue()); } criteriaList.add(criteria); } } return criteriaList.size() > 0 ? new Criteria().andOperator(criteriaList.toArray(new Criteria[] {})) : null; }
From source file:com.ewcms.common.query.mongo.CriteriaWapper.java
/** * {@code criteriaChain}??{@code super.criteriaChina} * /*from ww w .j av a 2 s . c om*/ * @param criteria */ public Criteria orOperator(Criteria... criteria) { super.orOperator(criteria); BasicBSONList bsonList = createCriteriaList(criteria); criteriaChain.add(new Criteria("$or").is(bsonList)); return this; }
From source file:com.ewcms.common.query.mongo.CriteriaWapper.java
/** * {@code criteriaChain}??{@code super.criteriaChina} * /* w w w . ja va2 s .co m*/ * @param criteria */ public Criteria norOperator(Criteria... criteria) { super.norOperator(criteria); BasicBSONList bsonList = createCriteriaList(criteria); criteriaChain.add(new Criteria("$nor").is(bsonList)); return this; }
From source file:eu.cloudwave.wp5.feedbackhandler.repositories.ApplicationRepositoryImpl.java
/** * {@inheritDoc}/*w ww. ja v a 2s . co m*/ */ @Override public DbApplication findOne(final String applicationId) { final Criteria criteria = new Criteria(APPLICATION_ID).is(applicationId); return mongoTemplate.findOne(new Query(criteria), DbApplicationImpl.class); }
From source file:org.starfishrespect.myconsumption.server.business.repositories.repositoriesimpl.UserRepositoryImpl.java
@Override public boolean userExists(String name) { Query existingQuery = new Query(new Criteria("name").is(name)); return mongoOperation.exists(existingQuery, User.class, COLLECTION_NAME); }
From source file:org.starfishrespect.myconsumption.server.business.repositories.repositoriesimpl.SensorRepositoryImpl.java
@Override public Sensor insertSensor(Sensor sensor) { Criteria criteria = new Criteria("type").is(sensor.getType()); Criteria settingsCriterias = null;//from w ww . ja v a 2 s . co m for (String key : sensor.getSensorSettings().getKeys()) { if (settingsCriterias == null) { settingsCriterias = new Criteria("sensorSettings." + key) .is(sensor.getSensorSettings().getValue(key)); } else { settingsCriterias = new Criteria("sensorSettings." + key) .is(sensor.getSensorSettings().getValue(key)).andOperator(settingsCriterias); } } if (settingsCriterias != null) { criteria.andOperator(settingsCriterias); } Query existingQuery = new Query(criteria); if (mongoOperation.exists(existingQuery, Sensor.class, COLLECTION_NAME)) { return mongoOperation.findOne(existingQuery, Sensor.class, COLLECTION_NAME); } mongoOperation.save(sensor, COLLECTION_NAME); return sensor; }
From source file:com.monkeyk.sos.infrastructure.mongo.UserRepositoryMongo.java
@Override public User findByUsername(String username) { LOG.debug("Call findByUsername, username = {}", username); Query query = new Query(new Criteria("username").is(username)); return this.mongoTemplate().findOne(query, User.class); }
From source file:com.ewcms.common.query.mongo.CriteriaWapper.java
/** * {@code criteriaChain}??{@code super.criteriaChina} * /* ww w. j a v a 2 s . c om*/ * @param criteria */ public Criteria andOperator(Criteria... criteria) { super.andOperator(criteria); BasicBSONList bsonList = createCriteriaList(criteria); criteriaChain.add(new Criteria("$and").is(bsonList)); return this; }
From source file:eu.cloudwave.wp5.feedbackhandler.repositories.ApplicationRepositoryImpl.java
/** * {@inheritDoc}//from w w w . j a v a 2 s .co m */ @Override public DbCostApplication findOneCostApplication(final String applicationId) { final Criteria criteria = new Criteria(APPLICATION_ID).is(applicationId); return mongoTemplate.findOne(new Query(criteria), DbCostApplicationImpl.class); }
From source file:eu.trentorise.smartcampus.unidataservice.controller.rest.CanteenController.java
/** * // w ww . ja v a 2 s.c om * @param request * @param response * @param from start date in format yyyy-mm-dd * @param to end date in format yyyy-mm-dd * @return * @throws InvocationException */ @RequestMapping(method = RequestMethod.GET, value = "/data/getmenu/{from}/{to}") public @ResponseBody List<Menu> getMenu(HttpServletRequest request, HttpServletResponse response, @PathVariable String from, @PathVariable String to) throws InvocationException { try { Criteria criteria = new Criteria("date").gte(from).lte(to); Query query = new Query(criteria); List<Menu> result = mongoTemplate.find(query, Menu.class, "menu"); return result; } catch (Exception e) { response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); } return null; }