in jobs-service/jobs-service-infinispan/src/main/java/org/kie/kogito/jobs/service/repository/infinispan/marshaller/TriggerMarshaller.java [87:125]
public Trigger readFrom(ProtoStreamReader reader) throws IOException {
String classType = reader.readString(CLASS_TYPE);
Date startTime = fromInstant(reader.readInstant(START_TIME));
Date endTime = fromInstant(reader.readInstant(END_TIME));
Integer repeatLimit = reader.readInt(REPEAT_LIMIT);
Integer repeatCount = reader.readInt(REPEAT_COUNT);
Date nextFireTime = fromInstant(reader.readInstant(NEXT_FIRE_TIME));
Long period = reader.readLong(PERIOD);
String periodUnit = reader.readString(PERIOD_UNIT);
String zoneId = reader.readString(ZONE_ID);
Integer currentRepeatCount = reader.readInt(CURRENT_REPEAT_COUNT);
Boolean endTimeReached = reader.readBoolean(END_TIME_REACHED);
if (SimpleTimerTrigger.class.getName().equals(classType)) {
SimpleTimerTrigger simpleTimerTrigger = new SimpleTimerTrigger();
simpleTimerTrigger.setStartTime(startTime);
simpleTimerTrigger.setPeriod(period);
simpleTimerTrigger.setPeriodUnit(ChronoUnit.valueOf(periodUnit));
simpleTimerTrigger.setRepeatCount(repeatCount);
simpleTimerTrigger.setEndTime(endTime);
simpleTimerTrigger.setZoneId(zoneId);
simpleTimerTrigger.setNextFireTime(nextFireTime);
simpleTimerTrigger.setCurrentRepeatCount(currentRepeatCount);
simpleTimerTrigger.setEndTimeReached(endTimeReached);
return simpleTimerTrigger;
} else if (IntervalTrigger.class.getName().equals(classType)) {
IntervalTrigger intervalTrigger = new IntervalTrigger();
intervalTrigger.setStartTime(startTime);
intervalTrigger.setEndTime(endTime);
intervalTrigger.setRepeatLimit(repeatLimit);
intervalTrigger.setRepeatCount(repeatCount);
intervalTrigger.setNextFireTime(nextFireTime);
intervalTrigger.setPeriod(period);
return intervalTrigger;
} else if (PointInTimeTrigger.class.getName().equals(classType)) {
return nextFireTime != null ? new PointInTimeTrigger(nextFireTime.getTime(), null, null) : null;
}
throw new IOException("Unmarshalling of trigger class: " + classType + " is not supported.");
}