From 6f5b2e33264432c33c8951545dad71fe8c3d7479 Mon Sep 17 00:00:00 2001 From: Joel Date: Mon, 1 Sep 2025 18:41:49 -0700 Subject: [PATCH 1/2] Disable sync, export buttons while running sync --- .../owlplug/explore/controllers/ExploreController.java | 7 ++++++- .../owlplug/plugin/controllers/PluginsController.java | 8 ++++++-- .../java/com/owlplug/plugin/services/PluginService.java | 9 +++++++++ .../owlplug/project/controllers/ProjectsController.java | 2 +- .../com/owlplug/project/services/ProjectService.java | 8 ++++++++ 5 files changed, 30 insertions(+), 4 deletions(-) diff --git a/owlplug-client/src/main/java/com/owlplug/explore/controllers/ExploreController.java b/owlplug-client/src/main/java/com/owlplug/explore/controllers/ExploreController.java index bbfaf973..7466011f 100644 --- a/owlplug-client/src/main/java/com/owlplug/explore/controllers/ExploreController.java +++ b/owlplug-client/src/main/java/com/owlplug/explore/controllers/ExploreController.java @@ -198,7 +198,12 @@ public void initialize() { syncSourcesButton.setOnAction(e -> { this.getTelemetryService().event("/Explore/SyncSources"); - exploreTaskFactory.createSourceSyncTask().schedule(); + var context = exploreTaskFactory.createSourceSyncTask(); + context.setOnSucceeded((__) -> syncSourcesButton.setDisable(false)); + context.setOnFailed((__) -> syncSourcesButton.setDisable(false)); + context.setOnCancelled((__) -> syncSourcesButton.setDisable(false)); + context.schedule(); + syncSourcesButton.setDisable(true); }); exploreChipView = new ExploreChipView(this.getApplicationDefaults(), this.exploreService.getDistinctCreators()); diff --git a/owlplug-client/src/main/java/com/owlplug/plugin/controllers/PluginsController.java b/owlplug-client/src/main/java/com/owlplug/plugin/controllers/PluginsController.java index d8178781..34d36f32 100644 --- a/owlplug-client/src/main/java/com/owlplug/plugin/controllers/PluginsController.java +++ b/owlplug-client/src/main/java/com/owlplug/plugin/controllers/PluginsController.java @@ -177,10 +177,14 @@ public void initialize() { displaySwitchTabPane.getSelectionModel().select(displayListTab); } - syncButton.setOnAction(e -> { this.getTelemetryService().event("/Plugins/Scan"); - pluginService.syncPlugins(); + pluginService.syncPlugins(() -> { + syncButton.setDisable(false); + exportButton.setDisable(false); + }); + syncButton.setDisable(true); + exportButton.setDisable(true); }); taskFactory.addSyncPluginsListener(this::displayPlugins); diff --git a/owlplug-client/src/main/java/com/owlplug/plugin/services/PluginService.java b/owlplug-client/src/main/java/com/owlplug/plugin/services/PluginService.java index c0504c25..056f95da 100644 --- a/owlplug-client/src/main/java/com/owlplug/plugin/services/PluginService.java +++ b/owlplug-client/src/main/java/com/owlplug/plugin/services/PluginService.java @@ -37,6 +37,7 @@ import java.util.HashSet; import java.util.List; import java.util.Set; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -62,6 +63,14 @@ public void syncPlugins() { taskFactory.createPluginSyncTask().schedule(); } + public void syncPlugins(Runnable callback) { + var context = taskFactory.createPluginSyncTask(); + context.setOnSucceeded((e) -> callback.run()); + context.setOnFailed((e) -> callback.run()); + context.setOnCancelled((e) -> callback.run()); + context.schedule(); + } + public void syncFiles() { taskFactory.createFileStatSyncTask().schedule(); } diff --git a/owlplug-client/src/main/java/com/owlplug/project/controllers/ProjectsController.java b/owlplug-client/src/main/java/com/owlplug/project/controllers/ProjectsController.java index 45335b9e..de063c4b 100644 --- a/owlplug-client/src/main/java/com/owlplug/project/controllers/ProjectsController.java +++ b/owlplug-client/src/main/java/com/owlplug/project/controllers/ProjectsController.java @@ -68,7 +68,7 @@ public class ProjectsController extends BaseController { public void initialize() { syncProjectButton.setOnAction(e -> { this.getTelemetryService().event("/Projects/Scan"); - projectService.syncProjects(); + projectService.syncProjects(() -> syncProjectButton.setDisable(false)); }); projectTaskFactory.addSyncProjectsListener(() -> { diff --git a/owlplug-client/src/main/java/com/owlplug/project/services/ProjectService.java b/owlplug-client/src/main/java/com/owlplug/project/services/ProjectService.java index c2eb168b..ba21acb8 100644 --- a/owlplug-client/src/main/java/com/owlplug/project/services/ProjectService.java +++ b/owlplug-client/src/main/java/com/owlplug/project/services/ProjectService.java @@ -37,6 +37,14 @@ public void syncProjects() { taskFactory.createSyncTask().schedule(); } + public void syncProjects(Runnable callback) { + var context = taskFactory.createSyncTask(); + context.setOnSucceeded((__) -> callback.run()); + context.setOnFailed((__) -> callback.run()); + context.setOnCancelled((__) -> callback.run()); + context.schedule(); + } + public Iterable getAllProjects() { return dawProjectRepository.findAll(); } From 45a2da9ea764aba8588c4d855c8e051906be1e32 Mon Sep 17 00:00:00 2001 From: Joel Date: Mon, 1 Sep 2025 18:55:59 -0700 Subject: [PATCH 2/2] fix coding conventions --- .../owlplug/explore/controllers/ExploreController.java | 6 +++--- .../owlplug/plugin/controllers/PluginsController.java | 4 ++-- .../com/owlplug/plugin/services/PluginService.java | 10 +++++----- .../project/controllers/ProjectsController.java | 1 + .../com/owlplug/project/services/ProjectService.java | 6 +++--- 5 files changed, 14 insertions(+), 13 deletions(-) diff --git a/owlplug-client/src/main/java/com/owlplug/explore/controllers/ExploreController.java b/owlplug-client/src/main/java/com/owlplug/explore/controllers/ExploreController.java index 7466011f..3ae7f32b 100644 --- a/owlplug-client/src/main/java/com/owlplug/explore/controllers/ExploreController.java +++ b/owlplug-client/src/main/java/com/owlplug/explore/controllers/ExploreController.java @@ -199,9 +199,9 @@ public void initialize() { syncSourcesButton.setOnAction(e -> { this.getTelemetryService().event("/Explore/SyncSources"); var context = exploreTaskFactory.createSourceSyncTask(); - context.setOnSucceeded((__) -> syncSourcesButton.setDisable(false)); - context.setOnFailed((__) -> syncSourcesButton.setDisable(false)); - context.setOnCancelled((__) -> syncSourcesButton.setDisable(false)); + context.setOnSucceeded((ignore) -> syncSourcesButton.setDisable(false)); + context.setOnFailed((ignore) -> syncSourcesButton.setDisable(false)); + context.setOnCancelled((ignore) -> syncSourcesButton.setDisable(false)); context.schedule(); syncSourcesButton.setDisable(true); }); diff --git a/owlplug-client/src/main/java/com/owlplug/plugin/controllers/PluginsController.java b/owlplug-client/src/main/java/com/owlplug/plugin/controllers/PluginsController.java index 34d36f32..2c2094da 100644 --- a/owlplug-client/src/main/java/com/owlplug/plugin/controllers/PluginsController.java +++ b/owlplug-client/src/main/java/com/owlplug/plugin/controllers/PluginsController.java @@ -180,8 +180,8 @@ public void initialize() { syncButton.setOnAction(e -> { this.getTelemetryService().event("/Plugins/Scan"); pluginService.syncPlugins(() -> { - syncButton.setDisable(false); - exportButton.setDisable(false); + syncButton.setDisable(false); + exportButton.setDisable(false); }); syncButton.setDisable(true); exportButton.setDisable(true); diff --git a/owlplug-client/src/main/java/com/owlplug/plugin/services/PluginService.java b/owlplug-client/src/main/java/com/owlplug/plugin/services/PluginService.java index 056f95da..953ea447 100644 --- a/owlplug-client/src/main/java/com/owlplug/plugin/services/PluginService.java +++ b/owlplug-client/src/main/java/com/owlplug/plugin/services/PluginService.java @@ -64,11 +64,11 @@ public void syncPlugins() { } public void syncPlugins(Runnable callback) { - var context = taskFactory.createPluginSyncTask(); - context.setOnSucceeded((e) -> callback.run()); - context.setOnFailed((e) -> callback.run()); - context.setOnCancelled((e) -> callback.run()); - context.schedule(); + var context = taskFactory.createPluginSyncTask(); + context.setOnSucceeded((e) -> callback.run()); + context.setOnFailed((e) -> callback.run()); + context.setOnCancelled((e) -> callback.run()); + context.schedule(); } public void syncFiles() { diff --git a/owlplug-client/src/main/java/com/owlplug/project/controllers/ProjectsController.java b/owlplug-client/src/main/java/com/owlplug/project/controllers/ProjectsController.java index de063c4b..e172e96f 100644 --- a/owlplug-client/src/main/java/com/owlplug/project/controllers/ProjectsController.java +++ b/owlplug-client/src/main/java/com/owlplug/project/controllers/ProjectsController.java @@ -69,6 +69,7 @@ public void initialize() { syncProjectButton.setOnAction(e -> { this.getTelemetryService().event("/Projects/Scan"); projectService.syncProjects(() -> syncProjectButton.setDisable(false)); + syncProjectButton.setDisable(true); }); projectTaskFactory.addSyncProjectsListener(() -> { diff --git a/owlplug-client/src/main/java/com/owlplug/project/services/ProjectService.java b/owlplug-client/src/main/java/com/owlplug/project/services/ProjectService.java index ba21acb8..46f6c222 100644 --- a/owlplug-client/src/main/java/com/owlplug/project/services/ProjectService.java +++ b/owlplug-client/src/main/java/com/owlplug/project/services/ProjectService.java @@ -39,9 +39,9 @@ public void syncProjects() { public void syncProjects(Runnable callback) { var context = taskFactory.createSyncTask(); - context.setOnSucceeded((__) -> callback.run()); - context.setOnFailed((__) -> callback.run()); - context.setOnCancelled((__) -> callback.run()); + context.setOnSucceeded((ignore) -> callback.run()); + context.setOnFailed((ignore) -> callback.run()); + context.setOnCancelled((ignore) -> callback.run()); context.schedule(); }