Example usage for org.springframework.data.mongodb.core.query Update inc

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

Introduction

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

Prototype

public Update inc(String key, Number inc) 

Source Link

Document

Update using the $inc update modifier

Usage

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

/**
 * Aware issue statistic field is specified, or to to_investigate field
 * instead./*from  w ww. ja  v  a2s  . co m*/
 * 
 * @param issueType
 *            - <b>null</b> is cannot be specified
 * @param issueTypeCounter
 *            - count of issues for specified issue counter field (or not
 *            specified)
 * @return Update - MongoDB update object
 */
/* RESET methods in old statistics */
public static Update fromIssueTypeAware(final StatisticSubType subType, int issueTypeCounter) {
    Update issueTypeAware = new Update();
    issueTypeAware
            .inc(ISSUE_COUNTER + "."
                    + (subType != null
                            ? valueOf(subType.getTypeRef()).awareStatisticsField() + "." + subType.getLocator()
                            : TO_INVESTIGATE.awareStatisticsField() + "." + TO_INVESTIGATE.getLocator()),
                    issueTypeCounter)
            .inc(ISSUE_COUNTER + "."
                    + (subType != null
                            ? valueOf(subType.getTypeRef()).awareStatisticsField() + "." + GROUP_TOTAL
                            : TO_INVESTIGATE.awareStatisticsField() + "." + GROUP_TOTAL),
                    issueTypeCounter);
    return issueTypeAware;
}

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

/**
 * Complex update operator for MongoDB with positive or negative increment
 * for all defined issue sub-types of specified test item.
 * //w ww.  jav  a  2s  . c  om
 * @param item
 * @param isReset
 * @return Update
 */
/* DELETE methods in old statistics */
public static Update fromIssueTypeAware(final TestItem item, boolean isReset) {
    IssueCounter issueCounter = item.getStatistics().getIssueCounter();
    /* MongoDB Update object instance initialization */
    Update issueStatusAware = new Update();
    issueCounter.getAutomationBug().forEach((k, v) -> {
        int negative = v * -1;
        issueStatusAware
                .inc(ISSUE_COUNTER + "." + AUTOMATION_BUG.awareStatisticsField() + "." + k,
                        isReset ? negative : v)
                .inc(ISSUE_COUNTER + "." + AUTOMATION_BUG.awareStatisticsField() + ".total",
                        isReset ? negative : v);
    });
    issueCounter.getProductBug().forEach((k, v) -> {
        int negative = v * -1;
        issueStatusAware
                .inc(ISSUE_COUNTER + "." + PRODUCT_BUG.awareStatisticsField() + "." + k, isReset ? negative : v)
                .inc(ISSUE_COUNTER + "." + PRODUCT_BUG.awareStatisticsField() + ".total",
                        isReset ? negative : v);
    });
    issueCounter.getSystemIssue().forEach((k, v) -> {
        int negative = v * -1;
        issueStatusAware
                .inc(ISSUE_COUNTER + "." + SYSTEM_ISSUE.awareStatisticsField() + "." + k,
                        isReset ? negative : v)
                .inc(ISSUE_COUNTER + "." + SYSTEM_ISSUE.awareStatisticsField() + ".total",
                        isReset ? negative : v);
    });
    issueCounter.getNoDefect().forEach((k, v) -> {
        int negative = v * -1;
        issueStatusAware
                .inc(ISSUE_COUNTER + "." + NO_DEFECT.awareStatisticsField() + "." + k, isReset ? negative : v)
                .inc(ISSUE_COUNTER + "." + NO_DEFECT.awareStatisticsField() + ".total", isReset ? negative : v);
    });
    issueCounter.getToInvestigate().forEach((k, v) -> {
        int negative = v * -1;
        issueStatusAware
                .inc(ISSUE_COUNTER + "." + TO_INVESTIGATE.awareStatisticsField() + "." + k,
                        isReset ? negative : v)
                .inc(ISSUE_COUNTER + "." + TO_INVESTIGATE.awareStatisticsField() + ".total",
                        isReset ? negative : v);
    });
    return issueStatusAware;
}

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

