Search in sources :

Example 1 with Server

use of server.Server in project DistributedFractalNetwork by Budder21.

the class NetworkCreationTool method createNetwork.

/**
	 * This method, when called, will bring the user through a series of menus helping them
	 * configure the Network they wish to set up.
	 * @return whether or not the network was successfully created.
	 */
public boolean createNetwork() {
    File[] fractals = new File(Constants.FRACTAL_FILEPATH).listFiles();
    List<String> choices = new ArrayList<>();
    for (File f : fractals) {
        if (!f.getName().equals("palettes"))
            choices.add(f.getName());
    }
    ChoiceDialog<String> dialog1 = null;
    try {
        dialog1 = new ChoiceDialog<>(choices.get(0), choices);
    } catch (IndexOutOfBoundsException e) {
        AlertMenu alarm = new AlertMenu("Cannot create network: no fractal found on this computer.", "Fractals are searched for in the fractals folder. Please save a fractal to that folder and try again.");
    }
    dialog1.setTitle("Create Network");
    dialog1.setHeaderText("Step 1");
    dialog1.setContentText("Choose a fractal:");
    System.out.println("here...");
    RenderManager fractal = null;
    try {
        fractal = new RenderManager(dialog1.showAndWait().get());
    } catch (Exception e) {
        return false;
    }
    Pair<Integer, Integer> dimension = displayDialog2();
    if (dimension == null)
        return false;
    fractal.setScreenResolution(new Dimension(dimension.getKey(), dimension.getValue()));
    Pair<Double, Double> params = getParams();
    if (params == null)
        return false;
    if (params.getKey() == null)
        return false;
    if (params.getValue() == null)
        return false;
    fractal.setZoom(params.getKey());
    Alert alert = new Alert(AlertType.CONFIRMATION);
    alert.setTitle("Create Network");
    alert.setHeaderText("Step 4");
    alert.setContentText("Choose a directory:");
    ButtonType buttonTypeOne = new ButtonType("Choose");
    ButtonType buttonTypeCancel = new ButtonType("Cancel", ButtonData.CANCEL_CLOSE);
    alert.getButtonTypes().setAll(buttonTypeOne, buttonTypeCancel);
    Optional<ButtonType> result = alert.showAndWait();
    String directory = "";
    if (result.get() == buttonTypeOne) {
        DirectoryChooser directoryChooser = new DirectoryChooser();
        File selectedDirectory = directoryChooser.showDialog(null);
        if (selectedDirectory == null) {
            return false;
        } else {
            directory = selectedDirectory.getPath();
        }
    } else {
        return false;
    }
    this.server = new Server(fractal, params.getValue(), directory);
    return true;
}
Also used : Server(server.Server) ArrayList(java.util.ArrayList) Dimension(java.awt.Dimension) Alert(javafx.scene.control.Alert) File(java.io.File) RenderManager(fractal.RenderManager) ButtonType(javafx.scene.control.ButtonType) DirectoryChooser(javafx.stage.DirectoryChooser)

Aggregations

RenderManager (fractal.RenderManager)1 Dimension (java.awt.Dimension)1 File (java.io.File)1 ArrayList (java.util.ArrayList)1 Alert (javafx.scene.control.Alert)1 ButtonType (javafx.scene.control.ButtonType)1 DirectoryChooser (javafx.stage.DirectoryChooser)1 Server (server.Server)1