SecondJobListener.countCalled_ = 0;
assertEquals(0, GlobalJobListener.countCalled_);
assertEquals(0, FirstJobListener.countCalled_);
assertEquals(0, SecondJobListener.countCalled_);
service_.addJob(new JobInfo("GlobalJobListener", null/* default group */, AJob.class), new Date());
service_.addJob(new JobInfo("FirstJobListener", null/* default group */, AJob.class), new Date());
service_.addJob(new JobInfo("SecondJobListener", null/* default group */, AJob.class), new Date());
Thread.sleep(100);
//Scheduler can be faster and execute more than 3 tasks
assertTrue(GlobalJobListener.countCalled_ >= 3);
assertEquals(1, FirstJobListener.countCalled_);
assertEquals(1, SecondJobListener.countCalled_);
// ---remove FirstJobListenner---
b = service_.removeJobListener(joblistener1st.getName());
assertTrue("expect FirstJobListenner is removed", b);
joblistener1st = service_.getJobListener("FirstJobListenner");
assertTrue("expect FirstJobListenner is not found", joblistener1st == null);
jobListenerCol = service_.getAllJobListener();
assertEquals("now,expect 1 non global job is found", 1, jobListenerCol.size());
// ---remove SecondJobListenner---
b = service_.removeJobListener(joblistener2nd.getName());
joblistener2nd = service_.getJobListener("SecondJobListener");
assertTrue("expect SecondJobListenner is removed", b && joblistener2nd == null);
jobListenerCol = service_.getAllJobListener();
assertEquals("now,expect no non global job is found", 0, jobListenerCol.size());
b = service_.removeGlobalJobListener(globalListener.getName());
globalListener = service_.getGlobalJobListener("GlobalJobListener");
assertTrue("expect GlobalJobListener is removed", b && globalListener == null);
assertEquals("now we expect no global job listener", 0, service_.getAllGlobalJobListener().size());
Thread.sleep(2500);
// -----Test non global Trigger Listenner ----
triggerListenerCol = service_.getAllTriggerListener();
assertEquals("expect no non global trigger listener is found", 0, triggerListenerCol.size());
// ----------add 2 non global trigger listener---
service_.addGlobalTriggerListener(new GlobalTriggerListener());
service_.addTriggerListener(new FirstTriggerListener());
service_.addTriggerListener(new SecondTriggerListener());
TriggerListener triggerListener1st = service_.getTriggerListener("FirstTriggerListener");
TriggerListener triggerListener2nd = service_.getTriggerListener("SecondTriggerListener");
assertTrue("expect 'FirstTriggerListener' is found", triggerListener1st != null
&& triggerListener1st.getName().equals("FirstTriggerListener"));
assertTrue("expect 'SecondTriggerListener' is found", triggerListener2nd != null
&& triggerListener2nd.getName().equals("SecondTriggerListener"));
triggerListenerCol = service_.getAllTriggerListener();
globalTriggerListener = service_.getGlobalTriggerListener("GlobalTriggerListener");
assertTrue("expect 'GlobalTriggerListener' is found", globalTriggerListener != null
&& globalTriggerListener.getName().equals("GlobalTriggerListener"));
assertEquals("expect 1 trigger listenner is found", 1, service_.getAllGlobalTriggerListener().size());
assertEquals("expect 2 non global trigger listener is found", 2, triggerListenerCol.size());
hasObjectInCollection(triggerListener1st, triggerListenerCol, new TriggerListenerComparator());
hasObjectInCollection(triggerListener2nd, triggerListenerCol, new TriggerListenerComparator());
GlobalTriggerListener.countTriggerComplete_ = 0;
FirstTriggerListener.countTriggerComplete_ = 0;
SecondTriggerListener.countTriggerComplete_ = 0;
assertEquals(0, GlobalTriggerListener.countTriggerComplete_);
assertEquals(0, FirstTriggerListener.countTriggerComplete_);
assertEquals(0, SecondTriggerListener.countTriggerComplete_);
service_.addJob(new JobInfo("GlobalTriggerListener", null/* default group */, AJob.class), new Date());
service_.addJob(new JobInfo("FirstTriggerListener", null/* default group */, AJob.class), new Date());
service_.addJob(new JobInfo("SecondTriggerListener", null/* default group */, AJob.class), new Date());
Thread.sleep(100);
//Scheduler can be faster and execute more than 3 tasks
assertTrue(GlobalTriggerListener.countTriggerComplete_ >= 3);
assertEquals(1, FirstTriggerListener.countTriggerComplete_);