mirror of
https://github.com/keycloak/keycloak.git
synced 2026-01-06 06:49:53 -06:00
Adjust scheduled action time so that it is always based on the previous action
Closes #42385 Signed-off-by: Stefan Guilhen <sguilhen@redhat.com>
This commit is contained in:
committed by
Pedro Igor
parent
5a02bc1adb
commit
20f5a15278
@@ -54,7 +54,7 @@ public class JpaResourcePolicyStateProvider implements ResourcePolicyStateProvid
|
||||
}
|
||||
|
||||
@Override
|
||||
public void scheduleAction(ResourcePolicy policy, ResourceAction action, long scheduledTimeOffset, String resourceId) {
|
||||
public void scheduleAction(ResourcePolicy policy, ResourceAction action, String resourceId) {
|
||||
ResourcePolicyStateEntity.PrimaryKey pk = new ResourcePolicyStateEntity.PrimaryKey(resourceId, policy.getId());
|
||||
ResourcePolicyStateEntity entity = em.find(ResourcePolicyStateEntity.class, pk);
|
||||
if (entity == null) {
|
||||
@@ -63,12 +63,12 @@ public class JpaResourcePolicyStateProvider implements ResourcePolicyStateProvid
|
||||
entity.setPolicyId(policy.getId());
|
||||
entity.setPolicyProviderId(policy.getProviderId());
|
||||
entity.setScheduledActionId(action.getId());
|
||||
entity.setScheduledActionTimestamp(Time.currentTimeMillis() + scheduledTimeOffset);
|
||||
entity.setScheduledActionTimestamp(Time.currentTimeMillis() + action.getAfter());
|
||||
em.persist(entity);
|
||||
}
|
||||
else {
|
||||
entity.setScheduledActionId(action.getId());
|
||||
entity.setScheduledActionTimestamp(Time.currentTimeMillis() + scheduledTimeOffset);
|
||||
entity.setScheduledActionTimestamp(Time.currentTimeMillis() + action.getAfter());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -51,11 +51,7 @@ public interface ResourcePolicyStateProvider extends Provider {
|
||||
*/
|
||||
void removeAll();
|
||||
|
||||
default void scheduleAction(ResourcePolicy policy, ResourceAction action, String resourceId) {
|
||||
this.scheduleAction(policy, action, action.getAfter(), resourceId);
|
||||
}
|
||||
|
||||
void scheduleAction(ResourcePolicy policy, ResourceAction action, long scheduledTimeOffset, String resourceId);
|
||||
void scheduleAction(ResourcePolicy policy, ResourceAction action, String resourceId);
|
||||
|
||||
ScheduledAction getScheduledAction(String policyId, String resourceId);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user