use of org.kie.kogito.timer.Trigger in project kogito-apps by kiegroup.
the class JobDetailsMarshaller method readFrom.
@Override
public JobDetails readFrom(ProtoStreamReader reader) throws IOException {
String id = reader.readString("id");
String correlationId = reader.readString("correlationId");
JobStatus status = mapString(reader.readString("status"), JobStatus.class);
ZonedDateTime lastUpdate = instantToZonedDateTime(reader.readInstant("lastUpdate"));
Integer retries = reader.readInt("retries");
Integer priority = reader.readInt("priority");
Integer executionCounter = reader.readInt("executionCounter");
String scheduledId = reader.readString("scheduledId");
// serialize payload
String payload = reader.readString("payload");
Recipient recipient = reader.readObject("recipient", Recipient.class);
Trigger trigger = reader.readObject("trigger", Trigger.class);
JobDetails.Type type = mapString(reader.readString("type"), JobDetails.Type.class);
return JobDetails.builder().id(id).correlationId(correlationId).status(status).lastUpdate(lastUpdate).retries(retries).priority(priority).executionCounter(executionCounter).scheduledId(scheduledId).payload(payload).recipient(recipient).trigger(trigger).type(type).build();
}
use of org.kie.kogito.timer.Trigger in project kogito-apps by kiegroup.
the class TriggerMarshaller method readFrom.
@Override
public Trigger readFrom(ProtoStreamReader reader) throws IOException {
String classType = reader.readString("classType");
Date startTime = fromInstant(reader.readInstant("startTime"));
Date endTime = fromInstant(reader.readInstant("endTime"));
Integer repeatLimit = reader.readInt("repeatLimit");
Integer repeatCount = reader.readInt("repeatCount");
Date nextFireTime = fromInstant(reader.readInstant("nextFireTime"));
Long period = reader.readLong("period");
return Optional.ofNullable(classType).filter(IntervalTrigger.class.getName()::equals).<Trigger>map(c -> {
IntervalTrigger intervalTrigger = new IntervalTrigger();
intervalTrigger.setStartTime(startTime);
intervalTrigger.setEndTime(endTime);
intervalTrigger.setRepeatLimit(repeatLimit);
intervalTrigger.setRepeatCount(repeatCount);
intervalTrigger.setNextFireTime(nextFireTime);
intervalTrigger.setPeriod(period);
return intervalTrigger;
}).orElseGet(() -> Optional.ofNullable(nextFireTime).map(Date::getTime).map(t -> new PointInTimeTrigger(t, null, null)).orElse(null));
}
use of org.kie.kogito.timer.Trigger in project kogito-apps by kiegroup.
the class TriggerMarshallerTest method unmarshallInvalid.
@Test
void unmarshallInvalid() {
Date time = new Date();
JsonObject jsonObject = new JsonObject().put("nextFireTime", time.getTime());
Trigger trigger = marshaller.unmarshall(jsonObject);
assertNull(trigger);
}
use of org.kie.kogito.timer.Trigger in project kogito-apps by kiegroup.
the class TriggerMarshallerTest method unmarshallPointInTimeTriggerAccessor.
@Test
void unmarshallPointInTimeTriggerAccessor() {
Date time = new Date();
JsonObject jsonObject = new JsonObject().put("nextFireTime", time.getTime()).put("classType", PointInTimeTrigger.class.getName());
Trigger trigger = marshaller.unmarshall(jsonObject);
assertEquals(new PointInTimeTrigger(time.getTime(), null, null).toString(), trigger.toString());
}
use of org.kie.kogito.timer.Trigger in project kogito-apps by kiegroup.
the class TriggerMarshallerTest method unmarshallNull.
@Test
void unmarshallNull() {
Trigger trigger = marshaller.unmarshall(null);
assertNull(trigger);
}
Aggregations