
pl.allegro.tech.hermes.management.domain.retransmit.CreateOfflineRetransmissionTaskCommand Maven / Gradle / Ivy
package pl.allegro.tech.hermes.management.domain.retransmit;
import pl.allegro.tech.hermes.api.OfflineRetransmissionTask;
import pl.allegro.tech.hermes.management.domain.dc.DatacenterBoundRepositoryHolder;
import pl.allegro.tech.hermes.management.domain.dc.RepositoryCommand;
class CreateOfflineRetransmissionTaskCommand
extends RepositoryCommand {
private final OfflineRetransmissionTask task;
CreateOfflineRetransmissionTaskCommand(OfflineRetransmissionTask task) {
this.task = task;
}
@Override
public void backup(DatacenterBoundRepositoryHolder holder) {}
@Override
public void execute(DatacenterBoundRepositoryHolder holder) {
holder.getRepository().saveTask(task);
}
@Override
public void rollback(
DatacenterBoundRepositoryHolder holder,
Exception exception) {
holder.getRepository().deleteTask(task.getTaskId());
}
@Override
public Class getRepositoryType() {
return OfflineRetransmissionRepository.class;
}
@Override
public String toString() {
return "CreateOfflineRetransmissionTaskCommand(" + task.getTaskId() + ")";
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy