Changeset 7440


Ignore:
Timestamp:
12/17/10 16:21:28 (9 years ago)
Author:
aivar
Message:

Made Chain an outer class so that WorkFlow can report chains. Worked on factories.

Location:
branches/maven/projects/deep-zoom-plugin/src/main/java/loci/workflow
Files:
1 added
7 edited

Legend:

Unmodified
Added
Removed
  • branches/maven/projects/deep-zoom-plugin/src/main/java/loci/workflow/Component.java

    r7435 r7440  
    1010 
    1111import loci.plugin.ImageWrapper; 
     12import loci.plugin.annotations.Input; 
     13import loci.plugin.annotations.Output; 
    1214 
    1315/** 
     
    7779 
    7880    /** 
     81     * Furnish input image. 
     82     * 
     83     * @param image 
     84     */ 
     85    public void input(ImageWrapper image) { 
     86        input(image, Input.DEFAULT); 
     87    } 
     88 
     89    /** 
    7990     * Furnish input image 
    8091     * 
     
    8495    public void input(ImageWrapper image, String name) { 
    8596 
     97    } 
     98 
     99    /** 
     100     * Listen for output image. 
     101     * 
     102     * @param listener 
     103     */ 
     104    public void setOutputListener(IOutputListener listener) { 
     105        setOutputListener(Output.DEFAULT, listener); 
    86106    } 
    87107 
  • branches/maven/projects/deep-zoom-plugin/src/main/java/loci/workflow/ComponentFactory.java

    r7435 r7440  
    66package loci.workflow; 
    77 
    8 import loci.util.xml.XMLParser; 
    9 import loci.util.xml.XMLException; 
    10 import loci.util.xml.XMLTag; 
     8import loci.util.xmllight.XMLParser; 
     9import loci.util.xmllight.XMLException; 
     10import loci.util.xmllight.XMLTag; 
    1111 
    1212/** 
     
    1515 */ 
    1616public class ComponentFactory { 
     17    private static ComponentFactory s_instance; 
     18     
     19    private ComponentFactory() { 
     20    } 
     21 
     22    /** 
     23     * Gets singleton instance. 
     24     * 
     25     * @return instance 
     26     */ 
     27    public static synchronized ComponentFactory getInstance() { 
     28        if (null == s_instance) { 
     29            s_instance = new ComponentFactory(); 
     30        } 
     31        return s_instance; 
     32    } 
    1733 
    1834    /** 
     
    2541        IComponent component = null; 
    2642        XMLParser xmlHelper = new XMLParser(); 
    27         XMLTag tag = xmlHelper.getNextTagInclusive(xml); 
     43        XMLTag tag = xmlHelper.getNextTag(xml); 
    2844        if (WorkFlow.WORKFLOW.equals(tag.getName())) { 
    29             component = WorkFlowFactory.create(tag.getContent()); 
     45            component = WorkFlowFactory.getInstance().create(xml); 
    3046 
    3147        } 
    3248        else if (WorkFlow.COMPONENT.equals(tag.getName())) { 
    3349            component = new Component(); 
    34             component.fromXML(tag.getContent()); 
     50            component.fromXML(xml); 
    3551        } 
    3652        else { 
  • branches/maven/projects/deep-zoom-plugin/src/main/java/loci/workflow/IComponent.java

    r7430 r7440  
    5858 
    5959    /** 
    60      * Furnish input image 
     60     * Furnish default input image 
     61     * 
     62     * @param image 
     63     * @param name 
     64     */ 
     65    public void input(ImageWrapper image); 
     66 
     67    /** 
     68     * Furnish named input image 
    6169     * 
    6270     * @param image 
     
    6674 
    6775    /** 
    68      * Listen for output image. 
     76     * Listen for default output image. 
     77     * 
     78     * @param name 
     79     * @param listener 
     80     */ 
     81    public void setOutputListener(IOutputListener listener); 
     82 
     83    /** 
     84     * Listen for named output image. 
    6985     * 
    7086     * @param name 
  • branches/maven/projects/deep-zoom-plugin/src/main/java/loci/workflow/IComponentFactory.java

    r7435 r7440  
    66package loci.workflow; 
    77 
    8 import loci.util.xml.XMLException; 
     8import loci.util.xmllight.XMLException; 
    99 
    1010/** 
  • branches/maven/projects/deep-zoom-plugin/src/main/java/loci/workflow/IWorkFlow.java

    r7430 r7440  
    6565     */ 
    6666    void chain(IComponent source, String sourceName, IComponent dest, String destName); 
     67 
     68    /** 
     69     * Gets the current chains.  Should be called after Phase II. 
     70     * 
     71     * @return array of chains 
     72     */ 
     73    Chain[] getChains(); 
    6774 
    6875    /** 
  • branches/maven/projects/deep-zoom-plugin/src/main/java/loci/workflow/WorkFlow.java

    r7435 r7440  
    66package loci.workflow; 
    77 
    8 import loci.util.xml.XMLParser; 
    9 import loci.util.xml.XMLWriter; 
    10 import loci.util.xml.XMLException; 
    11 import loci.util.xml.XMLTag; 
     8import loci.util.xmllight.XMLParser; 
     9import loci.util.xmllight.XMLWriter; 
     10import loci.util.xmllight.XMLException; 
     11import loci.util.xmllight.XMLTag; 
    1212import java.lang.StringBuilder; 
    1313import java.util.ArrayList; 
     
    326326            xmlHelper.addTag(COMPONENT); 
    327327            xmlHelper.addTagWithContent(NAME, name); 
     328            String componentXML = m_componentMap.get(name).toXML(); 
    328329            xmlHelper.add(m_componentMap.get(name).toXML()); 
    329330            xmlHelper.addEndTag(COMPONENT); 
     
    400401    } 
    401402 
     403    public Chain[] getChains() { 
     404        return m_chains.toArray(new Chain[0]); 
     405    } 
     406 
    402407    public void chainInput(IComponent dest) { 
    403408        chainInput(Input.DEFAULT, dest, Input.DEFAULT); 
     
    447452        // listen for source name from source component 
    448453        source.setOutputListener(sourceName, m_listener); 
     454    } 
     455 
     456    public void input(ImageWrapper image) { 
     457        input(image, Input.DEFAULT); 
    449458    } 
    450459     
     
    484493                listener.outputImage(outName, image); 
    485494            } 
    486         } 
    487     } 
    488  
    489     /** 
    490      * Data structure that keeps track of a chained connection. 
    491      */ 
    492     private class Chain { 
    493         final IComponent m_source; 
    494         final String m_sourceName; 
    495         final IComponent m_dest; 
    496         final String m_destName; 
    497  
    498         Chain(IComponent source, String sourceName, IComponent dest, String destName) { 
    499             m_source = source; 
    500             m_sourceName = sourceName; 
    501             m_dest = dest; 
    502             m_destName = destName; 
    503         } 
    504  
    505         IComponent getSource() { 
    506             return m_source; 
    507         } 
    508  
    509         String getSourceName() { 
    510             return m_sourceName; 
    511         } 
    512  
    513         IComponent getDest() { 
    514             return m_dest; 
    515         } 
    516  
    517         String getDestName() { 
    518             return m_destName; 
    519495        } 
    520496    } 
  • branches/maven/projects/deep-zoom-plugin/src/main/java/loci/workflow/WorkFlowFactory.java

    r7435 r7440  
    1111 */ 
    1212public class WorkFlowFactory { 
     13    private static WorkFlowFactory s_instance = null; 
     14 
     15    private WorkFlowFactory() { 
     16    } 
     17 
     18    public static synchronized WorkFlowFactory getInstance() { 
     19        if (null == s_instance) { 
     20            s_instance = new WorkFlowFactory(); 
     21        } 
     22        return s_instance; 
     23    } 
    1324 
    1425    /** 
     
    1829     * @return 
    1930     */ 
    20     public static IWorkFlow create(String xml) { 
     31    public IWorkFlow create(String xml) { 
    2132        IWorkFlow workFlow = new WorkFlow(); 
    2233        workFlow.fromXML(xml); 
Note: See TracChangeset for help on using the changeset viewer.