From: Stian S. <st...@us...> - 2007-10-19 15:33:16
|
Update of /cvsroot/taverna/t2core/cloudone-impl/src/main/java/net/sf/taverna/t2/cloudone/util In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv14652/cloudone-impl/src/main/java/net/sf/taverna/t2/cloudone/util Modified Files: SPIRegistry.java Log Message: Added SPI tests Index: SPIRegistry.java =================================================================== RCS file: /cvsroot/taverna/t2core/cloudone-impl/src/main/java/net/sf/taverna/t2/cloudone/util/SPIRegistry.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SPIRegistry.java 17 Oct 2007 15:50:34 -0000 1.2 --- SPIRegistry.java 19 Oct 2007 15:33:18 -0000 1.3 *************** *** 5,10 **** --- 5,12 ---- import java.util.ArrayList; import java.util.Enumeration; + import java.util.HashSet; import java.util.List; import java.util.Scanner; + import java.util.Set; /** *************** *** 17,24 **** * The interface to discover */ ! public abstract class SPIRegistry<SPI> { private Class<SPI> spi; private ArrayList<SPI> instances; /** --- 19,27 ---- * The interface to discover */ ! public class SPIRegistry<SPI> { private Class<SPI> spi; private ArrayList<SPI> instances; + private Set<String> classNames; /** *************** *** 46,49 **** --- 49,53 ---- return instances; } + classNames = new HashSet<String>(); instances = new ArrayList<SPI>(); // TODO: Support Raven class loaders *************** *** 79,82 **** --- 83,90 ---- continue; // just blank line or comment } + if (classNames.contains(name)) { + System.out.println("Ignoring duplicate " + name); + continue; + } // System.out.println("SPI found class " + name); Class<? extends SPI> spiClass; *************** *** 104,107 **** --- 112,116 ---- e.printStackTrace(); } + classNames.add(name); } } |