Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Coulon2016-12-05 10:01:03 +0000
committerJeff Johnston2016-12-05 23:19:14 +0000
commit78320adc0ea5c3c0d90b49973cff80374a5a8f73 (patch)
tree9ee59b7e94cc87e796770e1a37578f76d8105ba6
parentdbd09ba479d2d15a71fd172b986efdd1c390bb10 (diff)
downloadorg.eclipse.linuxtools-78320adc0ea5c3c0d90b49973cff80374a5a8f73.tar.gz
org.eclipse.linuxtools-78320adc0ea5c3c0d90b49973cff80374a5a8f73.tar.xz
org.eclipse.linuxtools-78320adc0ea5c3c0d90b49973cff80374a5a8f73.zip
Bug 508655 - DockerException in DockerConnection.open
Removed the call to `Activator.log(e)` when a problem occurs while testing the connection settings in the wizard. Instead, the exception's message is displayed in the error dialog, which is more explicit to the user (no need to look for the reason in the Error Log). Same pattern is applied on both `NewDockerConnection` page and `EditDockerConnection` page. Also, fixed a few generics warnings in the `NewDockerConnectionPage` class. Change-Id: Iac9d1df4c5f1f61268317ce3461b90284c1d1144 Signed-off-by: Xavier Coulon <xcoulon@redhat.com> Reviewed-on: https://git.eclipse.org/r/86346 Tested-by: Hudson CI Reviewed-by: Jeff Johnston <jjohnstn@redhat.com>
-rw-r--r--containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/wizards/EditDockerConnectionPage.java17
-rw-r--r--containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/wizards/NewDockerConnectionPage.java36
-rw-r--r--containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/wizards/WizardMessages.properties2
3 files changed, 36 insertions, 19 deletions
diff --git a/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/wizards/EditDockerConnectionPage.java b/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/wizards/EditDockerConnectionPage.java
index 87f6419ac8..19075bdbb2 100644
--- a/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/wizards/EditDockerConnectionPage.java
+++ b/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/wizards/EditDockerConnectionPage.java
@@ -406,7 +406,7 @@ public class EditDockerConnectionPage extends WizardPage {
return new SelectionAdapter() {
@Override
- public void widgetSelected(SelectionEvent e) {
+ public void widgetSelected(final SelectionEvent event) {
try {
getWizard().getContainer().run(true, false, monitor -> {
monitor.beginTask(WizardMessages.getString(
@@ -418,12 +418,13 @@ public class EditDockerConnectionPage extends WizardPage {
dockerConnection.close();
// ping succeeded
displaySuccessDialog();
- } catch (DockerException e1) {
+ } catch (DockerException e) {
// only log if there's an underlying cause.
- if (e1.getCause() != null) {
- Activator.log(e1);
+ if (e.getCause() != null) {
+ displayErrorDialog(e.getCause());
+ } else {
+ displayErrorDialog(e);
}
- displayErrorDialog();
}
});
} catch (InvocationTargetException | InterruptedException o_O) {
@@ -443,12 +444,14 @@ public class EditDockerConnectionPage extends WizardPage {
);
}
- private void displayErrorDialog() {
+ private void displayErrorDialog(final Throwable cause) {
displayDialog(
WizardMessages
.getString("DockerConnectionPage.failure"), //$NON-NLS-1$
WizardMessages
- .getString("DockerConnectionPage.pingFailure"), //$NON-NLS-1$
+ .getFormattedString(
+ "DockerConnectionPage.pingFailure", //$NON-NLS-1$
+ cause.getMessage()),
SWT.ICON_ERROR, new String[] { WizardMessages
.getString("DockerConnectionPage.ok") } //$NON-NLS-1$
);
diff --git a/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/wizards/NewDockerConnectionPage.java b/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/wizards/NewDockerConnectionPage.java
index 35bef24c7d..09b1d683d7 100644
--- a/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/wizards/NewDockerConnectionPage.java
+++ b/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/wizards/NewDockerConnectionPage.java
@@ -290,35 +290,43 @@ public class NewDockerConnectionPage extends WizardPage {
.addSelectionListener(onTestConnectionButtonSelection());
// observe
+ @SuppressWarnings("unchecked")
final IObservableValue<String> connectionNameModelObservable = BeanProperties
.value(NewDockerConnectionPageModel.class,
NewDockerConnectionPageModel.CONNECTION_NAME)
.observe(model);
+ @SuppressWarnings("unchecked")
final IObservableValue<Boolean> unixSocketBindingModeModelObservable = BeanProperties
.value(NewDockerConnectionPageModel.class,
NewDockerConnectionPageModel.UNIX_SOCKET_BINDING_MODE)
.observe(model);
+ @SuppressWarnings("unchecked")
final IObservableValue<String> unixSocketPathModelObservable = BeanProperties
.value(NewDockerConnectionPageModel.class,
NewDockerConnectionPageModel.UNIX_SOCKET_PATH)
.observe(model);
- final IObservableValue customConnectionSettingsModelObservable = BeanProperties
+ @SuppressWarnings("unchecked")
+ final IObservableValue<Boolean> customConnectionSettingsModelObservable = BeanProperties
.value(NewDockerConnectionPageModel.class,
NewDockerConnectionPageModel.CUSTOM_SETTINGS)
.observe(model);
+ @SuppressWarnings("unchecked")
final IObservableValue<Boolean> tcpConnectionBindingModeModelObservable = BeanProperties
.value(NewDockerConnectionPageModel.class,
NewDockerConnectionPageModel.TCP_CONNECTION_BINDING_MODE)
.observe(model);
+ @SuppressWarnings("unchecked")
final IObservableValue<String> tcpCertPathModelObservable = BeanProperties
.value(NewDockerConnectionPageModel.class,
NewDockerConnectionPageModel.TCP_CERT_PATH)
.observe(model);
+ @SuppressWarnings("unchecked")
final IObservableValue<Boolean> tcpTlsVerifyModelObservable = BeanProperties
.value(NewDockerConnectionPageModel.class,
NewDockerConnectionPageModel.TCP_TLS_VERIFY)
.observe(model);
+ @SuppressWarnings("unchecked")
final IObservableValue<String> tcpHostModelObservable = BeanProperties
.value(NewDockerConnectionPageModel.class,
NewDockerConnectionPageModel.TCP_HOST)
@@ -541,7 +549,7 @@ public class NewDockerConnectionPage extends WizardPage {
bindingModeSelectionControls);
}
- private IValueChangeListener onCustomConnectionSettingsSelection(
+ private IValueChangeListener<Boolean> onCustomConnectionSettingsSelection(
final Control[] bindingModeSelectionControls,
final Control[] unixSocketControls, final Control[] tcpAuthControls,
final Control[] tcpConnectionControls) {
@@ -572,7 +580,7 @@ public class NewDockerConnectionPage extends WizardPage {
};
}
- private IValueChangeListener onTcpAuthSelection(
+ private IValueChangeListener<Boolean> onTcpAuthSelection(
final Control[] tcpAuthControls) {
return event -> setWidgetsEnabled(model.isCustomSettings()
&& model.isTcpConnectionBindingMode() && model.isTcpTLSVerify(),
@@ -605,7 +613,7 @@ public class NewDockerConnectionPage extends WizardPage {
return new SelectionAdapter() {
@Override
- public void widgetSelected(SelectionEvent e) {
+ public void widgetSelected(final SelectionEvent event) {
try {
getWizard().getContainer().run(true, false, monitor -> {
monitor.beginTask(WizardMessages.getString(
@@ -618,12 +626,16 @@ public class NewDockerConnectionPage extends WizardPage {
dockerConnection.close();
// ping succeeded
displaySuccessDialog();
- } catch (DockerException e1) {
- // only log if there's an underlying cause.
- if (e1.getCause() != null) {
- Activator.log(e1);
+ } catch (DockerException e) {
+ // only log if there's an underlying cause, but not
+ // as an error
+ // because there's no need to report such problems
+ // in Eclipse.org AERI
+ if (e.getCause() != null) {
+ displayErrorDialog(e.getCause());
+ } else {
+ displayErrorDialog(e);
}
- displayErrorDialog();
}
});
} catch (InvocationTargetException | InterruptedException o_O) {
@@ -643,12 +655,14 @@ public class NewDockerConnectionPage extends WizardPage {
);
}
- private void displayErrorDialog() {
+ private void displayErrorDialog(final Throwable cause) {
displayDialog(
WizardMessages
.getString("DockerConnectionPage.failure"), //$NON-NLS-1$
WizardMessages
- .getString("DockerConnectionPage.pingFailure"), //$NON-NLS-1$
+ .getFormattedString(
+ "DockerConnectionPage.pingFailure", //$NON-NLS-1$
+ cause.getMessage()),
SWT.ICON_ERROR, new String[] { WizardMessages
.getString("DockerConnectionPage.ok") } //$NON-NLS-1$
);
diff --git a/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/wizards/WizardMessages.properties b/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/wizards/WizardMessages.properties
index 710c0b4e5a..7de953fb20 100644
--- a/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/wizards/WizardMessages.properties
+++ b/containers/org.eclipse.linuxtools.docker.ui/src/org/eclipse/linuxtools/internal/docker/ui/wizards/WizardMessages.properties
@@ -203,7 +203,7 @@ DockerConnectionPage.success=Success
DockerConnectionPage.pingSuccess=Ping succeeded!
DockerConnectionPage.ok=OK
DockerConnectionPage.failure=Failure
-DockerConnectionPage.pingFailure=Ping failed!
+DockerConnectionPage.pingFailure=Ping failed: {0}
DockerConnection.failure=Failure
DockerConnection.failMessage=Failed to connect!
DockerConnectionPage.validation.missingConnectionName.msg=Provide a unique name to identify the new connection.

Back to the top