Class ConfigPanel

All Implemented Interfaces:
ConfigController.Ui, ImageObserver, MenuContainer, Serializable, Accessible

public class ConfigPanel extends JPanel implements ConfigController.Ui
Main configuration panel for data sources, scope, destination, and control actions.

Responsibilities: render the UI, compose/parse ConfigState.State, and delegate long-running work to ConfigController.

Threading: callers construct and interact with this panel on the EDT.

See Also:
  • Constructor Details

    • ConfigPanel

      public ConfigPanel()
      Creates the panel with its default controller. Caller must invoke on the EDT.
    • ConfigPanel

      public ConfigPanel(ConfigController injectedController)
      Dependency-injected constructor (tests).
  • Method Details

    • shutdownStartupExecutor

      public static void shutdownStartupExecutor()
      Cancels queued Start-path work, waits briefly for the executor to terminate, and installs a fresh executor so subsequent Start actions in the same JVM still function.

      Called from Exporter's unload cleanup so the extension leaves no background worker alive after Burp deregisters it. Safe to call more than once. Delegates termination to Workers so shutdown semantics match every other extension-owned worker; if the executor does not terminate within Workers.DEFAULT_SHUTDOWN_TIMEOUT_MS milliseconds, the current thread's interrupt flag is restored and the replacement executor is still installed.

    • addNotify

      public void addNotify()
      Overrides:
      addNotify in class JComponent
    • onFileStatus

      public void onFileStatus(String message)
      File-export runtime messages are routed through Config Control instead.
      Specified by:
      onFileStatus in interface ConfigController.Ui
    • onOpenSearchStatus

      public void onOpenSearchStatus(String message)
      Updates the OpenSearch status area on the EDT with the provided message.
      Specified by:
      onOpenSearchStatus in interface ConfigController.Ui
      Parameters:
      message - status text to display (nullable)
    • onControlStatus

      public void onControlStatus(String message)
      Updates the Control status area on the EDT.
      Specified by:
      onControlStatus in interface ConfigController.Ui
      Parameters:
      message - status text to display (nullable)
    • onImportResult

      public void onImportResult(ConfigState.State state)
      Applies an imported state to the UI.

      For custom scope, rows are applied first and then the Custom radio is selected to ensure enablement is updated on the final state.