Changeset 317


Ignore:
Timestamp:
Mar 29, 2013 2:26:01 PM (6 years ago)
Author:
prjemian
Message:

revise the demo while working on the binding documentation

Location:
1dwg/trunk/java/ant-eclipse/src/org/cansas/cansas1d
Files:
1 deleted
1 edited

Legend:

Unmodified
Added
Removed
  • 1dwg/trunk/java/ant-eclipse/src/org/cansas/cansas1d/demo/Reader.java

    r305 r317  
    1414import java.io.FileNotFoundException; 
    1515import java.io.InputStream; 
    16 import java.io.OutputStream; 
    1716import java.util.List; 
    1817 
     
    2120import javax.xml.bind.JAXBException; 
    2221import javax.xml.bind.Unmarshaller; 
    23 import javax.xml.parsers.DocumentBuilder; 
    24 import javax.xml.parsers.DocumentBuilderFactory; 
    25 import javax.xml.parsers.ParserConfigurationException; 
    26 import javax.xml.transform.OutputKeys; 
    27 import javax.xml.transform.Result; 
    28 import javax.xml.transform.Source; 
    29 import javax.xml.transform.Transformer; 
    30 import javax.xml.transform.TransformerConfigurationException; 
    31 import javax.xml.transform.TransformerException; 
    32 import javax.xml.transform.TransformerFactory; 
    33 import javax.xml.transform.TransformerFactoryConfigurationError; 
    34 import javax.xml.transform.dom.DOMSource; 
    35 import javax.xml.transform.stream.StreamResult; 
    3622 
    3723import org.cansas.cansas1d.SASdataType; 
    3824import org.cansas.cansas1d.SASentryType; 
     25import org.cansas.cansas1d.SASentryType.Run; 
    3926import org.cansas.cansas1d.SASrootType; 
    40 import org.cansas.cansas1d.SASentryType.Run; 
    41 import org.w3c.dom.Document; 
    42 import org.w3c.dom.Element; 
    4327 
    4428 
     
    5640Reader rdr = new org.cansas.cansas1d.demo.Reader(); 
    5741SASrootType srt = rdr.loadXML(xmlFile); 
    58 </pre> 
    59  * </p> 
    60  *  
    61  * <p> 
    62  *      Built using JAXB 2.1 interface for eclipse: 
    63  * <ul> 
    64  *   <li> 
    65  *   You need this ZIP file: 
    66  *      <pre>org.jvnet.jaxbw.zip</pre> 
    67  *   </li> 
    68  *   <li> 
    69  *   from:  
    70  *      <pre>https://jaxb-workshop.dev.java.net/plugins/eclipse/xjc-plugin.html</pre> 
    71  *   </li> 
    72  *   <li> 
    73  *   or: 
    74  *      <pre>https://jaxb-workshop.dev.java.net/servlets/ProjectDocumentList?folderID=4962&expandFolder=4962&folderID=0</pre> 
    75  *   </li> 
    76  *   <li> 
    77  *   canSAS:  
    78  *      <pre>http://www.smallangles.net/wgwiki/index.php/1D_Data_Formats_Working_Group</pre> 
    79  *   </li> 
    80  * </ul> 
    81  * If you use the JAXB 2.0 interface, the exception messages 
    82  * will not be helpful to clarify that JAXB 2.1 should be used. 
    83  * </p> 
    8442 *  
    8543 * @version $Id$ 
     
    9553         
    9654        /** 
    97          * Open a cansas1d/1.0 file 
     55         * Open a cansas1d 1D file 
     56         * 
    9857         * @param xmlFile 
    9958         * @return SasRootType object (saves a second method call) 
     
    10362        @SuppressWarnings( "unchecked" ) 
    10463        public SASrootType loadXML(String xmlFile) throws JAXBException, FileNotFoundException { 
    105                 // use the cansas1d/1.0 schema that is bound to a Java structure 
    106                 jc = JAXBContext.newInstance(JAXB_CONTEXT); 
     64 
     65                // use the cansas1d XML Schema that is bound to a Java structure 
     66                jc = JAXBContext.newInstance(JAXB_CONTEXT);      // reference the namespace:  
    10767                Unmarshaller unmarshaller = jc.createUnmarshaller(); 
    10868 
    10969                // find the XML file as a resource in the JAR 
    110                 //boolean exists = new File(xmlFile).exists(); 
    11170                InputStream in = new FileInputStream(new File(xmlFile)); 
     71 
    11272                // load the XML file into a Java data structure 
    11373                xmlJavaData = (JAXBElement<SASrootType>) unmarshaller.unmarshal(in); 
    114                 return getSasRootType(); 
     74                 
     75                return xmlJavaData.getValue(); 
    11576        } 
    11677 
     
    11980         * and print to stdout. 
    12081         */ 
    121         public void full_report() { 
    122                 SASrootType srt = getSasRootType(); 
    123  
     82        public void full_report(SASrootType srt) { 
    12483                for ( SASentryType entry : srt.getSASentry() ) { 
    12584                        System.out.println("SASentry"); 
     
    150109 
    151110        /** 
    152          * Data object at the root of the XML file 
    153          * @return SASroot object 
    154          */ 
    155         public SASrootType getSasRootType() { 
    156                 return xmlJavaData.getValue(); 
    157         } 
    158  
    159         /** 
    160111         * simple representation of data in memory 
    161112         */ 
    162         public String toString() { 
    163                 SASrootType sasRootType = getSasRootType(); 
    164                 return "SASentry elements: " + sasRootType.getSASentry().size(); 
     113        public String toString(SASrootType sasRoot) { 
     114                return "SASentry elements: " + sasRoot.getSASentry().size(); 
    165115        } 
    166116 
     
    173123 
    174124                String[] fileList = { 
    175                                 RES_DIR + "1998spheres.xml", 
    176                                 RES_DIR + "cs_collagen.xml" 
     125                        RES_DIR + "cs_collagen.xml", 
     126                        RES_DIR + "1998spheres.xml", 
     127                        "cannot_find_this.xml" 
    177128                }; 
    178129                for (String xmlFile : fileList) { 
     
    181132                                Reader rdr = new Reader(); 
    182133                                // load canSAS XML file into memory 
    183                                 rdr.loadXML(xmlFile); 
     134                                SASrootType srt = rdr.loadXML(xmlFile); 
    184135 
    185                                 System.out.println(rdr.toString()); 
    186                                 rdr.full_report(); 
     136                                System.out.println(rdr.toString(srt)); 
     137                                rdr.full_report(srt); 
    187138 
    188139                                System.out.println("the end."); 
    189140 
    190141                        } catch (FileNotFoundException e) { 
    191                                 e.printStackTrace(); 
     142                                // e.printStackTrace(); 
    192143                                String fmt = "File not found: %s\n"; 
    193144                                System.out.printf(fmt, xmlFile); 
    194145                        } catch (JAXBException e) { 
    195                                 e.printStackTrace(); 
     146                                // e.printStackTrace(); 
    196147                                String fmt = "Could not open (unmarshall) XML file: %s\n"; 
    197148                                System.out.printf(fmt, xmlFile); 
Note: See TracChangeset for help on using the changeset viewer.