All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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