Example usage for org.apache.commons.collections MapUtils getLong

List of usage examples for org.apache.commons.collections MapUtils getLong

Introduction

In this page you can find the example usage for org.apache.commons.collections MapUtils getLong.

Prototype

public static Long getLong(final Map map, final Object key) 

Source Link

Document

Gets a Long from a Map in a null-safe manner.

Usage

From source file:com.streamreduce.core.model.Metric.java

@SuppressWarnings("unchecked")
public Metric(Map<String, Object> map) {
    if (map != null) {
        setId((ObjectId) MapUtils.getObject(map, "_id"));
        setAccountId(MapUtils.getString(map, "accountId"));
        setTs(MapUtils.getLong(map, "metricTimestamp"));
        setValue(MapUtils.getLong(map, "metricValue"));
        setGranularity(MapUtils.getLong(map, "metricGranularity"));
        setAgv(MapUtils.getLong(map, "metricAVGY"));
        setAgv(MapUtils.getLong(map, "metricAVGY"));
        setStddev(MapUtils.getLong(map, "metricAVGY"));
        setDiff(MapUtils.getLong(map, "metricAVGY"));
        setMin(MapUtils.getLong(map, "metricAVGY"));
        setMax(MapUtils.getLong(map, "metricAVGY"));
        setAnomaly(MapUtils.getBoolean(map, "metricIsAnomaly"));

        Map<String, String> criteria = (Map<String, String>) map.get("metricCriteria");
        setCriteria(criteria);/* ww w.  j  a v a2s  .c o  m*/
    }
}

From source file:com.navercorp.pinpoint.collector.receiver.thrift.tcp.AgentEventHandler.java

@Async("agentEventWorker")
public void handleEvent(PinpointServer pinpointServer, long eventTimestamp, AgentEventType eventType) {
    Objects.requireNonNull(pinpointServer, "pinpointServer must not be null");
    Objects.requireNonNull(eventType, "pinpointServer must not be null");

    final Map<Object, Object> channelProperties = pinpointServer.getChannelProperties();
    if (MapUtils.isEmpty(channelProperties)) {
        // It can occurs CONNECTED -> RUN_WITHOUT_HANDSHAKE -> CLOSED(UNEXPECTED_CLOSE_BY_CLIENT, ERROR_UNKNOWN)
        logger.warn("maybe not yet received the handshake data - pinpointServer:{}", pinpointServer);
        return;//from  w  w w  .ja v  a2  s.c o m
    }

    final String agentId = MapUtils.getString(channelProperties, HandshakePropertyType.AGENT_ID.getName());
    final long startTimestamp = MapUtils.getLong(channelProperties,
            HandshakePropertyType.START_TIMESTAMP.getName());
    final AgentEventBo agentEventBo = newAgentEventBo(agentId, startTimestamp, eventTimestamp, eventType);
    this.agentEventService.insert(agentEventBo);
}

From source file:com.navercorp.pinpoint.collector.receiver.thrift.tcp.AgentLifeCycleEventHandler.java

@Async("agentEventWorker")
public void handleLifeCycleEvent(PinpointServer pinpointServer, long eventTimestamp,
        AgentLifeCycleState agentLifeCycleState, int eventCounter) {
    Objects.requireNonNull(pinpointServer, "pinpointServer must not be null");
    Objects.requireNonNull(agentLifeCycleState, "agentLifeCycleState must not be null");
    if (eventCounter < 0) {
        throw new IllegalArgumentException("eventCounter may not be negative");
    }//from   w w  w  .  ja  v a2  s. c o  m
    logger.info("Handle lifecycle event - pinpointServer:{}, state:{}", pinpointServer, agentLifeCycleState);

    // TODO
    Map<Object, Object> channelProperties = pinpointServer.getChannelProperties();
    final Integer socketId = MapUtils.getInteger(channelProperties, SOCKET_ID_KEY);
    if (socketId == null) {
        logger.debug("socketId not found, agent does not support life cycle management - pinpointServer:{}",
                pinpointServer);
        return;
    }

    final String agentId = MapUtils.getString(channelProperties, HandshakePropertyType.AGENT_ID.getName());
    final long startTimestamp = MapUtils.getLong(channelProperties,
            HandshakePropertyType.START_TIMESTAMP.getName());
    final long eventIdentifier = createEventIdentifier(socketId, eventCounter);
    final AgentLifeCycleBo agentLifeCycleBo = new AgentLifeCycleBo(agentId, startTimestamp, eventTimestamp,
            eventIdentifier, agentLifeCycleState);

    agentLifeCycleService.insert(agentLifeCycleBo);
}

