Example usage for org.springframework.data.mongodb.core.query Query Query

List of usage examples for org.springframework.data.mongodb.core.query Query Query

Introduction

In this page you can find the example usage for org.springframework.data.mongodb.core.query Query Query.

Prototype

public Query(CriteriaDefinition criteriaDefinition) 

Source Link

Document

Creates a new Query using the given CriteriaDefinition .

Usage

From source file:com.enitalk.controllers.youtube.processor.Y2BeProcessor.java

public void run() {
    try {/*from   www  . j  a va2  s  .  com*/
        logger.info("Running processor");

        //TO-DO make it work only for 30+ minutes after the 
        Query q = Query.query(Criteria.where("").is(""));
        List<HashMap> items = mongo.find(q, HashMap.class, "events");
        ArrayNode its = jackson.convertValue(items, ArrayNode.class);

        final List<JsonNode> allEvents = its.findParents("ii");

        allEvents.forEach((JsonNode el) -> {
            try {

                List<String> ids = jackson.convertValue(el.path("liveId"), List.class);
                Credential credential = flow.loadCredential(el.at("/teacher/dest/sendTo").toString());
                YouTube youtube = new YouTube.Builder(new NetHttpTransport(),
                        JacksonFactory.getDefaultInstance(), credential).setApplicationName("enitalk").build();
                boolean refreshed = credential.refreshToken();
                logger.info("Token refreshed {} id {}", refreshed);

                YouTube.Videos.List list = youtube.videos()
                        .list("id,liveStreamingDetails,recordingDetails,status,statistics");
                list.setId(StringUtils.join(ids, ','));
                logger.info("Video param query {}", list.buildHttpRequestUrl());

                byte[] response = IOUtils.toByteArray(list.executeUnparsed().getContent());

                JsonNode r = jackson.readTree(response);
                logger.info("Yt response {}", r);
                Update u = new Update().set("records", jackson.convertValue(r, HashMap.class));

                long finishedItems = r.path("items").findParents("id").stream().filter((JsonNode yt) -> {
                    return yt.at("/status/uploadStatus").asText().equals("processed");
                }).count();

                logger.info("Finished items {}", finishedItems);

                if (finishedItems == ids.size()) {
                    logger.info("All items finished, shall sent links to user");

                } else {
                    u.set("nextCheck", new DateTime(DateTimeZone.UTC).plusMinutes(15).toDate());
                }

                mongo.updateFirst(Query.query(Criteria.where("ii").is(el.path("ii").asText())), u, "events");

            } catch (Exception e) {
                logger.error(ExceptionUtils.getFullStackTrace(e));
            }

        });

    } catch (Exception e) {
        logger.error(ExceptionUtils.getFullStackTrace(e));
    }
}

From source file:com.epam.ta.reportportal.database.dao.UserCreationBidRepositoryCustomImpl.java

@Override
public void expireBidsOlderThan(Date lastLogin) {
    mongoOperations.remove(Query.query(Criteria.where(Modifiable.LAST_MODIFIED).lt(lastLogin)),
            UserCreationBid.class);
}

From source file:de.iew.raspimotion.persistence.mongodb.MongoDbFileDaoImpl.java

public InputStream openFileInputStream(FileDescriptor fd) {
    MongoDbFile mongoDbFile = (MongoDbFile) fd;

    GridFSDBFile gridFSDBFile = this.gridFsTemplate
            .findOne(new Query(Criteria.where("id").is(new ObjectId(mongoDbFile.getId()))));
    return gridFSDBFile.getInputStream();
}

From source file:strat.mining.multipool.stats.persistence.dao.donation.impl.TransactionDAOMongo.java

@Override
public void deleteTransaction(String transactionId) {
    Query query = new Query(Criteria.where("transactionId").is(transactionId));
    mongoOperation.remove(query, Transaction.class);
}

From source file:org.marchev.fiql.mongodb.springdata.MongoFIQLImpl.java

public Query createQuery(String fiql) {
    Criteria criteria = createCriteria(fiql);
    return new Query(criteria);
}

From source file:quanlyhocvu.api.mongodb.DAO.PhanCongDAO.java

public PhanCongDTO getPhanCongById(String idPhanCong) {
    Query query = Query.query(Criteria.where("id").is(idPhanCong));
    return mongoOperation.findOne(query, PhanCongDTO.class);
}

From source file:strat.mining.multipool.stats.persistence.dao.coinshift.impl.TransactionDAOMongo.java

@Override
public void deleteTransaction(Integer addressId) {
    Query query = new Query(Criteria.where("addressId").is(addressId));
    mongoOperation.remove(query, Transaction.class);
}

From source file:tv.arte.resteventapi.core.domain.repositories.impl.mongo.db.RestEventRepositoryImpl.java

/**
 * {@inheritDoc}// w  w w  . ja  v a2 s .  com
 */
public RestEvent findById(String eventId) {
    return mongoTemplate.findOne(Query.query(Criteria.where("_id").is(eventId)), RestEvent.class);
}

From source file:uk.gov.nationalarchives.discovery.taxonomy.common.repository.mongo.impl.CategoryRepositoryImpl.java

@Override
public Category findByCiaid(String ciaid) {
    return categoriesMongoTemplate.findOne(new Query(Criteria.where(CIAID_FIELD).is(ciaid)), Category.class);
}

From source file:com.epam.ta.reportportal.database.search.ModifiableQueryBuilder.java

/**
 * Finds files with provided project and uploaded later than provided time period
 * //from   w  ww  .j ava 2s  .  c  o m
 * @param period
 * @param project
 * @return
 */
public static Query findModifiedLaterThanPeriod(final Time period, final String project) {
    Query query = Query.query(Criteria.where(Modifiable.UPLOADED).lt(
            DateUtils.addSeconds(Calendar.getInstance().getTime(), (int) (-1 * period.in(TimeUnit.SECONDS)))));
    return query.addCriteria(Criteria.where(METADATA).is(project));
}