KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > ozoneDB > xml > dom4j > LoadFromExternalTest


1 // You can redistribute this software and/or modify it under the terms of
2
// the Ozone Library License version 1 published by ozone-db.org.
3
//
4
// The original code and portions created by SMB are
5
// Copyright (C) 1997-@year@ by SMB GmbH. All rights reserved.
6
//
7
// $Id: LoadFromExternalTest.java,v 1.2 2003/05/05 07:16:37 per_nyfelt Exp $
8
package test.ozoneDB.xml.dom4j;
9
10 import junit.framework.TestCase;
11 import org.dom4j.Document;
12 import org.dom4j.DocumentException;
13 import org.dom4j.Element;
14 import org.dom4j.io.SAXReader;
15 import org.ozoneDB.ExternalDatabase;
16 import org.ozoneDB.xml.dom4j.O3DocumentHelper;
17
18 import java.io.File JavaDoc;
19 import java.io.FileReader JavaDoc;
20 import java.net.URL JavaDoc;
21
22 /**
23  * $Id: LoadFromExternalTest.java,v 1.2 2003/05/05 07:16:37 per_nyfelt Exp $
24  */

25 public class LoadFromExternalTest extends TestCase {
26
27     File JavaDoc file;
28
29     final String JavaDoc addressXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
30             "<addresses>" +
31             "<address name=\"Andreas\"><town>New York</town></address>" +
32             "<address name=\"Lars\"><town>Los Angeles</town></address>" +
33             "</addresses>";
34
35     ExternalDatabase db;
36
37     public LoadFromExternalTest(String JavaDoc methodName) {
38         super(methodName);
39         file = new File JavaDoc("../../test.xml");
40     }
41
42     public void testLoadFromExternal() {
43         try {
44             db = ExternalDatabase.openDatabase("ozonedb:remote://localhost:3333");
45             //db = ExternalDatabase.openDatabase("ozonedb:local:///home/per/testDB");
46
O3DocumentHelper.configure(db);
47         } catch (Exception JavaDoc e) {
48             e.printStackTrace();
49             fail(e.toString());
50         }
51         loadString();
52         loadFile();
53         parseFileIntoString();
54         try {
55             db.close();
56         } catch (Exception JavaDoc e) {
57             fail(e.toString());
58         }
59     }
60
61     public void loadString() {
62         try {
63             Document doc;
64             System.out.println("Parsing string");
65             long start = System.currentTimeMillis();
66             doc = O3DocumentHelper.parseText(addressXML);
67             long end = System.currentTimeMillis();
68             System.out.println("[testLoadString] parsing took " + Double.toString((end - start) / 1000) + " seconds");
69
70             Element root = doc.getRootElement();
71             assertEquals("Root element is not correct", "addresses", root.getName());
72             assertEquals("expected root to have 2 children", root.elements().size(), 2);
73             Element address = (Element) root.elements("address").get(0);
74             assertEquals("attribute name is not Andreas", address.attributeValue("name"), "Andreas");
75
76             O3DocumentHelper.deleteDocument(doc);
77         } catch (Exception JavaDoc e) {
78             e.printStackTrace();
79             fail(e.toString());
80         }
81
82     }
83
84     public void loadFile() {
85         try {
86             System.out.println("parsing file from client");
87             long start = System.currentTimeMillis();
88             SAXReader xmlReader = O3DocumentHelper.getSAXReader();
89             Document doc = xmlReader.read(file);
90             long end = System.currentTimeMillis();
91             System.out.println("[testLoadFile] parsing took " + Double.toString((end - start) / 1000) + " seconds");
92             //System.out.println("Result = " + doc.asXML());
93
O3DocumentHelper.deleteDocument(doc);
94
95         } catch (Exception JavaDoc e) {
96             e.printStackTrace();
97             fail(e.toString());
98         }
99     }
100
101     public void parseFileIntoString() {
102         try {
103             System.out.println("parsing file into string");
104             long start = System.currentTimeMillis();
105             Document doc = O3DocumentHelper.parse(new FileReader JavaDoc(file));
106             long end = System.currentTimeMillis();
107             System.out.println("[testParseFileIntoString] parsing took " + Double.toString((end - start) / 1000) + " seconds");
108             O3DocumentHelper.deleteDocument(doc);
109         } catch (Exception JavaDoc e) {
110             e.printStackTrace();
111             fail(e.toString());
112         }
113     }
114
115
116 // public void testParseFileAsServerStream() {
117
// try {
118
// System.out.println("parsing file by sending stream to server");
119
// long start = System.currentTimeMillis();
120
// Document doc = O3DocumentHelper.parseRemote(new FileInputStream(file));
121
// long end = System.currentTimeMillis();
122
// System.out.println("parsing took " + (end - start) / 1000 + " seconds");
123
// System.out.println("Result = " + doc.asXML());
124
// O3DocumentHelper.deleteDocument(doc);
125
// } catch (Exception e) {
126
// e.printStackTrace();
127
// fail(e.toString());
128
// }
129
// }
130

131     /**
132      * Loads a document from a file.
133      *
134      * @param aURL the data source
135      * @throws org.dom4j.DocumentException a org.dom4j.DocumentExcepiton occurs whenever the buildprocess fails.
136      */

137     private Document parseWithSAX(URL JavaDoc aURL) throws DocumentException {
138         SAXReader xmlReader = O3DocumentHelper.getSAXReader();
139         return xmlReader.read(aURL);
140     }
141
142
143 }
144
Popular Tags