package com.twasyl.slideshowfx.concurrent; import com.twasyl.slideshowfx.controllers.PresentationViewController; import java.util.concurrent.CompletableFuture; import java.util.logging.Level; import java.util.logging.Logger; /** * This tasks reloads the presentation view and then go to a given slide. If the {@link #presentationView} is null * , the task is considered as failed. * * @author Thierry Wasylczenko * @version 1.1 * @since SlideshowFX 1.0 */ public class ReloadPresentationViewAndGoToTask extends ReloadPresentationViewTask { private static final Logger LOGGER = Logger.getLogger(ReloadPresentationViewAndGoToTask.class.getName()); public ReloadPresentationViewAndGoToTask(final PresentationViewController presentationView, final String slideId) { super(presentationView, () -> { final CompletableFuture<Boolean> reloadDone = presentationView.reloadPresentationBrowser(); reloadDone.thenRun(() -> { LOGGER.log(Level.FINE, "Going to slide " + slideId); presentationView.goToSlide(slideId); }); }); } }