Example usage for org.springframework.data.mongodb.core FindAndModifyOptions returnNew

List of usage examples for org.springframework.data.mongodb.core FindAndModifyOptions returnNew

Introduction

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

Prototype

boolean returnNew

To view the source code for org.springframework.data.mongodb.core FindAndModifyOptions returnNew.

Click Source Link

Usage

From source file:com.pubkit.platform.persistence.impl.SequenceImpl.java

private long increaseCounter(String className) {
    Query query = new Query(Criteria.where("_id").is(className));
    Update update = new Update().inc("sequence", 1);

    FindAndModifyOptions options = FindAndModifyOptions.options();
    Sequence sequence = mongoTemplate.findAndModify(query, update, options.returnNew(true), Sequence.class);
    if (sequence == null) {
        sequence = new Sequence();
        sequence.setId(className);//w  w  w  .  j a  va  2 s .  c o m
        sequence.setSequence(1000l);

        mongoTemplate.save(sequence);
    }
    return sequence.getSequence();
}

From source file:eu.trentorise.game.managers.DBPlayerManager.java

private StatePersistence persist(String gameId, String playerId, List<GenericObjectPersistence> concepts,
        CustomData customData, Map<String, Object> metadata) {
    if (StringUtils.isBlank(gameId) || StringUtils.isBlank(playerId)) {
        throw new IllegalArgumentException("field gameId and playerId of PlayerState MUST be set");
    }/*from w ww  . j a  v a2 s .  co m*/

    Criteria criteria = new Criteria();
    criteria = criteria.and("gameId").is(gameId).and("playerId").is(playerId);
    Query query = new Query(criteria);
    Update update = new Update();
    if (concepts != null) {
        update.set("concepts", concepts);
    }
    if (customData != null) {
        update.set("customData", customData);
    }
    if (metadata != null) {
        update.set("metadata", metadata);
    }
    FindAndModifyOptions options = new FindAndModifyOptions();
    options.upsert(true);
    options.returnNew(true);
    return mongoTemplate.findAndModify(query, update, options, StatePersistence.class);
}

From source file:piecework.repository.concrete.ProcessInstanceRepositoryCustomImpl.java

@Override
public ProcessInstance update(String id, Operation operation, String applicationStatus,
        String applicationStatusExplanation, String processStatus, Set<Task> tasks) {
    Query query = new Query(where("_id").is(id));
    Update update = new Update();

    if (applicationStatus != null)
        update.set("applicationStatus", applicationStatus);
    if (applicationStatusExplanation != null)
        update.set("applicationStatusExplanation", applicationStatusExplanation);
    if (processStatus != null)
        update.set("processStatus", processStatus);

    if (tasks != null) {
        for (Task task : tasks) {
            update.set("tasks." + task.getTaskInstanceId(), task);
        }/*  www .  ja  v a 2  s  . com*/
    }

    update.push("operations", operation);
    update.set("lastModifiedTime", new Date());

    FindAndModifyOptions options = new FindAndModifyOptions();
    options.returnNew(true);

    return mongoOperations.findAndModify(query, update, options, ProcessInstance.class);
}

From source file:piecework.repository.concrete.ProcessInstanceRepositoryCustomImpl.java

@Override
public boolean update(String id, Task task) {
    Query query = new Query();
    query.addCriteria(where("processInstanceId").is(id));

    Update update = new Update();
    update.set("tasks." + task.getTaskInstanceId(), task).set("lastModifiedTime", new Date());
    FindAndModifyOptions options = new FindAndModifyOptions();
    options.returnNew(true);
    ProcessInstance stored = mongoOperations.findAndModify(query, update, options, ProcessInstance.class);

    return true;//ww  w  .jav a  2 s.  co m
}