mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-10-01 14:41:46 +00:00
REPO-3774 Fix intervals in scheduled persisted actions (#163)
Cherry-picked 8c51eb2
from master to 6.56.N
This commit is contained in:
@@ -31,6 +31,7 @@ import org.alfresco.service.cmr.action.Action;
|
|||||||
import org.alfresco.service.cmr.action.scheduled.ScheduledPersistedAction;
|
import org.alfresco.service.cmr.action.scheduled.ScheduledPersistedAction;
|
||||||
import org.alfresco.service.cmr.repository.NodeRef;
|
import org.alfresco.service.cmr.repository.NodeRef;
|
||||||
import org.quartz.CalendarIntervalScheduleBuilder;
|
import org.quartz.CalendarIntervalScheduleBuilder;
|
||||||
|
import org.quartz.DateBuilder;
|
||||||
import org.quartz.SimpleScheduleBuilder;
|
import org.quartz.SimpleScheduleBuilder;
|
||||||
import org.quartz.Trigger;
|
import org.quartz.Trigger;
|
||||||
import org.quartz.TriggerBuilder;
|
import org.quartz.TriggerBuilder;
|
||||||
@@ -274,7 +275,10 @@ public class ScheduledPersistedActionImpl implements ScheduledPersistedAction
|
|||||||
// due to fire?
|
// due to fire?
|
||||||
Trigger testT = TriggerBuilder.newTrigger()
|
Trigger testT = TriggerBuilder.newTrigger()
|
||||||
.withIdentity("TEST")
|
.withIdentity("TEST")
|
||||||
.withSchedule(CalendarIntervalScheduleBuilder.calendarIntervalSchedule())
|
.withSchedule(CalendarIntervalScheduleBuilder.calendarIntervalSchedule()
|
||||||
|
.withInterval(
|
||||||
|
intervalCount,
|
||||||
|
DateBuilder.IntervalUnit.valueOf(intervalPeriod.toString().toUpperCase())))
|
||||||
.startAt(scheduleStart)
|
.startAt(scheduleStart)
|
||||||
.build();
|
.build();
|
||||||
Date nextFireFromNow = testT.getFireTimeAfter(new Date());
|
Date nextFireFromNow = testT.getFireTimeAfter(new Date());
|
||||||
@@ -318,7 +322,10 @@ public class ScheduledPersistedActionImpl implements ScheduledPersistedAction
|
|||||||
.endAt(endAt)
|
.endAt(endAt)
|
||||||
.withSchedule(
|
.withSchedule(
|
||||||
CalendarIntervalScheduleBuilder.calendarIntervalSchedule()
|
CalendarIntervalScheduleBuilder.calendarIntervalSchedule()
|
||||||
.withMisfireHandlingInstructionFireAndProceed())
|
.withMisfireHandlingInstructionFireAndProceed()
|
||||||
|
.withInterval(
|
||||||
|
intervalCount,
|
||||||
|
DateBuilder.IntervalUnit.valueOf(intervalPeriod.toString().toUpperCase())))
|
||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
return trigger;
|
return trigger;
|
||||||
|
@@ -51,6 +51,7 @@ import org.junit.runners.Suite;
|
|||||||
org.alfresco.repo.tenant.MultiTServiceImplTest.class,
|
org.alfresco.repo.tenant.MultiTServiceImplTest.class,
|
||||||
org.alfresco.repo.search.SearcherComponentTest.class,
|
org.alfresco.repo.search.SearcherComponentTest.class,
|
||||||
org.alfresco.repo.blog.BlogServiceImplTest.class,
|
org.alfresco.repo.blog.BlogServiceImplTest.class,
|
||||||
|
org.alfresco.repo.action.scheduled.ScheduledPersistedActionServiceTest.class
|
||||||
})
|
})
|
||||||
public class AppContext06TestSuite
|
public class AppContext06TestSuite
|
||||||
{
|
{
|
||||||
|
@@ -61,10 +61,11 @@ import org.quartz.JobExecutionContext;
|
|||||||
import org.quartz.JobExecutionException;
|
import org.quartz.JobExecutionException;
|
||||||
import org.quartz.Scheduler;
|
import org.quartz.Scheduler;
|
||||||
import org.quartz.SimpleScheduleBuilder;
|
import org.quartz.SimpleScheduleBuilder;
|
||||||
import org.quartz.SimpleTrigger;
|
|
||||||
import org.quartz.Trigger;
|
import org.quartz.Trigger;
|
||||||
import org.quartz.TriggerBuilder;
|
import org.quartz.TriggerBuilder;
|
||||||
import org.quartz.impl.matchers.GroupMatcher;
|
import org.quartz.impl.matchers.GroupMatcher;
|
||||||
|
import org.quartz.impl.triggers.CalendarIntervalTriggerImpl;
|
||||||
|
import org.quartz.impl.triggers.SimpleTriggerImpl;
|
||||||
import org.springframework.beans.BeansException;
|
import org.springframework.beans.BeansException;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
import org.springframework.context.ApplicationContextAware;
|
import org.springframework.context.ApplicationContextAware;
|
||||||
@@ -279,7 +280,7 @@ public class ScheduledPersistedActionServiceTest extends TestCase
|
|||||||
assertNotNull(t);
|
assertNotNull(t);
|
||||||
assertEquals(12345, t.getStartTime().getTime());
|
assertEquals(12345, t.getStartTime().getTime());
|
||||||
assertEquals(null, t.getEndTime());
|
assertEquals(null, t.getEndTime());
|
||||||
assertEquals(SimpleTrigger.class, t.getClass());
|
assertEquals(SimpleTriggerImpl.class, t.getClass());
|
||||||
|
|
||||||
// Only end date
|
// Only end date
|
||||||
// (End date + no repeat = never schedule)
|
// (End date + no repeat = never schedule)
|
||||||
@@ -299,7 +300,7 @@ public class ScheduledPersistedActionServiceTest extends TestCase
|
|||||||
assertNotNull(t);
|
assertNotNull(t);
|
||||||
assertEquals((double) System.currentTimeMillis(), (double) t.getStartTime().getTime(), 10); // Within 10ms
|
assertEquals((double) System.currentTimeMillis(), (double) t.getStartTime().getTime(), 10); // Within 10ms
|
||||||
assertEquals(null, t.getEndTime());
|
assertEquals(null, t.getEndTime());
|
||||||
assertEquals(Trigger.class, t.getClass());
|
assertEquals(CalendarIntervalTriggerImpl.class, t.getClass());
|
||||||
assertEquals(2, ((CalendarIntervalTrigger) t).getRepeatInterval());
|
assertEquals(2, ((CalendarIntervalTrigger) t).getRepeatInterval());
|
||||||
assertEquals(DateBuilder.IntervalUnit.SECOND, ((CalendarIntervalTrigger) t).getRepeatIntervalUnit());
|
assertEquals(DateBuilder.IntervalUnit.SECOND, ((CalendarIntervalTrigger) t).getRepeatIntervalUnit());
|
||||||
|
|
||||||
@@ -313,7 +314,7 @@ public class ScheduledPersistedActionServiceTest extends TestCase
|
|||||||
assertNotNull(t);
|
assertNotNull(t);
|
||||||
assertEquals(12345, t.getStartTime().getTime());
|
assertEquals(12345, t.getStartTime().getTime());
|
||||||
assertEquals(null, t.getEndTime());
|
assertEquals(null, t.getEndTime());
|
||||||
assertEquals(CalendarIntervalTrigger.class, t.getClass());
|
assertEquals(CalendarIntervalTriggerImpl.class, t.getClass());
|
||||||
assertEquals(3, ((CalendarIntervalTrigger) t).getRepeatInterval());
|
assertEquals(3, ((CalendarIntervalTrigger) t).getRepeatInterval());
|
||||||
assertEquals(DateBuilder.IntervalUnit.MONTH, ((CalendarIntervalTrigger) t).getRepeatIntervalUnit());
|
assertEquals(DateBuilder.IntervalUnit.MONTH, ((CalendarIntervalTrigger) t).getRepeatIntervalUnit());
|
||||||
|
|
||||||
@@ -337,7 +338,7 @@ public class ScheduledPersistedActionServiceTest extends TestCase
|
|||||||
assertNotNull(t);
|
assertNotNull(t);
|
||||||
assertEquals(12345, t.getStartTime().getTime());
|
assertEquals(12345, t.getStartTime().getTime());
|
||||||
assertEquals(future, t.getEndTime().getTime());
|
assertEquals(future, t.getEndTime().getTime());
|
||||||
assertEquals(CalendarIntervalTrigger.class, t.getClass());
|
assertEquals(CalendarIntervalTriggerImpl.class, t.getClass());
|
||||||
assertEquals(12, ((CalendarIntervalTrigger) t).getRepeatInterval());
|
assertEquals(12, ((CalendarIntervalTrigger) t).getRepeatInterval());
|
||||||
assertEquals(DateBuilder.IntervalUnit.WEEK, ((CalendarIntervalTrigger) t).getRepeatIntervalUnit());
|
assertEquals(DateBuilder.IntervalUnit.WEEK, ((CalendarIntervalTrigger) t).getRepeatIntervalUnit());
|
||||||
|
|
||||||
@@ -351,7 +352,7 @@ public class ScheduledPersistedActionServiceTest extends TestCase
|
|||||||
assertNotNull(t);
|
assertNotNull(t);
|
||||||
assertEquals((double) System.currentTimeMillis(), (double) t.getStartTime().getTime(), 2); // Within 2ms
|
assertEquals((double) System.currentTimeMillis(), (double) t.getStartTime().getTime(), 2); // Within 2ms
|
||||||
assertEquals(future, t.getEndTime().getTime());
|
assertEquals(future, t.getEndTime().getTime());
|
||||||
assertEquals(CalendarIntervalTrigger.class, t.getClass());
|
assertEquals(CalendarIntervalTriggerImpl.class, t.getClass());
|
||||||
assertEquals(6, ((CalendarIntervalTrigger) t).getRepeatInterval());
|
assertEquals(6, ((CalendarIntervalTrigger) t).getRepeatInterval());
|
||||||
assertEquals(DateBuilder.IntervalUnit.HOUR, ((CalendarIntervalTrigger) t).getRepeatIntervalUnit());
|
assertEquals(DateBuilder.IntervalUnit.HOUR, ((CalendarIntervalTrigger) t).getRepeatIntervalUnit());
|
||||||
|
|
||||||
@@ -378,7 +379,7 @@ public class ScheduledPersistedActionServiceTest extends TestCase
|
|||||||
assertNotNull(t);
|
assertNotNull(t);
|
||||||
assertEquals(12345, t.getStartTime().getTime());
|
assertEquals(12345, t.getStartTime().getTime());
|
||||||
assertEquals(null, t.getEndTime());
|
assertEquals(null, t.getEndTime());
|
||||||
assertEquals(SimpleTrigger.class, t.getClass());
|
assertEquals(SimpleTriggerImpl.class, t.getClass());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user