From source file:com.navercorp.pinpoint.collector.rpc.handler.AgentLifeCycleHandler.java

public void handleLifeCycleEvent(PinpointServer pinpointServer, long eventTimestamp,
        AgentLifeCycleState agentLifeCycleState, int eventCounter) {
    if (pinpointServer == null) {
        throw new NullPointerException("pinpointServer may not be null");
    }/*from  w  w w  .  j  a v a 2s.  c  o m*/
    if (agentLifeCycleState == null) {
        throw new NullPointerException("agentLifeCycleState may not be null");
    }
    if (eventCounter < 0) {
        throw new IllegalArgumentException("eventCounter may not be negative");
    }
    logger.info("handle lifecycle event - pinpointServer:{}, state:{}", pinpointServer, agentLifeCycleState);

    Map<Object, Object> channelProperties = pinpointServer.getChannelProperties();
    final Integer socketId = MapUtils.getInteger(channelProperties, SOCKET_ID_KEY);
    if (socketId == null) {
        logger.debug("socketId not found, agent does not support life cycle management - pinpointServer:{}",
                pinpointServer);
        return;
    }

    final String agentId = MapUtils.getString(channelProperties, HandshakePropertyType.AGENT_ID.getName());
    final long startTimestamp = MapUtils.getLong(channelProperties,
            HandshakePropertyType.START_TIMESTAMP.getName());
    final long eventIdentifier = createEventIdentifier(socketId, eventCounter);

    final AgentLifeCycleBo agentLifeCycleBo = new AgentLifeCycleBo(agentId, startTimestamp, eventTimestamp,
            eventIdentifier, agentLifeCycleState);

    this.executor.execute(new AgentLifeCycleHandlerDispatch(agentLifeCycleBo));

}

From source file:com.navercorp.pinpoint.collector.rpc.handler.AgentEventHandler.java

public void handleEvent(PinpointServer pinpointServer, long eventTimestamp, AgentEventType eventType,
        Object eventMessage) {/*from  w w w. j a v a2s.  c  o  m*/
    if (pinpointServer == null) {
        throw new NullPointerException("pinpointServer may not be null");
    }
    if (eventType == null) {
        throw new NullPointerException("eventType may not be null");
    }

    Map<Object, Object> channelProperties = pinpointServer.getChannelProperties();

    final String agentId = MapUtils.getString(channelProperties, HandshakePropertyType.AGENT_ID.getName());
    final long startTimestamp = MapUtils.getLong(channelProperties,
            HandshakePropertyType.START_TIMESTAMP.getName());

    this.executor.execute(
            new AgentEventHandlerDispatch(agentId, startTimestamp, eventTimestamp, eventType, eventMessage));
}

From source file:com.navercorp.pinpoint.collector.service.AgentEventService.java

void handleEvent(PinpointServer pinpointServer, long eventTimestamp, AgentEventType eventType,
        Object eventMessage) {/*  w w w  .jav  a  2 s. c om*/
    Objects.requireNonNull(pinpointServer, "pinpointServer must not be null");
    Objects.requireNonNull(eventType, "pinpointServer must not be null");

    Map<Object, Object> channelProperties = pinpointServer.getChannelProperties();
    if (MapUtils.isEmpty(channelProperties)) {
        // It can occurs CONNECTED -> RUN_WITHOUT_HANDSHAKE -> CLOSED(UNEXPECTED_CLOSE_BY_CLIENT, ERROR_UNKNOWN)
        logger.warn("maybe not yet received the handshake data - pinpointServer:{}", pinpointServer);
        return;
    }

    final String agentId = MapUtils.getString(channelProperties, HandshakePropertyType.AGENT_ID.getName());
    final long startTimestamp = MapUtils.getLong(channelProperties,
            HandshakePropertyType.START_TIMESTAMP.getName());

    AgentEventBo agentEventBo = newAgentEventBo(agentId, startTimestamp, eventTimestamp, eventType);
    insertEvent(agentEventBo, eventMessage);
}

