public AcctControlItem(String ip,String service){ this.ip = ip; this.service = service; ipMatcher = new StringMatcher(ip); serviceMatcher = new StringMatcher(service); }
@Override public void setBlacklist(String list){ blacklist.clear(); if (StringUtils.isNotEmpty(list)){ String [] bls = list.split(";"); for (String item:bls){ if (StringUtils.isNotEmpty(item)){ blacklist.add(new StringMatcher(item)); } } } }
@Override public void setWhitelist(String list){ whitelist.clear(); if (StringUtils.isNotEmpty(list)){ String [] wls = list.split(";"); for (String item:wls){ if (StringUtils.isNotEmpty(item)){ whitelist.add(new StringMatcher(item)); } } } }
/** * 是否和指定的IP和服务匹配 * @param _ip IP地址,支持*通配符 * @param _service 服务,支持*通配符 * @return 是否匹配 */ public boolean match(String _ip,String _service){ if (ipMatcher == null){ ipMatcher = new StringMatcher(ip); } if (serviceMatcher == null){ serviceMatcher = new StringMatcher(service); } boolean matched = ipMatcher.match(_ip); if (matched){ matched = serviceMatcher.match(_service); } return matched; } }
@Override public List<String> hKeys(String group, String condition) { List<String> result = new ArrayList<String>(); Map<String,String> mapObject = getMapObject(group,false); if (mapObject != null){ if (isConditionValid(condition)){ StringMatcher matcher = new StringMatcher(condition); Iterator<String> iter = mapObject.keySet().iterator(); while (iter.hasNext()){ String key = iter.next(); if (matcher.match(key)){ result.add(key); } } }else{ Iterator<String> iter = mapObject.keySet().iterator(); while (iter.hasNext()){ result.add(iter.next()); } } } return result; }
@Override protected void onConfigure(Element e, Properties p) { super.onConfigure(e, p); pattern = PropertiesConstants.getString(p,"pattern",pattern); matcher = new StringMatcher(pattern); } }
@Override public List<String> sMembers(String group,String condition) { List<String> result = new ArrayList<String>(); Set<String> obj = getSetObject(group,false); if (obj != null){ if (isConditionValid(condition)){ StringMatcher matcher = new StringMatcher(condition); Iterator<String> iter = obj.iterator(); while (iter.hasNext()){ String member = iter.next(); if (matcher.match(member)){ result.add(member); } } }else{ Iterator<String> iter = obj.iterator(); while (iter.hasNext()){ result.add(iter.next()); } } } return result; }
@Override public List<String> sMembers(String group, String condition) { List<String> result = new ArrayList<String>(); Set<String> obj = getSetObject(group,false); if (obj != null){ if (isConditionValid(condition)){ StringMatcher matcher = new StringMatcher(condition); Iterator<String> iter = obj.iterator(); while (iter.hasNext()){ String member = iter.next(); if (matcher.match(member)){ result.add(member); } } }else{ Iterator<String> iter = obj.iterator(); while (iter.hasNext()){ result.add(iter.next()); } } } return result; }
@Override public List<String> hKeys(String group,String condition) { List<String> result = new ArrayList<String>(); Map<String,String> mapObject = getMapObject(group,false); if (mapObject != null){ if (isConditionValid(condition)){ StringMatcher matcher = new StringMatcher(condition); Iterator<String> iter = mapObject.keySet().iterator(); while (iter.hasNext()){ String key = iter.next(); if (matcher.match(key)){ result.add(key); } } }else{ Iterator<String> iter = mapObject.keySet().iterator(); while (iter.hasNext()){ result.add(iter.next()); } } } return result; }
@Override public List<Pair<String, String>> hGetAll(String group, String condition) { List<Pair<String,String>> result = new ArrayList<Pair<String,String>>(); Map<String,String> mapObject = getMapObject(group,false); if (mapObject != null){ if (isConditionValid(condition)){ StringMatcher matcher = new StringMatcher(condition); Iterator<Entry<String,String>> iter = mapObject.entrySet().iterator(); while (iter.hasNext()){ Entry<String,String> entry = iter.next(); if (matcher.match(entry.getKey())){ result.add(new Pair.Default<String, String>(entry.getKey(), entry.getValue())); } } }else{ Iterator<Entry<String,String>> iter = mapObject.entrySet().iterator(); while (iter.hasNext()){ Entry<String,String> entry = iter.next(); result.add(new Pair.Default<String, String>(entry.getKey(), entry.getValue())); } } } return result; }
@Override public List<Pair<String, String>> hGetAll(String group,String condition) { List<Pair<String,String>> result = new ArrayList<Pair<String,String>>(); Map<String,String> mapObject = getMapObject(group,false); if (mapObject != null){ if (isConditionValid(condition)){ StringMatcher matcher = new StringMatcher(condition); Iterator<Entry<String,String>> iter = mapObject.entrySet().iterator(); while (iter.hasNext()){ Entry<String,String> entry = iter.next(); if (matcher.match(entry.getKey())){ result.add(new Pair.Default<String, String>(entry.getKey(), entry.getValue())); } } }else{ Iterator<Entry<String,String>> iter = mapObject.entrySet().iterator(); while (iter.hasNext()){ Entry<String,String> entry = iter.next(); result.add(new Pair.Default<String, String>(entry.getKey(), entry.getValue())); } } } return result; }
StringMatcher matcher = new StringMatcher(condition); Iterator<Entry<String,String>> iterator = all.entrySet().iterator(); while (iterator.hasNext()){
@Override public List<String> sMembers(String group, String condition) { visited(); List<String> all = set.getAll(); List<String> members = new ArrayList<String>(); if (Tool.isConditionValid(condition)){ StringMatcher matcher = new StringMatcher(condition); for (String m:all){ if (Tool.isField(m,group)){ String field = Tool.getField(m); if (matcher.match(field)){ members.add(field); } } } }else{ for (String m:all){ if (Tool.isField(m,group)){ members.add(Tool.getField(m)); } } } return members; }
public void configure(Properties p){ super.configure(p); id = PropertiesConstants.getString(p,"id","$" + getXmlTag(),true); value = PropertiesConstants.getRaw(p,"value",value); matcher = new StringMatcher(PropertiesConstants.getString(p,"pattern", "*",true)); }