Bug 529949 - Provide implementation of Bazaar Pattern

Minor improvements

Change-Id: Iec41a8475a63082574dfca41ecdd8c2565088b74
diff --git a/bundles/org.eclipse.emfforms.core.bazaar.tests/src/org/eclipse/emfforms/bazaar/internal/BazaarTest.java b/bundles/org.eclipse.emfforms.core.bazaar.tests/src/org/eclipse/emfforms/bazaar/internal/BazaarTest.java
index 9ee5814..17e0e86 100644
--- a/bundles/org.eclipse.emfforms.core.bazaar.tests/src/org/eclipse/emfforms/bazaar/internal/BazaarTest.java
+++ b/bundles/org.eclipse.emfforms.core.bazaar.tests/src/org/eclipse/emfforms/bazaar/internal/BazaarTest.java
@@ -139,7 +139,7 @@
 		final MyWare myWareMock = mock(MyWare.class);
 		final Vendor<MyWare> mountebank = new MountebankCreatingWareParameter0(myWareMock);
 
-		final MyWare myWare = bazaar.createWare(mountebank);
+		final MyWare myWare = bazaar.createWare(mountebank, EclipseContextFactory.create());
 		assertSame(myWareMock, myWare);
 	}
 
diff --git a/bundles/org.eclipse.emfforms.core.bazaar/src/org/eclipse/emfforms/bazaar/Exchange.java b/bundles/org.eclipse.emfforms.core.bazaar/src/org/eclipse/emfforms/bazaar/Exchange.java
index c14e7fb..7fe29fd 100644
--- a/bundles/org.eclipse.emfforms.core.bazaar/src/org/eclipse/emfforms/bazaar/Exchange.java
+++ b/bundles/org.eclipse.emfforms.core.bazaar/src/org/eclipse/emfforms/bazaar/Exchange.java
@@ -18,9 +18,9 @@
 import java.lang.annotation.Target;
 
 /**
- * Marks a mthod within a {@link BazaarContextFunction}. This method can request arbitrary parameters from the
+ * Marks a method within a {@link BazaarContextFunction}. This method can request arbitrary parameters from the
  * {@link BazaarContext} and exchanges them to a parameter. This parameter is returned by the method.
- * 
+ *
  * @author jonas
  *
  */
diff --git a/bundles/org.eclipse.emfforms.core.bazaar/src/org/eclipse/emfforms/bazaar/internal/BazaarImpl.java b/bundles/org.eclipse.emfforms.core.bazaar/src/org/eclipse/emfforms/bazaar/internal/BazaarImpl.java
index db51912..8c0b33d 100644
--- a/bundles/org.eclipse.emfforms.core.bazaar/src/org/eclipse/emfforms/bazaar/internal/BazaarImpl.java
+++ b/bundles/org.eclipse.emfforms.core.bazaar/src/org/eclipse/emfforms/bazaar/internal/BazaarImpl.java
@@ -13,6 +13,7 @@
 
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -42,7 +43,7 @@
  */
 public class BazaarImpl<T> implements Bazaar<T> {
 
-	private final List<Vendor<T>> mountebanks = new ArrayList<Vendor<T>>();
+	private final Set<Vendor<T>> mountebanks = new LinkedHashSet<Vendor<T>>();
 
 	private PriorityOverlapCallBack<T> priorityOverlapCallBack;
 
@@ -54,16 +55,6 @@
 	}
 
 	/**
-	 * Returns the ware which is provided by the {@link Vendor}.
-	 *
-	 * @return T
-	 */
-	public T createWare(Vendor<T> mountebank) {
-		final IEclipseContext context = EclipseContextFactory.create();
-		return createWare(mountebank, context);
-	}
-
-	/**
 	 * Returns the ware which is provided with the highest priority by any {@link Vendor}.
 	 *
 	 * @return T
@@ -162,7 +153,6 @@
 	}
 
 	/**
-	 * {@inheritDoc}
 	 *
 	 * @see org.eclipse.emfforms.bazaar.Bazaar#createWare(org.eclipse.emfforms.bazaar.BazaarContext)
 	 */
@@ -184,7 +174,6 @@
 	}
 
 	/**
-	 * {@inheritDoc}
 	 *
 	 * @see org.eclipse.emfforms.bazaar.Bazaar#createWares(org.eclipse.emfforms.bazaar.BazaarContext)
 	 */