From: Stuart O. <so...@us...> - 2006-06-30 11:31:52
|
Update of /cvsroot/taverna/taverna1.0/src/org/embl/ebi/escience/scuflui/renderers In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv20342/src/org/embl/ebi/escience/scuflui/renderers Modified Files: RendererRegistry.java Log Message: Rationalised discovery of SPI's to a single generic class TavernaSPIRegistry Index: RendererRegistry.java =================================================================== RCS file: /cvsroot/taverna/taverna1.0/src/org/embl/ebi/escience/scuflui/renderers/RendererRegistry.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** RendererRegistry.java 8 Jun 2006 09:24:02 -0000 1.4 --- RendererRegistry.java 30 Jun 2006 11:31:49 -0000 1.5 *************** *** 2,14 **** import java.util.ArrayList; - import java.util.Enumeration; import java.util.Iterator; import java.util.List; - import org.apache.commons.discovery.resource.ClassLoaders; - import org.apache.commons.discovery.tools.SPInterface; - import org.apache.commons.discovery.tools.Service; import org.apache.log4j.Logger; import org.embl.ebi.escience.baclava.DataThing; /** --- 2,11 ---- import java.util.ArrayList; import java.util.Iterator; import java.util.List; import org.apache.log4j.Logger; import org.embl.ebi.escience.baclava.DataThing; + import org.embl.ebi.escience.utils.TavernaSPIRegistry; /** *************** *** 21,28 **** * * @author Matthew Pocock */ ! public class RendererRegistry { ! private static Logger LOG = Logger.getLogger(RendererRegistry.class); private static RendererRegistry instance; public static synchronized RendererRegistry instance() --- 18,28 ---- * * @author Matthew Pocock + * @author Stuart Owen */ ! public class RendererRegistry extends TavernaSPIRegistry<RendererSPI>{ ! ! private static Logger logger = Logger.getLogger(RendererRegistry.class); private static RendererRegistry instance; + private List<RendererSPI> renderers; public static synchronized RendererRegistry instance() *************** *** 35,41 **** return instance; ! } ! ! private List renderers; /** --- 35,39 ---- return instance; ! } /** *************** *** 45,49 **** public RendererRegistry() { ! renderers = new ArrayList(); } --- 43,48 ---- public RendererRegistry() { ! super(RendererSPI.class); ! renderers = new ArrayList<RendererSPI>(); } *************** *** 56,70 **** public void loadInstances(ClassLoader classLoader) { ! LOG.info("Loading all renderers"); ! SPInterface spiIF = new SPInterface(RendererSPI.class); ! ClassLoaders loaders = new ClassLoaders(); ! loaders.put(classLoader); ! Enumeration spe = Service.providers(spiIF, loaders); ! while (spe.hasMoreElements()) { ! RendererSPI spi = (RendererSPI) spe.nextElement(); ! LOG.info("\t" + spi.getName()); ! renderers.add(spi); ! } ! LOG.info("Done"); } --- 55,60 ---- public void loadInstances(ClassLoader classLoader) { ! logger.info("Loading all renderers"); ! renderers=findComponents(classLoader); } *************** *** 78,88 **** public RendererSPI getRenderer(DataThing dataThing) { ! LOG.info("Finding renderer: " + dataThing); ! for(Iterator i = renderers.iterator(); i.hasNext(); ) ! { ! RendererSPI rend = (RendererSPI) i.next(); if(rend.canHandle(this, dataThing)) { ! LOG.info("\tFound: " + rend.getName()); return rend; } --- 68,77 ---- public RendererSPI getRenderer(DataThing dataThing) { ! logger.info("Finding renderer: " + dataThing); ! for(RendererSPI rend : renderers) ! { if(rend.canHandle(this, dataThing)) { ! logger.info("\tFound: " + rend.getName()); return rend; } *************** *** 101,110 **** public List getRenderers(DataThing dataThing) { ! LOG.info("Finding renderers: " + dataThing); List res = new ArrayList(); ! for(Iterator i = renderers.iterator(); i.hasNext();) { ! RendererSPI rend = (RendererSPI) i.next(); if(rend.canHandle(this, dataThing)) { ! LOG.info("\tFound: " + rend.getName()); res.add(rend); } --- 90,98 ---- public List getRenderers(DataThing dataThing) { ! logger.info("Finding renderers: " + dataThing); List res = new ArrayList(); ! for(RendererSPI rend : renderers) { if(rend.canHandle(this, dataThing)) { ! logger.info("\tFound: " + rend.getName()); res.add(rend); } *************** *** 136,140 **** public RendererSPI get(int i) { ! return (RendererSPI) renderers.get(i); } } --- 124,128 ---- public RendererSPI get(int i) { ! return renderers.get(i); } } |