List of usage examples for org.apache.commons.collections MapUtils getBoolean
public static Boolean getBoolean(Map map, Object key, Boolean defaultValue)
From source file:com.ctrip.infosec.rule.util.Emitter.java
/** * ????// w w w. j a v a2 s . co m */ public static void emitBWListResults(RiskFact fact, List<Map<String, String>> bwlistResults) { boolean _isAsync = MapUtils.getBoolean(fact.ext, Constants.key_isAsync, false); if (_isAsync || bwlistResults == null || bwlistResults.isEmpty()) { return; } // ???(?BW) for (Map<String, String> resultMap : bwlistResults) { String ruleType = valueAsString(resultMap, "ruleType"); // String ruleNo = valueAsString(resultMap, "ruleName"); String riskMessage = "???: " + valueAsString(resultMap, "ruleRemark"); // "???: [" + Joiner.on(", ").withKeyValueSeparator(":").useForNull("").join(resultMap) + "]"; int riskLevel = valueAsInt(resultMap, "riskLevel"); if (ruleType.equals(BW)) { if (riskLevel == 0) { fact.finalWhitelistResult.put(Constants.riskLevel, 0); fact.finalWhitelistResult.put(Constants.riskMessage, riskMessage); emit(fact, riskLevel, riskMessage); break; } if (riskLevel == 95) { fact.finalWhitelistResult.put(Constants.riskLevel, 95); fact.finalWhitelistResult.put(Constants.riskMessage, riskMessage); emit(fact, riskLevel, riskMessage); break; } // 97 if (riskLevel >= 90 && riskLevel < 100) { fact.finalWhitelistResult.put(Constants.riskLevel, 97); fact.finalWhitelistResult.put(Constants.riskMessage, riskMessage); emit(fact, riskLevel, riskMessage); } } } // ??? if (fact.finalWhitelistResult.isEmpty() || (fact.finalWhitelistResult.containsKey(Constants.riskLevel) && valueAsInt(fact.finalWhitelistResult, Constants.riskLevel) == 97)) { emitBListResults(fact, bwlistResults); } // ??checkResultLogB???? for (Map<String, String> resultMap : bwlistResults) { String ruleType = valueAsString(resultMap, "ruleType"); String ruleName = valueAsString(resultMap, "ruleName"); String riskMessage = valueAsString(resultMap, "ruleRemark"); String ruleId = valueAsString(resultMap, "ruleID"); int riskLevel = valueAsInt(resultMap, "riskLevel"); if (ruleType.equals(BW) && riskLevel > 0) { Map<String, Object> result = Maps.newHashMap(); result.put(Constants.riskLevel, riskLevel); result.put(Constants.riskMessage, riskMessage); result.put(Constants.ruleType, "B"); result.put(Constants.ruleId, ruleId); result.put(Constants.ruleName, ruleName); fact.whitelistResults.put(ruleId, result); } } }
From source file:com.ctrip.infosec.rule.util.Emitter.java
/** * ????//from w ww. ja va2 s . com */ static void emitBListResults(RiskFact fact, List<Map<String, String>> bwlistResults) { //result: [{"ruleType":"ACCOUNT","ruleID":0,"ruleName":"CREDIT-EXCHANGE","riskLevel":295,"ruleRemark":""}, // {"ruleType":"ACCOUNT","ruleID":0,"ruleName":"CREDIT-EXCHANGE1","riskLevel":80,"ruleRemark":""}] boolean _isAsync = MapUtils.getBoolean(fact.ext, Constants.key_isAsync, false); if (_isAsync) { return; } String orderType = EventBodyUtils.valueAsString(fact.getEventBody(), "orderType"); boolean isAdapterFact = Constants.eventPointsWithScene.contains(fact.eventPoint); boolean isScoreFact = orderType.equals("12"); // if (isAdapterFact) { //? for (Map<String, String> resultMap : bwlistResults) { String ruleType = valueAsString(resultMap, "ruleType"); String ruleNo = valueAsString(resultMap, "ruleName"); String riskMessage = "???: " + valueAsString(resultMap, "ruleRemark"); // "???: [" + Joiner.on(", ").withKeyValueSeparator(":").useForNull("").join(resultMap) + "]"; int riskLevel = valueAsInt(resultMap, "riskLevel"); if (ruleType.equals(ACCOUNT)) { emit(fact, ruleNo, riskLevel, riskMessage, ruleNo); } else if (ruleType.equals(BW) && riskLevel > 100) { emit(fact, "PAYMENT-CONF-LIPIN", 295, riskMessage, "PAYMENT-CONF-LIPIN"); } } } else { // String finalBRuleNo = null; int finalBRiskLevel = 0; String finalBRiskMessage = null; for (Map<String, String> resultMap : bwlistResults) { String ruleType = valueAsString(resultMap, "ruleType"); String ruleNo = valueAsString(resultMap, "ruleName"); String riskMessage = "???: " + valueAsString(resultMap, "ruleRemark"); int riskLevel = valueAsInt(resultMap, "riskLevel"); if (isScoreFact) { //,?ruleType if (riskLevel > finalBRiskLevel) { // finalBRuleNo = ruleNo; finalBRiskLevel = riskLevel; finalBRiskMessage = riskMessage; // "???: [" + Joiner.on(", ").withKeyValueSeparator(":").useForNull("").join(resultMap) + "]"; } } else { //?? //??ruleType = BW if (ruleType.equals(BW)) { if (riskLevel > finalBRiskLevel) { // finalBRuleNo = ruleNo; finalBRiskLevel = riskLevel; finalBRiskMessage = riskMessage; // "???: [" + Joiner.on(", ").withKeyValueSeparator(":").useForNull("").join(resultMap) + "]"; } } } } // 97??195????97 boolean finalWhitelistResultSetted = fact.finalWhitelistResult.containsKey(Constants.riskLevel); int finalWhitelistRiskLevel = valueAsInt(fact.finalWhitelistResult, Constants.riskLevel); if (finalWhitelistRiskLevel == 97 && finalBRiskLevel < 195) { emit(fact, 97, finalBRiskMessage); } else { if (finalBRiskLevel < 200) { emit(fact, finalBRiskLevel, finalBRiskMessage); } else if ((!finalWhitelistResultSetted || finalWhitelistRiskLevel != 0) && finalBRiskLevel >= 200) { emit(fact, finalBRiskLevel, finalBRiskMessage); } } } }
From source file:com.ctrip.infosec.rule.util.Emitter.java
/** * ????/* w ww . j a v a2 s . c o m*/ */ public static void emitLeveldownResult(RiskFact fact, int riskLevel, String riskMessage) { String ruleNo = (String) fact.ext.get(Constants.key_ruleNo); boolean _isAsync = MapUtils.getBoolean(fact.ext, Constants.key_isAsync, false); if (!_isAsync && !Strings.isNullOrEmpty(ruleNo)) { Map<String, Object> result = Maps.newHashMap(); result.put(Constants.riskLevel, riskLevel); result.put(Constants.riskMessage, riskMessage); result.put(Constants.async, _isAsync); result.put(Constants.ruleType, "N"); fact.leveldownResults.put(ruleNo, result); buidFinalResultAfterEmitLeveldownResult(fact, _isAsync); // RuleMonitorHelper.addRiskRuleNo(ruleNo); RuleMonitorHelper.addRiskRuleNo(ruleNo, riskLevel); } }
From source file:com.ctrip.infosec.rule.util.Emitter.java
/** * //w ww .jav a 2 s . c o m */ public static void emitModelResult(RiskFact fact, int riskLevel, String riskMessage) { String ruleNo = (String) fact.ext.get(Constants.key_ruleNo); boolean _isAsync = MapUtils.getBoolean(fact.ext, Constants.key_isAsync, true); if (_isAsync && !Strings.isNullOrEmpty(ruleNo)) { Map<String, Object> result = Maps.newHashMap(); result.put(Constants.riskLevel, riskLevel); result.put(Constants.riskMessage, riskMessage); result.put(Constants.ruleType, "M"); fact.modelResults.put(ruleNo, result); // RuleMonitorHelper.addRiskRuleNo(ruleNo); RuleMonitorHelper.addRiskRuleNo(ruleNo, riskLevel); } }
From source file:org.codehaus.groovy.grails.plugins.searchable.compass.search.DefaultStringQuerySearchableCompassQueryBuilder.java
public CompassQuery buildQuery(GrailsApplication grailsApplication, CompassSession compassSession, Map options, Object query) {//from w w w .java2s . c om Assert.notNull(query, "query cannot be null"); Assert.isInstanceOf(String.class, query, "query must be a String but is [" + query.getClass().getName() + "]"); String analyzer = (String) getOption(ANALYZER_NAMES, options); String parser = (String) getOption(PARSER_NAMES, options); String defaultSearchProperty = (String) getOption(DEFAULT_PROPERTY_NAMES, options); Collection properties = (Collection) getOption(PROPERTIES_NAMES, options); Boolean useAndDefaultOperator = (Boolean) getOption(USE_AND_DEFAULT_OPERATOR_NAMES, options); Boolean escape = MapUtils.getBoolean(options, "escape", Boolean.FALSE); Assert.isTrue(!(properties != null && defaultSearchProperty != null), "The " + DefaultGroovyMethods.join(DEFAULT_PROPERTY_NAMES, "/") + " and " + DefaultGroovyMethods.join(PROPERTIES_NAMES, "/") + " options cannot be combined"); String queryString = (String) query; if (escape.booleanValue()) { queryString = CompassQueryParser.escape(queryString); } CompassQueryBuilder compassQueryBuilder = compassSession.queryBuilder(); CompassQueryBuilder.ToCompassQuery stringBuilder; if (properties != null && !properties.isEmpty()) { stringBuilder = compassQueryBuilder.multiPropertyQueryString(queryString); for (Iterator iter = properties.iterator(); iter.hasNext();) { ((CompassQueryBuilder.CompassMultiPropertyQueryStringBuilder) stringBuilder) .add((String) iter.next()); } } else { stringBuilder = compassQueryBuilder.queryString(queryString); } if (analyzer != null) { InvokerHelper.invokeMethod(stringBuilder, "setAnalyzer", analyzer); } if (parser != null) { InvokerHelper.invokeMethod(stringBuilder, "setQueryParser", parser); } if (defaultSearchProperty != null) { InvokerHelper.invokeMethod(stringBuilder, "setDefaultSearchProperty", defaultSearchProperty); } if (useAndDefaultOperator != null && useAndDefaultOperator.booleanValue()) { InvokerHelper.invokeMethod(stringBuilder, "useAndDefaultOperator", null); } return stringBuilder.toQuery(); }