diff --git a/build.gradle b/build.gradle index 6836a55e..527423f9 100644 --- a/build.gradle +++ b/build.gradle @@ -53,7 +53,7 @@ subprojects { } ext { - javafxVersion = "21.0.1" + javafxVersion = "22" } @@ -79,7 +79,7 @@ subprojects { implementation 'jakarta.activation:jakarta.activation-api:2.1.2' implementation 'javax.inject:javax.inject:1' implementation 'javax.servlet:javax.servlet-api:4.0.1' - implementation 'org.controlsfx:controlsfx:11.2.0' + implementation 'org.controlsfx:controlsfx:11.2.1' implementation 'org.glassfish.jersey.core:jersey-client:2.29' implementation 'org.kordamp.ikonli:ikonli-javafx:12.3.1' implementation 'org.kordamp.ikonli:ikonli-material-pack:12.3.1' @@ -96,7 +96,7 @@ subprojects { implementation 'org.slf4j:slf4j-jdk-platform-logging:2.0.12' implementation 'org.slf4j:jul-to-slf4j:2.0.12' implementation 'org.swinglabs.swingx:swingx-all:1.6.5-1' - runtimeOnly 'ch.qos.logback:logback-classic:1.4.14' + runtimeOnly 'ch.qos.logback:logback-classic:1.5.3' runtimeOnly 'org.fusesource.jansi:jansi:2.4.1' } diff --git a/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/commands/ChangeActivityCmd.java b/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/commands/ChangeActivityCmd.java index dd23af54..0d2a54c6 100644 --- a/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/commands/ChangeActivityCmd.java +++ b/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/commands/ChangeActivityCmd.java @@ -1,31 +1,20 @@ package org.mbari.vars.ui.commands; import org.mbari.vars.services.model.Annotation; +import org.mbari.vars.services.model.ObservationsUpdate; import java.util.List; -import java.util.stream.Collectors; -/** - * @author Brian Schlining - * @since 2017-09-15T19:32:00 - * @deprecated use {@link ChangeActivityCmd2} instead - */ -public class ChangeActivityCmd extends UpdateAnnotationsCmd { +public class ChangeActivityCmd extends UpdateObservationsCmd { - private final String activity; public ChangeActivityCmd(List originalAnnotations, String activity) { - super(originalAnnotations, originalAnnotations.stream() - .map(Annotation::new) - .peek(a -> a.setActivity(activity)) - .collect(Collectors.toList()), false, false); - this.activity = activity; + super(originalAnnotations, ObservationsUpdate.forActivity(observationUuids(originalAnnotations), activity)); } - @Override public String getDescription() { - return "Changing activity of " + originalAnnotations.size() + " annotations to " + activity; + return "Changing activity of " + originalAnnotations.size() + " annotations to " + observationsUpdate.activity(); } -} \ No newline at end of file +} diff --git a/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/commands/ChangeActivityCmd2.java b/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/commands/ChangeActivityCmd2.java deleted file mode 100644 index c6bf9fed..00000000 --- a/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/commands/ChangeActivityCmd2.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.mbari.vars.ui.commands; - -import org.mbari.vars.services.model.Annotation; -import org.mbari.vars.services.model.ObservationsUpdate; - -import java.util.List; - -public class ChangeActivityCmd2 extends UpdateObservationsCmd { - - - - public ChangeActivityCmd2(List originalAnnotations, String activity) { - super(originalAnnotations, ObservationsUpdate.forActivity(observationUuids(originalAnnotations), activity)); - } - - @Override - public String getDescription() { - return "Changing activity of " + originalAnnotations.size() + " annotations to " + observationsUpdate.activity(); - } -} diff --git a/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/commands/ChangeConceptCmd.java b/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/commands/ChangeConceptCmd.java index ab27e64c..2eafed95 100644 --- a/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/commands/ChangeConceptCmd.java +++ b/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/commands/ChangeConceptCmd.java @@ -1,30 +1,29 @@ package org.mbari.vars.ui.commands; import org.mbari.vars.services.model.Annotation; +import org.mbari.vars.services.model.ObservationsUpdate; +import org.mbari.vars.services.model.User; +import org.mbari.vars.ui.UIToolBox; import java.util.List; -import java.util.stream.Collectors; -/** - * @author Brian Schlining - * @since 2017-09-18T10:46:00 - * @deprecated use {@link ChangeConceptCmd2} instead - */ -public class ChangeConceptCmd extends UpdateAnnotationsCmd { - - private final String concept; +public class ChangeConceptCmd extends UpdateObservationsCmd { public ChangeConceptCmd(List originalAnnotations, String concept) { - super(originalAnnotations, originalAnnotations.stream() - .map(Annotation::new) - .peek(a -> a.setConcept(concept)) - .collect(Collectors.toList()), true, true); - this.concept = concept; + super(originalAnnotations, ObservationsUpdate.forConcept(observationUuids(originalAnnotations), concept)); } @Override - public String getDescription() { - return "Changing concept for " + originalAnnotations.size() + " annotations to " + concept; + public void apply(UIToolBox toolBox) { + final User user = toolBox.getData().getUser(); + if (user != null) { + observationsUpdate = observationsUpdate.withObserver(user.getUsername()); + } + super.apply(toolBox); } + @Override + public String getDescription() { + return "Changing concept of " + originalAnnotations.size() + " annotations to " + observationsUpdate.concept(); + } } diff --git a/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/commands/ChangeConceptCmd2.java b/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/commands/ChangeConceptCmd2.java deleted file mode 100644 index 867da513..00000000 --- a/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/commands/ChangeConceptCmd2.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.mbari.vars.ui.commands; - -import org.mbari.vars.services.model.Annotation; -import org.mbari.vars.services.model.ObservationsUpdate; -import org.mbari.vars.services.model.User; -import org.mbari.vars.ui.UIToolBox; - -import java.util.List; - -public class ChangeConceptCmd2 extends UpdateObservationsCmd { - - public ChangeConceptCmd2(List originalAnnotations, String concept) { - super(originalAnnotations, ObservationsUpdate.forConcept(observationUuids(originalAnnotations), concept)); - } - - @Override - public void apply(UIToolBox toolBox) { - final User user = toolBox.getData().getUser(); - if (user != null) { - observationsUpdate = observationsUpdate.withObserver(user.getUsername()); - } - super.apply(toolBox); - } - - @Override - public String getDescription() { - return "Changing concept of " + originalAnnotations.size() + " annotations to " + observationsUpdate.concept(); - } -} diff --git a/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/commands/ChangeGroupCmd.java b/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/commands/ChangeGroupCmd.java index 594f8ab6..a5a6a90c 100644 --- a/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/commands/ChangeGroupCmd.java +++ b/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/commands/ChangeGroupCmd.java @@ -1,31 +1,18 @@ package org.mbari.vars.ui.commands; import org.mbari.vars.services.model.Annotation; +import org.mbari.vars.services.model.ObservationsUpdate; import java.util.List; -import java.util.stream.Collectors; - -/** - * @author Brian Schlining - * @since 2017-09-15T19:31:00 - * @deprecated use {@link ChangeGroupCmd2} instead - */ -public class ChangeGroupCmd extends UpdateAnnotationsCmd { - - private final String group; +public class ChangeGroupCmd extends UpdateObservationsCmd { public ChangeGroupCmd(List originalAnnotations, String group) { - super(originalAnnotations, originalAnnotations.stream() - .map(a -> new Annotation(a)) - .peek(a -> a.setGroup(group)) - .collect(Collectors.toList()), false, false); - this.group = group; + super(originalAnnotations, ObservationsUpdate.forGroup(observationUuids(originalAnnotations), group)); } - @Override public String getDescription() { - return "Changing group of " + originalAnnotations.size() + " annotations to " + group; + return "Changing group of " + originalAnnotations.size() + " annotations to " + observationsUpdate.group(); } } diff --git a/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/commands/ChangeGroupCmd2.java b/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/commands/ChangeGroupCmd2.java deleted file mode 100644 index 6617d5a8..00000000 --- a/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/commands/ChangeGroupCmd2.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.mbari.vars.ui.commands; - -import org.mbari.vars.services.model.Annotation; -import org.mbari.vars.services.model.ObservationsUpdate; - -import java.util.List; - -public class ChangeGroupCmd2 extends UpdateObservationsCmd { - - public ChangeGroupCmd2(List originalAnnotations, String group) { - super(originalAnnotations, ObservationsUpdate.forGroup(observationUuids(originalAnnotations), group)); - } - - @Override - public String getDescription() { - return "Changing group of " + originalAnnotations.size() + " annotations to " + observationsUpdate.group(); - } -} diff --git a/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/javafx/AppPaneController.java b/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/javafx/AppPaneController.java index 0cd6446f..a4f708ba 100644 --- a/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/javafx/AppPaneController.java +++ b/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/javafx/AppPaneController.java @@ -293,12 +293,20 @@ public TabPane getTabPane() { Tab mediaTab = new Tab("Media", new ScrollPane(mediaPaneController.getRoot())); mediaTab.setClosable(false); observable.ofType(AnnotationsSelectedEvent.class) - .subscribe(e -> showMediaOfSelectedRow(e.get())); + .subscribe(e -> { + if (tabPane.getSelectionModel().getSelectedItem() == mediaTab) { + showMediaOfSelectedRow(e.get()); + } + }); Tab dataTab = new Tab("Data", ancillaryDataPaneController.getRoot()); dataTab.setClosable(false); observable.ofType(AnnotationsSelectedEvent.class) - .subscribe(e -> showAncillaryData(e.get())); + .subscribe(e -> { + if (tabPane.getSelectionModel().getSelectedItem() == dataTab) { + showAncillaryData(e.get()); + } + }); SearchTreePaneController treeController = new SearchTreePaneController(toolBox, toolBox.getI18nBundle()); diff --git a/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/javafx/BulkEditorPaneController.java b/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/javafx/BulkEditorPaneController.java index 5b9dd39e..13bd9410 100644 --- a/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/javafx/BulkEditorPaneController.java +++ b/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/javafx/BulkEditorPaneController.java @@ -459,7 +459,7 @@ private void changeGroups() { String content = i18n.getString("bulkeditor.group.dialog.content1") + " " + group + " " + i18n.getString("bulkeditor.group.dialog.content2") + " " + annosCopy.size() + " " + i18n.getString("bulkeditor.group.dialog.content3"); - Runnable action = () -> eventBus.send(new ChangeGroupCmd2(annosCopy, group)); + Runnable action = () -> eventBus.send(new ChangeGroupCmd(annosCopy, group)); doActionWithAlert(title, header, content, action); } } @@ -480,7 +480,7 @@ private void changeActivity() { String content = i18n.getString("bulkeditor.activity.dialog.content1") + " " + activity + " " + i18n.getString("bulkeditor.activity.dialog.content2") + " " + annosCopy.size() + " " + i18n.getString("bulkeditor.activity.dialog.content3"); - Runnable action = () -> eventBus.send(new ChangeActivityCmd2(annosCopy, activity)); + Runnable action = () -> eventBus.send(new ChangeActivityCmd(annosCopy, activity)); doActionWithAlert(title, header, content, action); } } @@ -507,7 +507,7 @@ private void renameAnnotations() { dialog.setContentText(content); Platform.runLater(() -> conceptDialogController.getComboBox().requestFocus()); Optional opt = dialog.showAndWait(); - opt.ifPresent(c -> eventBus.send(new ChangeConceptCmd2(annosCopy, c))); + opt.ifPresent(c -> eventBus.send(new ChangeConceptCmd(annosCopy, c))); } private void deleteAnnotations() { diff --git a/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/javafx/deployeditor/AnnotationTableController.java b/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/javafx/deployeditor/AnnotationTableController.java index ebd30df9..97f55c04 100644 --- a/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/javafx/deployeditor/AnnotationTableController.java +++ b/org.mbari.vars.ui/src/main/java/org/mbari/vars/ui/javafx/deployeditor/AnnotationTableController.java @@ -56,11 +56,11 @@ public AnnotationTableController(UIToolBox toolBox, // Forward this tables annotation mutating events to main event bus EventBus mainEventBus = toolBox.getEventBus(); - List> commandsToForward = List.of(ChangeGroupCmd2.class, - ChangeActivityCmd2.class, + List> commandsToForward = List.of(ChangeGroupCmd.class, + ChangeActivityCmd.class, //MoveAnnotationsCmd.class, MoveAnnotationsAndImagesCmd.class, - ChangeConceptCmd2.class, + ChangeConceptCmd.class, DeleteAssociationsCmd.class); for (Class clazz : commandsToForward) { observable.ofType(clazz)