Skip to content

Commit 472f0ec

Browse files
committed
Reformats schedule classes, adds error messages to tests
Signed-off-by: Clay Downs <[email protected]>
1 parent 0eab490 commit 472f0ec

File tree

4 files changed

+51
-29
lines changed

4 files changed

+51
-29
lines changed

spi/src/main/java/org/opensearch/jobscheduler/spi/schedule/CronSchedule.java

+18-8
Original file line numberDiff line numberDiff line change
@@ -168,12 +168,26 @@ public Boolean runningOnTime(Instant lastExecutionTime) {
168168

169169
@Override
170170
public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException {
171+
return this.scheduleDelay == null ? toXContentNoDelay(builder) : toXContentWithDelay(builder);
172+
}
173+
174+
private XContentBuilder toXContentNoDelay(XContentBuilder builder) throws IOException {
171175
builder.startObject()
172176
.startObject(CRON_FIELD)
173177
.field(EXPRESSION_FIELD, this.expression)
174-
.field(TIMEZONE_FIELD, this.timezone.getId());
175-
if (this.scheduleDelay != null) { builder.field(DELAY_FIELD, this.scheduleDelay); }
176-
builder.endObject()
178+
.field(TIMEZONE_FIELD, this.timezone.getId())
179+
.endObject()
180+
.endObject();
181+
return builder;
182+
}
183+
184+
private XContentBuilder toXContentWithDelay(XContentBuilder builder) throws IOException {
185+
builder.startObject()
186+
.startObject(CRON_FIELD)
187+
.field(EXPRESSION_FIELD, this.expression)
188+
.field(TIMEZONE_FIELD, this.timezone.getId())
189+
.field(DELAY_FIELD, this.scheduleDelay)
190+
.endObject()
177191
.endObject();
178192
return builder;
179193
}
@@ -195,11 +209,7 @@ public boolean equals(Object o) {
195209

196210
@Override
197211
public int hashCode() {
198-
if (scheduleDelay == null) {
199-
return Objects.hash(timezone, expression);
200-
} else {
201-
return Objects.hash(timezone, expression, scheduleDelay);
202-
}
212+
return scheduleDelay == null ? Objects.hash(timezone, expression) : Objects.hash(timezone, expression, scheduleDelay);
203213
}
204214

205215
@Override

spi/src/main/java/org/opensearch/jobscheduler/spi/schedule/IntervalSchedule.java

+20-8
Original file line numberDiff line numberDiff line change
@@ -171,13 +171,28 @@ public Boolean runningOnTime(Instant lastExecutionTime) {
171171

172172
@Override
173173
public XContentBuilder toXContent(XContentBuilder builder, Params params) throws IOException {
174+
return this.scheduleDelay == null ? toXContentNoDelay(builder) : toXContentWithDelay(builder);
175+
}
176+
177+
private XContentBuilder toXContentNoDelay(XContentBuilder builder) throws IOException {
178+
builder.startObject()
179+
.startObject(INTERVAL_FIELD)
180+
.field(START_TIME_FIELD, this.initialStartTime.toEpochMilli())
181+
.field(PERIOD_FIELD, this.interval)
182+
.field(UNIT_FIELD, this.unit)
183+
.endObject()
184+
.endObject();
185+
return builder;
186+
}
187+
188+
private XContentBuilder toXContentWithDelay(XContentBuilder builder) throws IOException {
174189
builder.startObject()
175190
.startObject(INTERVAL_FIELD)
176191
.field(START_TIME_FIELD, this.initialStartTime.toEpochMilli())
177192
.field(PERIOD_FIELD, this.interval)
178-
.field(UNIT_FIELD, this.unit);
179-
if (this.scheduleDelay != null) { builder.field(DELAY_FIELD, this.scheduleDelay); }
180-
builder.endObject()
193+
.field(UNIT_FIELD, this.unit)
194+
.field(DELAY_FIELD, this.scheduleDelay)
195+
.endObject()
181196
.endObject();
182197
return builder;
183198
}
@@ -206,11 +221,8 @@ public boolean equals(Object o) {
206221

207222
@Override
208223
public int hashCode() {
209-
if (scheduleDelay == null) {
210-
return Objects.hash(initialStartTime, interval, unit, intervalInMillis);
211-
} else {
212-
return Objects.hash(initialStartTime, interval, unit, intervalInMillis, scheduleDelay);
213-
}
224+
return scheduleDelay == null ? Objects.hash(initialStartTime, interval, unit, intervalInMillis) :
225+
Objects.hash(initialStartTime, interval, unit, intervalInMillis, scheduleDelay);
214226
}
215227

216228
@Override

spi/src/test/java/org/opensearch/jobscheduler/spi/schedule/CronScheduleTests.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -235,13 +235,13 @@ public void testCronScheduleEqualsAndHashCode() {
235235
CronSchedule cronScheduleFour = new CronSchedule("1 * * * *", ZoneId.of("PST8PDT"), DELAY);
236236
CronSchedule cronScheduleFive = new CronSchedule("1 * * * *", ZoneId.of("PST8PDT"), DELAY);
237237

238-
Assert.assertEquals(cronScheduleOne, cronScheduleTwo);
239-
Assert.assertNotEquals(cronScheduleOne, cronScheduleThree);
240-
Assert.assertEquals(cronScheduleOne.hashCode(), cronScheduleTwo.hashCode());
241-
Assert.assertNotEquals(cronScheduleThree, cronScheduleFour);
242-
Assert.assertNotEquals(cronScheduleThree.hashCode(), cronScheduleFour.hashCode());
243-
Assert.assertEquals(cronScheduleFour, cronScheduleFive);
244-
Assert.assertEquals(cronScheduleFour.hashCode(), cronScheduleFive.hashCode());
238+
Assert.assertEquals("Identical cron schedules were not equal", cronScheduleOne, cronScheduleTwo);
239+
Assert.assertNotEquals("Different cron schedules were called equal", cronScheduleOne, cronScheduleThree);
240+
Assert.assertEquals("Identical cron schedules had different hash codes", cronScheduleOne.hashCode(), cronScheduleTwo.hashCode());
241+
Assert.assertNotEquals("Different cron schedules were called equal", cronScheduleThree, cronScheduleFour);
242+
Assert.assertNotEquals("Different cron schedules had the same hash code", cronScheduleThree.hashCode(), cronScheduleFour.hashCode());
243+
Assert.assertEquals("Identical cron schedules were not equal", cronScheduleFour, cronScheduleFive);
244+
Assert.assertEquals("Identical cron schedules had different hash codes", cronScheduleFour.hashCode(), cronScheduleFive.hashCode());
245245
}
246246

247247
public void testCronScheduleAsStream() throws Exception {

spi/src/test/java/org/opensearch/jobscheduler/spi/schedule/IntervalScheduleTests.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -217,12 +217,12 @@ public void testIntervalScheduleEqualsAndHashCode() {
217217
IntervalSchedule intervalScheduleFour = new IntervalSchedule(Instant.ofEpochMilli(epochMilli), 4, ChronoUnit.MINUTES, 5000);
218218
IntervalSchedule intervalScheduleFive = new IntervalSchedule(Instant.ofEpochMilli(epochMilli), 4, ChronoUnit.MINUTES, 5000);
219219

220-
Assert.assertEquals(intervalScheduleOne, intervalScheduleTwo);
221-
Assert.assertNotEquals(intervalScheduleOne, intervalScheduleThree);
222-
Assert.assertEquals(intervalScheduleOne.hashCode(), intervalScheduleTwo.hashCode());
223-
Assert.assertNotEquals(intervalScheduleOne, intervalScheduleFour);
224-
Assert.assertEquals(intervalScheduleFour, intervalScheduleFive);
225-
Assert.assertEquals(intervalScheduleFour.hashCode(), intervalScheduleFive.hashCode());
220+
Assert.assertEquals("Identical interval schedules were not equal", intervalScheduleOne, intervalScheduleTwo);
221+
Assert.assertNotEquals("Different interval schedules were called equal", intervalScheduleOne, intervalScheduleThree);
222+
Assert.assertEquals("Identical interval schedules had different hash codes", intervalScheduleOne.hashCode(), intervalScheduleTwo.hashCode());
223+
Assert.assertNotEquals("Different interval schedules were called equal", intervalScheduleOne, intervalScheduleFour);
224+
Assert.assertEquals("Identical interval schedules were not equal", intervalScheduleFour, intervalScheduleFive);
225+
Assert.assertEquals("Identical interval schedules had different hash codes", intervalScheduleFour.hashCode(), intervalScheduleFive.hashCode());
226226
}
227227

228228
public void testIntervalScheduleAsStream() throws Exception {

0 commit comments

Comments
 (0)