[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));