Skip to content

Commit 50e158c

Browse files
authored
Merge pull request #416 from skyline75489/fix/constraint-npe
Fix NPE when checking cron constraints
2 parents 043d22e + f3d6f4e commit 50e158c

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

src/main/java/com/cronutils/model/definition/CronConstraintsFactory.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,13 @@ public static CronConstraint ensureEitherDayOfWeekOrDayOfMonth() {
5353
@Override
5454
public boolean validate(Cron cron) {
5555
CronField dayOfYearField = cron.retrieve(CronFieldName.DAY_OF_YEAR);
56+
CronField dayOfMonthField = cron.retrieve(CronFieldName.DAY_OF_MONTH);
57+
CronField dayOfWeekField = cron.retrieve(CronFieldName.DAY_OF_WEEK);
5658
if (dayOfYearField == null || dayOfYearField.getExpression() instanceof QuestionMark) {
57-
if (!(cron.retrieve(CronFieldName.DAY_OF_MONTH).getExpression() instanceof QuestionMark)) {
58-
return cron.retrieve(CronFieldName.DAY_OF_WEEK).getExpression() instanceof QuestionMark;
59+
if (dayOfMonthField != null && !(dayOfMonthField.getExpression() instanceof QuestionMark)) {
60+
return dayOfWeekField != null && dayOfWeekField.getExpression() instanceof QuestionMark;
5961
} else {
60-
return !(cron.retrieve(CronFieldName.DAY_OF_WEEK).getExpression() instanceof QuestionMark);
62+
return dayOfWeekField != null && !(dayOfWeekField.getExpression() instanceof QuestionMark);
6163
}
6264
}
6365

0 commit comments

Comments
 (0)