From source file:com.ctrip.infosec.rule.rabbitmq.RabbitMqMessageHandler.java

public void handleMessage(Object message) throws Exception {
    RiskFact fact = null;//  w ww.  ja v  a2  s . c  om
    String factTxt;
    InternalRiskFact internalRiskFact = null;
    try {

        if (message instanceof byte[]) {
            factTxt = new String((byte[]) message, Constants.defaultCharset);
        } else if (message instanceof String) {
            factTxt = (String) message;
        } else {
            throw new IllegalArgumentException("????\"String\"\"byte[]\"");
        }

        logger.info("MQ: fact=" + factTxt);
        fact = JSON.parseObject((String) factTxt, RiskFact.class);
        Contexts.setAsync(true);
        Contexts.setLogPrefix("[" + fact.eventPoint + "][" + fact.eventId + "] ");
        SarsMonitorContext.setLogPrefix(Contexts.getLogPrefix());

        boolean traceLoggerEnabled = MapUtils.getBoolean(fact.ext, Constants.key_traceLogger, true);
        TraceLogger.enabled(traceLoggerEnabled);

        RuleMonitorHelper.newTrans(fact, RuleMonitorType.CP_ASYNC);

        // ??
        // S0 - ??
        // S1 - ?
        // S2 - ??
        // S3 - 
        // ??GET
        try {
            RuleMonitorHelper.newTrans(fact, RuleMonitorType.GET);
            TraceLogger.beginTrans(fact.eventId, "S3");
            TraceLogger.setLogPrefix("[??]");
            eventDataMergeService.executeRedisGet(fact);
        } finally {
            TraceLogger.commitTrans();
            RuleMonitorHelper.commitTrans(fact);
        }
        // ?            
        try {
            RuleMonitorHelper.newTrans(fact, RuleMonitorType.PRE_RULE_WRAP);
            TraceLogger.beginTrans(fact.eventId, "S3");
            TraceLogger.setLogPrefix("[?]");
            preRulesExecutorService.executePreRules(fact, true);
        } finally {
            TraceLogger.commitTrans();
            RuleMonitorHelper.commitTrans(fact);
        }
        // 
        try {
            RuleMonitorHelper.newTrans(fact, RuleMonitorType.RULE_WRAP);
            TraceLogger.beginTrans(fact.eventId, "S3");
            TraceLogger.setLogPrefix("[]");
            rulesExecutorService.executeAsyncRules(fact);
        } finally {
            TraceLogger.commitTrans();
            RuleMonitorHelper.commitTrans(fact);
        }
        // 
        try {
            RuleMonitorHelper.newTrans(fact, RuleMonitorType.MODEL_RULE_WRAP);
            TraceLogger.beginTrans(fact.eventId, "S3");
            TraceLogger.setLogPrefix("[]");
            modelRulesExecutorService.executeModelRules(fact);
        } finally {
            TraceLogger.commitTrans();
            RuleMonitorHelper.commitTrans(fact);
        }
        // ??
        try {
            RuleMonitorHelper.newTrans(fact, RuleMonitorType.POST_RULE_WRAP);
            TraceLogger.beginTrans(fact.eventId, "S3");
            TraceLogger.setLogPrefix("[??]");
            postRulesExecutorService.executePostRules(fact, true);
        } finally {
            TraceLogger.commitTrans();
            RuleMonitorHelper.commitTrans(fact);
        }
        // ??PUT
        try {
            RuleMonitorHelper.newTrans(fact, RuleMonitorType.PUT);
            TraceLogger.beginTrans(fact.eventId, "S3");
            TraceLogger.setLogPrefix("[??]");
            eventDataMergeService.executeRedisPut(fact);
        } finally {
            TraceLogger.commitTrans();
            RuleMonitorHelper.commitTrans(fact);
        }
        //Counter??
        try {
            RuleMonitorHelper.newTrans(fact, RuleMonitorType.PUSH_WRAP);
            TraceLogger.beginTrans(fact.eventId, "S3");
            TraceLogger.setLogPrefix("[Counter?]");
            counterPushRuleExrcutorService.executeCounterPushRules(fact, true);
        } finally {
            TraceLogger.commitTrans();
            RuleMonitorHelper.commitTrans(fact);
        }

        RuleMonitorHelper.commitTrans(fact);

        // -------------------------------- ? -------------------------------------- //
        beforeInvoke("CardRiskDB.CheckResultLog.saveRuleResult");
        Long riskReqId = MapUtils.getLong(fact.ext, Constants.key_reqId);
        boolean outerReqId = riskReqId != null;
        internalRiskFact = offline4jService.saveForOffline(fact);
        if (internalRiskFact != null && internalRiskFact.getReqId() > 0) {
            riskReqId = internalRiskFact.getReqId();
        }

        // ?
        beforeInvoke("CardRiskDB.CheckResultLog.saveRuleResult");
        try {
            TraceLogger.beginTrans(fact.eventId, "S3");
            TraceLogger.setLogPrefix("[?CheckResultLog]");
            if (riskReqId != null && riskReqId > 0) {
                TraceLogger.traceLog("reqId = " + riskReqId);
                saveRuleResult(riskReqId, fact, fact.whitelistResults, outerReqId);
                saveRuleResult(riskReqId, fact, fact.results, outerReqId);
                saveRuleResult(riskReqId, fact, fact.results4Async, outerReqId);
                saveRuleResult(riskReqId, fact, fact.resultsGroupByScene, outerReqId);
                saveRuleResult(riskReqId, fact, fact.resultsGroupByScene4Async, outerReqId);
            }
        } catch (Exception ex) {
            fault("CardRiskDB.CheckResultLog.saveRuleResult");
            logger.error(
                    Contexts.getLogPrefix()
                            + "?[InfoSecurity_CheckResultLog]?.",
                    ex);
        } finally {
            long usage = afterInvoke("CardRiskDB.CheckResultLog.saveRuleResult");
            TraceLogger.traceLog(": " + usage + "ms");
            TraceLogger.commitTrans();
        }

    } catch (Throwable ex) {
        logger.error(Contexts.getLogPrefix() + "invoke handleMessage exception.", ex);
    } finally {
        if (fact != null) {
            // ??DataDispatcher
            try {
                beforeInvoke("DataDispatcher.sendMessage");
                dispatcherMessageSender.sendToDataDispatcher(fact);
            } catch (Exception ex) {
                fault("DataDispatcher.sendMessage");
                logger.error(Contexts.getLogPrefix() + "send dispatcher message fault.", ex);
            } finally {
                afterInvoke("DataDispatcher.sendMessage");
            }

            int riskLevel = MapUtils.getInteger(fact.finalResult, Constants.riskLevel, 0);
            if (riskLevel > 0) {
                // ??Offline4J
                if (internalRiskFact != null
                        && MapUtils.getBoolean(fact.ext, Offline4jService.PUSH_OFFLINE_WORK_ORDER_KEY, false)) {
                    beforeInvoke("Offline.sendMessage");
                    try {
                        Object eventObj = riskEventConvertor.convert(internalRiskFact, riskLevel,
                                HeaderMappingBizType.Offline4J);
                        offlineMessageSender.sendToOffline(eventObj);
                    } catch (Exception ex) {
                        fault("Offline.sendMessage");
                        logger.error(Contexts.getLogPrefix() + "send Offline4J message fault.", ex);
                    } finally {
                        afterInvoke("Offline.sendMessage");
                    }
                }
            }

            try {

                //??factresults0?
                boolean withScene = Constants.eventPointsWithScene.contains(fact.eventPoint);
                if (!withScene) {
                    //?
                    for (Entry<String, Map<String, Object>> entry : fact.results.entrySet()) {
                        String ruleNo = entry.getKey();
                        int rLevel = NumberUtils
                                .toInt(MapUtils.getString(entry.getValue(), Constants.riskLevel));
                        if (rLevel > 0) {
                            //??
                            String distinct = getDistinctValue(fact, ruleNo);
                            RuleMonitorRepository.increaseCounter(fact.getEventPoint(), ruleNo, distinct);
                        }
                    }
                    for (Entry<String, Map<String, Object>> entry : fact.results4Async.entrySet()) {
                        String ruleNo = entry.getKey();
                        int rLevel = NumberUtils
                                .toInt(MapUtils.getString(entry.getValue(), Constants.riskLevel));
                        if (rLevel > 0) {
                            //??
                            String distinct = getDistinctValue(fact, ruleNo);
                            RuleMonitorRepository.increaseCounter(fact.getEventPoint(), ruleNo, distinct);
                        }
                    }
                } else {
                    //
                    for (Entry<String, Map<String, Object>> entry : fact.resultsGroupByScene.entrySet()) {
                        String ruleNo = entry.getKey();
                        int rLevel = NumberUtils
                                .toInt(MapUtils.getString(entry.getValue(), Constants.riskLevel));
                        if (rLevel > 0) {
                            //                                RuleMonitorRepository.increaseCounter(fact.getEventPoint(), ruleNo);
                            //??
                            String distinct = getDistinctValue(fact, ruleNo);
                            RuleMonitorRepository.increaseCounter(fact.getEventPoint(), ruleNo, distinct);
                        }
                    }
                    for (Entry<String, Map<String, Object>> entry : fact.resultsGroupByScene4Async.entrySet()) {
                        String ruleNo = entry.getKey();
                        int rLevel = NumberUtils
                                .toInt(MapUtils.getString(entry.getValue(), Constants.riskLevel));
                        if (rLevel > 0) {
                            //                                RuleMonitorRepository.increaseCounter(fact.getEventPoint(), ruleNo);
                            //??
                            String distinct = getDistinctValue(fact, ruleNo);
                            RuleMonitorRepository.increaseCounter(fact.getEventPoint(), ruleNo, distinct);
                        }
                    }
                }

            } catch (Exception ex) {
                logger.error(Contexts.getLogPrefix() + "RuleMonitorRepository increaseCounter fault.", ex);
            }

        }
    }
}

