@Test public void testSetDeadlinesNotStartedReassign() { WorkItem workItem = new WorkItemImpl(); workItem.setParameter("NotStartedReassign", "[users:john]@[4h]"); @SuppressWarnings("unchecked") Deadlines deadlines = HumanTaskHandlerHelper.setDeadlines(workItem.getParameters(), Collections.EMPTY_LIST, null); assertNotNull(deadlines); assertEquals(1, deadlines.getStartDeadlines().size()); assertEquals(0, deadlines.getEndDeadlines().size()); assertEquals(1, deadlines.getStartDeadlines().get(0).getEscalations().size()); assertEquals(1, deadlines.getStartDeadlines().get(0).getEscalations().get(0).getReassignments().size()); assertEquals(0, deadlines.getStartDeadlines().get(0).getEscalations().get(0).getNotifications().size()); // verify reassignment Reassignment reassignment = deadlines.getStartDeadlines().get(0).getEscalations().get(0).getReassignments().get(0); assertEquals(1, reassignment.getPotentialOwners().size()); assertEquals("john", reassignment.getPotentialOwners().get(0).getId()); // check deadline expiration time assertNotNull(deadlines.getStartDeadlines().get(0).getDate()); long expirationTime = deadlines.getStartDeadlines().get(0).getDate().getTime() - System.currentTimeMillis(); assertEquals(4, roundExpirationTime(expirationTime)); }
public static List<Escalation> readEscalationList(ObjectInput in) throws IOException, ClassNotFoundException { int size = in.readInt(); List<Escalation> list = new ArrayList<Escalation>(size); for ( int i = 0; i < size; i++ ) { Escalation item = new EscalationImpl(); item.readExternal( in ); list.add( item ); } return list; }
escalations.add(escalation); escalation.setName("Default escalation"); escalation.setReassignments(parseReassignment(actionComponent)); escalation.setNotifications(parseNotifications(actionComponent, businessAdministrators));
taskEventSupport.fireBeforeTaskNotified(task, ctx); for (Escalation escalation : deadline.getEscalations()) { for (Notification notification : escalation.getNotifications()) { if (notification.getNotificationType() == NotificationType.Email) { logger.debug("Sending an Email");
public static void writeEscalationList(List<Escalation> list, ObjectOutput out) throws IOException { out.writeInt( list.size() ); for( Escalation item : list ) { item.writeExternal( out ); } }
public static void writeEscalationList(List<Escalation> list, ObjectOutput out) throws IOException { out.writeInt( list.size() ); for( Escalation item : list ) { item.writeExternal( out ); } }
@Test public void testSetDeadlinesNotCompletedReassign() { WorkItem workItem = new WorkItemImpl(); workItem.setParameter("NotCompletedReassign", "[users:john]@[4h]"); @SuppressWarnings("unchecked") Deadlines deadlines = HumanTaskHandlerHelper.setDeadlines(workItem.getParameters(), Collections.EMPTY_LIST, null); assertNotNull(deadlines); assertEquals(1, deadlines.getEndDeadlines().size()); assertEquals(0, deadlines.getStartDeadlines().size()); assertEquals(1, deadlines.getEndDeadlines().get(0).getEscalations().size()); assertEquals(1, deadlines.getEndDeadlines().get(0).getEscalations().get(0).getReassignments().size()); assertEquals(0, deadlines.getEndDeadlines().get(0).getEscalations().get(0).getNotifications().size()); // verify reassignment Reassignment reassignment = deadlines.getEndDeadlines().get(0).getEscalations().get(0).getReassignments().get(0); assertEquals(1, reassignment.getPotentialOwners().size()); assertEquals("john", reassignment.getPotentialOwners().get(0).getId()); // check deadline expiration time assertNotNull(deadlines.getEndDeadlines().get(0).getDate()); long expirationTime = deadlines.getEndDeadlines().get(0).getDate().getTime() - System.currentTimeMillis(); assertEquals(4, roundExpirationTime(expirationTime)); }
public static List<Escalation> readEscalationList(ObjectInput in) throws IOException, ClassNotFoundException { int size = in.readInt(); List<Escalation> list = new ArrayList<Escalation>(size); for ( int i = 0; i < size; i++ ) { Escalation item = new EscalationImpl(); item.readExternal( in ); list.add( item ); } return list; }
@Test //JBPM-4291 public void testSetDeadlinesNotCompletedReassignWithGroups() { WorkItem workItem = new WorkItemImpl(); workItem.setParameter("NotCompletedReassign", "[users:john|groups:sales]@[4h]"); @SuppressWarnings("unchecked") Deadlines deadlines = HumanTaskHandlerHelper.setDeadlines(workItem.getParameters(), Collections.EMPTY_LIST, null); assertNotNull(deadlines); assertEquals(1, deadlines.getEndDeadlines().size()); assertEquals(0, deadlines.getStartDeadlines().size()); assertEquals(1, deadlines.getEndDeadlines().get(0).getEscalations().size()); assertEquals(1, deadlines.getEndDeadlines().get(0).getEscalations().get(0).getReassignments().size()); assertEquals(0, deadlines.getEndDeadlines().get(0).getEscalations().get(0).getNotifications().size()); // verify reassignment Reassignment reassignment = deadlines.getEndDeadlines().get(0).getEscalations().get(0).getReassignments().get(0); assertEquals(2, reassignment.getPotentialOwners().size()); assertEquals("john", reassignment.getPotentialOwners().get(0).getId()); assertEquals("sales", reassignment.getPotentialOwners().get(1).getId()); // check deadline expiration time assertNotNull(deadlines.getEndDeadlines().get(0).getDate()); long expirationTime = deadlines.getEndDeadlines().get(0).getDate().getTime() - System.currentTimeMillis(); assertEquals(4, roundExpirationTime(expirationTime)); }
assertEquals(0, deadlines.getEndDeadlines().size()); assertEquals(1, deadlines.getStartDeadlines().get(0).getEscalations().size()); assertEquals(1, deadlines.getStartDeadlines().get(0).getEscalations().get(0).getReassignments().size()); assertEquals(0, deadlines.getStartDeadlines().get(0).getEscalations().get(0).getNotifications().size()); assertEquals(1, deadlines.getStartDeadlines().get(1).getEscalations().get(0).getReassignments().size()); assertEquals(0, deadlines.getStartDeadlines().get(1).getEscalations().get(0).getNotifications().size()); Reassignment reassignment = deadlines.getStartDeadlines().get(0).getEscalations().get(0).getReassignments().get(0); assertEquals(1, reassignment.getPotentialOwners().size()); assertEquals("john", reassignment.getPotentialOwners().get(0).getId()); reassignment = deadlines.getStartDeadlines().get(1).getEscalations().get(0).getReassignments().get(0); assertEquals(1, reassignment.getPotentialOwners().size()); assertEquals("john", reassignment.getPotentialOwners().get(0).getId());
@Test public void testSetDeadlinesNotStartedReassignWithGroups() { WorkItem workItem = new WorkItemImpl(); workItem.setParameter("NotStartedReassign", "[users:john|groups:sales]@[4h]"); @SuppressWarnings("unchecked") Deadlines deadlines = HumanTaskHandlerHelper.setDeadlines(workItem.getParameters(), Collections.EMPTY_LIST, null); assertNotNull(deadlines); assertEquals(1, deadlines.getStartDeadlines().size()); assertEquals(0, deadlines.getEndDeadlines().size()); assertEquals(1, deadlines.getStartDeadlines().get(0).getEscalations().size()); assertEquals(1, deadlines.getStartDeadlines().get(0).getEscalations().get(0).getReassignments().size()); assertEquals(0, deadlines.getStartDeadlines().get(0).getEscalations().get(0).getNotifications().size()); // verify reassignment Reassignment reassignment = deadlines.getStartDeadlines().get(0).getEscalations().get(0).getReassignments().get(0); assertEquals(2, reassignment.getPotentialOwners().size()); assertEquals("john", reassignment.getPotentialOwners().get(0).getId()); assertEquals("sales", reassignment.getPotentialOwners().get(1).getId()); // check deadline expiration time assertNotNull(deadlines.getStartDeadlines().get(0).getDate()); long expirationTime = deadlines.getStartDeadlines().get(0).getDate().getTime() - System.currentTimeMillis(); assertEquals(4, roundExpirationTime(expirationTime)); }
assertEquals(0, deadlines.getStartDeadlines().size()); assertEquals(1, deadlines.getEndDeadlines().get(0).getEscalations().size()); assertEquals(1, deadlines.getEndDeadlines().get(0).getEscalations().get(0).getReassignments().size()); assertEquals(0, deadlines.getEndDeadlines().get(0).getEscalations().get(0).getNotifications().size()); assertEquals(1, deadlines.getEndDeadlines().get(1).getEscalations().get(0).getReassignments().size()); assertEquals(0, deadlines.getEndDeadlines().get(1).getEscalations().get(0).getNotifications().size()); Reassignment reassignment = deadlines.getEndDeadlines().get(0).getEscalations().get(0).getReassignments().get(0); assertEquals(1, reassignment.getPotentialOwners().size()); assertEquals("john", reassignment.getPotentialOwners().get(0).getId()); reassignment = deadlines.getEndDeadlines().get(1).getEscalations().get(0).getReassignments().get(0); assertEquals(1, reassignment.getPotentialOwners().size()); assertEquals("john", reassignment.getPotentialOwners().get(0).getId());
if (!escalation.getReassignments().isEmpty()) { Reassignment reassignment = escalation.getReassignments().get(0); logger.debug("Reassigning to {}", reassignment.getPotentialOwners()); ((InternalTaskData) task.getTaskData()).setStatus(Status.Ready); for (Notification notification : escalation.getNotifications()) { if (notification.getNotificationType() == NotificationType.Email) {
assertEquals(0, deadlines.getEndDeadlines().size()); assertEquals(1, deadlines.getStartDeadlines().get(0).getEscalations().size()); assertEquals(1, deadlines.getStartDeadlines().get(0).getEscalations().get(0).getNotifications().size()); assertEquals(0, deadlines.getStartDeadlines().get(0).getEscalations().get(0).getReassignments().size()); Notification notification = deadlines.getStartDeadlines().get(0).getEscalations().get(0).getNotifications().get(0); assertNotNull(notification); assertEquals(1, notification.getRecipients().size());
assertEquals(0, deadlines.getEndDeadlines().size()); assertEquals(1, deadlines.getStartDeadlines().get(0).getEscalations().size()); assertEquals(1, deadlines.getStartDeadlines().get(0).getEscalations().get(0).getNotifications().size()); assertEquals(0, deadlines.getStartDeadlines().get(0).getEscalations().get(0).getReassignments().size()); Notification notification = deadlines.getStartDeadlines().get(0).getEscalations().get(0).getNotifications().get(0); assertNotNull(notification); assertEquals(1, notification.getRecipients().size());
assertEquals(0, deadlines.getEndDeadlines().size()); assertEquals(1, deadlines.getStartDeadlines().get(0).getEscalations().size()); assertEquals(1, deadlines.getStartDeadlines().get(0).getEscalations().get(0).getNotifications().size()); assertEquals(0, deadlines.getStartDeadlines().get(0).getEscalations().get(0).getReassignments().size()); Notification notification = deadlines.getStartDeadlines().get(0).getEscalations().get(0).getNotifications().get(0); assertNotNull(notification); assertEquals(4, notification.getRecipients().size());
assertEquals(0, deadlines.getEndDeadlines().size()); assertEquals(1, deadlines.getStartDeadlines().get(0).getEscalations().size()); assertEquals(1, deadlines.getStartDeadlines().get(0).getEscalations().get(0).getNotifications().size()); assertEquals(0, deadlines.getStartDeadlines().get(0).getEscalations().get(0).getReassignments().size()); Notification notification = deadlines.getStartDeadlines().get(0).getEscalations().get(0).getNotifications().get(0); assertNotNull(notification); assertEquals(1, notification.getRecipients().size()); notification = deadlines.getStartDeadlines().get(1).getEscalations().get(0).getNotifications().get(0); assertNotNull(notification); assertEquals(1, notification.getRecipients().size());
if(escalations != null) { for(Escalation escalation : escalations) { List<? extends Notification> notifications = escalation.getNotifications(); List<? extends Reassignment> ressignments = escalation.getReassignments(); if(notifications != null) { for(Notification notification : notifications) { if(escalations != null) { for(Escalation escalation : escalations) { List<? extends Notification> notifications = escalation.getNotifications(); List<? extends Reassignment> ressignments = escalation.getReassignments(); if(notifications != null) { for(Notification notification : notifications) {
@Test public void testSetDeadlinesNotCompletedReassign() { WorkItem workItem = new WorkItemImpl(); workItem.setParameter("NotCompletedReassign", "[users:john]@[4h]"); @SuppressWarnings("unchecked") Deadlines deadlines = HumanTaskHandlerHelper.setDeadlines(workItem.getParameters(), Collections.EMPTY_LIST, null); assertNotNull(deadlines); assertEquals(1, deadlines.getEndDeadlines().size()); assertEquals(0, deadlines.getStartDeadlines().size()); assertEquals(1, deadlines.getEndDeadlines().get(0).getEscalations().size()); assertEquals(1, deadlines.getEndDeadlines().get(0).getEscalations().get(0).getReassignments().size()); assertEquals(0, deadlines.getEndDeadlines().get(0).getEscalations().get(0).getNotifications().size()); // verify reassignment Reassignment reassignment = deadlines.getEndDeadlines().get(0).getEscalations().get(0).getReassignments().get(0); assertEquals(1, reassignment.getPotentialOwners().size()); assertEquals("john", reassignment.getPotentialOwners().get(0).getId()); // check deadline expiration time assertNotNull(deadlines.getEndDeadlines().get(0).getDate()); long expirationTime = deadlines.getEndDeadlines().get(0).getDate().getTime() - System.currentTimeMillis(); assertEquals(4, roundExpirationTime(expirationTime)); }
@Test public void testSetDeadlinesNotStartedReassign() { WorkItem workItem = new WorkItemImpl(); workItem.setParameter("NotStartedReassign", "[users:john]@[4h]"); @SuppressWarnings("unchecked") Deadlines deadlines = HumanTaskHandlerHelper.setDeadlines(workItem.getParameters(), Collections.EMPTY_LIST, null); assertNotNull(deadlines); assertEquals(1, deadlines.getStartDeadlines().size()); assertEquals(0, deadlines.getEndDeadlines().size()); assertEquals(1, deadlines.getStartDeadlines().get(0).getEscalations().size()); assertEquals(1, deadlines.getStartDeadlines().get(0).getEscalations().get(0).getReassignments().size()); assertEquals(0, deadlines.getStartDeadlines().get(0).getEscalations().get(0).getNotifications().size()); // verify reassignment Reassignment reassignment = deadlines.getStartDeadlines().get(0).getEscalations().get(0).getReassignments().get(0); assertEquals(1, reassignment.getPotentialOwners().size()); assertEquals("john", reassignment.getPotentialOwners().get(0).getId()); // check deadline expiration time assertNotNull(deadlines.getStartDeadlines().get(0).getDate()); long expirationTime = deadlines.getStartDeadlines().get(0).getDate().getTime() - System.currentTimeMillis(); assertEquals(4, roundExpirationTime(expirationTime)); }