package de.wwwu.awolf.view.services; import de.wwwu.awolf.presenter.Presenter; import de.wwwu.awolf.presenter.data.DataHandler; import javafx.concurrent.Service; import javafx.concurrent.Task; import java.io.File; public class DataService extends Service { private File file; private DataHandler.DataType type; private DataHandler.ActionType actionType; private int n; public DataService(final DataHandler.ActionType actionType, final DataHandler.DataType type, final int n) { this.type = type; this.actionType = actionType; this.n = n; } public DataService(final DataHandler.ActionType actionType, final File file) { this.actionType = actionType; this.file = file; this.type = null; this.n = -1; } @Override protected Task createTask() { return new Task<>() { @Override protected Boolean call() throws Exception { switch (actionType) { case EXPORT: Presenter.getInstance().exportDataset(file); break; case IMPORT: Presenter.getInstance().importDataset(file); break; case GENERATE: Presenter.getInstance().generateDataset(n, type); break; } return true; } }; } }