All Implemented Interfaces:
javafx.fxml.Initializable

public class EvaluationController extends WorkerWindow
Controller for the evaluation workflow. Extends WorkerWindow to run an EvaluationThread, choose a StatementComparator (e.g. LLM-based), show progress (and optional rate-limit countdown), and export results to CSV on save.
Since:
1.0
Author:
Felix Seggebäing
  • Constructor Details

    • EvaluationController

      public EvaluationController()
  • Method Details

    • initialize

      public void initialize(URL location, ResourceBundle resources)
      Calls super.initialize(...) and enables the evaluation help link.
      Specified by:
      initialize in interface javafx.fxml.Initializable
      Overrides:
      initialize in class WorkerWindow
      Parameters:
      location - FXML location (may be null)
      resources - localization bundle (may be null)
      Implementation Note:
      Invoke on the JavaFX Application Thread.
    • getTitle

      public String getTitle()
      Returns the fixed title for the evaluation window.
      Specified by:
      getTitle in class TitledInitializableWindow
      Returns:
      the string "Evaluation"
    • saveBtnClick

      protected void saveBtnClick()
      Exports evaluation results to CSV using the configured output path. Retrieves the result map from the active EvaluationThread; shows a toast if no output path is set, attempts export, logs and toasts on failure, and toasts success on completion.
      Specified by:
      saveBtnClick in class WorkerWindow
      Implementation Note:
      Assumes workerProperty.get() is a completed EvaluationThread. Runs on the JavaFX Application Thread.
    • createWorkerThread

      protected Thread createWorkerThread()
      Constructs the evaluation worker thread and wires UI progress bindings. Sets up started/finished counters, an optional rate-limit countdown target, adds a DualProgressBar, selects the StatementComparator (e.g. LLM-based), and returns a configured EvaluationThread that reports progress via Platform.runLater(Runnable) callbacks.
      Specified by:
      createWorkerThread in class WorkerWindow
      Returns:
      a not-yet-started Thread ready to evaluate the selected queries
      Implementation Note:
      Progress is computed against the size of settings.getGeneratedQueriesSelection().
    • showSettingsPopup

      protected void showSettingsPopup()
      Opens the Evaluation Settings window for configuring the run.
      Specified by:
      showSettingsPopup in class WorkerWindow
    • startValid

      protected boolean startValid()
      Validates preconditions for starting evaluation:
      • Comparator is set: for LLM type, requires a model and temp >= 0; for non-LLM, any non-null type is acceptable.
      • There is at least one generated query selected.
      • Thread pool size and max repetitions are positive.
      Specified by:
      startValid in class WorkerWindow
      Returns:
      true if all checks pass; false otherwise