From source file:com.ctrip.infosec.rule.rabbitmq.RabbitMqMessageHandler.java

private void saveRuleResult(Long riskReqId, RiskFact fact, Map<String, Map<String, Object>> results,
        boolean outerReqId) throws DbExecuteException {
    String eventPoint = fact.eventPoint;
    Long orderId = ValueExtractUtils.extractLongIgnoreCase(fact.eventBody, "orderId");
    Integer orderType = ValueExtractUtils.extractIntegerIgnoreCase(fact.eventBody, "orderType");
    Integer subOrderType = ValueExtractUtils.extractIntegerIgnoreCase(fact.eventBody, "subOrderType");
    RdbmsInsert insert = new RdbmsInsert();
    DistributionChannel channel = new DistributionChannel();
    channel.setChannelNo(RiskFactPersistStrategy.allInOne4ReqId);
    channel.setDatabaseType(DatabaseType.AllInOne_SqlServer);
    channel.setChannelDesc(RiskFactPersistStrategy.allInOne4ReqId);
    channel.setDatabaseURL(RiskFactPersistStrategy.allInOne4ReqId);
    insert.setChannel(channel);/* w w w. j  a v  a 2 s. c o m*/

    /**
     * [LogID] =  [ReqID] [RuleType] [RuleID] = 0 [RuleName] [RiskLevel]
     * [RuleRemark] [CreateDate] = now [DataChange_LastTime] = now
     * [IsHighlight] = 1
     */
    if (MapUtils.isNotEmpty(results)) {
        for (Entry<String, Map<String, Object>> entry : results.entrySet()) {
            try {
                Long riskLevel = MapUtils.getLong(entry.getValue(), Constants.riskLevel);
                if (riskLevel > 0) {
                    String ruleType = (String) entry.getValue().get(Constants.ruleType);//withScene ? (isAsync ? "SA" : "S") : (isAsync ? "NA" : "N");
                    TraceLogger.traceLog(
                            "[" + entry.getKey() + "] riskLevel = " + riskLevel + ", ruleType = " + ruleType);
                    insert.setTable("RiskControl_CheckResultLog");
                    insert.setColumnPropertiesMap(prepareRiskControlCheckResultLog(riskReqId, ruleType, entry,
                            riskLevel, eventPoint, orderId, orderType, subOrderType));
                    execute(insert);
                    if ("B".equals(ruleType) || "N".equals(ruleType)) {
                        insert.setTable("InfoSecurity_CheckResultLog");
                        insert.setColumnPropertiesMap(
                                prepareInfoSecurityCheckResultLog(riskReqId, ruleType, entry, riskLevel));
                        execute(insert);
                    }
                }
            } catch (Exception e) {
                logger.error(Contexts.getLogPrefix() + "save InfoSecurity_CheckResultLog failed. reqId="
                        + riskReqId + ", result=" + entry, e);
            }
        }
    }
}

