use of io.github.tesla.filter.domain.FilterRuleDO in project tesla by linking12.
the class FilterRuleController method edit.
@RequiresPermissions("filter:rule:edit")
@GetMapping("/edit/{id}")
public String edit(@PathVariable("id") Long id, Model model) {
FilterRuleDO ruleDo = ruleService.get(id);
model.addAttribute("rule", ruleDo);
return prefix + "/edit";
}
use of io.github.tesla.filter.domain.FilterRuleDO in project tesla by linking12.
the class FilterRuleCacheComponent method doCache.
@Override
protected void doCache() {
try {
readWriteLock.writeLock().lock();
COMMUNITY_RULE_CACHE.clear();
URL_RULE_CACHE.clear();
List<FilterRuleDO> filterRuleDOs = rilterRuleDao.list(Maps.newHashMap());
for (FilterRuleDO ruleDO : filterRuleDOs) {
String type = ruleDO.getFilterType().name();
String rule = ruleDO.getRule();
String url = ruleDO.getUrl();
if (StringUtils.isEmpty(url)) {
List<String> rules = COMMUNITY_RULE_CACHE.get(type);
if (rules == null) {
rules = Lists.newLinkedList();
COMMUNITY_RULE_CACHE.put(type, rules);
}
if (StringUtils.contains(rule, LINE_SEPARATOR_UNIX)) {
String[] rulesSplits = StringUtils.split(rule, LINE_SEPARATOR_UNIX);
rules.addAll(Arrays.asList(rulesSplits));
} else if (StringUtils.contains(rule, LINE_SEPARATOR_WINDOWS)) {
String[] rulesSplits = StringUtils.split(rule, LINE_SEPARATOR_UNIX);
rules.addAll(Arrays.asList(rulesSplits));
} else {
rules.add(rule);
}
} else {
Map<String, List<String>> maprules = URL_RULE_CACHE.get(type);
if (maprules == null) {
maprules = Maps.newConcurrentMap();
URL_RULE_CACHE.put(type, maprules);
}
List<String> rules = maprules.get(url);
if (rules == null) {
rules = Lists.newLinkedList();
maprules.put(url, rules);
}
if (StringUtils.contains(rule, LINE_SEPARATOR_UNIX)) {
String[] rulesSplits = StringUtils.split(rule, LINE_SEPARATOR_UNIX);
rules.addAll(Arrays.asList(rulesSplits));
} else if (StringUtils.contains(rule, LINE_SEPARATOR_WINDOWS)) {
String[] rulesSplits = StringUtils.split(rule, LINE_SEPARATOR_UNIX);
rules.addAll(Arrays.asList(rulesSplits));
} else {
rules.add(rule);
}
}
}
} finally {
readWriteLock.writeLock().unlock();
}
}
Aggregations