package de.saxsys.projectiler.misc; import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import javafx.concurrent.Task; import de.saxsys.projectiler.Projectiler; public class ProjectTask extends Task<List<String>> { private static final Logger LOGGER = Logger.getLogger(ProjectTask.class.getSimpleName()); private final Projectiler projectiler; public ProjectTask(final Projectiler projectiler) { this.projectiler = projectiler; } @Override protected List<String> call() throws Exception { List<String> projectNames = Collections.emptyList(); try { projectNames = projectiler.getProjectNames(); } catch (final Exception e) { e.printStackTrace(); this.succeeded(); logError("Error during project fetching.", e); return new ArrayList<>(); } this.succeeded(); return projectNames; } private void logError(String error, Exception e) { LOGGER.log(Level.SEVERE, error, e); Notification.Notifier.INSTANCE.notifyError("Fehler beim Login", error); } }