Skip to content

Commit 8a68747

Browse files
committed
quartz: code cleanup + refactor
- ref jooby-project#3099
1 parent 728976d commit 8a68747

1 file changed

Lines changed: 20 additions & 19 deletions

File tree

modules/jooby-quartz/src/main/java/io/jooby/internal/quartz/JobGenerator.java

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ private static Trigger trigger(final Config config, final Class<? extends Job> j
175175
private static Trigger newTrigger(
176176
final Config config, final Scheduled scheduled, final JobKey key) {
177177
ScheduledValue value = eval(key, config, scheduled.value());
178-
if (scheduled.calendar().length() > 0) {
178+
if (!scheduled.calendar().isEmpty()) {
179179
value.calendar = scheduled.calendar().trim();
180180
}
181181
value.priority = scheduled.priority();
@@ -189,14 +189,14 @@ public static Trigger newTrigger(final Config config, final String expr, final J
189189

190190
private static Trigger newTrigger(final JobKey key, final ScheduledValue value) {
191191
// almost there
192-
TriggerBuilder builder;
192+
TriggerBuilder<? extends Trigger> builder;
193193
if (value.cron != null) {
194194
// cron
195195
builder =
196196
TriggerBuilder.newTrigger()
197197
.withSchedule(misfire(value.misfire, CronScheduleBuilder.cronSchedule(value.cron)))
198198
.withDescription(cron(value.cron))
199-
.withIdentity(TriggerKey.triggerKey(key.getName() + "Trigger", key.getGroup()));
199+
.withIdentity(toTriggerKey(key));
200200
} else {
201201
SimpleScheduleBuilder sb =
202202
SimpleScheduleBuilder.simpleSchedule().withIntervalInMilliseconds(value.interval);
@@ -209,7 +209,7 @@ private static Trigger newTrigger(final JobKey key, final ScheduledValue value)
209209
builder =
210210
TriggerBuilder.newTrigger()
211211
.withSchedule(misfire(value.misfire, sb))
212-
.withIdentity(TriggerKey.triggerKey(key.getName() + "Trigger", key.getGroup()))
212+
.withIdentity(toTriggerKey(key))
213213
.forJob(key)
214214
.withDescription(interval(value.interval, (int) value.repeat));
215215
if (value.delay > 0) {
@@ -222,6 +222,10 @@ private static Trigger newTrigger(final JobKey key, final ScheduledValue value)
222222
return builder.withPriority(value.priority).build();
223223
}
224224

225+
private static TriggerKey toTriggerKey(JobKey key) {
226+
return TriggerKey.triggerKey(key.getName() + "Trigger", key.getGroup());
227+
}
228+
225229
private static ScheduledValue eval(final JobKey key, final Config config, final String expr) {
226230
// full expression with possible delay and repeat values
227231
return (ScheduledValue)
@@ -231,27 +235,24 @@ private static ScheduledValue eval(final JobKey key, final Config config, final
231235
(values, resolved) -> {
232236
ScheduledValue value = new ScheduledValue();
233237
if (resolved instanceof Long) {
234-
value.interval = ((Long) resolved).longValue();
238+
value.interval = (Long) resolved;
235239
} else {
236240
value.cron = (String) resolved;
237241
}
238242
// attributes
239243
for (int i = 1; i < values.length; i++) {
240244
String[] attr = values[i].split("=");
241-
if ("delay".equals(attr[0].trim())) {
242-
value.delay = (Long) eval(config, attr[1], (v, r) -> r);
243-
} else if ("repeat".equals(attr[0].trim())) {
244-
if (!"*".equals(attr[1].trim())) {
245-
value.repeat = (Long) eval(config, attr[1], (v, r) -> r);
245+
switch (attr[0].trim()) {
246+
case "delay" -> value.delay = (Long) eval(config, attr[1], (v, r) -> r);
247+
case "repeat" -> {
248+
if (!"*".equals(attr[1].trim())) {
249+
value.repeat = (Long) eval(config, attr[1], (v, r) -> r);
250+
}
246251
}
247-
} else if ("priority".equals(attr[0].trim())) {
248-
value.priority = Integer.parseInt(attr[1].trim());
249-
} else if ("calendar".equals(attr[0].trim())) {
250-
value.calendar = attr[1].trim();
251-
} else if ("misfire".equals(attr[0].trim())) {
252-
value.misfire = Integer.parseInt(attr[1].trim());
253-
} else {
254-
throw new IllegalArgumentException(
252+
case "priority" -> value.priority = Integer.parseInt(attr[1].trim());
253+
case "calendar" -> value.calendar = attr[1].trim();
254+
case "misfire" -> value.misfire = Integer.parseInt(attr[1].trim());
255+
default -> throw new IllegalArgumentException(
255256
"Unknown attribute: " + attr[0] + " at " + key);
256257
}
257258
}
@@ -321,7 +322,7 @@ private static void interval(StringBuilder buff, long value, String unit) {
321322
buff.append(value).append(" ").append(unit);
322323
} else {
323324
if (unit.length() > 2) {
324-
buff.append(unit.substring(0, unit.length() - 1));
325+
buff.append(unit, 0, unit.length() - 1);
325326
} else {
326327
buff.append(value).append(" ").append(unit);
327328
}

0 commit comments

Comments
 (0)