Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteffen Pingel2011-12-01 11:39:09 +0000
committerSteffen Pingel2011-12-01 11:39:09 +0000
commit9b88e7cbfa520afb94a8ef957ef1e8644fb9bda1 (patch)
tree75a68e6b85bbf0e92cec02bcc50fc18bb4d252c0 /org.eclipse.mylyn.commons.ui
parente7b847ec2fe8aa4f5f291dc8ca5dd204c20ba8f0 (diff)
downloadorg.eclipse.mylyn.commons-9b88e7cbfa520afb94a8ef957ef1e8644fb9bda1.tar.gz
org.eclipse.mylyn.commons-9b88e7cbfa520afb94a8ef957ef1e8644fb9bda1.tar.xz
org.eclipse.mylyn.commons-9b88e7cbfa520afb94a8ef957ef1e8644fb9bda1.zip
NEW - bug 360046: Fix validation when creating repositories from Team
Repositories view https://bugs.eclipse.org/bugs/show_bug.cgi?id=360046
Diffstat (limited to 'org.eclipse.mylyn.commons.ui')
-rw-r--r--org.eclipse.mylyn.commons.ui/src/org/eclipse/mylyn/internal/provisional/commons/ui/dialogs/ValidatableWizardDialog.java23
1 files changed, 19 insertions, 4 deletions
diff --git a/org.eclipse.mylyn.commons.ui/src/org/eclipse/mylyn/internal/provisional/commons/ui/dialogs/ValidatableWizardDialog.java b/org.eclipse.mylyn.commons.ui/src/org/eclipse/mylyn/internal/provisional/commons/ui/dialogs/ValidatableWizardDialog.java
index 5923fe78..600f37bb 100644
--- a/org.eclipse.mylyn.commons.ui/src/org/eclipse/mylyn/internal/provisional/commons/ui/dialogs/ValidatableWizardDialog.java
+++ b/org.eclipse.mylyn.commons.ui/src/org/eclipse/mylyn/internal/provisional/commons/ui/dialogs/ValidatableWizardDialog.java
@@ -13,7 +13,9 @@ package org.eclipse.mylyn.internal.provisional.commons.ui.dialogs;
import java.util.HashMap;
+import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.jface.wizard.IWizard;
+import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.mylyn.internal.provisional.commons.ui.CommonImages;
import org.eclipse.swt.widgets.Button;
@@ -52,11 +54,12 @@ public class ValidatableWizardDialog extends EnhancedWizardDialog {
@Override
public void updateExtraButtons() {
- if (getCurrentPage() instanceof IValidatable && ((IValidatable) getCurrentPage()).needsValidation()) {
+ IValidatable validatable = getValidatablePage();
+ if (validatable != null && validatable.needsValidation()) {
if (!validateServerButton.isVisible()) {
validateServerButton.setVisible(true);
}
- validateServerButton.setEnabled(((IValidatable) getCurrentPage()).canValidate());
+ validateServerButton.setEnabled(validatable.canValidate());
} else {
if (validateServerButton != null && validateServerButton.isVisible()) {
validateServerButton.setVisible(false);
@@ -64,11 +67,23 @@ public class ValidatableWizardDialog extends EnhancedWizardDialog {
}
}
+ private IValidatable getValidatablePage() {
+ IValidatable validatable = null;
+ IWizardPage currentPage = getCurrentPage();
+ if (currentPage instanceof IValidatable) {
+ validatable = (IValidatable) currentPage;
+ } else if (currentPage instanceof IAdaptable) {
+ validatable = (IValidatable) ((IAdaptable) currentPage).getAdapter(IValidatable.class);
+ }
+ return validatable;
+ }
+
@Override
protected boolean handleExtraButtonPressed(int buttonId) {
if (buttonId == VALIDATE_BUTTON_ID) {
- if (getCurrentPage() instanceof IValidatable) {
- ((IValidatable) getCurrentPage()).validate();
+ IValidatable validatable = getValidatablePage();
+ if (validatable != null) {
+ validatable.validate();
return true;
}
}

Back to the top