@Override public TimerInstanceSummary apply(TimerInstance timerInstance) { if (timerInstance == null) { return null; } TimerInstanceSummary summary = new TimerInstanceSummary(); summary.setId(timerInstance.getId()); summary.setTimerId(timerInstance.getTimerId()); summary.setName(timerInstance.getTimerName()); summary.setProcessInstanceId(timerInstance.getProcessInstanceId()); summary.setActivationTime(timerInstance.getActivationTime()); summary.setDelay(timerInstance.getDelay()); summary.setLastFireTime(timerInstance.getLastFireTime()); summary.setNextFireTime(timerInstance.getNextFireTime()); summary.setPeriod(timerInstance.getPeriod()); summary.setRepeatLimit(timerInstance.getRepeatLimit()); return summary; } }
@Test(timeout = 60 * 1000) public void testUpdateTimer() throws Exception { Map<String, Object> parameters = new HashMap<>(); parameters.put("timer", "1h"); Long processInstanceId = processClient.startProcess(CONTAINER_ID, PROCESS_ID_TIMER, parameters); assertNotNull(processInstanceId); assertTrue(processInstanceId.longValue() > 0); try { List<TimerInstance> timers = processAdminClient.getTimerInstances(CONTAINER_ID, processInstanceId); assertNotNull(timers); assertEquals(1, timers.size()); TimerInstance timerInstance = timers.get(0); assertNotNull(timerInstance); assertEquals("timer", timerInstance.getTimerName()); assertNotNull(timerInstance.getId()); assertNotNull(timerInstance.getTimerId()); processAdminClient.updateTimer(CONTAINER_ID, processInstanceId, timerInstance.getId(), 3, 0, 0); KieServerSynchronization.waitForProcessInstanceToFinish(processClient, CONTAINER_ID, processInstanceId); ProcessInstance pi = processClient.getProcessInstance(CONTAINER_ID, processInstanceId); assertNotNull(pi); assertEquals(org.kie.api.runtime.process.ProcessInstance.STATE_COMPLETED, pi.getState().intValue()); } catch (Exception e){ processClient.abortProcessInstance(CONTAINER_ID, processInstanceId); fail(e.getMessage()); } }
@Test public void testGetProcessInstanceTimerInstances() { ProcessInstanceKey instanceKey = new ProcessInstanceKey(serverTemplateId, containerId, processInstanceId); List<TimerInstance> timerInstances = Arrays.asList(TimerInstance.builder().id(1l).timerId(0l).timerName("timer1").period(2l).delay(1).build(), TimerInstance.builder().id(2l).timerId(1l).timerName("time2").period(1l).delay(2).build()); when(processAdminServicesClient.getTimerInstances(containerId, processInstanceId)).thenReturn(timerInstances); List<TimerInstanceSummary> timers = service.getProcessInstanceTimerInstances(instanceKey); assertThat(timers).hasSize(2).containsExactly(TimerInstanceSummary.builder().withId(1l).withTimerId(0l).withName("timer1").withPeriod(2l).withDelay(1l).build(), TimerInstanceSummary.builder().withId(2l).withTimerId(1l).withName("time2").withPeriod(1l).withDelay(2l).build()); }
@Test(timeout = 60 * 1000) public void testUpdateTimerRelative() throws Exception { Map<String, Object> parameters = new HashMap<>(); parameters.put("timer", "1h"); Long processInstanceId = processClient.startProcess(CONTAINER_ID, PROCESS_ID_TIMER, parameters); assertNotNull(processInstanceId); assertTrue(processInstanceId.longValue() > 0); try { List<TimerInstance> timers = processAdminClient.getTimerInstances(CONTAINER_ID, processInstanceId); assertNotNull(timers); assertEquals(1, timers.size()); TimerInstance timerInstance = timers.get(0); assertNotNull(timerInstance); assertEquals("timer", timerInstance.getTimerName()); assertNotNull(timerInstance.getId()); assertNotNull(timerInstance.getTimerId()); processAdminClient.updateTimerRelative(CONTAINER_ID, processInstanceId, timerInstance.getId(), 3, 0, 0); KieServerSynchronization.waitForProcessInstanceToFinish(processClient, CONTAINER_ID, processInstanceId); ProcessInstance pi = processClient.getProcessInstance(CONTAINER_ID, processInstanceId); assertNotNull(pi); assertEquals(org.kie.api.runtime.process.ProcessInstance.STATE_COMPLETED, pi.getState().intValue()); } catch (Exception e){ processClient.abortProcessInstance(CONTAINER_ID, processInstanceId); fail(e.getMessage()); } }
@Test public void testGetProcessInstanceTimerInstances() { ProcessInstanceKey instanceKey = new ProcessInstanceKey(serverTemplateId, containerId, processInstanceId); List<TimerInstance> timerInstances = Arrays.asList(TimerInstance.builder().id(1l).timerId(0l).timerName("timer1").period(2l).delay(1).build(), TimerInstance.builder().id(2l).timerId(1l).timerName("time2").period(1l).delay(2).build()); when(processAdminServicesClient.getTimerInstances(containerId, processInstanceId)).thenReturn(timerInstances); List<TimerInstanceSummary> timers = service.getProcessInstanceTimerInstances(instanceKey); assertThat(timers).hasSize(2).containsExactly(TimerInstanceSummary.builder().withId(1l).withTimerId(0l).withName("timer1").withPeriod(2l).withDelay(1l).build(), TimerInstanceSummary.builder().withId(2l).withTimerId(1l).withName("time2").withPeriod(1l).withDelay(2l).build()); }
@Override public TimerInstanceSummary apply(TimerInstance timerInstance) { if (timerInstance == null) { return null; } TimerInstanceSummary summary = new TimerInstanceSummary(); summary.setId(timerInstance.getId()); summary.setTimerId(timerInstance.getTimerId()); summary.setName(timerInstance.getTimerName()); summary.setProcessInstanceId(timerInstance.getProcessInstanceId()); summary.setActivationTime(timerInstance.getActivationTime()); summary.setDelay(timerInstance.getDelay()); summary.setLastFireTime(timerInstance.getLastFireTime()); summary.setNextFireTime(timerInstance.getNextFireTime()); summary.setPeriod(timerInstance.getPeriod()); summary.setRepeatLimit(timerInstance.getRepeatLimit()); return summary; } }
@Test public void testTimerInstanceSummary() { TimerInstance ti = TimerInstance.builder() .id(1l) .timerId(0l) .timerName("timer") .activationTime(new Date()) .delay(2l) .nextFireTime(new Date()) .lastFireTime(new Date()) .repeatLimit(10) .period(3l) .processInstanceId(4l) .build(); assertTimerInstanceSummary(ti, new TimerInstanceSummaryMapper().apply(ti)); }
public static void assertTimerInstanceSummary(final TimerInstance ti, final TimerInstanceSummary ts) { assertNotNull(ts); assertEquals(ti.getId(), ts.getId().longValue()); assertEquals(ti.getTimerId(), ts.getTimerId().longValue()); assertEquals(ti.getTimerName(), ts.getName()); assertEquals(ti.getActivationTime(), ts.getActivationTime()); assertEquals(ti.getLastFireTime(), ts.getLastFireTime()); assertEquals(ti.getNextFireTime(), ts.getNextFireTime()); assertEquals(ti.getDelay(), ts.getDelay().longValue()); assertEquals(ti.getPeriod(), ts.getPeriod().longValue()); assertEquals(ti.getRepeatLimit(), ts.getRepeatLimit().intValue()); assertEquals(ti.getProcessInstanceId(), ts.getProcessInstanceId().longValue()); }
@Test public void testTimerInstanceSummary() { TimerInstance ti = TimerInstance.builder() .id(1l) .timerId(0l) .timerName("timer") .activationTime(new Date()) .delay(2l) .nextFireTime(new Date()) .lastFireTime(new Date()) .repeatLimit(10) .period(3l) .processInstanceId(4l) .build(); assertTimerInstanceSummary(ti, new TimerInstanceSummaryMapper().apply(ti)); }
public static void assertTimerInstanceSummary(final TimerInstance ti, final TimerInstanceSummary ts) { assertNotNull(ts); assertEquals(ti.getId(), ts.getId().longValue()); assertEquals(ti.getTimerId(), ts.getTimerId().longValue()); assertEquals(ti.getTimerName(), ts.getName()); assertEquals(ti.getActivationTime(), ts.getActivationTime()); assertEquals(ti.getLastFireTime(), ts.getLastFireTime()); assertEquals(ti.getNextFireTime(), ts.getNextFireTime()); assertEquals(ti.getDelay(), ts.getDelay().longValue()); assertEquals(ti.getPeriod(), ts.getPeriod().longValue()); assertEquals(ti.getRepeatLimit(), ts.getRepeatLimit().intValue()); assertEquals(ti.getProcessInstanceId(), ts.getProcessInstanceId().longValue()); }
protected org.kie.server.api.model.admin.TimerInstance convertTimerInstance(TimerInstance timerInstance) { if (timerInstance == null) { return null; } org.kie.server.api.model.admin.TimerInstance timerInstanceConverted = org.kie.server.api.model.admin.TimerInstance.builder() .activationTime(timerInstance.getActivationTime()) .delay(timerInstance.getDelay()) .lastFireTime(timerInstance.getLastFireTime()) .nextFireTime(timerInstance.getNextFireTime()) .period(timerInstance.getPeriod()) .processInstanceId(timerInstance.getProcessInstanceId()) .repeatLimit(timerInstance.getRepeatLimit()) .sessionId(timerInstance.getSessionId()) .id(timerInstance.getId()) .timerId(timerInstance.getTimerId()) .timerName(timerInstance.getTimerName()) .build(); return timerInstanceConverted; }
List<TimerInstance> timerInstances = Arrays.asList(TimerInstance.builder().id(1l).timerId(1l).timerName("timer1").processInstanceId(processInstanceId).repeatLimit(1).period(2l).delay(1).build(), TimerInstance.builder().id(2l).timerId(2l).timerName("time2").processInstanceId(processInstanceId).repeatLimit(1).period(1l).delay(2).build());
List<TimerInstance> timerInstances = Arrays.asList(TimerInstance.builder().id(1l).timerId(1l).timerName("timer1").processInstanceId(processInstanceId).repeatLimit(1).period(2l).delay(1).build(), TimerInstance.builder().id(2l).timerId(2l).timerName("time2").processInstanceId(processInstanceId).repeatLimit(1).period(1l).delay(2).build());