### Eclipse Workspace Patch 1.0 #P imageio_2 Index: src/test/java/javax/imageio/spi/ServiceRegistrygTest.java =================================================================== --- src/test/java/javax/imageio/spi/ServiceRegistrygTest.java (revision 0) +++ src/test/java/javax/imageio/spi/ServiceRegistrygTest.java (revision 0) @@ -0,0 +1,25 @@ +package javax.imageio.spi; + +import java.util.Arrays; + +import org.apache.harmony.x.imageio.plugins.jpeg.JPEGImageReaderSpi; + +import junit.framework.TestCase; + +public class ServiceRegistrygTest extends TestCase { + + @SuppressWarnings("unchecked") + public void testRegistryServiceProvider() throws Exception { + Class[] CATEGORIES = new Class[] { + javax.imageio.spi.ImageWriterSpi.class, + javax.imageio.spi.ImageReaderSpi.class}; + + ServiceRegistry registry = new ServiceRegistry(Arrays.> asList(CATEGORIES).iterator()); + + JPEGImageReaderSpi spiA = new JPEGImageReaderSpi(); + JPEGImageReaderSpi spiB = new JPEGImageReaderSpi(); + + assertTrue("Failed to return True", registry.registerServiceProvider(spiA, CATEGORIES[1])); + assertFalse("Failed to return False", registry.registerServiceProvider(spiB, CATEGORIES[1])); + } +} Index: src/main/java/javax/imageio/spi/ServiceRegistry.java =================================================================== --- src/main/java/javax/imageio/spi/ServiceRegistry.java (revision 938264) +++ src/main/java/javax/imageio/spi/ServiceRegistry.java (working copy) @@ -209,7 +209,7 @@ Map, Object> providers = new HashMap, Object>(); boolean addProvider(Object provider) { - return providers.put(provider.getClass(), provider) != null; + return providers.put(provider.getClass(), provider) == null; } Iterator> getProviderClasses() {