KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > xmldb > levelzero > DOMTest


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

8 package test.xmldb.levelzero;
9
10 import test.xmldb.*;
11 import junit.framework.*;
12
13 import org.xmldb.api.modules.XMLResource;
14
15 import org.w3c.dom.Node JavaDoc;
16 import org.w3c.dom.NodeList JavaDoc;
17 import org.w3c.dom.Document JavaDoc;
18 import org.w3c.dom.Element JavaDoc;
19 import org.w3c.dom.Text JavaDoc;
20 import org.apache.log4j.Logger;
21 /**
22  * @author Per Nyfelt
23  */

24 public class DOMTest extends XMLDBTestCase implements LevelZeroTestConstants {
25
26     private Logger logger = Logger.getLogger(DOMTest.class);
27
28     /** Creates new DOMTest */
29     public DOMTest(String JavaDoc name) {
30         super(name);
31     }
32
33     public static Test suite() {
34         return new TestSuite(DOMTest.class);
35     }
36     
37     /**
38      * test all scenarios for using XML as DOM
39      */

40     public void testDOM() {
41         try {
42             logger.debug("\nLevelZeroTest.testDOM() - started\n");
43             insertDOMDocument(id, super.document);
44             Node JavaDoc node = retrieveDOMNode(id);
45             super.assertNotNull("LevelZeroTest.testDOM()", node);
46             
47             insertDOMDocument(id2, document);
48             Node JavaDoc node2 = retrieveDOMNode(id2);
49             super.assertNotNull("LevelZeroTest.testDOM()", node2);
50             
51             // DOM level 2, npot supported by Ozone yet
52
//super.assertEquals("LevelZeroTest.testDOM()", node.getLocalName(), node2.getLocalName());
53

54             logger.debug("DOMTest.testDOM() - updateDOMDocument() is uncommented!");
55             //updateDOMDocument(id);
56
node = retrieveDOMNode(id);
57             super.assertNotNull("LevelZeroTest.testDOM()", node);
58     
59         } catch (Exception JavaDoc e) {
60             fail( e.getMessage( ) );
61         }
62     }
63     
64     private void insertDOMDocument(String JavaDoc id, Document JavaDoc document) throws Exception JavaDoc {
65          
66         XMLResource resource = (XMLResource) col.createResource(id, XMLResource.RESOURCE_TYPE);
67
68         resource.setContentAsDOM(document);
69         col.storeResource(resource);
70                
71    }
72     
73     private void updateDOMDocument(String JavaDoc id) throws Exception JavaDoc {
74         try {
75             XMLResource resource = (XMLResource) col.getResource(id);
76
77             Document JavaDoc document = (Document JavaDoc) resource.getContentAsDOM();
78             logger.debug("LevelZeroTest.updateDOMDocument() - " + document);
79             assertNotNull("LevelZeroTest.updateDOMDocument()", document);
80             Element JavaDoc root = document.getDocumentElement();
81             // Change document by appending to an element data
82

83             Text JavaDoc nameNode = document.createTextNode("updateAddition");
84             NodeList JavaDoc list = root.getElementsByTagName("testName");
85             Node JavaDoc parent = list.item(0);
86             parent.appendChild(nameNode);
87
88             // insert a new element
89
list = root.getElementsByTagName("levelZeroTests");
90             Node JavaDoc levelZeroTests = list.item(0);
91             Element JavaDoc testName = document.createElement("testName");
92             levelZeroTests.appendChild(testName);
93             Node JavaDoc name = document.createTextNode("testSAX");
94             testName.appendChild(name);
95                      
96             resource.setContentAsDOM(document);
97             col.storeResource(resource);
98             super.assertEquals(document, resource.getContentAsDOM());
99         }
100         catch (Exception JavaDoc e) {
101             e.printStackTrace();
102             throw e;
103         }
104    }
105    
106    private Node JavaDoc retrieveDOMNode(String JavaDoc id) throws Exception JavaDoc {
107         XMLResource resource =
108            (XMLResource) col.getResource(id);
109
110         Node JavaDoc node = resource.getContentAsDOM();
111         return node;
112
113    }
114    
115    private void retrieveDOMDocument(String JavaDoc id) throws Exception JavaDoc {
116         XMLResource resource =
117            (XMLResource) col.getResource(id);
118
119         Document JavaDoc doc = (Document JavaDoc) resource.getContentAsDOM();
120     }
121    
122     
123 }
124
Popular Tags