From source file:org.kuali.kpme.core.role.proxy.service.WorkAreaProxyDerivedRoleTypeServiceImpl.java

@Override
public boolean performMatch(Map<String, String> inputAttributes, Map<String, String> storedAttributes) {
    boolean matches = false;

    Long inputWorkArea;/*  w ww.j av  a2 s  .co  m*/
    if (StringUtils.equals(
            MapUtils.getString(inputAttributes, KPMERoleMemberAttribute.WORK_AREA.getRoleMemberAttributeName()),
            "%")) {
        inputWorkArea = HrConstants.WILDCARD_LONG;
    } else {
        inputWorkArea = MapUtils.getLong(inputAttributes,
                KPMERoleMemberAttribute.WORK_AREA.getRoleMemberAttributeName());
    }
    Long storedWorkArea = MapUtils.getLong(storedAttributes,
            KPMERoleMemberAttribute.WORK_AREA.getRoleMemberAttributeName());

    if (storedWorkArea != null) {
        matches = ObjectUtils.equals(inputWorkArea, storedWorkArea)
                || ObjectUtils.equals(inputWorkArea, HrConstants.WILDCARD_LONG);
    }

    return matches;
}

From source file:org.kuali.kpme.core.service.role.KPMERoleServiceImpl.java

@Override
public List<Long> getWorkAreasForPrincipalInRoles(String principalId, List<String> roleIds, DateTime asOfDate,
        boolean isActiveOnly) {
    Set<Long> workAreas = new HashSet<Long>();

    // iterate through the role ids getting the work areas for each one
    for (String roleId : roleIds) {
        // get the role for the role id from the role service
        Role role = getRoleService().getRole(roleId);
        if (role != null) {
            String roleName = role.getName();
            String namespaceCode = role.getNamespaceCode();

            Map<String, String> qualifiers = new HashMap<String, String>();
            // empty qualifier map will match any attribute in the predicate query, i.e. will work like wildcarded entries
            List<Map<String, String>> roleQualifiers = new ArrayList<Map<String, String>>();
            List<RoleMember> principalAndGroupRoleMembers = getRoleMembers(namespaceCode, roleName, qualifiers,
                    asOfDate, isActiveOnly);
            for (RoleMember roleMember : principalAndGroupRoleMembers) {
                // check for principals or groups
                if (MemberType.PRINCIPAL.equals(roleMember.getType())) {
                    if (roleMember.getMemberId().equals(principalId)) {
                        roleQualifiers.add(roleMember.getAttributes());
                    }//  w w  w .j a  v  a  2  s  .c o  m
                } else if (MemberType.GROUP.equals(roleMember.getType())) {
                    // query the helper to see if the principal is a member of this nested member group
                    Group nestedGroup = getGroupService().getGroup(roleMember.getMemberId());
                    if (getRoleServiceHelper().isMemberOfGroup(principalId, nestedGroup, asOfDate,
                            isActiveOnly)) {
                        roleQualifiers.add(roleMember.getAttributes());
                    }
                }
            }

            for (Map<String, String> roleQualifier : roleQualifiers) {
                Long workArea = MapUtils.getLong(roleQualifier,
                        KPMERoleMemberAttribute.WORK_AREA.getRoleMemberAttributeName());
                if (workArea != null) {
                    workAreas.add(workArea);
                }
            }
        }
    }

    List<String> departments = getDepartmentsForPrincipalInRoles(principalId, roleIds, asOfDate, isActiveOnly);
    workAreas.addAll(getWorkAreaService().getWorkAreasForDepartments(departments, asOfDate.toLocalDate()));

    return new ArrayList<Long>(workAreas);
}