From 48ff7a223d3ce70c0620bf7ee0a617cc2cb09899 Mon Sep 17 00:00:00 2001 From: Jonah Graham Date: Mon, 7 Jun 2021 11:39:38 -0400 Subject: [PATCH] Bug 574057: Prevent null set of selected data volumes Prefer an empty set instead. Change-Id: I6b13f78ffbbbe0cbac2b69ad50abdc90f15fed66 --- .../cdt/internal/docker/launcher/ContainerPropertyTab.java | 2 +- .../docker/launcher/ContainerPropertyVolumesModel.java | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/launch/org.eclipse.cdt.docker.launcher/src/org/eclipse/cdt/internal/docker/launcher/ContainerPropertyTab.java b/launch/org.eclipse.cdt.docker.launcher/src/org/eclipse/cdt/internal/docker/launcher/ContainerPropertyTab.java index 4164122fe73..9c5396f9af0 100644 --- a/launch/org.eclipse.cdt.docker.launcher/src/org/eclipse/cdt/internal/docker/launcher/ContainerPropertyTab.java +++ b/launch/org.eclipse.cdt.docker.launcher/src/org/eclipse/cdt/internal/docker/launcher/ContainerPropertyTab.java @@ -911,7 +911,7 @@ public class ContainerPropertyTab extends AbstractCBuildPropertyTab } imageCombo.setText(""); //$NON-NLS-1$ model.setDataVolumes(null); - model.setSelectedDataVolumes(null); + model.setSelectedDataVolumes(new HashSet<>()); enableButton.setSelection(false); setControlsEnabled(false); } diff --git a/launch/org.eclipse.cdt.docker.launcher/src/org/eclipse/cdt/internal/docker/launcher/ContainerPropertyVolumesModel.java b/launch/org.eclipse.cdt.docker.launcher/src/org/eclipse/cdt/internal/docker/launcher/ContainerPropertyVolumesModel.java index bbcb6caf954..b520dcdd557 100644 --- a/launch/org.eclipse.cdt.docker.launcher/src/org/eclipse/cdt/internal/docker/launcher/ContainerPropertyVolumesModel.java +++ b/launch/org.eclipse.cdt.docker.launcher/src/org/eclipse/cdt/internal/docker/launcher/ContainerPropertyVolumesModel.java @@ -21,6 +21,7 @@ import java.util.List; import java.util.Set; import org.eclipse.core.databinding.observable.list.WritableList; +import org.eclipse.core.runtime.Assert; import org.eclipse.linuxtools.docker.core.DockerException; import org.eclipse.linuxtools.docker.core.IDockerConnection; import org.eclipse.linuxtools.docker.core.IDockerImage; @@ -129,7 +130,12 @@ public class ContainerPropertyVolumesModel extends BaseDatabindingModel { return selectedDataVolumes; } + /** + * + * @param selectedDataVolumes non-null set of selected data volumes + */ public void setSelectedDataVolumes(final Set selectedDataVolumes) { + Assert.isNotNull(selectedDataVolumes); firePropertyChange(SELECTED_DATA_VOLUMES, this.selectedDataVolumes, this.selectedDataVolumes = selectedDataVolumes); }