Changeset 6178


Ignore:
Timestamp:
04/23/10 07:24:31 (10 years ago)
Author:
callan
Message:

Foundation for reference handling support. ( ome-xml:r536) Fixed a few issues with the test case and added some model object and reference dumping information.

Location:
trunk/components/ome-xml
Files:
4 added
96 edited

Legend:

Unmodified
Added
Removed
  • trunk/components/ome-xml/src/ome/xml/r201004/AbstractOMEModelObject.java

    r6158 r6178  
    7171  } 
    7272 
     73  /* (non-Javadoc) 
     74   * @see ome.xml.r201004.OMEModelObject#link(ome.xml.r201004.Reference, ome.xml.r201004.OMEModelObject) 
     75   */ 
     76  public abstract void link(Reference reference, OMEModelObject o); 
    7377} 
  • trunk/components/ome-xml/src/ome/xml/r201004/Annotation.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    124124         * @param element Root of the XML DOM tree to construct a model object 
    125125         * graph from. 
     126         * @param model Handler for the OME model which keeps track of instances 
     127         * and references seen during object population. 
    126128         * @throws EnumerationException If there is an error instantiating an 
    127129         * enumeration during model object creation. 
    128130         */ 
    129         public Annotation(Element element) throws EnumerationException 
    130         { 
    131                 update(element); 
     131        public Annotation(Element element, OMEModel model) 
     132            throws EnumerationException 
     133        { 
     134                update(element, model); 
    132135        } 
    133136 
     
    137140         * @param element Root of the XML DOM tree to construct a model object 
    138141         * graph from. 
     142         * @param model Handler for the OME model which keeps track of instances 
     143         * and references seen during object population. 
    139144         * @throws EnumerationException If there is an error instantiating an 
    140145         * enumeration during model object creation. 
    141146         */ 
    142         public void update(Element element) throws EnumerationException 
     147        public void update(Element element, OMEModel model) 
     148            throws EnumerationException 
    143149        {        
    144150                super.update(element); 
     
    149155                                        element.getAttribute("Namespace"))); 
    150156                } 
    151                 if (element.hasAttribute("ID")) 
     157                if (!element.hasAttribute("ID")) 
    152158                { 
    153                         // Attribute property ID 
    154                         setID(String.valueOf( 
     159                        // TODO: Should be its own exception 
     160                        throw new RuntimeException(String.format( 
     161                                        "Annotation missing required ID property.")); 
     162                } 
     163                // ID property 
     164                setID(String.valueOf( 
    155165                                        element.getAttribute("ID"))); 
    156                 } 
     166                // Adding this model object to the model handler 
     167                model.addModelObject(getID(), this); 
    157168                // *** IGNORING *** Skipped back reference Image_BackReference 
    158169                // *** IGNORING *** Skipped back reference Pixels_BackReference 
     
    175186        // -- Annotation API methods -- 
    176187 
     188        public void link(Reference reference, OMEModelObject o) 
     189        { 
     190                // TODO: Should be its own Exception 
     191                throw new RuntimeException( 
     192                                "Unable to handle reference of type: " + reference.getClass()); 
     193        } 
     194 
    177195 
    178196        // Property 
  • trunk/components/ome-xml/src/ome/xml/r201004/AnnotationRef.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7373         * @param element Root of the XML DOM tree to construct a model object 
    7474         * graph from. 
     75         * @param model Handler for the OME model which keeps track of instances 
     76         * and references seen during object population. 
    7577         * @throws EnumerationException If there is an error instantiating an 
    7678         * enumeration during model object creation. 
    7779         */ 
    78         public AnnotationRef(Element element) throws EnumerationException 
     80        public AnnotationRef(Element element, OMEModel model) 
     81            throws EnumerationException 
    7982        { 
    80                 update(element); 
     83                update(element, model); 
    8184        } 
    8285 
     
    8689         * @param element Root of the XML DOM tree to construct a model object 
    8790         * graph from. 
     91         * @param model Handler for the OME model which keeps track of instances 
     92         * and references seen during object population. 
    8893         * @throws EnumerationException If there is an error instantiating an 
    8994         * enumeration during model object creation. 
    9095         */ 
    91         public void update(Element element) throws EnumerationException 
     96        public void update(Element element, OMEModel model) 
     97            throws EnumerationException 
    9298        {        
    9399                super.update(element); 
     
    103109                        //              tagName)); 
    104110                } 
    105                 if (element.hasAttribute("ID")) 
     111                if (!element.hasAttribute("ID")) 
    106112                { 
    107                         // Attribute property ID 
    108                         setID(String.valueOf( 
     113                        // TODO: Should be its own exception 
     114                        throw new RuntimeException(String.format( 
     115                                        "AnnotationRef missing required ID property.")); 
     116                } 
     117                // ID property 
     118                setID(String.valueOf( 
    109119                                        element.getAttribute("ID"))); 
    110                 } 
     120                // Adding this model object to the model handler 
     121                model.addModelObject(getID(), this); 
    111122        } 
    112123 
    113124        // -- AnnotationRef API methods -- 
     125 
     126        public void link(Reference reference, OMEModelObject o) 
     127        { 
     128                // TODO: Should be its own Exception 
     129                throw new RuntimeException( 
     130                                "Unable to handle reference of type: " + reference.getClass()); 
     131        } 
    114132 
    115133 
  • trunk/components/ome-xml/src/ome/xml/r201004/Arc.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7373         * @param element Root of the XML DOM tree to construct a model object 
    7474         * graph from. 
     75         * @param model Handler for the OME model which keeps track of instances 
     76         * and references seen during object population. 
    7577         * @throws EnumerationException If there is an error instantiating an 
    7678         * enumeration during model object creation. 
    7779         */ 
    78         public Arc(Element element) throws EnumerationException 
     80        public Arc(Element element, OMEModel model) 
     81            throws EnumerationException 
    7982        { 
    80                 update(element); 
     83                update(element, model); 
    8184        } 
    8285 
     
    8689         * @param element Root of the XML DOM tree to construct a model object 
    8790         * graph from. 
     91         * @param model Handler for the OME model which keeps track of instances 
     92         * and references seen during object population. 
    8893         * @throws EnumerationException If there is an error instantiating an 
    8994         * enumeration during model object creation. 
    9095         */ 
    91         public void update(Element element) throws EnumerationException 
     96        public void update(Element element, OMEModel model) 
     97            throws EnumerationException 
    9298        {        
    9399                super.update(element); 
     
    112118 
    113119        // -- Arc API methods -- 
     120 
     121        public void link(Reference reference, OMEModelObject o) 
     122        { 
     123                // TODO: Should be its own Exception 
     124                throw new RuntimeException( 
     125                                "Unable to handle reference of type: " + reference.getClass()); 
     126        } 
    114127 
    115128 
  • trunk/components/ome-xml/src/ome/xml/r201004/BinData.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7979         * @param element Root of the XML DOM tree to construct a model object 
    8080         * graph from. 
     81         * @param model Handler for the OME model which keeps track of instances 
     82         * and references seen during object population. 
    8183         * @throws EnumerationException If there is an error instantiating an 
    8284         * enumeration during model object creation. 
    8385         */ 
    84         public BinData(Element element) throws EnumerationException 
    85         { 
    86                 update(element); 
     86        public BinData(Element element, OMEModel model) 
     87            throws EnumerationException 
     88        { 
     89                update(element, model); 
    8790        } 
    8891 
     
    9295         * @param element Root of the XML DOM tree to construct a model object 
    9396         * graph from. 
     97         * @param model Handler for the OME model which keeps track of instances 
     98         * and references seen during object population. 
    9499         * @throws EnumerationException If there is an error instantiating an 
    95100         * enumeration during model object creation. 
    96101         */ 
    97         public void update(Element element) throws EnumerationException 
     102        public void update(Element element, OMEModel model) 
     103            throws EnumerationException 
    98104        {        
    99105                super.update(element); 
     
    131137        // -- BinData API methods -- 
    132138 
     139        public void link(Reference reference, OMEModelObject o) 
     140        { 
     141                // TODO: Should be its own Exception 
     142                throw new RuntimeException( 
     143                                "Unable to handle reference of type: " + reference.getClass()); 
     144        } 
     145 
    133146 
    134147        // Property 
  • trunk/components/ome-xml/src/ome/xml/r201004/BinaryFile.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    8585         * @param element Root of the XML DOM tree to construct a model object 
    8686         * graph from. 
     87         * @param model Handler for the OME model which keeps track of instances 
     88         * and references seen during object population. 
    8789         * @throws EnumerationException If there is an error instantiating an 
    8890         * enumeration during model object creation. 
    8991         */ 
    90         public BinaryFile(Element element) throws EnumerationException 
    91         { 
    92                 update(element); 
     92        public BinaryFile(Element element, OMEModel model) 
     93            throws EnumerationException 
     94        { 
     95                update(element, model); 
    9396        } 
    9497 
     
    98101         * @param element Root of the XML DOM tree to construct a model object 
    99102         * graph from. 
     103         * @param model Handler for the OME model which keeps track of instances 
     104         * and references seen during object population. 
    100105         * @throws EnumerationException If there is an error instantiating an 
    101106         * enumeration during model object creation. 
    102107         */ 
    103         public void update(Element element) throws EnumerationException 
     108        public void update(Element element, OMEModel model) 
     109            throws EnumerationException 
    104110        {        
    105111                super.update(element); 
     
    146152                        // sub-elements) 
    147153                        setExternal(new External( 
    148                                         (Element) External_nodeList.item(0))); 
     154                                        (Element) External_nodeList.item(0), model)); 
    149155                } 
    150156                NodeList BinData_nodeList = element.getElementsByTagName("BinData"); 
     
    161167                        // sub-elements) 
    162168                        setBinData(new BinData( 
    163                                         (Element) BinData_nodeList.item(0))); 
     169                                        (Element) BinData_nodeList.item(0), model)); 
    164170                } 
    165171        } 
    166172 
    167173        // -- BinaryFile API methods -- 
     174 
     175        public void link(Reference reference, OMEModelObject o) 
     176        { 
     177                // TODO: Should be its own Exception 
     178                throw new RuntimeException( 
     179                                "Unable to handle reference of type: " + reference.getClass()); 
     180        } 
    168181 
    169182 
  • trunk/components/ome-xml/src/ome/xml/r201004/BooleanAnnotation.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7373         * @param element Root of the XML DOM tree to construct a model object 
    7474         * graph from. 
     75         * @param model Handler for the OME model which keeps track of instances 
     76         * and references seen during object population. 
    7577         * @throws EnumerationException If there is an error instantiating an 
    7678         * enumeration during model object creation. 
    7779         */ 
    78         public BooleanAnnotation(Element element) throws EnumerationException 
     80        public BooleanAnnotation(Element element, OMEModel model) 
     81            throws EnumerationException 
    7982        { 
    80                 update(element); 
     83                update(element, model); 
    8184        } 
    8285 
     
    8689         * @param element Root of the XML DOM tree to construct a model object 
    8790         * graph from. 
     91         * @param model Handler for the OME model which keeps track of instances 
     92         * and references seen during object population. 
    8893         * @throws EnumerationException If there is an error instantiating an 
    8994         * enumeration during model object creation. 
    9095         */ 
    91         public void update(Element element) throws EnumerationException 
     96        public void update(Element element, OMEModel model) 
     97            throws EnumerationException 
    9298        {        
    9399                super.update(element); 
     
    120126 
    121127        // -- BooleanAnnotation API methods -- 
     128 
     129        public void link(Reference reference, OMEModelObject o) 
     130        { 
     131                // TODO: Should be its own Exception 
     132                throw new RuntimeException( 
     133                                "Unable to handle reference of type: " + reference.getClass()); 
     134        } 
    122135 
    123136 
  • trunk/components/ome-xml/src/ome/xml/r201004/Channel.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    127127         * @param element Root of the XML DOM tree to construct a model object 
    128128         * graph from. 
     129         * @param model Handler for the OME model which keeps track of instances 
     130         * and references seen during object population. 
    129131         * @throws EnumerationException If there is an error instantiating an 
    130132         * enumeration during model object creation. 
    131133         */ 
    132         public Channel(Element element) throws EnumerationException 
    133         { 
    134                 update(element); 
     134        public Channel(Element element, OMEModel model) 
     135            throws EnumerationException 
     136        { 
     137                update(element, model); 
    135138        } 
    136139 
     
    140143         * @param element Root of the XML DOM tree to construct a model object 
    141144         * graph from. 
     145         * @param model Handler for the OME model which keeps track of instances 
     146         * and references seen during object population. 
    142147         * @throws EnumerationException If there is an error instantiating an 
    143148         * enumeration during model object creation. 
    144149         */ 
    145         public void update(Element element) throws EnumerationException 
     150        public void update(Element element, OMEModel model) 
     151            throws EnumerationException 
    146152        {        
    147153                super.update(element); 
     
    223229                                        element.getAttribute("NDFilter"))); 
    224230                } 
    225                 if (element.hasAttribute("ID")) 
    226                 { 
    227                         // Attribute property ID 
    228                         setID(String.valueOf( 
     231                if (!element.hasAttribute("ID")) 
     232                { 
     233                        // TODO: Should be its own exception 
     234                        throw new RuntimeException(String.format( 
     235                                        "Channel missing required ID property.")); 
     236                } 
     237                // ID property 
     238                setID(String.valueOf( 
    229239                                        element.getAttribute("ID"))); 
    230                 } 
     240                // Adding this model object to the model handler 
     241                model.addModelObject(getID(), this); 
    231242                if (element.hasAttribute("SamplesPerPixel")) 
    232243                { 
     
    248259                        // sub-elements) 
    249260                        setLightSourceSettings(new LightSourceSettings( 
    250                                         (Element) LightSourceSettings_nodeList.item(0))); 
    251                 } 
    252                 // *** IGNORING *** Skipped back reference OTFRef 
     261                                        (Element) LightSourceSettings_nodeList.item(0), model)); 
     262                } 
     263                // Element reference OTFRef 
     264                NodeList OTFRef_nodeList = element.getElementsByTagName("OTFRef"); 
     265                for (int i = 0; i < OTFRef_nodeList.getLength(); i++) 
     266                { 
     267                        Element OTFRef_element = (Element) OTFRef_nodeList.item(i); 
     268                        OTFRef otf_reference = new OTFRef(); 
     269                        otf_reference.setID(OTFRef_element.getAttribute("ID")); 
     270                        model.addReference(this, otf_reference); 
     271                } 
    253272                NodeList DetectorSettings_nodeList = element.getElementsByTagName("DetectorSettings"); 
    254273                if (DetectorSettings_nodeList.getLength() > 1) 
     
    264283                        // sub-elements) 
    265284                        setDetectorSettings(new DetectorSettings( 
    266                                         (Element) DetectorSettings_nodeList.item(0))); 
    267                 } 
    268                 // *** IGNORING *** Skipped back reference FilterSetRef 
    269                 // *** IGNORING *** Skipped back reference AnnotationRef 
     285                                        (Element) DetectorSettings_nodeList.item(0), model)); 
     286                } 
     287                // Element reference FilterSetRef 
     288                NodeList FilterSetRef_nodeList = element.getElementsByTagName("FilterSetRef"); 
     289                for (int i = 0; i < FilterSetRef_nodeList.getLength(); i++) 
     290                { 
     291                        Element FilterSetRef_element = (Element) FilterSetRef_nodeList.item(i); 
     292                        FilterSetRef filterSet_reference = new FilterSetRef(); 
     293                        filterSet_reference.setID(FilterSetRef_element.getAttribute("ID")); 
     294                        model.addReference(this, filterSet_reference); 
     295                } 
     296                // Element reference AnnotationRef 
     297                NodeList AnnotationRef_nodeList = element.getElementsByTagName("AnnotationRef"); 
     298                for (int i = 0; i < AnnotationRef_nodeList.getLength(); i++) 
     299                { 
     300                        Element AnnotationRef_element = (Element) AnnotationRef_nodeList.item(i); 
     301                        AnnotationRef annotationList_reference = new AnnotationRef(); 
     302                        annotationList_reference.setID(AnnotationRef_element.getAttribute("ID")); 
     303                        model.addReference(this, annotationList_reference); 
     304                } 
    270305                NodeList LightPath_nodeList = element.getElementsByTagName("LightPath"); 
    271306                if (LightPath_nodeList.getLength() > 1) 
     
    281316                        // sub-elements) 
    282317                        setLightPath(new LightPath( 
    283                                         (Element) LightPath_nodeList.item(0))); 
     318                                        (Element) LightPath_nodeList.item(0), model)); 
    284319                } 
    285320        } 
    286321 
    287322        // -- Channel API methods -- 
     323 
     324        public void link(Reference reference, OMEModelObject o) 
     325        { 
     326                if (reference instanceof OTFRef) 
     327                { 
     328                        OTF o_casted = (OTF) o; 
     329                        o_casted.linkChannel(this); 
     330                        otf = o_casted; 
     331                } 
     332                if (reference instanceof FilterSetRef) 
     333                { 
     334                        FilterSet o_casted = (FilterSet) o; 
     335                        o_casted.linkChannel(this); 
     336                        filterSet = o_casted; 
     337                } 
     338                if (reference instanceof AnnotationRef) 
     339                { 
     340                        Annotation o_casted = (Annotation) o; 
     341                        o_casted.linkChannel(this); 
     342                        annotationList.add(o_casted); 
     343                } 
     344                // TODO: Should be its own Exception 
     345                throw new RuntimeException( 
     346                                "Unable to handle reference of type: " + reference.getClass()); 
     347        } 
    288348 
    289349 
  • trunk/components/ome-xml/src/ome/xml/r201004/ChannelProfile.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    9191         * @param element Root of the XML DOM tree to construct a model object 
    9292         * graph from. 
     93         * @param model Handler for the OME model which keeps track of instances 
     94         * and references seen during object population. 
    9395         * @throws EnumerationException If there is an error instantiating an 
    9496         * enumeration during model object creation. 
    9597         */ 
    96         public ChannelProfile(Element element) throws EnumerationException 
    97         { 
    98                 update(element); 
     98        public ChannelProfile(Element element, OMEModel model) 
     99            throws EnumerationException 
     100        { 
     101                update(element, model); 
    99102        } 
    100103 
     
    104107         * @param element Root of the XML DOM tree to construct a model object 
    105108         * graph from. 
     109         * @param model Handler for the OME model which keeps track of instances 
     110         * and references seen during object population. 
    106111         * @throws EnumerationException If there is an error instantiating an 
    107112         * enumeration during model object creation. 
    108113         */ 
    109         public void update(Element element) throws EnumerationException 
     114        public void update(Element element, OMEModel model) 
     115            throws EnumerationException 
    110116        {        
    111117                super.update(element); 
     
    168174                        // sub-elements) 
    169175                        setLightSourceSettings(new LightSourceSettings( 
    170                                         (Element) LightSourceSettings_nodeList.item(0))); 
    171                 } 
    172                 // *** IGNORING *** Skipped back reference OTFRef 
     176                                        (Element) LightSourceSettings_nodeList.item(0), model)); 
     177                } 
     178                // Element reference OTFRef 
     179                NodeList OTFRef_nodeList = element.getElementsByTagName("OTFRef"); 
     180                for (int i = 0; i < OTFRef_nodeList.getLength(); i++) 
     181                { 
     182                        Element OTFRef_element = (Element) OTFRef_nodeList.item(i); 
     183                        OTFRef otf_reference = new OTFRef(); 
     184                        otf_reference.setID(OTFRef_element.getAttribute("ID")); 
     185                        model.addReference(this, otf_reference); 
     186                } 
    173187                NodeList DetectorSettings_nodeList = element.getElementsByTagName("DetectorSettings"); 
    174188                if (DetectorSettings_nodeList.getLength() > 1) 
     
    184198                        // sub-elements) 
    185199                        setDetectorSettings(new DetectorSettings( 
    186                                         (Element) DetectorSettings_nodeList.item(0))); 
    187                 } 
    188                 // *** IGNORING *** Skipped back reference FilterSetRef 
     200                                        (Element) DetectorSettings_nodeList.item(0), model)); 
     201                } 
     202                // Element reference FilterSetRef 
     203                NodeList FilterSetRef_nodeList = element.getElementsByTagName("FilterSetRef"); 
     204                for (int i = 0; i < FilterSetRef_nodeList.getLength(); i++) 
     205                { 
     206                        Element FilterSetRef_element = (Element) FilterSetRef_nodeList.item(i); 
     207                        FilterSetRef filterSet_reference = new FilterSetRef(); 
     208                        filterSet_reference.setID(FilterSetRef_element.getAttribute("ID")); 
     209                        model.addReference(this, filterSet_reference); 
     210                } 
    189211        } 
    190212 
    191213        // -- ChannelProfile API methods -- 
     214 
     215        public void link(Reference reference, OMEModelObject o) 
     216        { 
     217                if (reference instanceof OTFRef) 
     218                { 
     219                        OTF o_casted = (OTF) o; 
     220                        o_casted.linkChannelProfile(this); 
     221                        otf = o_casted; 
     222                } 
     223                if (reference instanceof FilterSetRef) 
     224                { 
     225                        FilterSet o_casted = (FilterSet) o; 
     226                        o_casted.linkChannelProfile(this); 
     227                        filterSet = o_casted; 
     228                } 
     229                // TODO: Should be its own Exception 
     230                throw new RuntimeException( 
     231                                "Unable to handle reference of type: " + reference.getClass()); 
     232        } 
    192233 
    193234 
  • trunk/components/ome-xml/src/ome/xml/r201004/ChannelRef.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7373         * @param element Root of the XML DOM tree to construct a model object 
    7474         * graph from. 
     75         * @param model Handler for the OME model which keeps track of instances 
     76         * and references seen during object population. 
    7577         * @throws EnumerationException If there is an error instantiating an 
    7678         * enumeration during model object creation. 
    7779         */ 
    78         public ChannelRef(Element element) throws EnumerationException 
     80        public ChannelRef(Element element, OMEModel model) 
     81            throws EnumerationException 
    7982        { 
    80                 update(element); 
     83                update(element, model); 
    8184        } 
    8285 
     
    8689         * @param element Root of the XML DOM tree to construct a model object 
    8790         * graph from. 
     91         * @param model Handler for the OME model which keeps track of instances 
     92         * and references seen during object population. 
    8893         * @throws EnumerationException If there is an error instantiating an 
    8994         * enumeration during model object creation. 
    9095         */ 
    91         public void update(Element element) throws EnumerationException 
     96        public void update(Element element, OMEModel model) 
     97            throws EnumerationException 
    9298        {        
    9399                super.update(element); 
     
    103109                        //              tagName)); 
    104110                } 
    105                 if (element.hasAttribute("ID")) 
     111                if (!element.hasAttribute("ID")) 
    106112                { 
    107                         // Attribute property ID 
    108                         setID(String.valueOf( 
     113                        // TODO: Should be its own exception 
     114                        throw new RuntimeException(String.format( 
     115                                        "ChannelRef missing required ID property.")); 
     116                } 
     117                // ID property 
     118                setID(String.valueOf( 
    109119                                        element.getAttribute("ID"))); 
    110                 } 
     120                // Adding this model object to the model handler 
     121                model.addModelObject(getID(), this); 
    111122        } 
    112123 
    113124        // -- ChannelRef API methods -- 
     125 
     126        public void link(Reference reference, OMEModelObject o) 
     127        { 
     128                // TODO: Should be its own Exception 
     129                throw new RuntimeException( 
     130                                "Unable to handle reference of type: " + reference.getClass()); 
     131        } 
    114132 
    115133 
  • trunk/components/ome-xml/src/ome/xml/r201004/Contact.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7373         * @param element Root of the XML DOM tree to construct a model object 
    7474         * graph from. 
     75         * @param model Handler for the OME model which keeps track of instances 
     76         * and references seen during object population. 
    7577         * @throws EnumerationException If there is an error instantiating an 
    7678         * enumeration during model object creation. 
    7779         */ 
    78         public Contact(Element element) throws EnumerationException 
     80        public Contact(Element element, OMEModel model) 
     81            throws EnumerationException 
    7982        { 
    80                 update(element); 
     83                update(element, model); 
    8184        } 
    8285 
     
    8689         * @param element Root of the XML DOM tree to construct a model object 
    8790         * graph from. 
     91         * @param model Handler for the OME model which keeps track of instances 
     92         * and references seen during object population. 
    8893         * @throws EnumerationException If there is an error instantiating an 
    8994         * enumeration during model object creation. 
    9095         */ 
    91         public void update(Element element) throws EnumerationException 
     96        public void update(Element element, OMEModel model) 
     97            throws EnumerationException 
    9298        {        
    9399                super.update(element); 
     
    103109                        //              tagName)); 
    104110                } 
    105                 if (element.hasAttribute("ID")) 
     111                if (!element.hasAttribute("ID")) 
    106112                { 
    107                         // Attribute property ID 
    108                         setID(String.valueOf( 
     113                        // TODO: Should be its own exception 
     114                        throw new RuntimeException(String.format( 
     115                                        "Contact missing required ID property.")); 
     116                } 
     117                // ID property 
     118                setID(String.valueOf( 
    109119                                        element.getAttribute("ID"))); 
    110                 } 
     120                // Adding this model object to the model handler 
     121                model.addModelObject(getID(), this); 
    111122        } 
    112123 
    113124        // -- Contact API methods -- 
     125 
     126        public void link(Reference reference, OMEModelObject o) 
     127        { 
     128                // TODO: Should be its own Exception 
     129                throw new RuntimeException( 
     130                                "Unable to handle reference of type: " + reference.getClass()); 
     131        } 
    114132 
    115133 
  • trunk/components/ome-xml/src/ome/xml/r201004/Dataset.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    9494         * @param element Root of the XML DOM tree to construct a model object 
    9595         * graph from. 
     96         * @param model Handler for the OME model which keeps track of instances 
     97         * and references seen during object population. 
    9698         * @throws EnumerationException If there is an error instantiating an 
    9799         * enumeration during model object creation. 
    98100         */ 
    99         public Dataset(Element element) throws EnumerationException 
    100         { 
    101                 update(element); 
     101        public Dataset(Element element, OMEModel model) 
     102            throws EnumerationException 
     103        { 
     104                update(element, model); 
    102105        } 
    103106 
     
    107110         * @param element Root of the XML DOM tree to construct a model object 
    108111         * graph from. 
     112         * @param model Handler for the OME model which keeps track of instances 
     113         * and references seen during object population. 
    109114         * @throws EnumerationException If there is an error instantiating an 
    110115         * enumeration during model object creation. 
    111116         */ 
    112         public void update(Element element) throws EnumerationException 
     117        public void update(Element element, OMEModel model) 
     118            throws EnumerationException 
    113119        {        
    114120                super.update(element); 
     
    130136                                        element.getAttribute("Name"))); 
    131137                } 
    132                 if (element.hasAttribute("ID")) 
    133                 { 
    134                         // Attribute property ID 
    135                         setID(String.valueOf( 
     138                if (!element.hasAttribute("ID")) 
     139                { 
     140                        // TODO: Should be its own exception 
     141                        throw new RuntimeException(String.format( 
     142                                        "Dataset missing required ID property.")); 
     143                } 
     144                // ID property 
     145                setID(String.valueOf( 
    136146                                        element.getAttribute("ID"))); 
    137                 } 
     147                // Adding this model object to the model handler 
     148                model.addModelObject(getID(), this); 
    138149                NodeList Description_nodeList = element.getElementsByTagName("Description"); 
    139150                if (Description_nodeList.getLength() > 1) 
     
    150161                        setDescription(Description_nodeList.item(0).getTextContent()); 
    151162                } 
    152                 // *** IGNORING *** Skipped back reference ExperimenterRef 
    153                 // *** IGNORING *** Skipped back reference GroupRef 
    154                 // *** IGNORING *** Skipped back reference ProjectRef 
    155                 // *** IGNORING *** Skipped back reference AnnotationRef 
     163                // Element reference ExperimenterRef 
     164                NodeList ExperimenterRef_nodeList = element.getElementsByTagName("ExperimenterRef"); 
     165                for (int i = 0; i < ExperimenterRef_nodeList.getLength(); i++) 
     166                { 
     167                        Element ExperimenterRef_element = (Element) ExperimenterRef_nodeList.item(i); 
     168                        ExperimenterRef experimenter_reference = new ExperimenterRef(); 
     169                        experimenter_reference.setID(ExperimenterRef_element.getAttribute("ID")); 
     170                        model.addReference(this, experimenter_reference); 
     171                } 
     172                // Element reference GroupRef 
     173                NodeList GroupRef_nodeList = element.getElementsByTagName("GroupRef"); 
     174                for (int i = 0; i < GroupRef_nodeList.getLength(); i++) 
     175                { 
     176                        Element GroupRef_element = (Element) GroupRef_nodeList.item(i); 
     177                        GroupRef group_reference = new GroupRef(); 
     178                        group_reference.setID(GroupRef_element.getAttribute("ID")); 
     179                        model.addReference(this, group_reference); 
     180                } 
     181                // Element reference ProjectRef 
     182                NodeList ProjectRef_nodeList = element.getElementsByTagName("ProjectRef"); 
     183                for (int i = 0; i < ProjectRef_nodeList.getLength(); i++) 
     184                { 
     185                        Element ProjectRef_element = (Element) ProjectRef_nodeList.item(i); 
     186                        ProjectRef projectList_reference = new ProjectRef(); 
     187                        projectList_reference.setID(ProjectRef_element.getAttribute("ID")); 
     188                        model.addReference(this, projectList_reference); 
     189                } 
     190                // Element reference AnnotationRef 
     191                NodeList AnnotationRef_nodeList = element.getElementsByTagName("AnnotationRef"); 
     192                for (int i = 0; i < AnnotationRef_nodeList.getLength(); i++) 
     193                { 
     194                        Element AnnotationRef_element = (Element) AnnotationRef_nodeList.item(i); 
     195                        AnnotationRef annotationList_reference = new AnnotationRef(); 
     196                        annotationList_reference.setID(AnnotationRef_element.getAttribute("ID")); 
     197                        model.addReference(this, annotationList_reference); 
     198                } 
    156199                // *** IGNORING *** Skipped back reference Image_BackReference 
    157200        } 
    158201 
    159202        // -- Dataset API methods -- 
     203 
     204        public void link(Reference reference, OMEModelObject o) 
     205        { 
     206                if (reference instanceof ExperimenterRef) 
     207                { 
     208                        Experimenter o_casted = (Experimenter) o; 
     209                        o_casted.linkDataset(this); 
     210                        experimenter = o_casted; 
     211                } 
     212                if (reference instanceof GroupRef) 
     213                { 
     214                        Group o_casted = (Group) o; 
     215                        o_casted.linkDataset(this); 
     216                        group = o_casted; 
     217                } 
     218                if (reference instanceof ProjectRef) 
     219                { 
     220                        Project o_casted = (Project) o; 
     221                        o_casted.linkDataset(this); 
     222                        projectList.add(o_casted); 
     223                } 
     224                if (reference instanceof AnnotationRef) 
     225                { 
     226                        Annotation o_casted = (Annotation) o; 
     227                        o_casted.linkDataset(this); 
     228                        annotationList.add(o_casted); 
     229                } 
     230                // TODO: Should be its own Exception 
     231                throw new RuntimeException( 
     232                                "Unable to handle reference of type: " + reference.getClass()); 
     233        } 
    160234 
    161235 
  • trunk/components/ome-xml/src/ome/xml/r201004/DatasetRef.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7373         * @param element Root of the XML DOM tree to construct a model object 
    7474         * graph from. 
     75         * @param model Handler for the OME model which keeps track of instances 
     76         * and references seen during object population. 
    7577         * @throws EnumerationException If there is an error instantiating an 
    7678         * enumeration during model object creation. 
    7779         */ 
    78         public DatasetRef(Element element) throws EnumerationException 
     80        public DatasetRef(Element element, OMEModel model) 
     81            throws EnumerationException 
    7982        { 
    80                 update(element); 
     83                update(element, model); 
    8184        } 
    8285 
     
    8689         * @param element Root of the XML DOM tree to construct a model object 
    8790         * graph from. 
     91         * @param model Handler for the OME model which keeps track of instances 
     92         * and references seen during object population. 
    8893         * @throws EnumerationException If there is an error instantiating an 
    8994         * enumeration during model object creation. 
    9095         */ 
    91         public void update(Element element) throws EnumerationException 
     96        public void update(Element element, OMEModel model) 
     97            throws EnumerationException 
    9298        {        
    9399                super.update(element); 
     
    103109                        //              tagName)); 
    104110                } 
    105                 if (element.hasAttribute("ID")) 
     111                if (!element.hasAttribute("ID")) 
    106112                { 
    107                         // Attribute property ID 
    108                         setID(String.valueOf( 
     113                        // TODO: Should be its own exception 
     114                        throw new RuntimeException(String.format( 
     115                                        "DatasetRef missing required ID property.")); 
     116                } 
     117                // ID property 
     118                setID(String.valueOf( 
    109119                                        element.getAttribute("ID"))); 
    110                 } 
     120                // Adding this model object to the model handler 
     121                model.addModelObject(getID(), this); 
    111122        } 
    112123 
    113124        // -- DatasetRef API methods -- 
     125 
     126        public void link(Reference reference, OMEModelObject o) 
     127        { 
     128                // TODO: Should be its own Exception 
     129                throw new RuntimeException( 
     130                                "Unable to handle reference of type: " + reference.getClass()); 
     131        } 
    114132 
    115133 
  • trunk/components/ome-xml/src/ome/xml/r201004/Detector.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    9191         * @param element Root of the XML DOM tree to construct a model object 
    9292         * graph from. 
     93         * @param model Handler for the OME model which keeps track of instances 
     94         * and references seen during object population. 
    9395         * @throws EnumerationException If there is an error instantiating an 
    9496         * enumeration during model object creation. 
    9597         */ 
    96         public Detector(Element element) throws EnumerationException 
    97         { 
    98                 update(element); 
     98        public Detector(Element element, OMEModel model) 
     99            throws EnumerationException 
     100        { 
     101                update(element, model); 
    99102        } 
    100103 
     
    104107         * @param element Root of the XML DOM tree to construct a model object 
    105108         * graph from. 
     109         * @param model Handler for the OME model which keeps track of instances 
     110         * and references seen during object population. 
    106111         * @throws EnumerationException If there is an error instantiating an 
    107112         * enumeration during model object creation. 
    108113         */ 
    109         public void update(Element element) throws EnumerationException 
     114        public void update(Element element, OMEModel model) 
     115            throws EnumerationException 
    110116        {        
    111117                super.update(element); 
     
    151157                                        element.getAttribute("Type"))); 
    152158                } 
    153                 if (element.hasAttribute("ID")) 
    154                 { 
    155                         // Attribute property ID 
    156                         setID(String.valueOf( 
     159                if (!element.hasAttribute("ID")) 
     160                { 
     161                        // TODO: Should be its own exception 
     162                        throw new RuntimeException(String.format( 
     163                                        "Detector missing required ID property.")); 
     164                } 
     165                // ID property 
     166                setID(String.valueOf( 
    157167                                        element.getAttribute("ID"))); 
    158                 } 
     168                // Adding this model object to the model handler 
     169                model.addModelObject(getID(), this); 
    159170                if (element.hasAttribute("Voltage")) 
    160171                { 
     
    167178        // -- Detector API methods -- 
    168179 
     180        public void link(Reference reference, OMEModelObject o) 
     181        { 
     182                // TODO: Should be its own Exception 
     183                throw new RuntimeException( 
     184                                "Unable to handle reference of type: " + reference.getClass()); 
     185        } 
     186 
    169187 
    170188        // Property 
  • trunk/components/ome-xml/src/ome/xml/r201004/DetectorSettings.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    8888         * @param element Root of the XML DOM tree to construct a model object 
    8989         * graph from. 
     90         * @param model Handler for the OME model which keeps track of instances 
     91         * and references seen during object population. 
    9092         * @throws EnumerationException If there is an error instantiating an 
    9193         * enumeration during model object creation. 
    9294         */ 
    93         public DetectorSettings(Element element) throws EnumerationException 
    94         { 
    95                 update(element); 
     95        public DetectorSettings(Element element, OMEModel model) 
     96            throws EnumerationException 
     97        { 
     98                update(element, model); 
    9699        } 
    97100 
     
    101104         * @param element Root of the XML DOM tree to construct a model object 
    102105         * graph from. 
     106         * @param model Handler for the OME model which keeps track of instances 
     107         * and references seen during object population. 
    103108         * @throws EnumerationException If there is an error instantiating an 
    104109         * enumeration during model object creation. 
    105110         */ 
    106         public void update(Element element) throws EnumerationException 
     111        public void update(Element element, OMEModel model) 
     112            throws EnumerationException 
    107113        {        
    108114                super.update(element); 
     
    142148                                        element.getAttribute("Offset"))); 
    143149                } 
    144                 if (element.hasAttribute("ID")) 
    145                 { 
    146                         // Attribute property ID 
    147                         setID(String.valueOf( 
     150                if (!element.hasAttribute("ID")) 
     151                { 
     152                        // TODO: Should be its own exception 
     153                        throw new RuntimeException(String.format( 
     154                                        "DetectorSettings missing required ID property.")); 
     155                } 
     156                // ID property 
     157                setID(String.valueOf( 
    148158                                        element.getAttribute("ID"))); 
    149                 } 
     159                // Adding this model object to the model handler 
     160                model.addModelObject(getID(), this); 
    150161                if (element.hasAttribute("Voltage")) 
    151162                { 
     
    158169        // -- DetectorSettings API methods -- 
    159170 
     171        public void link(Reference reference, OMEModelObject o) 
     172        { 
     173                // TODO: Should be its own Exception 
     174                throw new RuntimeException( 
     175                                "Unable to handle reference of type: " + reference.getClass()); 
     176        } 
     177 
    160178 
    161179        // Property 
  • trunk/components/ome-xml/src/ome/xml/r201004/Dichroic.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7979         * @param element Root of the XML DOM tree to construct a model object 
    8080         * graph from. 
     81         * @param model Handler for the OME model which keeps track of instances 
     82         * and references seen during object population. 
    8183         * @throws EnumerationException If there is an error instantiating an 
    8284         * enumeration during model object creation. 
    8385         */ 
    84         public Dichroic(Element element) throws EnumerationException 
    85         { 
    86                 update(element); 
     86        public Dichroic(Element element, OMEModel model) 
     87            throws EnumerationException 
     88        { 
     89                update(element, model); 
    8790        } 
    8891 
     
    9295         * @param element Root of the XML DOM tree to construct a model object 
    9396         * graph from. 
     97         * @param model Handler for the OME model which keeps track of instances 
     98         * and references seen during object population. 
    9499         * @throws EnumerationException If there is an error instantiating an 
    95100         * enumeration during model object creation. 
    96101         */ 
    97         public void update(Element element) throws EnumerationException 
     102        public void update(Element element, OMEModel model) 
     103            throws EnumerationException 
    98104        {        
    99105                super.update(element); 
     
    109115                        //              tagName)); 
    110116                } 
    111                 if (element.hasAttribute("ID")) 
    112                 { 
    113                         // Attribute property ID 
    114                         setID(String.valueOf( 
     117                if (!element.hasAttribute("ID")) 
     118                { 
     119                        // TODO: Should be its own exception 
     120                        throw new RuntimeException(String.format( 
     121                                        "Dichroic missing required ID property.")); 
     122                } 
     123                // ID property 
     124                setID(String.valueOf( 
    115125                                        element.getAttribute("ID"))); 
    116                 } 
     126                // Adding this model object to the model handler 
     127                model.addModelObject(getID(), this); 
    117128                // *** IGNORING *** Skipped back reference FilterSet_BackReference 
    118129                // *** IGNORING *** Skipped back reference LightPath_BackReference 
     
    121132        // -- Dichroic API methods -- 
    122133 
     134        public void link(Reference reference, OMEModelObject o) 
     135        { 
     136                // TODO: Should be its own Exception 
     137                throw new RuntimeException( 
     138                                "Unable to handle reference of type: " + reference.getClass()); 
     139        } 
     140 
    123141 
    124142        // Property 
  • trunk/components/ome-xml/src/ome/xml/r201004/DichroicRef.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7373         * @param element Root of the XML DOM tree to construct a model object 
    7474         * graph from. 
     75         * @param model Handler for the OME model which keeps track of instances 
     76         * and references seen during object population. 
    7577         * @throws EnumerationException If there is an error instantiating an 
    7678         * enumeration during model object creation. 
    7779         */ 
    78         public DichroicRef(Element element) throws EnumerationException 
     80        public DichroicRef(Element element, OMEModel model) 
     81            throws EnumerationException 
    7982        { 
    80                 update(element); 
     83                update(element, model); 
    8184        } 
    8285 
     
    8689         * @param element Root of the XML DOM tree to construct a model object 
    8790         * graph from. 
     91         * @param model Handler for the OME model which keeps track of instances 
     92         * and references seen during object population. 
    8893         * @throws EnumerationException If there is an error instantiating an 
    8994         * enumeration during model object creation. 
    9095         */ 
    91         public void update(Element element) throws EnumerationException 
     96        public void update(Element element, OMEModel model) 
     97            throws EnumerationException 
    9298        {        
    9399                super.update(element); 
     
    103109                        //              tagName)); 
    104110                } 
    105                 if (element.hasAttribute("ID")) 
     111                if (!element.hasAttribute("ID")) 
    106112                { 
    107                         // Attribute property ID 
    108                         setID(String.valueOf( 
     113                        // TODO: Should be its own exception 
     114                        throw new RuntimeException(String.format( 
     115                                        "DichroicRef missing required ID property.")); 
     116                } 
     117                // ID property 
     118                setID(String.valueOf( 
    109119                                        element.getAttribute("ID"))); 
    110                 } 
     120                // Adding this model object to the model handler 
     121                model.addModelObject(getID(), this); 
    111122        } 
    112123 
    113124        // -- DichroicRef API methods -- 
     125 
     126        public void link(Reference reference, OMEModelObject o) 
     127        { 
     128                // TODO: Should be its own Exception 
     129                throw new RuntimeException( 
     130                                "Unable to handle reference of type: " + reference.getClass()); 
     131        } 
    114132 
    115133 
  • trunk/components/ome-xml/src/ome/xml/r201004/DoubleAnnotation.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7373         * @param element Root of the XML DOM tree to construct a model object 
    7474         * graph from. 
     75         * @param model Handler for the OME model which keeps track of instances 
     76         * and references seen during object population. 
    7577         * @throws EnumerationException If there is an error instantiating an 
    7678         * enumeration during model object creation. 
    7779         */ 
    78         public DoubleAnnotation(Element element) throws EnumerationException 
     80        public DoubleAnnotation(Element element, OMEModel model) 
     81            throws EnumerationException 
    7982        { 
    80                 update(element); 
     83                update(element, model); 
    8184        } 
    8285 
     
    8689         * @param element Root of the XML DOM tree to construct a model object 
    8790         * graph from. 
     91         * @param model Handler for the OME model which keeps track of instances 
     92         * and references seen during object population. 
    8893         * @throws EnumerationException If there is an error instantiating an 
    8994         * enumeration during model object creation. 
    9095         */ 
    91         public void update(Element element) throws EnumerationException 
     96        public void update(Element element, OMEModel model) 
     97            throws EnumerationException 
    9298        {        
    9399                super.update(element); 
     
    120126 
    121127        // -- DoubleAnnotation API methods -- 
     128 
     129        public void link(Reference reference, OMEModelObject o) 
     130        { 
     131                // TODO: Should be its own Exception 
     132                throw new RuntimeException( 
     133                                "Unable to handle reference of type: " + reference.getClass()); 
     134        } 
    122135 
    123136 
  • trunk/components/ome-xml/src/ome/xml/r201004/Ellipse.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    8282         * @param element Root of the XML DOM tree to construct a model object 
    8383         * graph from. 
     84         * @param model Handler for the OME model which keeps track of instances 
     85         * and references seen during object population. 
    8486         * @throws EnumerationException If there is an error instantiating an 
    8587         * enumeration during model object creation. 
    8688         */ 
    87         public Ellipse(Element element) throws EnumerationException 
    88         { 
    89                 update(element); 
     89        public Ellipse(Element element, OMEModel model) 
     90            throws EnumerationException 
     91        { 
     92                update(element, model); 
    9093        } 
    9194 
     
    9598         * @param element Root of the XML DOM tree to construct a model object 
    9699         * graph from. 
     100         * @param model Handler for the OME model which keeps track of instances 
     101         * and references seen during object population. 
    97102         * @throws EnumerationException If there is an error instantiating an 
    98103         * enumeration during model object creation. 
    99104         */ 
    100         public void update(Element element) throws EnumerationException 
     105        public void update(Element element, OMEModel model) 
     106            throws EnumerationException 
    101107        {        
    102108                super.update(element); 
     
    140146        // -- Ellipse API methods -- 
    141147 
     148        public void link(Reference reference, OMEModelObject o) 
     149        { 
     150                // TODO: Should be its own Exception 
     151                throw new RuntimeException( 
     152                                "Unable to handle reference of type: " + reference.getClass()); 
     153        } 
     154 
    142155 
    143156        // Property 
  • trunk/components/ome-xml/src/ome/xml/r201004/Experiment.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    8888         * @param element Root of the XML DOM tree to construct a model object 
    8989         * graph from. 
     90         * @param model Handler for the OME model which keeps track of instances 
     91         * and references seen during object population. 
    9092         * @throws EnumerationException If there is an error instantiating an 
    9193         * enumeration during model object creation. 
    9294         */ 
    93         public Experiment(Element element) throws EnumerationException 
    94         { 
    95                 update(element); 
     95        public Experiment(Element element, OMEModel model) 
     96            throws EnumerationException 
     97        { 
     98                update(element, model); 
    9699        } 
    97100 
     
    101104         * @param element Root of the XML DOM tree to construct a model object 
    102105         * graph from. 
     106         * @param model Handler for the OME model which keeps track of instances 
     107         * and references seen during object population. 
    103108         * @throws EnumerationException If there is an error instantiating an 
    104109         * enumeration during model object creation. 
    105110         */ 
    106         public void update(Element element) throws EnumerationException 
     111        public void update(Element element, OMEModel model) 
     112            throws EnumerationException 
    107113        {        
    108114                super.update(element); 
     
    124130                                        element.getAttribute("Type"))); 
    125131                } 
    126                 if (element.hasAttribute("ID")) 
    127                 { 
    128                         // Attribute property ID 
    129                         setID(String.valueOf( 
     132                if (!element.hasAttribute("ID")) 
     133                { 
     134                        // TODO: Should be its own exception 
     135                        throw new RuntimeException(String.format( 
     136                                        "Experiment missing required ID property.")); 
     137                } 
     138                // ID property 
     139                setID(String.valueOf( 
    130140                                        element.getAttribute("ID"))); 
    131                 } 
     141                // Adding this model object to the model handler 
     142                model.addModelObject(getID(), this); 
    132143                NodeList Description_nodeList = element.getElementsByTagName("Description"); 
    133144                if (Description_nodeList.getLength() > 1) 
     
    144155                        setDescription(Description_nodeList.item(0).getTextContent()); 
    145156                } 
    146                 // *** IGNORING *** Skipped back reference ExperimenterRef 
     157                // Element reference ExperimenterRef 
     158                NodeList ExperimenterRef_nodeList = element.getElementsByTagName("ExperimenterRef"); 
     159                for (int i = 0; i < ExperimenterRef_nodeList.getLength(); i++) 
     160                { 
     161                        Element ExperimenterRef_element = (Element) ExperimenterRef_nodeList.item(i); 
     162                        ExperimenterRef experimenter_reference = new ExperimenterRef(); 
     163                        experimenter_reference.setID(ExperimenterRef_element.getAttribute("ID")); 
     164                        model.addReference(this, experimenter_reference); 
     165                } 
    147166                // Element property MicrobeamManipulation which is complex (has 
    148167                // sub-elements) and occurs more than once 
     
    152171                        Element MicrobeamManipulation_element = (Element) MicrobeamManipulation_nodeList.item(i); 
    153172                        addMicrobeamManipulation( 
    154                                         new MicrobeamManipulation(MicrobeamManipulation_element)); 
     173                                        new MicrobeamManipulation(MicrobeamManipulation_element, model)); 
    155174                } 
    156175                // *** IGNORING *** Skipped back reference Image_BackReference 
     
    158177 
    159178        // -- Experiment API methods -- 
     179 
     180        public void link(Reference reference, OMEModelObject o) 
     181        { 
     182                if (reference instanceof ExperimenterRef) 
     183                { 
     184                        Experimenter o_casted = (Experimenter) o; 
     185                        o_casted.linkExperiment(this); 
     186                        experimenter = o_casted; 
     187                } 
     188                // TODO: Should be its own Exception 
     189                throw new RuntimeException( 
     190                                "Unable to handle reference of type: " + reference.getClass()); 
     191        } 
    160192 
    161193 
  • trunk/components/ome-xml/src/ome/xml/r201004/ExperimentRef.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7373         * @param element Root of the XML DOM tree to construct a model object 
    7474         * graph from. 
     75         * @param model Handler for the OME model which keeps track of instances 
     76         * and references seen during object population. 
    7577         * @throws EnumerationException If there is an error instantiating an 
    7678         * enumeration during model object creation. 
    7779         */ 
    78         public ExperimentRef(Element element) throws EnumerationException 
     80        public ExperimentRef(Element element, OMEModel model) 
     81            throws EnumerationException 
    7982        { 
    80                 update(element); 
     83                update(element, model); 
    8184        } 
    8285 
     
    8689         * @param element Root of the XML DOM tree to construct a model object 
    8790         * graph from. 
     91         * @param model Handler for the OME model which keeps track of instances 
     92         * and references seen during object population. 
    8893         * @throws EnumerationException If there is an error instantiating an 
    8994         * enumeration during model object creation. 
    9095         */ 
    91         public void update(Element element) throws EnumerationException 
     96        public void update(Element element, OMEModel model) 
     97            throws EnumerationException 
    9298        {        
    9399                super.update(element); 
     
    103109                        //              tagName)); 
    104110                } 
    105                 if (element.hasAttribute("ID")) 
     111                if (!element.hasAttribute("ID")) 
    106112                { 
    107                         // Attribute property ID 
    108                         setID(String.valueOf( 
     113                        // TODO: Should be its own exception 
     114                        throw new RuntimeException(String.format( 
     115                                        "ExperimentRef missing required ID property.")); 
     116                } 
     117                // ID property 
     118                setID(String.valueOf( 
    109119                                        element.getAttribute("ID"))); 
    110                 } 
     120                // Adding this model object to the model handler 
     121                model.addModelObject(getID(), this); 
    111122        } 
    112123 
    113124        // -- ExperimentRef API methods -- 
     125 
     126        public void link(Reference reference, OMEModelObject o) 
     127        { 
     128                // TODO: Should be its own Exception 
     129                throw new RuntimeException( 
     130                                "Unable to handle reference of type: " + reference.getClass()); 
     131        } 
    114132 
    115133 
  • trunk/components/ome-xml/src/ome/xml/r201004/Experimenter.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    115115         * @param element Root of the XML DOM tree to construct a model object 
    116116         * graph from. 
     117         * @param model Handler for the OME model which keeps track of instances 
     118         * and references seen during object population. 
    117119         * @throws EnumerationException If there is an error instantiating an 
    118120         * enumeration during model object creation. 
    119121         */ 
    120         public Experimenter(Element element) throws EnumerationException 
    121         { 
    122                 update(element); 
     122        public Experimenter(Element element, OMEModel model) 
     123            throws EnumerationException 
     124        { 
     125                update(element, model); 
    123126        } 
    124127 
     
    128131         * @param element Root of the XML DOM tree to construct a model object 
    129132         * graph from. 
     133         * @param model Handler for the OME model which keeps track of instances 
     134         * and references seen during object population. 
    130135         * @throws EnumerationException If there is an error instantiating an 
    131136         * enumeration during model object creation. 
    132137         */ 
    133         public void update(Element element) throws EnumerationException 
     138        public void update(Element element, OMEModel model) 
     139            throws EnumerationException 
    134140        {        
    135141                super.update(element); 
     
    187193                                        element.getAttribute("Institution"))); 
    188194                } 
    189                 if (element.hasAttribute("ID")) 
    190                 { 
    191                         // Attribute property ID 
    192                         setID(String.valueOf( 
     195                if (!element.hasAttribute("ID")) 
     196                { 
     197                        // TODO: Should be its own exception 
     198                        throw new RuntimeException(String.format( 
     199                                        "Experimenter missing required ID property.")); 
     200                } 
     201                // ID property 
     202                setID(String.valueOf( 
    193203                                        element.getAttribute("ID"))); 
    194                 } 
    195                 // *** IGNORING *** Skipped back reference GroupRef 
    196                 // *** IGNORING *** Skipped back reference AnnotationRef 
     204                // Adding this model object to the model handler 
     205                model.addModelObject(getID(), this); 
     206                // Element reference GroupRef 
     207                NodeList GroupRef_nodeList = element.getElementsByTagName("GroupRef"); 
     208                for (int i = 0; i < GroupRef_nodeList.getLength(); i++) 
     209                { 
     210                        Element GroupRef_element = (Element) GroupRef_nodeList.item(i); 
     211                        GroupRef groupList_reference = new GroupRef(); 
     212                        groupList_reference.setID(GroupRef_element.getAttribute("ID")); 
     213                        model.addReference(this, groupList_reference); 
     214                } 
     215                // Element reference AnnotationRef 
     216                NodeList AnnotationRef_nodeList = element.getElementsByTagName("AnnotationRef"); 
     217                for (int i = 0; i < AnnotationRef_nodeList.getLength(); i++) 
     218                { 
     219                        Element AnnotationRef_element = (Element) AnnotationRef_nodeList.item(i); 
     220                        AnnotationRef annotationList_reference = new AnnotationRef(); 
     221                        annotationList_reference.setID(AnnotationRef_element.getAttribute("ID")); 
     222                        model.addReference(this, annotationList_reference); 
     223                } 
    197224                // *** IGNORING *** Skipped back reference Image_BackReference 
    198225                // *** IGNORING *** Skipped back reference MicrobeamManipulation_BackReference 
     
    203230 
    204231        // -- Experimenter API methods -- 
     232 
     233        public void link(Reference reference, OMEModelObject o) 
     234        { 
     235                if (reference instanceof GroupRef) 
     236                { 
     237                        Group o_casted = (Group) o; 
     238                        o_casted.linkExperimenter(this); 
     239                        groupList.add(o_casted); 
     240                } 
     241                if (reference instanceof AnnotationRef) 
     242                { 
     243                        Annotation o_casted = (Annotation) o; 
     244                        o_casted.linkExperimenter(this); 
     245                        annotationList.add(o_casted); 
     246                } 
     247                // TODO: Should be its own Exception 
     248                throw new RuntimeException( 
     249                                "Unable to handle reference of type: " + reference.getClass()); 
     250        } 
    205251 
    206252 
  • trunk/components/ome-xml/src/ome/xml/r201004/ExperimenterRef.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7373         * @param element Root of the XML DOM tree to construct a model object 
    7474         * graph from. 
     75         * @param model Handler for the OME model which keeps track of instances 
     76         * and references seen during object population. 
    7577         * @throws EnumerationException If there is an error instantiating an 
    7678         * enumeration during model object creation. 
    7779         */ 
    78         public ExperimenterRef(Element element) throws EnumerationException 
     80        public ExperimenterRef(Element element, OMEModel model) 
     81            throws EnumerationException 
    7982        { 
    80                 update(element); 
     83                update(element, model); 
    8184        } 
    8285 
     
    8689         * @param element Root of the XML DOM tree to construct a model object 
    8790         * graph from. 
     91         * @param model Handler for the OME model which keeps track of instances 
     92         * and references seen during object population. 
    8893         * @throws EnumerationException If there is an error instantiating an 
    8994         * enumeration during model object creation. 
    9095         */ 
    91         public void update(Element element) throws EnumerationException 
     96        public void update(Element element, OMEModel model) 
     97            throws EnumerationException 
    9298        {        
    9399                super.update(element); 
     
    103109                        //              tagName)); 
    104110                } 
    105                 if (element.hasAttribute("ID")) 
     111                if (!element.hasAttribute("ID")) 
    106112                { 
    107                         // Attribute property ID 
    108                         setID(String.valueOf( 
     113                        // TODO: Should be its own exception 
     114                        throw new RuntimeException(String.format( 
     115                                        "ExperimenterRef missing required ID property.")); 
     116                } 
     117                // ID property 
     118                setID(String.valueOf( 
    109119                                        element.getAttribute("ID"))); 
    110                 } 
     120                // Adding this model object to the model handler 
     121                model.addModelObject(getID(), this); 
    111122        } 
    112123 
    113124        // -- ExperimenterRef API methods -- 
     125 
     126        public void link(Reference reference, OMEModelObject o) 
     127        { 
     128                // TODO: Should be its own Exception 
     129                throw new RuntimeException( 
     130                                "Unable to handle reference of type: " + reference.getClass()); 
     131        } 
    114132 
    115133 
  • trunk/components/ome-xml/src/ome/xml/r201004/External.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7979         * @param element Root of the XML DOM tree to construct a model object 
    8080         * graph from. 
     81         * @param model Handler for the OME model which keeps track of instances 
     82         * and references seen during object population. 
    8183         * @throws EnumerationException If there is an error instantiating an 
    8284         * enumeration during model object creation. 
    8385         */ 
    84         public External(Element element) throws EnumerationException 
    85         { 
    86                 update(element); 
     86        public External(Element element, OMEModel model) 
     87            throws EnumerationException 
     88        { 
     89                update(element, model); 
    8790        } 
    8891 
     
    9295         * @param element Root of the XML DOM tree to construct a model object 
    9396         * graph from. 
     97         * @param model Handler for the OME model which keeps track of instances 
     98         * and references seen during object population. 
    9499         * @throws EnumerationException If there is an error instantiating an 
    95100         * enumeration during model object creation. 
    96101         */ 
    97         public void update(Element element) throws EnumerationException 
     102        public void update(Element element, OMEModel model) 
     103            throws EnumerationException 
    98104        {        
    99105                super.update(element); 
     
    131137        // -- External API methods -- 
    132138 
     139        public void link(Reference reference, OMEModelObject o) 
     140        { 
     141                // TODO: Should be its own Exception 
     142                throw new RuntimeException( 
     143                                "Unable to handle reference of type: " + reference.getClass()); 
     144        } 
     145 
    133146 
    134147        // Property 
  • trunk/components/ome-xml/src/ome/xml/r201004/Filament.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7373         * @param element Root of the XML DOM tree to construct a model object 
    7474         * graph from. 
     75         * @param model Handler for the OME model which keeps track of instances 
     76         * and references seen during object population. 
    7577         * @throws EnumerationException If there is an error instantiating an 
    7678         * enumeration during model object creation. 
    7779         */ 
    78         public Filament(Element element) throws EnumerationException 
     80        public Filament(Element element, OMEModel model) 
     81            throws EnumerationException 
    7982        { 
    80                 update(element); 
     83                update(element, model); 
    8184        } 
    8285 
     
    8689         * @param element Root of the XML DOM tree to construct a model object 
    8790         * graph from. 
     91         * @param model Handler for the OME model which keeps track of instances 
     92         * and references seen during object population. 
    8893         * @throws EnumerationException If there is an error instantiating an 
    8994         * enumeration during model object creation. 
    9095         */ 
    91         public void update(Element element) throws EnumerationException 
     96        public void update(Element element, OMEModel model) 
     97            throws EnumerationException 
    9298        {        
    9399                super.update(element); 
     
    112118 
    113119        // -- Filament API methods -- 
     120 
     121        public void link(Reference reference, OMEModelObject o) 
     122        { 
     123                // TODO: Should be its own Exception 
     124                throw new RuntimeException( 
     125                                "Unable to handle reference of type: " + reference.getClass()); 
     126        } 
    114127 
    115128 
  • trunk/components/ome-xml/src/ome/xml/r201004/FileAnnotation.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7373         * @param element Root of the XML DOM tree to construct a model object 
    7474         * graph from. 
     75         * @param model Handler for the OME model which keeps track of instances 
     76         * and references seen during object population. 
    7577         * @throws EnumerationException If there is an error instantiating an 
    7678         * enumeration during model object creation. 
    7779         */ 
    78         public FileAnnotation(Element element) throws EnumerationException 
     80        public FileAnnotation(Element element, OMEModel model) 
     81            throws EnumerationException 
    7982        { 
    80                 update(element); 
     83                update(element, model); 
    8184        } 
    8285 
     
    8689         * @param element Root of the XML DOM tree to construct a model object 
    8790         * graph from. 
     91         * @param model Handler for the OME model which keeps track of instances 
     92         * and references seen during object population. 
    8893         * @throws EnumerationException If there is an error instantiating an 
    8994         * enumeration during model object creation. 
    9095         */ 
    91         public void update(Element element) throws EnumerationException 
     96        public void update(Element element, OMEModel model) 
     97            throws EnumerationException 
    9298        {        
    9399                super.update(element); 
     
    116122                        // sub-elements) 
    117123                        setBinaryFile(new BinaryFile( 
    118                                         (Element) BinaryFile_nodeList.item(0))); 
     124                                        (Element) BinaryFile_nodeList.item(0), model)); 
    119125                } 
    120126        } 
    121127 
    122128        // -- FileAnnotation API methods -- 
     129 
     130        public void link(Reference reference, OMEModelObject o) 
     131        { 
     132                // TODO: Should be its own Exception 
     133                throw new RuntimeException( 
     134                                "Unable to handle reference of type: " + reference.getClass()); 
     135        } 
    123136 
    124137 
  • trunk/components/ome-xml/src/ome/xml/r201004/Filter.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    8888         * @param element Root of the XML DOM tree to construct a model object 
    8989         * graph from. 
     90         * @param model Handler for the OME model which keeps track of instances 
     91         * and references seen during object population. 
    9092         * @throws EnumerationException If there is an error instantiating an 
    9193         * enumeration during model object creation. 
    9294         */ 
    93         public Filter(Element element) throws EnumerationException 
    94         { 
    95                 update(element); 
     95        public Filter(Element element, OMEModel model) 
     96            throws EnumerationException 
     97        { 
     98                update(element, model); 
    9699        } 
    97100 
     
    101104         * @param element Root of the XML DOM tree to construct a model object 
    102105         * graph from. 
     106         * @param model Handler for the OME model which keeps track of instances 
     107         * and references seen during object population. 
    103108         * @throws EnumerationException If there is an error instantiating an 
    104109         * enumeration during model object creation. 
    105110         */ 
    106         public void update(Element element) throws EnumerationException 
     111        public void update(Element element, OMEModel model) 
     112            throws EnumerationException 
    107113        {        
    108114                super.update(element); 
     
    130136                                        element.getAttribute("Type"))); 
    131137                } 
    132                 if (element.hasAttribute("ID")) 
    133                 { 
    134                         // Attribute property ID 
    135                         setID(String.valueOf( 
     138                if (!element.hasAttribute("ID")) 
     139                { 
     140                        // TODO: Should be its own exception 
     141                        throw new RuntimeException(String.format( 
     142                                        "Filter missing required ID property.")); 
     143                } 
     144                // ID property 
     145                setID(String.valueOf( 
    136146                                        element.getAttribute("ID"))); 
    137                 } 
     147                // Adding this model object to the model handler 
     148                model.addModelObject(getID(), this); 
    138149                NodeList TransmittanceRange_nodeList = element.getElementsByTagName("TransmittanceRange"); 
    139150                if (TransmittanceRange_nodeList.getLength() > 1) 
     
    149160                        // sub-elements) 
    150161                        setTransmittanceRange(new TransmittanceRange( 
    151                                         (Element) TransmittanceRange_nodeList.item(0))); 
     162                                        (Element) TransmittanceRange_nodeList.item(0), model)); 
    152163                } 
    153164                // *** IGNORING *** Skipped back reference FilterSet_BackReference 
     
    156167 
    157168        // -- Filter API methods -- 
     169 
     170        public void link(Reference reference, OMEModelObject o) 
     171        { 
     172                // TODO: Should be its own Exception 
     173                throw new RuntimeException( 
     174                                "Unable to handle reference of type: " + reference.getClass()); 
     175        } 
    158176 
    159177 
  • trunk/components/ome-xml/src/ome/xml/r201004/FilterRef.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7373         * @param element Root of the XML DOM tree to construct a model object 
    7474         * graph from. 
     75         * @param model Handler for the OME model which keeps track of instances 
     76         * and references seen during object population. 
    7577         * @throws EnumerationException If there is an error instantiating an 
    7678         * enumeration during model object creation. 
    7779         */ 
    78         public FilterRef(Element element) throws EnumerationException 
     80        public FilterRef(Element element, OMEModel model) 
     81            throws EnumerationException 
    7982        { 
    80                 update(element); 
     83                update(element, model); 
    8184        } 
    8285 
     
    8689         * @param element Root of the XML DOM tree to construct a model object 
    8790         * graph from. 
     91         * @param model Handler for the OME model which keeps track of instances 
     92         * and references seen during object population. 
    8893         * @throws EnumerationException If there is an error instantiating an 
    8994         * enumeration during model object creation. 
    9095         */ 
    91         public void update(Element element) throws EnumerationException 
     96        public void update(Element element, OMEModel model) 
     97            throws EnumerationException 
    9298        {        
    9399                super.update(element); 
     
    103109                        //              tagName)); 
    104110                } 
    105                 if (element.hasAttribute("ID")) 
     111                if (!element.hasAttribute("ID")) 
    106112                { 
    107                         // Attribute property ID 
    108                         setID(String.valueOf( 
     113                        // TODO: Should be its own exception 
     114                        throw new RuntimeException(String.format( 
     115                                        "FilterRef missing required ID property.")); 
     116                } 
     117                // ID property 
     118                setID(String.valueOf( 
    109119                                        element.getAttribute("ID"))); 
    110                 } 
     120                // Adding this model object to the model handler 
     121                model.addModelObject(getID(), this); 
    111122        } 
    112123 
    113124        // -- FilterRef API methods -- 
     125 
     126        public void link(Reference reference, OMEModelObject o) 
     127        { 
     128                // TODO: Should be its own Exception 
     129                throw new RuntimeException( 
     130                                "Unable to handle reference of type: " + reference.getClass()); 
     131        } 
    114132 
    115133 
  • trunk/components/ome-xml/src/ome/xml/r201004/FilterSet.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    9191         * @param element Root of the XML DOM tree to construct a model object 
    9292         * graph from. 
     93         * @param model Handler for the OME model which keeps track of instances 
     94         * and references seen during object population. 
    9395         * @throws EnumerationException If there is an error instantiating an 
    9496         * enumeration during model object creation. 
    9597         */ 
    96         public FilterSet(Element element) throws EnumerationException 
    97         { 
    98                 update(element); 
     98        public FilterSet(Element element, OMEModel model) 
     99            throws EnumerationException 
     100        { 
     101                update(element, model); 
    99102        } 
    100103 
     
    104107         * @param element Root of the XML DOM tree to construct a model object 
    105108         * graph from. 
     109         * @param model Handler for the OME model which keeps track of instances 
     110         * and references seen during object population. 
    106111         * @throws EnumerationException If there is an error instantiating an 
    107112         * enumeration during model object creation. 
    108113         */ 
    109         public void update(Element element) throws EnumerationException 
     114        public void update(Element element, OMEModel model) 
     115            throws EnumerationException 
    110116        {        
    111117                super.update(element); 
     
    121127                        //              tagName)); 
    122128                } 
    123                 if (element.hasAttribute("ID")) 
    124                 { 
    125                         // Attribute property ID 
    126                         setID(String.valueOf( 
     129                if (!element.hasAttribute("ID")) 
     130                { 
     131                        // TODO: Should be its own exception 
     132                        throw new RuntimeException(String.format( 
     133                                        "FilterSet missing required ID property.")); 
     134                } 
     135                // ID property 
     136                setID(String.valueOf( 
    127137                                        element.getAttribute("ID"))); 
    128                 } 
    129                 // *** IGNORING *** Skipped back reference ExcitationFilterRef 
    130                 // *** IGNORING *** Skipped back reference DichroicRef 
    131                 // *** IGNORING *** Skipped back reference EmissionFilterRef 
     138                // Adding this model object to the model handler 
     139                model.addModelObject(getID(), this); 
     140                // Element reference ExcitationFilterRef 
     141                NodeList ExcitationFilterRef_nodeList = element.getElementsByTagName("ExcitationFilterRef"); 
     142                for (int i = 0; i < ExcitationFilterRef_nodeList.getLength(); i++) 
     143                { 
     144                        Element ExcitationFilterRef_element = (Element) ExcitationFilterRef_nodeList.item(i); 
     145                        ExcitationFilterRef excitationFilterList_reference = new ExcitationFilterRef(); 
     146                        excitationFilterList_reference.setID(ExcitationFilterRef_element.getAttribute("ID")); 
     147                        model.addReference(this, excitationFilterList_reference); 
     148                } 
     149                // Element reference DichroicRef 
     150                NodeList DichroicRef_nodeList = element.getElementsByTagName("DichroicRef"); 
     151                for (int i = 0; i < DichroicRef_nodeList.getLength(); i++) 
     152                { 
     153                        Element DichroicRef_element = (Element) DichroicRef_nodeList.item(i); 
     154                        DichroicRef dichroic_reference = new DichroicRef(); 
     155                        dichroic_reference.setID(DichroicRef_element.getAttribute("ID")); 
     156                        model.addReference(this, dichroic_reference); 
     157                } 
     158                // Element reference EmissionFilterRef 
     159                NodeList EmissionFilterRef_nodeList = element.getElementsByTagName("EmissionFilterRef"); 
     160                for (int i = 0; i < EmissionFilterRef_nodeList.getLength(); i++) 
     161                { 
     162                        Element EmissionFilterRef_element = (Element) EmissionFilterRef_nodeList.item(i); 
     163                        EmissionFilterRef emissionFilterList_reference = new EmissionFilterRef(); 
     164                        emissionFilterList_reference.setID(EmissionFilterRef_element.getAttribute("ID")); 
     165                        model.addReference(this, emissionFilterList_reference); 
     166                } 
    132167                // *** IGNORING *** Skipped back reference Channel_BackReference 
    133168                // *** IGNORING *** Skipped back reference OTF_BackReference 
     
    136171 
    137172        // -- FilterSet API methods -- 
     173 
     174        public void link(Reference reference, OMEModelObject o) 
     175        { 
     176                if (reference instanceof ExcitationFilterRef) 
     177                { 
     178                        Filter o_casted = (Filter) o; 
     179                        o_casted.linkFilterSet(this); 
     180                        excitationFilterList.add(o_casted); 
     181                } 
     182                if (reference instanceof DichroicRef) 
     183                { 
     184                        Dichroic o_casted = (Dichroic) o; 
     185                        o_casted.linkFilterSet(this); 
     186                        dichroic = o_casted; 
     187                } 
     188                if (reference instanceof EmissionFilterRef) 
     189                { 
     190                        Filter o_casted = (Filter) o; 
     191                        o_casted.linkFilterSet(this); 
     192                        emissionFilterList.add(o_casted); 
     193                } 
     194                // TODO: Should be its own Exception 
     195                throw new RuntimeException( 
     196                                "Unable to handle reference of type: " + reference.getClass()); 
     197        } 
    138198 
    139199 
  • trunk/components/ome-xml/src/ome/xml/r201004/FilterSetRef.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7373         * @param element Root of the XML DOM tree to construct a model object 
    7474         * graph from. 
     75         * @param model Handler for the OME model which keeps track of instances 
     76         * and references seen during object population. 
    7577         * @throws EnumerationException If there is an error instantiating an 
    7678         * enumeration during model object creation. 
    7779         */ 
    78         public FilterSetRef(Element element) throws EnumerationException 
     80        public FilterSetRef(Element element, OMEModel model) 
     81            throws EnumerationException 
    7982        { 
    80                 update(element); 
     83                update(element, model); 
    8184        } 
    8285 
     
    8689         * @param element Root of the XML DOM tree to construct a model object 
    8790         * graph from. 
     91         * @param model Handler for the OME model which keeps track of instances 
     92         * and references seen during object population. 
    8893         * @throws EnumerationException If there is an error instantiating an 
    8994         * enumeration during model object creation. 
    9095         */ 
    91         public void update(Element element) throws EnumerationException 
     96        public void update(Element element, OMEModel model) 
     97            throws EnumerationException 
    9298        {        
    9399                super.update(element); 
     
    103109                        //              tagName)); 
    104110                } 
    105                 if (element.hasAttribute("ID")) 
     111                if (!element.hasAttribute("ID")) 
    106112                { 
    107                         // Attribute property ID 
    108                         setID(String.valueOf( 
     113                        // TODO: Should be its own exception 
     114                        throw new RuntimeException(String.format( 
     115                                        "FilterSetRef missing required ID property.")); 
     116                } 
     117                // ID property 
     118                setID(String.valueOf( 
    109119                                        element.getAttribute("ID"))); 
    110                 } 
     120                // Adding this model object to the model handler 
     121                model.addModelObject(getID(), this); 
    111122        } 
    112123 
    113124        // -- FilterSetRef API methods -- 
     125 
     126        public void link(Reference reference, OMEModelObject o) 
     127        { 
     128                // TODO: Should be its own Exception 
     129                throw new RuntimeException( 
     130                                "Unable to handle reference of type: " + reference.getClass()); 
     131        } 
    114132 
    115133 
  • trunk/components/ome-xml/src/ome/xml/r201004/Group.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    6868 
    6969        // Property 
    70         private Leader leader; 
    71  
    72         // Property 
    73         private Contact contact; 
     70        private Experimenter leader; 
     71 
     72        // Property 
     73        private Experimenter contact; 
    7474 
    7575        // Back reference Image_BackReference 
     
    9797         * @param element Root of the XML DOM tree to construct a model object 
    9898         * graph from. 
     99         * @param model Handler for the OME model which keeps track of instances 
     100         * and references seen during object population. 
    99101         * @throws EnumerationException If there is an error instantiating an 
    100102         * enumeration during model object creation. 
    101103         */ 
    102         public Group(Element element) throws EnumerationException 
    103         { 
    104                 update(element); 
     104        public Group(Element element, OMEModel model) 
     105            throws EnumerationException 
     106        { 
     107                update(element, model); 
    105108        } 
    106109 
     
    110113         * @param element Root of the XML DOM tree to construct a model object 
    111114         * graph from. 
     115         * @param model Handler for the OME model which keeps track of instances 
     116         * and references seen during object population. 
    112117         * @throws EnumerationException If there is an error instantiating an 
    113118         * enumeration during model object creation. 
    114119         */ 
    115         public void update(Element element) throws EnumerationException 
     120        public void update(Element element, OMEModel model) 
     121            throws EnumerationException 
    116122        {        
    117123                super.update(element); 
     
    133139                                        element.getAttribute("Name"))); 
    134140                } 
    135                 if (element.hasAttribute("ID")) 
    136                 { 
    137                         // Attribute property ID 
    138                         setID(String.valueOf( 
     141                if (!element.hasAttribute("ID")) 
     142                { 
     143                        // TODO: Should be its own exception 
     144                        throw new RuntimeException(String.format( 
     145                                        "Group missing required ID property.")); 
     146                } 
     147                // ID property 
     148                setID(String.valueOf( 
    139149                                        element.getAttribute("ID"))); 
    140                 } 
     150                // Adding this model object to the model handler 
     151                model.addModelObject(getID(), this); 
    141152                NodeList Description_nodeList = element.getElementsByTagName("Description"); 
    142153                if (Description_nodeList.getLength() > 1) 
     
    153164                        setDescription(Description_nodeList.item(0).getTextContent()); 
    154165                } 
    155                 // *** IGNORING *** Skipped back reference Leader 
    156                 // *** IGNORING *** Skipped back reference Contact 
     166                // Element reference Leader 
     167                NodeList Leader_nodeList = element.getElementsByTagName("Leader"); 
     168                for (int i = 0; i < Leader_nodeList.getLength(); i++) 
     169                { 
     170                        Element Leader_element = (Element) Leader_nodeList.item(i); 
     171                        Leader leader_reference = new Leader(); 
     172                        leader_reference.setID(Leader_element.getAttribute("ID")); 
     173                        model.addReference(this, leader_reference); 
     174                } 
     175                // Element reference Contact 
     176                NodeList Contact_nodeList = element.getElementsByTagName("Contact"); 
     177                for (int i = 0; i < Contact_nodeList.getLength(); i++) 
     178                { 
     179                        Element Contact_element = (Element) Contact_nodeList.item(i); 
     180                        Contact contact_reference = new Contact(); 
     181                        contact_reference.setID(Contact_element.getAttribute("ID")); 
     182                        model.addReference(this, contact_reference); 
     183                } 
    157184                // *** IGNORING *** Skipped back reference Image_BackReference 
    158185                // *** IGNORING *** Skipped back reference Project_BackReference 
     
    163190        // -- Group API methods -- 
    164191 
     192        public void link(Reference reference, OMEModelObject o) 
     193        { 
     194                if (reference instanceof Leader) 
     195                { 
     196                        Experimenter o_casted = (Experimenter) o; 
     197                        o_casted.linkGroup(this); 
     198                        leader = o_casted; 
     199                } 
     200                if (reference instanceof Contact) 
     201                { 
     202                        Experimenter o_casted = (Experimenter) o; 
     203                        o_casted.linkGroup(this); 
     204                        contact = o_casted; 
     205                } 
     206                // TODO: Should be its own Exception 
     207                throw new RuntimeException( 
     208                                "Unable to handle reference of type: " + reference.getClass()); 
     209        } 
     210 
    165211 
    166212        // Property 
     
    198244 
    199245        // Reference 
    200         public Leader getLinkedLeader() 
     246        public Experimenter getLinkedLeader() 
    201247        { 
    202248                return leader; 
    203249        } 
    204250 
    205         public void linkLeader(Leader o) 
     251        public void linkLeader(Experimenter o) 
    206252        { 
    207253                leader = o; 
    208254        } 
    209255 
    210         public void unlinkLeader(Leader o) 
     256        public void unlinkLeader(Experimenter o) 
    211257        { 
    212258                if (leader == o) 
     
    217263 
    218264        // Reference 
    219         public Contact getLinkedContact() 
     265        public Experimenter getLinkedContact() 
    220266        { 
    221267                return contact; 
    222268        } 
    223269 
    224         public void linkContact(Contact o) 
     270        public void linkContact(Experimenter o) 
    225271        { 
    226272                contact = o; 
    227273        } 
    228274 
    229         public void unlinkContact(Contact o) 
     275        public void unlinkContact(Experimenter o) 
    230276        { 
    231277                if (contact == o) 
  • trunk/components/ome-xml/src/ome/xml/r201004/GroupRef.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7373         * @param element Root of the XML DOM tree to construct a model object 
    7474         * graph from. 
     75         * @param model Handler for the OME model which keeps track of instances 
     76         * and references seen during object population. 
    7577         * @throws EnumerationException If there is an error instantiating an 
    7678         * enumeration during model object creation. 
    7779         */ 
    78         public GroupRef(Element element) throws EnumerationException 
     80        public GroupRef(Element element, OMEModel model) 
     81            throws EnumerationException 
    7982        { 
    80                 update(element); 
     83                update(element, model); 
    8184        } 
    8285 
     
    8689         * @param element Root of the XML DOM tree to construct a model object 
    8790         * graph from. 
     91         * @param model Handler for the OME model which keeps track of instances 
     92         * and references seen during object population. 
    8893         * @throws EnumerationException If there is an error instantiating an 
    8994         * enumeration during model object creation. 
    9095         */ 
    91         public void update(Element element) throws EnumerationException 
     96        public void update(Element element, OMEModel model) 
     97            throws EnumerationException 
    9298        {        
    9399                super.update(element); 
     
    103109                        //              tagName)); 
    104110                } 
    105                 if (element.hasAttribute("ID")) 
     111                if (!element.hasAttribute("ID")) 
    106112                { 
    107                         // Attribute property ID 
    108                         setID(String.valueOf( 
     113                        // TODO: Should be its own exception 
     114                        throw new RuntimeException(String.format( 
     115                                        "GroupRef missing required ID property.")); 
     116                } 
     117                // ID property 
     118                setID(String.valueOf( 
    109119                                        element.getAttribute("ID"))); 
    110                 } 
     120                // Adding this model object to the model handler 
     121                model.addModelObject(getID(), this); 
    111122        } 
    112123 
    113124        // -- GroupRef API methods -- 
     125 
     126        public void link(Reference reference, OMEModelObject o) 
     127        { 
     128                // TODO: Should be its own Exception 
     129                throw new RuntimeException( 
     130                                "Unable to handle reference of type: " + reference.getClass()); 
     131        } 
    114132 
    115133 
  • trunk/components/ome-xml/src/ome/xml/r201004/Image.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    121121         * @param element Root of the XML DOM tree to construct a model object 
    122122         * graph from. 
     123         * @param model Handler for the OME model which keeps track of instances 
     124         * and references seen during object population. 
    123125         * @throws EnumerationException If there is an error instantiating an 
    124126         * enumeration during model object creation. 
    125127         */ 
    126         public Image(Element element) throws EnumerationException 
    127         { 
    128                 update(element); 
     128        public Image(Element element, OMEModel model) 
     129            throws EnumerationException 
     130        { 
     131                update(element, model); 
    129132        } 
    130133 
     
    134137         * @param element Root of the XML DOM tree to construct a model object 
    135138         * graph from. 
     139         * @param model Handler for the OME model which keeps track of instances 
     140         * and references seen during object population. 
    136141         * @throws EnumerationException If there is an error instantiating an 
    137142         * enumeration during model object creation. 
    138143         */ 
    139         public void update(Element element) throws EnumerationException 
     144        public void update(Element element, OMEModel model) 
     145            throws EnumerationException 
    140146        {        
    141147                super.update(element); 
     
    151157                        //              tagName)); 
    152158                } 
    153                 if (element.hasAttribute("ID")) 
    154                 { 
    155                         // Attribute property ID 
    156                         setID(String.valueOf( 
     159                if (!element.hasAttribute("ID")) 
     160                { 
     161                        // TODO: Should be its own exception 
     162                        throw new RuntimeException(String.format( 
     163                                        "Image missing required ID property.")); 
     164                } 
     165                // ID property 
     166                setID(String.valueOf( 
    157167                                        element.getAttribute("ID"))); 
    158                 } 
     168                // Adding this model object to the model handler 
     169                model.addModelObject(getID(), this); 
    159170                if (element.hasAttribute("Name")) 
    160171                { 
     
    177188                        setAcquiredDate(AcquiredDate_nodeList.item(0).getTextContent()); 
    178189                } 
    179                 // *** IGNORING *** Skipped back reference ExperimenterRef 
     190                // Element reference ExperimenterRef 
     191                NodeList ExperimenterRef_nodeList = element.getElementsByTagName("ExperimenterRef"); 
     192                for (int i = 0; i < ExperimenterRef_nodeList.getLength(); i++) 
     193                { 
     194                        Element ExperimenterRef_element = (Element) ExperimenterRef_nodeList.item(i); 
     195                        ExperimenterRef experimenter_reference = new ExperimenterRef(); 
     196                        experimenter_reference.setID(ExperimenterRef_element.getAttribute("ID")); 
     197                        model.addReference(this, experimenter_reference); 
     198                } 
    180199                NodeList Description_nodeList = element.getElementsByTagName("Description"); 
    181200                if (Description_nodeList.getLength() > 1) 
     
    192211                        setDescription(Description_nodeList.item(0).getTextContent()); 
    193212                } 
    194                 // *** IGNORING *** Skipped back reference ExperimentRef 
    195                 // *** IGNORING *** Skipped back reference GroupRef 
    196                 // *** IGNORING *** Skipped back reference DatasetRef 
    197                 // *** IGNORING *** Skipped back reference InstrumentRef 
     213                // Element reference ExperimentRef 
     214                NodeList ExperimentRef_nodeList = element.getElementsByTagName("ExperimentRef"); 
     215                for (int i = 0; i < ExperimentRef_nodeList.getLength(); i++) 
     216                { 
     217                        Element ExperimentRef_element = (Element) ExperimentRef_nodeList.item(i); 
     218                        ExperimentRef experiment_reference = new ExperimentRef(); 
     219                        experiment_reference.setID(ExperimentRef_element.getAttribute("ID")); 
     220                        model.addReference(this, experiment_reference); 
     221                } 
     222                // Element reference GroupRef 
     223                NodeList GroupRef_nodeList = element.getElementsByTagName("GroupRef"); 
     224                for (int i = 0; i < GroupRef_nodeList.getLength(); i++) 
     225                { 
     226                        Element GroupRef_element = (Element) GroupRef_nodeList.item(i); 
     227                        GroupRef group_reference = new GroupRef(); 
     228                        group_reference.setID(GroupRef_element.getAttribute("ID")); 
     229                        model.addReference(this, group_reference); 
     230                } 
     231                // Element reference DatasetRef 
     232                NodeList DatasetRef_nodeList = element.getElementsByTagName("DatasetRef"); 
     233                for (int i = 0; i < DatasetRef_nodeList.getLength(); i++) 
     234                { 
     235                        Element DatasetRef_element = (Element) DatasetRef_nodeList.item(i); 
     236                        DatasetRef datasetList_reference = new DatasetRef(); 
     237                        datasetList_reference.setID(DatasetRef_element.getAttribute("ID")); 
     238                        model.addReference(this, datasetList_reference); 
     239                } 
     240                // Element reference InstrumentRef 
     241                NodeList InstrumentRef_nodeList = element.getElementsByTagName("InstrumentRef"); 
     242                for (int i = 0; i < InstrumentRef_nodeList.getLength(); i++) 
     243                { 
     244                        Element InstrumentRef_element = (Element) InstrumentRef_nodeList.item(i); 
     245                        InstrumentRef instrument_reference = new InstrumentRef(); 
     246                        instrument_reference.setID(InstrumentRef_element.getAttribute("ID")); 
     247                        model.addReference(this, instrument_reference); 
     248                } 
    198249                NodeList ObjectiveSettings_nodeList = element.getElementsByTagName("ObjectiveSettings"); 
    199250                if (ObjectiveSettings_nodeList.getLength() > 1) 
     
    209260                        // sub-elements) 
    210261                        setObjectiveSettings(new ObjectiveSettings( 
    211                                         (Element) ObjectiveSettings_nodeList.item(0))); 
     262                                        (Element) ObjectiveSettings_nodeList.item(0), model)); 
    212263                } 
    213264                NodeList ImagingEnvironment_nodeList = element.getElementsByTagName("ImagingEnvironment"); 
     
    224275                        // sub-elements) 
    225276                        setImagingEnvironment(new ImagingEnvironment( 
    226                                         (Element) ImagingEnvironment_nodeList.item(0))); 
     277                                        (Element) ImagingEnvironment_nodeList.item(0), model)); 
    227278                } 
    228279                NodeList StageLabel_nodeList = element.getElementsByTagName("StageLabel"); 
     
    239290                        // sub-elements) 
    240291                        setStageLabel(new StageLabel( 
    241                                         (Element) StageLabel_nodeList.item(0))); 
     292                                        (Element) StageLabel_nodeList.item(0), model)); 
    242293                } 
    243294                NodeList Pixels_nodeList = element.getElementsByTagName("Pixels"); 
     
    254305                        // sub-elements) 
    255306                        setPixels(new Pixels( 
    256                                         (Element) Pixels_nodeList.item(0))); 
    257                 } 
    258                 // *** IGNORING *** Skipped back reference ROIRef 
    259                 // *** IGNORING *** Skipped back reference MicrobeamManipulationRef 
    260                 // *** IGNORING *** Skipped back reference AnnotationRef 
     307                                        (Element) Pixels_nodeList.item(0), model)); 
     308                } 
     309                // Element reference ROIRef 
     310                NodeList ROIRef_nodeList = element.getElementsByTagName("ROIRef"); 
     311                for (int i = 0; i < ROIRef_nodeList.getLength(); i++) 
     312                { 
     313                        Element ROIRef_element = (Element) ROIRef_nodeList.item(i); 
     314                        ROIRef roiList_reference = new ROIRef(); 
     315                        roiList_reference.setID(ROIRef_element.getAttribute("ID")); 
     316                        model.addReference(this, roiList_reference); 
     317                } 
     318                // Element reference MicrobeamManipulationRef 
     319                NodeList MicrobeamManipulationRef_nodeList = element.getElementsByTagName("MicrobeamManipulationRef"); 
     320                for (int i = 0; i < MicrobeamManipulationRef_nodeList.getLength(); i++) 
     321                { 
     322                        Element MicrobeamManipulationRef_element = (Element) MicrobeamManipulationRef_nodeList.item(i); 
     323                        MicrobeamManipulationRef microbeamManipulationList_reference = new MicrobeamManipulationRef(); 
     324                        microbeamManipulationList_reference.setID(MicrobeamManipulationRef_element.getAttribute("ID")); 
     325                        model.addReference(this, microbeamManipulationList_reference); 
     326                } 
     327                // Element reference AnnotationRef 
     328                NodeList AnnotationRef_nodeList = element.getElementsByTagName("AnnotationRef"); 
     329                for (int i = 0; i < AnnotationRef_nodeList.getLength(); i++) 
     330                { 
     331                        Element AnnotationRef_element = (Element) AnnotationRef_nodeList.item(i); 
     332                        AnnotationRef annotationList_reference = new AnnotationRef(); 
     333                        annotationList_reference.setID(AnnotationRef_element.getAttribute("ID")); 
     334                        model.addReference(this, annotationList_reference); 
     335                } 
    261336                // *** IGNORING *** Skipped back reference WellSample_BackReference 
    262337        } 
    263338 
    264339        // -- Image API methods -- 
     340 
     341        public void link(Reference reference, OMEModelObject o) 
     342        { 
     343                if (reference instanceof ExperimenterRef) 
     344                { 
     345                        Experimenter o_casted = (Experimenter) o; 
     346                        o_casted.linkImage(this); 
     347                        experimenter = o_casted; 
     348                } 
     349                if (reference instanceof ExperimentRef) 
     350                { 
     351                        Experiment o_casted = (Experiment) o; 
     352                        o_casted.linkImage(this); 
     353                        experiment = o_casted; 
     354                } 
     355                if (reference instanceof GroupRef) 
     356                { 
     357                        Group o_casted = (Group) o; 
     358                        o_casted.linkImage(this); 
     359                        group = o_casted; 
     360                } 
     361                if (reference instanceof DatasetRef) 
     362                { 
     363                        Dataset o_casted = (Dataset) o; 
     364                        o_casted.linkImage(this); 
     365                        datasetList.add(o_casted); 
     366                } 
     367                if (reference instanceof InstrumentRef) 
     368                { 
     369                        Instrument o_casted = (Instrument) o; 
     370                        o_casted.linkImage(this); 
     371                        instrument = o_casted; 
     372                } 
     373                if (reference instanceof ROIRef) 
     374                { 
     375                        ROI o_casted = (ROI) o; 
     376                        o_casted.linkImage(this); 
     377                        roiList.add(o_casted); 
     378                } 
     379                if (reference instanceof MicrobeamManipulationRef) 
     380                { 
     381                        MicrobeamManipulation o_casted = (MicrobeamManipulation) o; 
     382                        o_casted.linkImage(this); 
     383                        microbeamManipulationList.add(o_casted); 
     384                } 
     385                if (reference instanceof AnnotationRef) 
     386                { 
     387                        Annotation o_casted = (Annotation) o; 
     388                        o_casted.linkImage(this); 
     389                        annotationList.add(o_casted); 
     390                } 
     391                // TODO: Should be its own Exception 
     392                throw new RuntimeException( 
     393                                "Unable to handle reference of type: " + reference.getClass()); 
     394        } 
    265395 
    266396 
  • trunk/components/ome-xml/src/ome/xml/r201004/ImageProfile.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    8585         * @param element Root of the XML DOM tree to construct a model object 
    8686         * graph from. 
     87         * @param model Handler for the OME model which keeps track of instances 
     88         * and references seen during object population. 
    8789         * @throws EnumerationException If there is an error instantiating an 
    8890         * enumeration during model object creation. 
    8991         */ 
    90         public ImageProfile(Element element) throws EnumerationException 
    91         { 
    92                 update(element); 
     92        public ImageProfile(Element element, OMEModel model) 
     93            throws EnumerationException 
     94        { 
     95                update(element, model); 
    9396        } 
    9497 
     
    98101         * @param element Root of the XML DOM tree to construct a model object 
    99102         * graph from. 
     103         * @param model Handler for the OME model which keeps track of instances 
     104         * and references seen during object population. 
    100105         * @throws EnumerationException If there is an error instantiating an 
    101106         * enumeration during model object creation. 
    102107         */ 
    103         public void update(Element element) throws EnumerationException 
     108        public void update(Element element, OMEModel model) 
     109            throws EnumerationException 
    104110        {        
    105111                super.update(element); 
     
    149155                        setDescription(Description_nodeList.item(0).getTextContent()); 
    150156                } 
    151                 // *** IGNORING *** Skipped back reference InstrumentRef 
     157                // Element reference InstrumentRef 
     158                NodeList InstrumentRef_nodeList = element.getElementsByTagName("InstrumentRef"); 
     159                for (int i = 0; i < InstrumentRef_nodeList.getLength(); i++) 
     160                { 
     161                        Element InstrumentRef_element = (Element) InstrumentRef_nodeList.item(i); 
     162                        InstrumentRef instrument_reference = new InstrumentRef(); 
     163                        instrument_reference.setID(InstrumentRef_element.getAttribute("ID")); 
     164                        model.addReference(this, instrument_reference); 
     165                } 
    152166                NodeList ObjectiveSettings_nodeList = element.getElementsByTagName("ObjectiveSettings"); 
    153167                if (ObjectiveSettings_nodeList.getLength() > 1) 
     
    163177                        // sub-elements) 
    164178                        setObjectiveSettings(new ObjectiveSettings( 
    165                                         (Element) ObjectiveSettings_nodeList.item(0))); 
     179                                        (Element) ObjectiveSettings_nodeList.item(0), model)); 
    166180                } 
    167181        } 
    168182 
    169183        // -- ImageProfile API methods -- 
     184 
     185        public void link(Reference reference, OMEModelObject o) 
     186        { 
     187                if (reference instanceof InstrumentRef) 
     188                { 
     189                        Instrument o_casted = (Instrument) o; 
     190                        o_casted.linkImageProfile(this); 
     191                        instrument = o_casted; 
     192                } 
     193                // TODO: Should be its own Exception 
     194                throw new RuntimeException( 
     195                                "Unable to handle reference of type: " + reference.getClass()); 
     196        } 
    170197 
    171198 
  • trunk/components/ome-xml/src/ome/xml/r201004/ImageRef.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7373         * @param element Root of the XML DOM tree to construct a model object 
    7474         * graph from. 
     75         * @param model Handler for the OME model which keeps track of instances 
     76         * and references seen during object population. 
    7577         * @throws EnumerationException If there is an error instantiating an 
    7678         * enumeration during model object creation. 
    7779         */ 
    78         public ImageRef(Element element) throws EnumerationException 
     80        public ImageRef(Element element, OMEModel model) 
     81            throws EnumerationException 
    7982        { 
    80                 update(element); 
     83                update(element, model); 
    8184        } 
    8285 
     
    8689         * @param element Root of the XML DOM tree to construct a model object 
    8790         * graph from. 
     91         * @param model Handler for the OME model which keeps track of instances 
     92         * and references seen during object population. 
    8893         * @throws EnumerationException If there is an error instantiating an 
    8994         * enumeration during model object creation. 
    9095         */ 
    91         public void update(Element element) throws EnumerationException 
     96        public void update(Element element, OMEModel model) 
     97            throws EnumerationException 
    9298        {        
    9399                super.update(element); 
     
    103109                        //              tagName)); 
    104110                } 
    105                 if (element.hasAttribute("ID")) 
     111                if (!element.hasAttribute("ID")) 
    106112                { 
    107                         // Attribute property ID 
    108                         setID(String.valueOf( 
     113                        // TODO: Should be its own exception 
     114                        throw new RuntimeException(String.format( 
     115                                        "ImageRef missing required ID property.")); 
     116                } 
     117                // ID property 
     118                setID(String.valueOf( 
    109119                                        element.getAttribute("ID"))); 
    110                 } 
     120                // Adding this model object to the model handler 
     121                model.addModelObject(getID(), this); 
    111122        } 
    112123 
    113124        // -- ImageRef API methods -- 
     125 
     126        public void link(Reference reference, OMEModelObject o) 
     127        { 
     128                // TODO: Should be its own Exception 
     129                throw new RuntimeException( 
     130                                "Unable to handle reference of type: " + reference.getClass()); 
     131        } 
    114132 
    115133 
  • trunk/components/ome-xml/src/ome/xml/r201004/ImagingEnvironment.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    8282         * @param element Root of the XML DOM tree to construct a model object 
    8383         * graph from. 
     84         * @param model Handler for the OME model which keeps track of instances 
     85         * and references seen during object population. 
    8486         * @throws EnumerationException If there is an error instantiating an 
    8587         * enumeration during model object creation. 
    8688         */ 
    87         public ImagingEnvironment(Element element) throws EnumerationException 
    88         { 
    89                 update(element); 
     89        public ImagingEnvironment(Element element, OMEModel model) 
     90            throws EnumerationException 
     91        { 
     92                update(element, model); 
    9093        } 
    9194 
     
    9598         * @param element Root of the XML DOM tree to construct a model object 
    9699         * graph from. 
     100         * @param model Handler for the OME model which keeps track of instances 
     101         * and references seen during object population. 
    97102         * @throws EnumerationException If there is an error instantiating an 
    98103         * enumeration during model object creation. 
    99104         */ 
    100         public void update(Element element) throws EnumerationException 
     105        public void update(Element element, OMEModel model) 
     106            throws EnumerationException 
    101107        {        
    102108                super.update(element); 
     
    140146        // -- ImagingEnvironment API methods -- 
    141147 
     148        public void link(Reference reference, OMEModelObject o) 
     149        { 
     150                // TODO: Should be its own Exception 
     151                throw new RuntimeException( 
     152                                "Unable to handle reference of type: " + reference.getClass()); 
     153        } 
     154 
    142155 
    143156        // Property 
  • trunk/components/ome-xml/src/ome/xml/r201004/Instrument.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    103103         * @param element Root of the XML DOM tree to construct a model object 
    104104         * graph from. 
     105         * @param model Handler for the OME model which keeps track of instances 
     106         * and references seen during object population. 
    105107         * @throws EnumerationException If there is an error instantiating an 
    106108         * enumeration during model object creation. 
    107109         */ 
    108         public Instrument(Element element) throws EnumerationException 
    109         { 
    110                 update(element); 
     110        public Instrument(Element element, OMEModel model) 
     111            throws EnumerationException 
     112        { 
     113                update(element, model); 
    111114        } 
    112115 
     
    116119         * @param element Root of the XML DOM tree to construct a model object 
    117120         * graph from. 
     121         * @param model Handler for the OME model which keeps track of instances 
     122         * and references seen during object population. 
    118123         * @throws EnumerationException If there is an error instantiating an 
    119124         * enumeration during model object creation. 
    120125         */ 
    121         public void update(Element element) throws EnumerationException 
     126        public void update(Element element, OMEModel model) 
     127            throws EnumerationException 
    122128        {        
    123129                super.update(element); 
     
    133139                        //              tagName)); 
    134140                } 
    135                 if (element.hasAttribute("ID")) 
    136                 { 
    137                         // Attribute property ID 
    138                         setID(String.valueOf( 
     141                if (!element.hasAttribute("ID")) 
     142                { 
     143                        // TODO: Should be its own exception 
     144                        throw new RuntimeException(String.format( 
     145                                        "Instrument missing required ID property.")); 
     146                } 
     147                // ID property 
     148                setID(String.valueOf( 
    139149                                        element.getAttribute("ID"))); 
    140                 } 
     150                // Adding this model object to the model handler 
     151                model.addModelObject(getID(), this); 
    141152                NodeList Microscope_nodeList = element.getElementsByTagName("Microscope"); 
    142153                if (Microscope_nodeList.getLength() > 1) 
     
    152163                        // sub-elements) 
    153164                        setMicroscope(new Microscope( 
    154                                         (Element) Microscope_nodeList.item(0))); 
     165                                        (Element) Microscope_nodeList.item(0), model)); 
    155166                } 
    156167                // Element property LightSource which is complex (has 
     
    167178                        { 
    168179                                Element Laser_element = (Element) Laser_nodeList.item(j); 
    169                                 Laser o = new Laser(Laser_element); 
     180                                Laser o = new Laser(Laser_element, model); 
    170181                                o.update(LightSource_element); 
    171182                                addLightSource(o); 
     
    176187                        { 
    177188                                Element Filament_element = (Element) Filament_nodeList.item(j); 
    178                                 Filament o = new Filament(Filament_element); 
     189                                Filament o = new Filament(Filament_element, model); 
    179190                                o.update(LightSource_element); 
    180191                                addLightSource(o); 
     
    185196                        { 
    186197                                Element Arc_element = (Element) Arc_nodeList.item(j); 
    187                                 Arc o = new Arc(Arc_element); 
     198                                Arc o = new Arc(Arc_element, model); 
    188199                                o.update(LightSource_element); 
    189200                                addLightSource(o); 
     
    194205                        { 
    195206                                Element LightEmittingDiode_element = (Element) LightEmittingDiode_nodeList.item(j); 
    196                                 LightEmittingDiode o = new LightEmittingDiode(LightEmittingDiode_element); 
     207                                LightEmittingDiode o = new LightEmittingDiode(LightEmittingDiode_element, model); 
    197208                                o.update(LightSource_element); 
    198209                                addLightSource(o); 
     
    206217                        Element Detector_element = (Element) Detector_nodeList.item(i); 
    207218                        addDetector( 
    208                                         new Detector(Detector_element)); 
     219                                        new Detector(Detector_element, model)); 
    209220                } 
    210221                // Element property Objective which is complex (has 
     
    215226                        Element Objective_element = (Element) Objective_nodeList.item(i); 
    216227                        addObjective( 
    217                                         new Objective(Objective_element)); 
     228                                        new Objective(Objective_element, model)); 
    218229                } 
    219230                // Element property FilterSet which is complex (has 
     
    224235                        Element FilterSet_element = (Element) FilterSet_nodeList.item(i); 
    225236                        addFilterSet( 
    226                                         new FilterSet(FilterSet_element)); 
     237                                        new FilterSet(FilterSet_element, model)); 
    227238                } 
    228239                // Element property Filter which is complex (has 
     
    233244                        Element Filter_element = (Element) Filter_nodeList.item(i); 
    234245                        addFilter( 
    235                                         new Filter(Filter_element)); 
     246                                        new Filter(Filter_element, model)); 
    236247                } 
    237248                // Element property Dichroic which is complex (has 
     
    242253                        Element Dichroic_element = (Element) Dichroic_nodeList.item(i); 
    243254                        addDichroic( 
    244                                         new Dichroic(Dichroic_element)); 
     255                                        new Dichroic(Dichroic_element, model)); 
    245256                } 
    246257                // Element property OTF which is complex (has 
     
    251262                        Element OTF_element = (Element) OTF_nodeList.item(i); 
    252263                        addOTF( 
    253                                         new OTF(OTF_element)); 
     264                                        new OTF(OTF_element, model)); 
    254265                } 
    255266                // *** IGNORING *** Skipped back reference Image_BackReference 
     
    258269 
    259270        // -- Instrument API methods -- 
     271 
     272        public void link(Reference reference, OMEModelObject o) 
     273        { 
     274                // TODO: Should be its own Exception 
     275                throw new RuntimeException( 
     276                                "Unable to handle reference of type: " + reference.getClass()); 
     277        } 
    260278 
    261279 
  • trunk/components/ome-xml/src/ome/xml/r201004/InstrumentRef.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7373         * @param element Root of the XML DOM tree to construct a model object 
    7474         * graph from. 
     75         * @param model Handler for the OME model which keeps track of instances 
     76         * and references seen during object population. 
    7577         * @throws EnumerationException If there is an error instantiating an 
    7678         * enumeration during model object creation. 
    7779         */ 
    78         public InstrumentRef(Element element) throws EnumerationException 
     80        public InstrumentRef(Element element, OMEModel model) 
     81            throws EnumerationException 
    7982        { 
    80                 update(element); 
     83                update(element, model); 
    8184        } 
    8285 
     
    8689         * @param element Root of the XML DOM tree to construct a model object 
    8790         * graph from. 
     91         * @param model Handler for the OME model which keeps track of instances 
     92         * and references seen during object population. 
    8893         * @throws EnumerationException If there is an error instantiating an 
    8994         * enumeration during model object creation. 
    9095         */ 
    91         public void update(Element element) throws EnumerationException 
     96        public void update(Element element, OMEModel model) 
     97            throws EnumerationException 
    9298        {        
    9399                super.update(element); 
     
    103109                        //              tagName)); 
    104110                } 
    105                 if (element.hasAttribute("ID")) 
     111                if (!element.hasAttribute("ID")) 
    106112                { 
    107                         // Attribute property ID 
    108                         setID(String.valueOf( 
     113                        // TODO: Should be its own exception 
     114                        throw new RuntimeException(String.format( 
     115                                        "InstrumentRef missing required ID property.")); 
     116                } 
     117                // ID property 
     118                setID(String.valueOf( 
    109119                                        element.getAttribute("ID"))); 
    110                 } 
     120                // Adding this model object to the model handler 
     121                model.addModelObject(getID(), this); 
    111122        } 
    112123 
    113124        // -- InstrumentRef API methods -- 
     125 
     126        public void link(Reference reference, OMEModelObject o) 
     127        { 
     128                // TODO: Should be its own Exception 
     129                throw new RuntimeException( 
     130                                "Unable to handle reference of type: " + reference.getClass()); 
     131        } 
    114132 
    115133 
  • trunk/components/ome-xml/src/ome/xml/r201004/Laser.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    8383 
    8484        // Property 
    85         private Pump pump; 
     85        private Laser pump; 
    8686 
    8787        // -- Constructors -- 
     
    9797         * @param element Root of the XML DOM tree to construct a model object 
    9898         * graph from. 
     99         * @param model Handler for the OME model which keeps track of instances 
     100         * and references seen during object population. 
    99101         * @throws EnumerationException If there is an error instantiating an 
    100102         * enumeration during model object creation. 
    101103         */ 
    102         public Laser(Element element) throws EnumerationException 
    103         { 
    104                 update(element); 
     104        public Laser(Element element, OMEModel model) 
     105            throws EnumerationException 
     106        { 
     107                update(element, model); 
    105108        } 
    106109 
     
    110113         * @param element Root of the XML DOM tree to construct a model object 
    111114         * graph from. 
     115         * @param model Handler for the OME model which keeps track of instances 
     116         * and references seen during object population. 
    112117         * @throws EnumerationException If there is an error instantiating an 
    113118         * enumeration during model object creation. 
    114119         */ 
    115         public void update(Element element) throws EnumerationException 
     120        public void update(Element element, OMEModel model) 
     121            throws EnumerationException 
    116122        {        
    117123                super.update(element); 
     
    175181                                        element.getAttribute("RepetitionRate"))); 
    176182                } 
    177                 // *** IGNORING *** Skipped back reference Pump 
     183                // Element reference Pump 
     184                NodeList Pump_nodeList = element.getElementsByTagName("Pump"); 
     185                for (int i = 0; i < Pump_nodeList.getLength(); i++) 
     186                { 
     187                        Element Pump_element = (Element) Pump_nodeList.item(i); 
     188                        Pump pump_reference = new Pump(); 
     189                        pump_reference.setID(Pump_element.getAttribute("ID")); 
     190                        model.addReference(this, pump_reference); 
     191                } 
    178192        } 
    179193 
    180194        // -- Laser API methods -- 
    181195 
     196        public void link(Reference reference, OMEModelObject o) 
     197        { 
     198                if (reference instanceof Pump) 
     199                { 
     200                        Laser o_casted = (Laser) o; 
     201                        pump = o_casted; 
     202                } 
     203                // TODO: Should be its own Exception 
     204                throw new RuntimeException( 
     205                                "Unable to handle reference of type: " + reference.getClass()); 
     206        } 
     207 
    182208 
    183209        // Property 
     
    270296 
    271297        // Reference 
    272         public Pump getLinkedPump() 
     298        public Laser getLinkedPump() 
    273299        { 
    274300                return pump; 
    275301        } 
    276302 
    277         public void linkPump(Pump o) 
     303        public void linkPump(Laser o) 
    278304        { 
    279305                pump = o; 
    280306        } 
    281307 
    282         public void unlinkPump(Pump o) 
     308        public void unlinkPump(Laser o) 
    283309        { 
    284310                if (pump == o) 
  • trunk/components/ome-xml/src/ome/xml/r201004/Leader.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7373         * @param element Root of the XML DOM tree to construct a model object 
    7474         * graph from. 
     75         * @param model Handler for the OME model which keeps track of instances 
     76         * and references seen during object population. 
    7577         * @throws EnumerationException If there is an error instantiating an 
    7678         * enumeration during model object creation. 
    7779         */ 
    78         public Leader(Element element) throws EnumerationException 
     80        public Leader(Element element, OMEModel model) 
     81            throws EnumerationException 
    7982        { 
    80                 update(element); 
     83                update(element, model); 
    8184        } 
    8285 
     
    8689         * @param element Root of the XML DOM tree to construct a model object 
    8790         * graph from. 
     91         * @param model Handler for the OME model which keeps track of instances 
     92         * and references seen during object population. 
    8893         * @throws EnumerationException If there is an error instantiating an 
    8994         * enumeration during model object creation. 
    9095         */ 
    91         public void update(Element element) throws EnumerationException 
     96        public void update(Element element, OMEModel model) 
     97            throws EnumerationException 
    9298        {        
    9399                super.update(element); 
     
    103109                        //              tagName)); 
    104110                } 
    105                 if (element.hasAttribute("ID")) 
     111                if (!element.hasAttribute("ID")) 
    106112                { 
    107                         // Attribute property ID 
    108                         setID(String.valueOf( 
     113                        // TODO: Should be its own exception 
     114                        throw new RuntimeException(String.format( 
     115                                        "Leader missing required ID property.")); 
     116                } 
     117                // ID property 
     118                setID(String.valueOf( 
    109119                                        element.getAttribute("ID"))); 
    110                 } 
     120                // Adding this model object to the model handler 
     121                model.addModelObject(getID(), this); 
    111122        } 
    112123 
    113124        // -- Leader API methods -- 
     125 
     126        public void link(Reference reference, OMEModelObject o) 
     127        { 
     128                // TODO: Should be its own Exception 
     129                throw new RuntimeException( 
     130                                "Unable to handle reference of type: " + reference.getClass()); 
     131        } 
    114132 
    115133 
  • trunk/components/ome-xml/src/ome/xml/r201004/LightEmittingDiode.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7070         * @param element Root of the XML DOM tree to construct a model object 
    7171         * graph from. 
     72         * @param model Handler for the OME model which keeps track of instances 
     73         * and references seen during object population. 
    7274         * @throws EnumerationException If there is an error instantiating an 
    7375         * enumeration during model object creation. 
    7476         */ 
    75         public LightEmittingDiode(Element element) throws EnumerationException 
     77        public LightEmittingDiode(Element element, OMEModel model) 
     78            throws EnumerationException 
    7679        { 
    77                 update(element); 
     80                update(element, model); 
    7881        } 
    7982 
     
    8386         * @param element Root of the XML DOM tree to construct a model object 
    8487         * graph from. 
     88         * @param model Handler for the OME model which keeps track of instances 
     89         * and references seen during object population. 
    8590         * @throws EnumerationException If there is an error instantiating an 
    8691         * enumeration during model object creation. 
    8792         */ 
    88         public void update(Element element) throws EnumerationException 
     93        public void update(Element element, OMEModel model) 
     94            throws EnumerationException 
    8995        {        
    9096                super.update(element); 
     
    103109 
    104110        // -- LightEmittingDiode API methods -- 
     111 
     112        public void link(Reference reference, OMEModelObject o) 
     113        { 
     114                // TODO: Should be its own Exception 
     115                throw new RuntimeException( 
     116                                "Unable to handle reference of type: " + reference.getClass()); 
     117        } 
    105118 
    106119 
  • trunk/components/ome-xml/src/ome/xml/r201004/LightPath.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7979         * @param element Root of the XML DOM tree to construct a model object 
    8080         * graph from. 
     81         * @param model Handler for the OME model which keeps track of instances 
     82         * and references seen during object population. 
    8183         * @throws EnumerationException If there is an error instantiating an 
    8284         * enumeration during model object creation. 
    8385         */ 
    84         public LightPath(Element element) throws EnumerationException 
    85         { 
    86                 update(element); 
     86        public LightPath(Element element, OMEModel model) 
     87            throws EnumerationException 
     88        { 
     89                update(element, model); 
    8790        } 
    8891 
     
    9295         * @param element Root of the XML DOM tree to construct a model object 
    9396         * graph from. 
     97         * @param model Handler for the OME model which keeps track of instances 
     98         * and references seen during object population. 
    9499         * @throws EnumerationException If there is an error instantiating an 
    95100         * enumeration during model object creation. 
    96101         */ 
    97         public void update(Element element) throws EnumerationException 
     102        public void update(Element element, OMEModel model) 
     103            throws EnumerationException 
    98104        {        
    99105                super.update(element); 
     
    109115                        //              tagName)); 
    110116                } 
    111                 // *** IGNORING *** Skipped back reference ExcitationFilterRef 
    112                 // *** IGNORING *** Skipped back reference DichroicRef 
    113                 // *** IGNORING *** Skipped back reference EmissionFilterRef 
     117                // Element reference ExcitationFilterRef 
     118                NodeList ExcitationFilterRef_nodeList = element.getElementsByTagName("ExcitationFilterRef"); 
     119                for (int i = 0; i < ExcitationFilterRef_nodeList.getLength(); i++) 
     120                { 
     121                        Element ExcitationFilterRef_element = (Element) ExcitationFilterRef_nodeList.item(i); 
     122                        ExcitationFilterRef excitationFilterList_reference = new ExcitationFilterRef(); 
     123                        excitationFilterList_reference.setID(ExcitationFilterRef_element.getAttribute("ID")); 
     124                        model.addReference(this, excitationFilterList_reference); 
     125                } 
     126                // Element reference DichroicRef 
     127                NodeList DichroicRef_nodeList = element.getElementsByTagName("DichroicRef"); 
     128                for (int i = 0; i < DichroicRef_nodeList.getLength(); i++) 
     129                { 
     130                        Element DichroicRef_element = (Element) DichroicRef_nodeList.item(i); 
     131                        DichroicRef dichroic_reference = new DichroicRef(); 
     132                        dichroic_reference.setID(DichroicRef_element.getAttribute("ID")); 
     133                        model.addReference(this, dichroic_reference); 
     134                } 
     135                // Element reference EmissionFilterRef 
     136                NodeList EmissionFilterRef_nodeList = element.getElementsByTagName("EmissionFilterRef"); 
     137                for (int i = 0; i < EmissionFilterRef_nodeList.getLength(); i++) 
     138                { 
     139                        Element EmissionFilterRef_element = (Element) EmissionFilterRef_nodeList.item(i); 
     140                        EmissionFilterRef emissionFilterList_reference = new EmissionFilterRef(); 
     141                        emissionFilterList_reference.setID(EmissionFilterRef_element.getAttribute("ID")); 
     142                        model.addReference(this, emissionFilterList_reference); 
     143                } 
    114144        } 
    115145 
    116146        // -- LightPath API methods -- 
     147 
     148        public void link(Reference reference, OMEModelObject o) 
     149        { 
     150                if (reference instanceof ExcitationFilterRef) 
     151                { 
     152                        Filter o_casted = (Filter) o; 
     153                        o_casted.linkLightPath(this); 
     154                        excitationFilterList.add(o_casted); 
     155                } 
     156                if (reference instanceof DichroicRef) 
     157                { 
     158                        Dichroic o_casted = (Dichroic) o; 
     159                        o_casted.linkLightPath(this); 
     160                        dichroic = o_casted; 
     161                } 
     162                if (reference instanceof EmissionFilterRef) 
     163                { 
     164                        Filter o_casted = (Filter) o; 
     165                        o_casted.linkLightPath(this); 
     166                        emissionFilterList.add(o_casted); 
     167                } 
     168                // TODO: Should be its own Exception 
     169                throw new RuntimeException( 
     170                                "Unable to handle reference of type: " + reference.getClass()); 
     171        } 
    117172 
    118173 
  • trunk/components/ome-xml/src/ome/xml/r201004/LightSource.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    8484         * @param element Root of the XML DOM tree to construct a model object 
    8585         * graph from. 
     86         * @param model Handler for the OME model which keeps track of instances 
     87         * and references seen during object population. 
    8688         * @throws EnumerationException If there is an error instantiating an 
    8789         * enumeration during model object creation. 
    8890         */ 
    89         public LightSource(Element element) throws EnumerationException 
    90         { 
    91                 update(element); 
     91        public LightSource(Element element, OMEModel model) 
     92            throws EnumerationException 
     93        { 
     94                update(element, model); 
    9295        } 
    9396 
     
    97100         * @param element Root of the XML DOM tree to construct a model object 
    98101         * graph from. 
     102         * @param model Handler for the OME model which keeps track of instances 
     103         * and references seen during object population. 
    99104         * @throws EnumerationException If there is an error instantiating an 
    100105         * enumeration during model object creation. 
    101106         */ 
    102         public void update(Element element) throws EnumerationException 
     107        public void update(Element element, OMEModel model) 
     108            throws EnumerationException 
    103109        {        
    104110                super.update(element); 
    105                 if (element.hasAttribute("ID")) 
    106                 { 
    107                         // Attribute property ID 
    108                         setID(String.valueOf( 
     111                if (!element.hasAttribute("ID")) 
     112                { 
     113                        // TODO: Should be its own exception 
     114                        throw new RuntimeException(String.format( 
     115                                        "LightSource missing required ID property.")); 
     116                } 
     117                // ID property 
     118                setID(String.valueOf( 
    109119                                        element.getAttribute("ID"))); 
    110                 } 
     120                // Adding this model object to the model handler 
     121                model.addModelObject(getID(), this); 
    111122                if (element.hasAttribute("Power")) 
    112123                { 
     
    162173 
    163174        // -- LightSource API methods -- 
     175 
     176        public void link(Reference reference, OMEModelObject o) 
     177        { 
     178                // TODO: Should be its own Exception 
     179                throw new RuntimeException( 
     180                                "Unable to handle reference of type: " + reference.getClass()); 
     181        } 
    164182 
    165183 
  • trunk/components/ome-xml/src/ome/xml/r201004/LightSourceSettings.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7979         * @param element Root of the XML DOM tree to construct a model object 
    8080         * graph from. 
     81         * @param model Handler for the OME model which keeps track of instances 
     82         * and references seen during object population. 
    8183         * @throws EnumerationException If there is an error instantiating an 
    8284         * enumeration during model object creation. 
    8385         */ 
    84         public LightSourceSettings(Element element) throws EnumerationException 
    85         { 
    86                 update(element); 
     86        public LightSourceSettings(Element element, OMEModel model) 
     87            throws EnumerationException 
     88        { 
     89                update(element, model); 
    8790        } 
    8891 
     
    9295         * @param element Root of the XML DOM tree to construct a model object 
    9396         * graph from. 
     97         * @param model Handler for the OME model which keeps track of instances 
     98         * and references seen during object population. 
    9499         * @throws EnumerationException If there is an error instantiating an 
    95100         * enumeration during model object creation. 
    96101         */ 
    97         public void update(Element element) throws EnumerationException 
     102        public void update(Element element, OMEModel model) 
     103            throws EnumerationException 
    98104        {        
    99105                super.update(element); 
     
    121127                                        element.getAttribute("Attenuation"))); 
    122128                } 
    123                 if (element.hasAttribute("ID")) 
    124                 { 
    125                         // Attribute property ID 
    126                         setID(String.valueOf( 
     129                if (!element.hasAttribute("ID")) 
     130                { 
     131                        // TODO: Should be its own exception 
     132                        throw new RuntimeException(String.format( 
     133                                        "LightSourceSettings missing required ID property.")); 
     134                } 
     135                // ID property 
     136                setID(String.valueOf( 
    127137                                        element.getAttribute("ID"))); 
    128                 } 
     138                // Adding this model object to the model handler 
     139                model.addModelObject(getID(), this); 
    129140        } 
    130141 
    131142        // -- LightSourceSettings API methods -- 
     143 
     144        public void link(Reference reference, OMEModelObject o) 
     145        { 
     146                // TODO: Should be its own Exception 
     147                throw new RuntimeException( 
     148                                "Unable to handle reference of type: " + reference.getClass()); 
     149        } 
    132150 
    133151 
  • trunk/components/ome-xml/src/ome/xml/r201004/Line.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    8282         * @param element Root of the XML DOM tree to construct a model object 
    8383         * graph from. 
     84         * @param model Handler for the OME model which keeps track of instances 
     85         * and references seen during object population. 
    8486         * @throws EnumerationException If there is an error instantiating an 
    8587         * enumeration during model object creation. 
    8688         */ 
    87         public Line(Element element) throws EnumerationException 
    88         { 
    89                 update(element); 
     89        public Line(Element element, OMEModel model) 
     90            throws EnumerationException 
     91        { 
     92                update(element, model); 
    9093        } 
    9194 
     
    9598         * @param element Root of the XML DOM tree to construct a model object 
    9699         * graph from. 
     100         * @param model Handler for the OME model which keeps track of instances 
     101         * and references seen during object population. 
    97102         * @throws EnumerationException If there is an error instantiating an 
    98103         * enumeration during model object creation. 
    99104         */ 
    100         public void update(Element element) throws EnumerationException 
     105        public void update(Element element, OMEModel model) 
     106            throws EnumerationException 
    101107        {        
    102108                super.update(element); 
     
    140146        // -- Line API methods -- 
    141147 
     148        public void link(Reference reference, OMEModelObject o) 
     149        { 
     150                // TODO: Should be its own Exception 
     151                throw new RuntimeException( 
     152                                "Unable to handle reference of type: " + reference.getClass()); 
     153        } 
     154 
    142155 
    143156        // Property 
  • trunk/components/ome-xml/src/ome/xml/r201004/ListAnnotation.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7373         * @param element Root of the XML DOM tree to construct a model object 
    7474         * graph from. 
     75         * @param model Handler for the OME model which keeps track of instances 
     76         * and references seen during object population. 
    7577         * @throws EnumerationException If there is an error instantiating an 
    7678         * enumeration during model object creation. 
    7779         */ 
    78         public ListAnnotation(Element element) throws EnumerationException 
     80        public ListAnnotation(Element element, OMEModel model) 
     81            throws EnumerationException 
    7982        { 
    80                 update(element); 
     83                update(element, model); 
    8184        } 
    8285 
     
    8689         * @param element Root of the XML DOM tree to construct a model object 
    8790         * graph from. 
     91         * @param model Handler for the OME model which keeps track of instances 
     92         * and references seen during object population. 
    8893         * @throws EnumerationException If there is an error instantiating an 
    8994         * enumeration during model object creation. 
    9095         */ 
    91         public void update(Element element) throws EnumerationException 
     96        public void update(Element element, OMEModel model) 
     97            throws EnumerationException 
    9298        {        
    9399                super.update(element); 
     
    103109                        //              tagName)); 
    104110                } 
    105                 // *** IGNORING *** Skipped back reference AnnotationRef 
     111                // Element reference AnnotationRef 
     112                NodeList AnnotationRef_nodeList = element.getElementsByTagName("AnnotationRef"); 
     113                for (int i = 0; i < AnnotationRef_nodeList.getLength(); i++) 
     114                { 
     115                        Element AnnotationRef_element = (Element) AnnotationRef_nodeList.item(i); 
     116                        AnnotationRef annotationList_reference = new AnnotationRef(); 
     117                        annotationList_reference.setID(AnnotationRef_element.getAttribute("ID")); 
     118                        model.addReference(this, annotationList_reference); 
     119                } 
    106120        } 
    107121 
    108122        // -- ListAnnotation API methods -- 
     123 
     124        public void link(Reference reference, OMEModelObject o) 
     125        { 
     126                if (reference instanceof AnnotationRef) 
     127                { 
     128                        Annotation o_casted = (Annotation) o; 
     129                        o_casted.linkListAnnotation(this); 
     130                        annotationList.add(o_casted); 
     131                } 
     132                // TODO: Should be its own Exception 
     133                throw new RuntimeException( 
     134                                "Unable to handle reference of type: " + reference.getClass()); 
     135        } 
    109136 
    110137 
  • trunk/components/ome-xml/src/ome/xml/r201004/LongAnnotation.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7373         * @param element Root of the XML DOM tree to construct a model object 
    7474         * graph from. 
     75         * @param model Handler for the OME model which keeps track of instances 
     76         * and references seen during object population. 
    7577         * @throws EnumerationException If there is an error instantiating an 
    7678         * enumeration during model object creation. 
    7779         */ 
    78         public LongAnnotation(Element element) throws EnumerationException 
     80        public LongAnnotation(Element element, OMEModel model) 
     81            throws EnumerationException 
    7982        { 
    80                 update(element); 
     83                update(element, model); 
    8184        } 
    8285 
     
    8689         * @param element Root of the XML DOM tree to construct a model object 
    8790         * graph from. 
     91         * @param model Handler for the OME model which keeps track of instances 
     92         * and references seen during object population. 
    8893         * @throws EnumerationException If there is an error instantiating an 
    8994         * enumeration during model object creation. 
    9095         */ 
    91         public void update(Element element) throws EnumerationException 
     96        public void update(Element element, OMEModel model) 
     97            throws EnumerationException 
    9298        {        
    9399                super.update(element); 
     
    120126 
    121127        // -- LongAnnotation API methods -- 
     128 
     129        public void link(Reference reference, OMEModelObject o) 
     130        { 
     131                // TODO: Should be its own Exception 
     132                throw new RuntimeException( 
     133                                "Unable to handle reference of type: " + reference.getClass()); 
     134        } 
    122135 
    123136 
  • trunk/components/ome-xml/src/ome/xml/r201004/ManufacturerSpec.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    8282         * @param element Root of the XML DOM tree to construct a model object 
    8383         * graph from. 
     84         * @param model Handler for the OME model which keeps track of instances 
     85         * and references seen during object population. 
    8486         * @throws EnumerationException If there is an error instantiating an 
    8587         * enumeration during model object creation. 
    8688         */ 
    87         public ManufacturerSpec(Element element) throws EnumerationException 
    88         { 
    89                 update(element); 
     89        public ManufacturerSpec(Element element, OMEModel model) 
     90            throws EnumerationException 
     91        { 
     92                update(element, model); 
    9093        } 
    9194 
     
    9598         * @param element Root of the XML DOM tree to construct a model object 
    9699         * graph from. 
     100         * @param model Handler for the OME model which keeps track of instances 
     101         * and references seen during object population. 
    97102         * @throws EnumerationException If there is an error instantiating an 
    98103         * enumeration during model object creation. 
    99104         */ 
    100         public void update(Element element) throws EnumerationException 
     105        public void update(Element element, OMEModel model) 
     106            throws EnumerationException 
    101107        {        
    102108                super.update(element); 
     
    140146        // -- ManufacturerSpec API methods -- 
    141147 
     148        public void link(Reference reference, OMEModelObject o) 
     149        { 
     150                // TODO: Should be its own Exception 
     151                throw new RuntimeException( 
     152                                "Unable to handle reference of type: " + reference.getClass()); 
     153        } 
     154 
    142155 
    143156        // Property 
  • trunk/components/ome-xml/src/ome/xml/r201004/Mask.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7979         * @param element Root of the XML DOM tree to construct a model object 
    8080         * graph from. 
     81         * @param model Handler for the OME model which keeps track of instances 
     82         * and references seen during object population. 
    8183         * @throws EnumerationException If there is an error instantiating an 
    8284         * enumeration during model object creation. 
    8385         */ 
    84         public Mask(Element element) throws EnumerationException 
    85         { 
    86                 update(element); 
     86        public Mask(Element element, OMEModel model) 
     87            throws EnumerationException 
     88        { 
     89                update(element, model); 
    8790        } 
    8891 
     
    9295         * @param element Root of the XML DOM tree to construct a model object 
    9396         * graph from. 
     97         * @param model Handler for the OME model which keeps track of instances 
     98         * and references seen during object population. 
    9499         * @throws EnumerationException If there is an error instantiating an 
    95100         * enumeration during model object creation. 
    96101         */ 
    97         public void update(Element element) throws EnumerationException 
     102        public void update(Element element, OMEModel model) 
     103            throws EnumerationException 
    98104        {        
    99105                super.update(element); 
     
    128134                        Element BinData_element = (Element) BinData_nodeList.item(i); 
    129135                        addBinData( 
    130                                         new BinData(BinData_element)); 
     136                                        new BinData(BinData_element, model)); 
    131137                } 
    132138        } 
    133139 
    134140        // -- Mask API methods -- 
     141 
     142        public void link(Reference reference, OMEModelObject o) 
     143        { 
     144                // TODO: Should be its own Exception 
     145                throw new RuntimeException( 
     146                                "Unable to handle reference of type: " + reference.getClass()); 
     147        } 
    135148 
    136149 
  • trunk/components/ome-xml/src/ome/xml/r201004/MetadataOnly.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7070         * @param element Root of the XML DOM tree to construct a model object 
    7171         * graph from. 
     72         * @param model Handler for the OME model which keeps track of instances 
     73         * and references seen during object population. 
    7274         * @throws EnumerationException If there is an error instantiating an 
    7375         * enumeration during model object creation. 
    7476         */ 
    75         public MetadataOnly(Element element) throws EnumerationException 
     77        public MetadataOnly(Element element, OMEModel model) 
     78            throws EnumerationException 
    7679        { 
    77                 update(element); 
     80                update(element, model); 
    7881        } 
    7982 
     
    8386         * @param element Root of the XML DOM tree to construct a model object 
    8487         * graph from. 
     88         * @param model Handler for the OME model which keeps track of instances 
     89         * and references seen during object population. 
    8590         * @throws EnumerationException If there is an error instantiating an 
    8691         * enumeration during model object creation. 
    8792         */ 
    88         public void update(Element element) throws EnumerationException 
     93        public void update(Element element, OMEModel model) 
     94            throws EnumerationException 
    8995        {        
    9096                super.update(element); 
     
    103109 
    104110        // -- MetadataOnly API methods -- 
     111 
     112        public void link(Reference reference, OMEModelObject o) 
     113        { 
     114                // TODO: Should be its own Exception 
     115                throw new RuntimeException( 
     116                                "Unable to handle reference of type: " + reference.getClass()); 
     117        } 
    105118 
    106119 
  • trunk/components/ome-xml/src/ome/xml/r201004/MicrobeamManipulation.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    8888         * @param element Root of the XML DOM tree to construct a model object 
    8989         * graph from. 
     90         * @param model Handler for the OME model which keeps track of instances 
     91         * and references seen during object population. 
    9092         * @throws EnumerationException If there is an error instantiating an 
    9193         * enumeration during model object creation. 
    9294         */ 
    93         public MicrobeamManipulation(Element element) throws EnumerationException 
    94         { 
    95                 update(element); 
     95        public MicrobeamManipulation(Element element, OMEModel model) 
     96            throws EnumerationException 
     97        { 
     98                update(element, model); 
    9699        } 
    97100 
     
    101104         * @param element Root of the XML DOM tree to construct a model object 
    102105         * graph from. 
     106         * @param model Handler for the OME model which keeps track of instances 
     107         * and references seen during object population. 
    103108         * @throws EnumerationException If there is an error instantiating an 
    104109         * enumeration during model object creation. 
    105110         */ 
    106         public void update(Element element) throws EnumerationException 
     111        public void update(Element element, OMEModel model) 
     112            throws EnumerationException 
    107113        {        
    108114                super.update(element); 
     
    124130                                        element.getAttribute("Type"))); 
    125131                } 
    126                 if (element.hasAttribute("ID")) 
    127                 { 
    128                         // Attribute property ID 
    129                         setID(String.valueOf( 
     132                if (!element.hasAttribute("ID")) 
     133                { 
     134                        // TODO: Should be its own exception 
     135                        throw new RuntimeException(String.format( 
     136                                        "MicrobeamManipulation missing required ID property.")); 
     137                } 
     138                // ID property 
     139                setID(String.valueOf( 
    130140                                        element.getAttribute("ID"))); 
    131                 } 
    132                 // *** IGNORING *** Skipped back reference ROIRef 
    133                 // *** IGNORING *** Skipped back reference ExperimenterRef 
     141                // Adding this model object to the model handler 
     142                model.addModelObject(getID(), this); 
     143                // Element reference ROIRef 
     144                NodeList ROIRef_nodeList = element.getElementsByTagName("ROIRef"); 
     145                for (int i = 0; i < ROIRef_nodeList.getLength(); i++) 
     146                { 
     147                        Element ROIRef_element = (Element) ROIRef_nodeList.item(i); 
     148                        ROIRef roiList_reference = new ROIRef(); 
     149                        roiList_reference.setID(ROIRef_element.getAttribute("ID")); 
     150                        model.addReference(this, roiList_reference); 
     151                } 
     152                // Element reference ExperimenterRef 
     153                NodeList ExperimenterRef_nodeList = element.getElementsByTagName("ExperimenterRef"); 
     154                for (int i = 0; i < ExperimenterRef_nodeList.getLength(); i++) 
     155                { 
     156                        Element ExperimenterRef_element = (Element) ExperimenterRef_nodeList.item(i); 
     157                        ExperimenterRef experimenter_reference = new ExperimenterRef(); 
     158                        experimenter_reference.setID(ExperimenterRef_element.getAttribute("ID")); 
     159                        model.addReference(this, experimenter_reference); 
     160                } 
    134161                // Element property LightSourceSettings which is complex (has 
    135162                // sub-elements) and occurs more than once 
     
    139166                        Element LightSourceSettings_element = (Element) LightSourceSettings_nodeList.item(i); 
    140167                        addLightSourceSettings( 
    141                                         new LightSourceSettings(LightSourceSettings_element)); 
     168                                        new LightSourceSettings(LightSourceSettings_element, model)); 
    142169                } 
    143170                // *** IGNORING *** Skipped back reference Image_BackReference 
     
    145172 
    146173        // -- MicrobeamManipulation API methods -- 
     174 
     175        public void link(Reference reference, OMEModelObject o) 
     176        { 
     177                if (reference instanceof ROIRef) 
     178                { 
     179                        ROI o_casted = (ROI) o; 
     180                        o_casted.linkMicrobeamManipulation(this); 
     181                        roiList.add(o_casted); 
     182                } 
     183                if (reference instanceof ExperimenterRef) 
     184                { 
     185                        Experimenter o_casted = (Experimenter) o; 
     186                        o_casted.linkMicrobeamManipulation(this); 
     187                        experimenter = o_casted; 
     188                } 
     189                // TODO: Should be its own Exception 
     190                throw new RuntimeException( 
     191                                "Unable to handle reference of type: " + reference.getClass()); 
     192        } 
    147193 
    148194 
  • trunk/components/ome-xml/src/ome/xml/r201004/MicrobeamManipulationRef.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7373         * @param element Root of the XML DOM tree to construct a model object 
    7474         * graph from. 
     75         * @param model Handler for the OME model which keeps track of instances 
     76         * and references seen during object population. 
    7577         * @throws EnumerationException If there is an error instantiating an 
    7678         * enumeration during model object creation. 
    7779         */ 
    78         public MicrobeamManipulationRef(Element element) throws EnumerationException 
     80        public MicrobeamManipulationRef(Element element, OMEModel model) 
     81            throws EnumerationException 
    7982        { 
    80                 update(element); 
     83                update(element, model); 
    8184        } 
    8285 
     
    8689         * @param element Root of the XML DOM tree to construct a model object 
    8790         * graph from. 
     91         * @param model Handler for the OME model which keeps track of instances 
     92         * and references seen during object population. 
    8893         * @throws EnumerationException If there is an error instantiating an 
    8994         * enumeration during model object creation. 
    9095         */ 
    91         public void update(Element element) throws EnumerationException 
     96        public void update(Element element, OMEModel model) 
     97            throws EnumerationException 
    9298        {        
    9399                super.update(element); 
     
    103109                        //              tagName)); 
    104110                } 
    105                 if (element.hasAttribute("ID")) 
     111                if (!element.hasAttribute("ID")) 
    106112                { 
    107                         // Attribute property ID 
    108                         setID(String.valueOf( 
     113                        // TODO: Should be its own exception 
     114                        throw new RuntimeException(String.format( 
     115                                        "MicrobeamManipulationRef missing required ID property.")); 
     116                } 
     117                // ID property 
     118                setID(String.valueOf( 
    109119                                        element.getAttribute("ID"))); 
    110                 } 
     120                // Adding this model object to the model handler 
     121                model.addModelObject(getID(), this); 
    111122        } 
    112123 
    113124        // -- MicrobeamManipulationRef API methods -- 
     125 
     126        public void link(Reference reference, OMEModelObject o) 
     127        { 
     128                // TODO: Should be its own Exception 
     129                throw new RuntimeException( 
     130                                "Unable to handle reference of type: " + reference.getClass()); 
     131        } 
    114132 
    115133 
  • trunk/components/ome-xml/src/ome/xml/r201004/Microscope.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    7373         * @param element Root of the XML DOM tree to construct a model object 
    7474         * graph from. 
     75         * @param model Handler for the OME model which keeps track of instances 
     76         * and references seen during object population. 
    7577         * @throws EnumerationException If there is an error instantiating an 
    7678         * enumeration during model object creation. 
    7779         */ 
    78         public Microscope(Element element) throws EnumerationException 
     80        public Microscope(Element element, OMEModel model) 
     81            throws EnumerationException 
    7982        { 
    80                 update(element); 
     83                update(element, model); 
    8184        } 
    8285 
     
    8689         * @param element Root of the XML DOM tree to construct a model object 
    8790         * graph from. 
     91         * @param model Handler for the OME model which keeps track of instances 
     92         * and references seen during object population. 
    8893         * @throws EnumerationException If there is an error instantiating an 
    8994         * enumeration during model object creation. 
    9095         */ 
    91         public void update(Element element) throws EnumerationException 
     96        public void update(Element element, OMEModel model) 
     97            throws EnumerationException 
    9298        {        
    9399                super.update(element); 
     
    112118 
    113119        // -- Microscope API methods -- 
     120 
     121        public void link(Reference reference, OMEModelObject o) 
     122        { 
     123                // TODO: Should be its own Exception 
     124                throw new RuntimeException( 
     125                                "Unable to handle reference of type: " + reference.getClass()); 
     126        } 
    114127 
    115128 
  • trunk/components/ome-xml/src/ome/xml/r201004/OME.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    106106         * @param element Root of the XML DOM tree to construct a model object 
    107107         * graph from. 
     108         * @param model Handler for the OME model which keeps track of instances 
     109         * and references seen during object population. 
    108110         * @throws EnumerationException If there is an error instantiating an 
    109111         * enumeration during model object creation. 
    110112         */ 
    111         public OME(Element element) throws EnumerationException 
    112         { 
    113                 update(element); 
     113        public OME(Element element, OMEModel model) 
     114            throws EnumerationException 
     115        { 
     116                update(element, model); 
    114117        } 
    115118 
     
    119122         * @param element Root of the XML DOM tree to construct a model object 
    120123         * graph from. 
     124         * @param model Handler for the OME model which keeps track of instances 
     125         * and references seen during object population. 
    121126         * @throws EnumerationException If there is an error instantiating an 
    122127         * enumeration during model object creation. 
    123128         */ 
    124         public void update(Element element) throws EnumerationException 
     129        public void update(Element element, OMEModel model) 
     130            throws EnumerationException 
    125131        {        
    126132                super.update(element); 
     
    149155                        Element Project_element = (Element) Project_nodeList.item(i); 
    150156                        addProject( 
    151                                         new Project(Project_element)); 
     157                                        new Project(Project_element, model)); 
    152158                } 
    153159                // Element property Dataset which is complex (has 
     
    158164                        Element Dataset_element = (Element) Dataset_nodeList.item(i); 
    159165                        addDataset( 
    160                                         new Dataset(Dataset_element)); 
     166                                        new Dataset(Dataset_element, model)); 
    161167                } 
    162168                // Element property Experiment which is complex (has 
     
    167173                        Element Experiment_element = (Element) Experiment_nodeList.item(i); 
    168174                        addExperiment( 
    169                                         new Experiment(Experiment_element)); 
     175                                        new Experiment(Experiment_element, model)); 
    170176                } 
    171177                // Element property Plate which is complex (has 
     
    176182                        Element Plate_element = (Element) Plate_nodeList.item(i); 
    177183                        addPlate( 
    178                                         new Plate(Plate_element)); 
     184                                        new Plate(Plate_element, model)); 
    179185                } 
    180186                // Element property Screen which is complex (has 
     
    185191                        Element Screen_element = (Element) Screen_nodeList.item(i); 
    186192                        addScreen( 
    187                                         new Screen(Screen_element)); 
     193                                        new Screen(Screen_element, model)); 
    188194                } 
    189195                // Element property Experimenter which is complex (has 
     
    194200                        Element Experimenter_element = (Element) Experimenter_nodeList.item(i); 
    195201                        addExperimenter( 
    196                                         new Experimenter(Experimenter_element)); 
     202                                        new Experimenter(Experimenter_element, model)); 
    197203                } 
    198204                // Element property Group which is complex (has 
     
    203209                        Element Group_element = (Element) Group_nodeList.item(i); 
    204210                        addGroup( 
    205                                         new Group(Group_element)); 
     211                                        new Group(Group_element, model)); 
    206212                } 
    207213                // Element property Instrument which is complex (has 
     
    212218                        Element Instrument_element = (Element) Instrument_nodeList.item(i); 
    213219                        addInstrument( 
    214                                         new Instrument(Instrument_element)); 
     220                                        new Instrument(Instrument_element, model)); 
    215221                } 
    216222                // Element property Image which is complex (has 
     
    221227                        Element Image_element = (Element) Image_nodeList.item(i); 
    222228                        addImage( 
    223                                         new Image(Image_element)); 
     229                                        new Image(Image_element, model)); 
    224230                } 
    225231                NodeList StructuredAnnotations_nodeList = element.getElementsByTagName("StructuredAnnotations"); 
     
    236242                        // sub-elements) 
    237243                        setStructuredAnnotations(new StructuredAnnotations( 
    238                                         (Element) StructuredAnnotations_nodeList.item(0))); 
     244                                        (Element) StructuredAnnotations_nodeList.item(0), model)); 
    239245                } 
    240246                // Element property ROI which is complex (has 
     
    245251                        Element ROI_element = (Element) ROI_nodeList.item(i); 
    246252                        addROI( 
    247                                         new ROI(ROI_element)); 
     253                                        new ROI(ROI_element, model)); 
    248254                } 
    249255        } 
    250256 
    251257        // -- OME API methods -- 
     258 
     259        public void link(Reference reference, OMEModelObject o) 
     260        { 
     261                // TODO: Should be its own Exception 
     262                throw new RuntimeException( 
     263                                "Unable to handle reference of type: " + reference.getClass()); 
     264        } 
    252265 
    253266 
  • trunk/components/ome-xml/src/ome/xml/r201004/OMEModelObject.java

    r6158 r6178  
    4747 
    4848  /**  
    49    * Updates ${klass.name} recursively from an XML DOM tree. <b>NOTE:</b> No 
    50    * properties are removed, only added or updated. 
     49   * Updates the object hierarchy recursively from an XML DOM tree. 
     50   * <b>NOTE:</b> No properties are removed, only added or updated. 
    5151   * @param element Root of the XML DOM tree to construct a model object 
    5252   * graph from. 
     53   * @param model Handler for the OME model which keeps track of instances 
     54   * and references seen during object population. 
    5355   * @throws EnumerationException If there is an error instantiating an 
    5456   * enumeration during model object creation. 
    5557   */ 
    56   void update(Element element) throws EnumerationException; 
     58  void update(Element element, OMEModel model) throws EnumerationException; 
     59 
     60  /** 
     61   * Link a given OME model object to this model object. 
     62   * @param reference The <i>type</i> qualifier for the reference. This should 
     63   * be the corresponding reference type for <code>o</code>. If, for example, 
     64   * <code>o</code> is of type <code>Image</code>, <code>reference</code> 
     65   * <b>MUST</b> be of type <code>ImageRef</code>. 
     66   * @param o Model object to link to. 
     67   */ 
     68  void link(Reference reference, OMEModelObject o); 
    5769} 
  • trunk/components/ome-xml/src/ome/xml/r201004/OTF.java

    r6175 r6178  
    3232 * 
    3333 * THIS IS AUTOMATICALLY GENERATED CODE.  DO NOT MODIFY. 
    34  * Created by callan via xsd-fu on 2010-04-22 17:37:18+0100 
     34 * Created by callan via xsd-fu on 2010-04-23 13:18:06+0100 
    3535 * 
    3636 *----------------------------------------------------------------------------- 
     
    100100         * @param element Root of the XML DOM tree to construct a model object 
    101101         * graph from. 
     102         * @param model Handler for the OME model which keeps track of instances 
     103         * and references seen during object population. 
    102104         * @throws EnumerationException If there is an error instantiating an 
    103105         * enumeration during model object creation. 
    104106         */ 
    105         public OTF(Element element) throws EnumerationException 
    106         { 
    107                 update(element); 
     107        public OTF(Element element, OMEModel model) 
     108            throws EnumerationException 
     109        { 
     110                update(element, model); 
    108111        } 
    109112 
     
    113116         * @param element Root of the XML DOM tree to construct a model object 
    114117         * graph from. 
     118         * @param model Handler for the OME model which keeps track of instances 
     119         * and references seen during object population. 
    115120         * @throws EnumerationException If there is an error instantiating an 
    116121         * enumeration during model object creation. 
    117122         */ 
    118         public void update(Element element) throws EnumerationException 
     123        public void update(Element element, OMEModel model) 
     124            throws EnumerationException 
    119125        {        
    120126                super.update(element); 
     
    148154                                        element.getAttribute("Type"))); 
    149155                } 
    150                 if (element.hasAttribute("ID")) 
    151                 { 
    152                         // Attribute property ID 
    153                         setID(String.valueOf( 
     156                if (!element.hasAttribute("ID")) 
     157                { 
     158                        // TODO: Should be its own exception 
     159                        throw new RuntimeException(String.format( 
     160                                        "OTF missing required ID property.")); 
     161                } 
     162                // ID property 
     163                setID(String.valueOf( 
    154164                                        element.getAttribute("ID"))); 
    155                 } 
     165                // Adding this model object to the model handler 
     166                model.addModelObject(ge