public static DownloadSnapshotTask parse(final Protos.TaskInfo info){ return new DownloadSnapshotTask(info); }
@Override public DownloadSnapshotTask updateId() { return new DownloadSnapshotTask( getBuilder().setTaskId(createId(getName())) .build()); }
@Override public DownloadSnapshotTask update(Protos.TaskState state) { return new DownloadSnapshotTask(getBuilder().setData( getData().withState(state).getBytes()).build()); }
@Override public DownloadSnapshotTask update(Protos.Offer offer) { return new DownloadSnapshotTask(getBuilder() .setSlaveId(offer.getSlaveId()) .setData(getData().withHostname(offer.getHostname()).getBytes()) .build()); }
public static DownloadSnapshotTask create( final Protos.TaskInfo template, final CassandraDaemonTask daemon, final BackupRestoreContext context) { CassandraData data = CassandraData.createSnapshotDownloadData( "", context .forNode(daemon.getName()) .withLocalLocation(daemon.getVolumePath() + "/data")); String name = nameForDaemon(daemon); Protos.TaskInfo completedTemplate = Protos.TaskInfo.newBuilder(template) .setName(name) .setTaskId(TaskUtils.toTaskId(name)) .setData(data.getBytes()) .build(); completedTemplate = org.apache.mesos.offer.TaskUtils.clearTransient(completedTemplate); return new DownloadSnapshotTask(completedTemplate); }