add setCaseInsensitive

This commit is contained in:
Looly
2020-03-16 23:19:04 +08:00
parent 3a579171c1
commit 87167a07d0
27 changed files with 296 additions and 217 deletions

View File

@@ -1,14 +1,6 @@
package cn.hutool.cron;
import java.io.Serializable;
import java.util.LinkedHashMap;
import java.util.Map.Entry;
import java.util.TimeZone;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.thread.ExecutorBuilder;
import cn.hutool.core.thread.ThreadFactoryBuilder;
import cn.hutool.core.util.CharUtil;
@@ -23,6 +15,14 @@ import cn.hutool.cron.task.Task;
import cn.hutool.log.StaticLog;
import cn.hutool.setting.Setting;
import java.io.Serializable;
import java.util.LinkedHashMap;
import java.util.Map.Entry;
import java.util.TimeZone;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
/**
* 任务调度器<br>
*
@@ -182,7 +182,7 @@ public class Scheduler implements Serializable {
* @return this
*/
public Scheduler schedule(Setting cronSetting) {
if (CollectionUtil.isNotEmpty(cronSetting)) {
if (CollUtil.isNotEmpty(cronSetting)) {
String group;
for (Entry<String, LinkedHashMap<String, String>> groupedEntry : cronSetting.getGroupedMap().entrySet()) {
group = groupedEntry.getKey();

View File

@@ -1,9 +1,6 @@
package cn.hutool.cron.pattern.matcher;
import java.util.ArrayList;
import java.util.List;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.cron.CronException;
@@ -11,6 +8,9 @@ import cn.hutool.cron.pattern.parser.DayOfMonthValueParser;
import cn.hutool.cron.pattern.parser.ValueParser;
import cn.hutool.cron.pattern.parser.YearValueParser;
import java.util.ArrayList;
import java.util.List;
/**
* {@link ValueMatcher} 构建器,用于构建表达式中每一项的匹配器
* @author Looly
@@ -64,7 +64,7 @@ public class ValueMatcherBuilder {
final List<String> parts = StrUtil.split(value, StrUtil.C_COMMA);
for (String part : parts) {
CollectionUtil.addAllIfNotContains(values, parseStep(part, parser));
CollUtil.addAllIfNotContains(values, parseStep(part, parser));
}
return values;
}
@@ -170,11 +170,7 @@ public class ValueMatcherBuilder {
NumberUtil.appendRange(v1, parser.getMax(), step, results);
NumberUtil.appendRange(parser.getMin(), v2, step, results);
} else {// v1 == v2此时与单值模式一致
if(step > 0) {//类似 20/2的形式
NumberUtil.appendRange(v1, parser.getMax(), step, results);
}else {
results.add(v1);
}
NumberUtil.appendRange(v1, parser.getMax(), step, results);
}
} else {
throw new CronException("Invalid syntax of field: [{}]", value);