[Bug 396928] WIP: Change the interface of the view and presenter so
that the view to be aware the destination provider a category is related
to
diff --git a/bundles/org.eclipse.platform.discovery.destprefs/src/org/eclipse/platform/discovery/destprefs/internal/prefpage/ui/CategoryDestinationProviderPair.java b/bundles/org.eclipse.platform.discovery.destprefs/src/org/eclipse/platform/discovery/destprefs/internal/prefpage/ui/CategoryDestinationProviderPair.java
new file mode 100644
index 0000000..4aa784d
--- /dev/null
+++ b/bundles/org.eclipse.platform.discovery.destprefs/src/org/eclipse/platform/discovery/destprefs/internal/prefpage/ui/CategoryDestinationProviderPair.java
@@ -0,0 +1,14 @@
+package org.eclipse.platform.discovery.destprefs.internal.prefpage.ui;
+
+import org.eclipse.platform.discovery.runtime.internal.model.descriptions.IDestinationCategoryDescription;
+import org.eclipse.platform.discovery.runtime.internal.model.descriptions.IDestinationsProviderDescription;
+
+public class CategoryDestinationProviderPair {
+ public final IDestinationCategoryDescription category;
+ public final IDestinationsProviderDescription destinationProvider;
+
+ public CategoryDestinationProviderPair(final IDestinationCategoryDescription category, final IDestinationsProviderDescription destinationProvider) {
+ this.category = category;
+ this.destinationProvider = destinationProvider;
+ }
+}
diff --git a/bundles/org.eclipse.platform.discovery.destprefs/src/org/eclipse/platform/discovery/destprefs/internal/prefpage/ui/DestinationConfiguratorsPresenter.java b/bundles/org.eclipse.platform.discovery.destprefs/src/org/eclipse/platform/discovery/destprefs/internal/prefpage/ui/DestinationConfiguratorsPresenter.java
index 338d1b8..307dc09 100644
--- a/bundles/org.eclipse.platform.discovery.destprefs/src/org/eclipse/platform/discovery/destprefs/internal/prefpage/ui/DestinationConfiguratorsPresenter.java
+++ b/bundles/org.eclipse.platform.discovery.destprefs/src/org/eclipse/platform/discovery/destprefs/internal/prefpage/ui/DestinationConfiguratorsPresenter.java
@@ -15,11 +15,11 @@
this.configuratorParser = configuratorParser;
}
+ @Override
public void setView(IDestinationConfiguratorsView view) {
this.view = view;
}
-
@Override
public void destinationSelected(ISearchDestination destination) {
view.setAddEnabled(true);
@@ -28,10 +28,10 @@
}
@Override
- public void categorySelected(String categoryId) {
- view.setAddEnabled(true);
- view.setEditEnabled(false);
- view.setRemoveEnabled(false);
+ public void destinationProviderSelected(String destinationProviderId) {
+ view.setAddEnabled(true);
+ view.setEditEnabled(false);
+ view.setRemoveEnabled(false);
}
@Override
diff --git a/bundles/org.eclipse.platform.discovery.destprefs/src/org/eclipse/platform/discovery/destprefs/internal/prefpage/ui/IDestinationConfiguratorsPresenter.java b/bundles/org.eclipse.platform.discovery.destprefs/src/org/eclipse/platform/discovery/destprefs/internal/prefpage/ui/IDestinationConfiguratorsPresenter.java
index f30488f..73a99ee 100644
--- a/bundles/org.eclipse.platform.discovery.destprefs/src/org/eclipse/platform/discovery/destprefs/internal/prefpage/ui/IDestinationConfiguratorsPresenter.java
+++ b/bundles/org.eclipse.platform.discovery.destprefs/src/org/eclipse/platform/discovery/destprefs/internal/prefpage/ui/IDestinationConfiguratorsPresenter.java
@@ -4,9 +4,10 @@
public interface IDestinationConfiguratorsPresenter {
public void destinationSelected(final ISearchDestination destination);
- public void categorySelected(final String categoryId);
+ public void destinationProviderSelected(final String destinationProviderId);
public void addDestination(final String destinationProviderId);
public void editDestination(final ISearchDestination destination);
public void removeDestination(final ISearchDestination destination);
public void testDestination(final ISearchDestination destination);
+ public void setView(final IDestinationConfiguratorsView view);
}
diff --git a/bundles/org.eclipse.platform.discovery.destprefs/src/org/eclipse/platform/discovery/destprefs/internal/prefpage/ui/IDestinationConfiguratorsView.java b/bundles/org.eclipse.platform.discovery.destprefs/src/org/eclipse/platform/discovery/destprefs/internal/prefpage/ui/IDestinationConfiguratorsView.java
index ecbecf2..ee74c57 100644
--- a/bundles/org.eclipse.platform.discovery.destprefs/src/org/eclipse/platform/discovery/destprefs/internal/prefpage/ui/IDestinationConfiguratorsView.java
+++ b/bundles/org.eclipse.platform.discovery.destprefs/src/org/eclipse/platform/discovery/destprefs/internal/prefpage/ui/IDestinationConfiguratorsView.java
@@ -1,14 +1,12 @@
package org.eclipse.platform.discovery.destprefs.internal.prefpage.ui;
-import java.util.List;
-import java.util.Map;
+import java.util.Collection;
import org.eclipse.core.runtime.IStatus;
-import org.eclipse.platform.discovery.runtime.api.ISearchDestination;
import org.eclipse.swt.widgets.Shell;
public interface IDestinationConfiguratorsView {
- public void showConfigurators(final Map<String, List<ISearchDestination>> destinations);
+ public void setInput(final Collection<CategoryDestinationProviderPair> input);
public void setStatus(final IStatus status);
public void setAddEnabled(final boolean enabled);
public void setEditEnabled(final boolean enabled);
diff --git a/tests/org.eclipse.platform.discovery.destprefs.test.unit/src/org/eclipse/platform/discovery/destprefs/test/unit/prefpage/DestinationConfiguratorsPresenterTest.java b/tests/org.eclipse.platform.discovery.destprefs.test.unit/src/org/eclipse/platform/discovery/destprefs/test/unit/prefpage/DestinationConfiguratorsPresenterTest.java
index 80c5e4c..d4f8ecd 100644
--- a/tests/org.eclipse.platform.discovery.destprefs.test.unit/src/org/eclipse/platform/discovery/destprefs/test/unit/prefpage/DestinationConfiguratorsPresenterTest.java
+++ b/tests/org.eclipse.platform.discovery.destprefs.test.unit/src/org/eclipse/platform/discovery/destprefs/test/unit/prefpage/DestinationConfiguratorsPresenterTest.java
@@ -11,7 +11,6 @@
import org.eclipse.platform.discovery.testutils.utils.registry.ExtensionRegistryBuilder;
import org.eclipse.swt.widgets.Shell;
import org.junit.Before;
-import org.junit.Ignore;
import org.junit.Test;
import org.mockito.Mock;
import org.mockito.Mockito;
@@ -69,7 +68,7 @@
@Test
public void destinationCategorySelectedTogglesEnablement() {
- presenter.categorySelected(fixture.DEST_PROVIDER_CAT1_1);
+ presenter.destinationProviderSelected(fixture.DEST_PROVIDER_CAT1_1);
Mockito.verify(view).setAddEnabled(Mockito.eq(true));
Mockito.verify(view).setEditEnabled(Mockito.eq(false));
Mockito.verify(view).setRemoveEnabled(Mockito.eq(false));