Skip to content

Commit 1dd37ce

Browse files
committed
fix withSchedule predicate
1 parent 2611bb3 commit 1dd37ce

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

app/aem/core/src/main/java/com/cognifide/apm/core/scripts/ScriptFilters.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import com.cognifide.apm.api.scripts.LaunchMode;
2424
import com.cognifide.apm.api.scripts.Script;
2525
import com.cognifide.apm.api.services.RunModesProvider;
26+
import java.util.Date;
2627
import java.util.Set;
2728
import java.util.function.Predicate;
2829
import org.apache.commons.lang3.StringUtils;
@@ -94,11 +95,14 @@ private static Predicate<Script> withLaunchMode(LaunchMode mode) {
9495
}
9596

9697
private static Predicate<Script> withSchedule() {
97-
return script -> script.getLaunchMode() == LaunchMode.ON_SCHEDULE && script.getLaunchSchedule() != null;
98+
return script -> script.getLaunchMode() == LaunchMode.ON_SCHEDULE
99+
&& script.getLaunchSchedule() != null
100+
&& script.getLaunchSchedule().after(new Date());
98101
}
99102

100103
private static Predicate<Script> withCronExpression() {
101-
return script -> script.getLaunchMode() == LaunchMode.ON_CRON_EXPRESSION && StringUtils.isNotEmpty(script.getLaunchCronExpression());
104+
return script -> script.getLaunchMode() == LaunchMode.ON_CRON_EXPRESSION
105+
&& StringUtils.isNotEmpty(script.getLaunchCronExpression());
102106
}
103107

104108
private static Predicate<Script> enabled() {

app/aem/core/src/main/java/com/cognifide/apm/core/services/ScriptsResourceChangeListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ public void onChange(List<ResourceChange> changes) {
132132
if (onScheduleOrCronExpression(runModesProvider).test(script)) {
133133
registerScript(script, bundleContext);
134134
}
135-
} else if (!Objects.equals(script, registeredScript.script)) {
135+
} else if (!Objects.equals(script, registeredScript.script) || script.getLaunchMode() == LaunchMode.ON_SCHEDULE) {
136136
registeredScript.registration.unregister();
137137
registeredScripts.remove(change.getPath());
138138
if (onScheduleOrCronExpression(runModesProvider).test(script)) {

0 commit comments

Comments
 (0)