public static Update fromItemStatusAware(final TestItem item, boolean isReset) {
    Statistics current = item.getStatistics();
    int iTotal = current.getExecutionCounter().getPassed() + current.getExecutionCounter().getFailed()
            + current.getExecutionCounter().getSkipped();
    int iPassed = current.getExecutionCounter().getPassed();
    int iFailed = current.getExecutionCounter().getFailed();
    int iSkipped = current.getExecutionCounter().getSkipped();
    Update updateStatusAware = new Update().inc(EXECUTION_COUNTER + ".total", isReset ? iTotal * -1 : iTotal);
    if (item.getStatus().awareStatisticsField() != null && !item.getStatus().awareStatisticsField().isEmpty()) {
        updateStatusAware = updateStatusAware.inc(
                EXECUTION_COUNTER + "." + Status.PASSED.awareStatisticsField(),
                isReset ? iPassed * -1 : iPassed);
        updateStatusAware = updateStatusAware.inc(
                EXECUTION_COUNTER + "." + Status.FAILED.awareStatisticsField(),
                isReset ? iFailed * -1 : iFailed);
        updateStatusAware = updateStatusAware.inc(
                EXECUTION_COUNTER + "." + Status.SKIPPED.awareStatisticsField(),
                isReset ? iSkipped * -1 : iSkipped);
    }/*from  www.  ja va  2  s  .c  om*/
    return updateStatusAware;
}

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

public static Update fromItemStatusAware(final Status status, final int totalCounter, final int statusCounter) {
    Update updateStatusAware = new Update().inc(EXECUTION_COUNTER + ".total", totalCounter);
    Status providedStatus = status != null ? status : Status.FAILED;
    if (providedStatus.awareStatisticsField() != null && !providedStatus.awareStatisticsField().isEmpty()) {
        updateStatusAware = updateStatusAware.inc(EXECUTION_COUNTER + "." + status.awareStatisticsField(),
                statusCounter);/*from www .  ja va  2  s.  c  om*/
    }
    return updateStatusAware;
}

From source file:net.cit.tetrad.rrd.dao.DataAccessObjectForMongoImpl.java

public WriteResult upsertAlarm(Alarm alarm) {
    WriteResult wr = null;// ww w  . j a  va2s . c o m

    try {
        Update update = new Update();
        Query query = new Query(Criteria.where(ALARM_REG_DATE).is(alarm.getReg_date()));
        query.addCriteria(Criteria.where(ALARM_CONFIRM).is(alarm.getConfirm()));
        query.addCriteria(Criteria.where(ALARM_DEVICECODE).is(alarm.getDeviceCode()));
        query.addCriteria(Criteria.where(ALARM_TYPE).is(alarm.getType()));
        query.addCriteria(Criteria.where(ALARM_CRI_TYPE).is(alarm.getCri_type()));
        query.addCriteria(Criteria.where(ALARM_GROUPBIND).is(alarm.getGroupBind()));

        Alarm alarmInfo = readAlarmInfo(query);
        if (alarmInfo == null) {
            int idx = indexDao.createIdx(COLL_ALARM);
            update.set(IDX, idx);
            update.set(ALARM_REG_DATE, alarm.getReg_date());
            update.set(ALARM_REG_TIME, alarm.getReg_time());
        }

        update.set(ALARM_GROUPCODE, alarm.getGroupCode());
        update.set(ALARM_IP, alarm.getIp());
        update.set(ALARM_PORT, alarm.getPort());
        update.set(ALARM_CRI_VALUE, alarm.getCri_value());
        update.set(ALARM_FIGURE, alarm.getFigure());
        update.set(ALARM_REAL_CRI_VALUE, alarm.getReal_cri_value());
        update.set(ALARM_REAL_FIGURE, alarm.getReal_figure());
        update.set(ALARM_UP_DATE, alarm.getUp_date());
        update.set(ALARM_UP_TIME, alarm.getUp_time());
        update.set(ALARM_ALARM, alarm.getAlarm());
        //      update.set(ALARM_GROUPBIND, alarm.getGroupBind());
        update.set(ALARM_SUBLST, alarm.getSubLst());
        update.inc(ALARM_COUNT, 1);

        wr = operations.updateMulti(query, update, COLL_ALARM, true);

    } catch (Exception e) {
        e.printStackTrace();
    }
    return wr;
}