What this is
This file is included in the DevDaily.com
"Java Source Code
Warehouse" project. The intent of this project is to help you "Learn
Java by Example" TM.
Other links
The source code
/*
* File: DefinitionScanner.java
* Generated from: definition.dtd
* Date: March 16, 2002 6:05 PM
*
* @author lahvac
* @version generated by NetBeans XML module
*/
package org.netbeans.test.editor.indentation.programmatic;
/**
* This is a scanner of DOM tree.
*
* Example:
* * javax.xml.parsers.DocumentBuilderFactory builderFactory = javax.xml.parsers.DocumentBuilderFactory.newInstance();
* javax.xml.parsers.DocumentBuilder builder = builderFactory.newDocumentBuilder();
* org.w3c.dom.Document document = builder.parse (new org.xml.sax.InputSource (???));
* DefinitionScanner scanner = new DefinitionScanner (document);
* scanner.visitDocument();
*
*
* @see org.w3c.dom.Document
* @see org.w3c.dom.Element
* @see org.w3c.dom.NamedNodeMap
*/
public class DefinitionScanner {
/** org.w3c.dom.Document document */
org.w3c.dom.Document document;
private IndentCoreGenerator.TestCase testCase;
/** Create new DefinitionScanner with org.w3c.dom.Document. */
public DefinitionScanner(org.w3c.dom.Document document) {
this.document = document;
}
/** Scan through org.w3c.dom.Document document. */
public void visitDocument() {
org.w3c.dom.Element element = document.getDocumentElement();
if ((element != null) && element.getTagName().equals("definition")) {
visitElement_definition(element);
}
if ((element != null) && element.getTagName().equals("fail")) {
visitElement_fail(element);
}
if ((element != null) && element.getTagName().equals("indentation-properties")) {
visitElement_indentation_properties(element);
}
if ((element != null) && element.getTagName().equals("property")) {
visitElement_property(element);
}
if ((element != null) && element.getTagName().equals("reason")) {
visitElement_reason(element);
}
if ((element != null) && element.getTagName().equals("test-case")) {
visitElement_test_case(element);
}
if ((element != null) && element.getTagName().equals("text")) {
visitElement_text(element);
}
}
/** Scan through org.w3c.dom.Element named definition. */
void visitElement_definition(org.w3c.dom.Element element) { //
// element.getValue();
org.w3c.dom.NodeList nodes = element.getChildNodes();
for (int i = 0; i < nodes.getLength(); i++) {
org.w3c.dom.Node node = nodes.item(i);
switch (node.getNodeType()) {
case org.w3c.dom.Node.CDATA_SECTION_NODE:
// ((org.w3c.dom.CDATASection)node).getData();
break;
case org.w3c.dom.Node.ELEMENT_NODE:
org.w3c.dom.Element nodeElement = (org.w3c.dom.Element)node;
if (nodeElement.getTagName().equals("test-case")) {
visitElement_test_case(nodeElement);
}
break;
case org.w3c.dom.Node.PROCESSING_INSTRUCTION_NODE:
// ((org.w3c.dom.ProcessingInstruction)node).getTarget();
// ((org.w3c.dom.ProcessingInstruction)node).getData();
break;
}
}
}
/** Scan through org.w3c.dom.Element named fail. */
void visitElement_fail(org.w3c.dom.Element element) { //
// element.getValue();
org.w3c.dom.NamedNodeMap attrs = element.getAttributes();
for (int i = 0; i < attrs.getLength(); i++) {
org.w3c.dom.Attr attr = (org.w3c.dom.Attr)attrs.item(i);
if (attr.getName().equals("supposed-to-fail")) { //
testCase.setWillFail(Boolean.valueOf(attr.getValue()).booleanValue());
}
}
org.w3c.dom.NodeList nodes = element.getChildNodes();
for (int i = 0; i < nodes.getLength(); i++) {
org.w3c.dom.Node node = nodes.item(i);
switch (node.getNodeType()) {
case org.w3c.dom.Node.CDATA_SECTION_NODE:
// ((org.w3c.dom.CDATASection)node).getData();
break;
case org.w3c.dom.Node.ELEMENT_NODE:
org.w3c.dom.Element nodeElement = (org.w3c.dom.Element)node;
if (nodeElement.getTagName().equals("reason")) {
visitElement_reason(nodeElement);
}
break;
case org.w3c.dom.Node.PROCESSING_INSTRUCTION_NODE:
// ((org.w3c.dom.ProcessingInstruction)node).getTarget();
// ((org.w3c.dom.ProcessingInstruction)node).getData();
break;
}
}
}
/** Scan through org.w3c.dom.Element named indentation-properties. */
void visitElement_indentation_properties(org.w3c.dom.Element element) { //
// element.getValue();
org.w3c.dom.NodeList nodes = element.getChildNodes();
for (int i = 0; i < nodes.getLength(); i++) {
org.w3c.dom.Node node = nodes.item(i);
switch (node.getNodeType()) {
case org.w3c.dom.Node.CDATA_SECTION_NODE:
// ((org.w3c.dom.CDATASection)node).getData();
break;
case org.w3c.dom.Node.ELEMENT_NODE:
org.w3c.dom.Element nodeElement = (org.w3c.dom.Element)node;
if (nodeElement.getTagName().equals("property")) {
visitElement_property(nodeElement);
}
break;
case org.w3c.dom.Node.PROCESSING_INSTRUCTION_NODE:
// ((org.w3c.dom.ProcessingInstruction)node).getTarget();
// ((org.w3c.dom.ProcessingInstruction)node).getData();
break;
}
}
}
/** Scan through org.w3c.dom.Element named property. */
void visitElement_property(org.w3c.dom.Element element) { //
// element.getValue();
org.w3c.dom.NamedNodeMap attrs = element.getAttributes();
String property_name = null;
String property_value = null;
for (int i = 0; i < attrs.getLength(); i++) {
org.w3c.dom.Attr attr = (org.w3c.dom.Attr)attrs.item(i);
if (attr.getName().equals("name")) { //
property_name = attr.getValue();
}
if (attr.getName().equals("value")) { //
property_value = attr.getValue();
}
}
testCase.addIndentProperty(property_name, property_value);
org.w3c.dom.NodeList nodes = element.getChildNodes();
for (int i = 0; i < nodes.getLength(); i++) {
org.w3c.dom.Node node = nodes.item(i);
switch (node.getNodeType()) {
case org.w3c.dom.Node.CDATA_SECTION_NODE:
// ((org.w3c.dom.CDATASection)node).getData();
break;
case org.w3c.dom.Node.ELEMENT_NODE:
org.w3c.dom.Element nodeElement = (org.w3c.dom.Element)node;
break;
case org.w3c.dom.Node.PROCESSING_INSTRUCTION_NODE:
// ((org.w3c.dom.ProcessingInstruction)node).getTarget();
// ((org.w3c.dom.ProcessingInstruction)node).getData();
break;
}
}
}
/** Scan through org.w3c.dom.Element named reason. */
void visitElement_reason(org.w3c.dom.Element element) { //
testCase.setFailReason(element.getNodeValue()); //??Here or in TEXT_NODE ??
org.w3c.dom.NodeList nodes = element.getChildNodes();
for (int i = 0; i < nodes.getLength(); i++) {
org.w3c.dom.Node node = nodes.item(i);
switch (node.getNodeType()) {
case org.w3c.dom.Node.CDATA_SECTION_NODE:
// ((org.w3c.dom.CDATASection)node).getData();
break;
case org.w3c.dom.Node.ELEMENT_NODE:
org.w3c.dom.Element nodeElement = (org.w3c.dom.Element)node;
break;
case org.w3c.dom.Node.PROCESSING_INSTRUCTION_NODE:
// ((org.w3c.dom.ProcessingInstruction)node).getTarget();
// ((org.w3c.dom.ProcessingInstruction)node).getData();
break;
case org.w3c.dom.Node.TEXT_NODE:
// ((org.w3c.dom.Text)node).getData();
break;
}
}
}
/** Scan through org.w3c.dom.Element named test-case. */
void visitElement_test_case(org.w3c.dom.Element element) { //
// element.getValue();
testCase = new IndentCoreGenerator.TestCase();
org.w3c.dom.NamedNodeMap attrs = element.getAttributes();
for (int i = 0; i < attrs.getLength(); i++) {
org.w3c.dom.Attr attr = (org.w3c.dom.Attr)attrs.item(i);
if (attr.getName().equals("name")) { //
testCase.setName(attr.getValue());
}
}
org.w3c.dom.NodeList nodes = element.getChildNodes();
for (int i = 0; i < nodes.getLength(); i++) {
org.w3c.dom.Node node = nodes.item(i);
switch (node.getNodeType()) {
case org.w3c.dom.Node.CDATA_SECTION_NODE:
// ((org.w3c.dom.CDATASection)node).getData();
break;
case org.w3c.dom.Node.ELEMENT_NODE:
org.w3c.dom.Element nodeElement = (org.w3c.dom.Element)node;
if (nodeElement.getTagName().equals("fail")) {
visitElement_fail(nodeElement);
}
if (nodeElement.getTagName().equals("indentation-properties")) {
visitElement_indentation_properties(nodeElement);
}
if (nodeElement.getTagName().equals("text")) {
visitElement_text(nodeElement);
}
break;
case org.w3c.dom.Node.PROCESSING_INSTRUCTION_NODE:
// ((org.w3c.dom.ProcessingInstruction)node).getTarget();
// ((org.w3c.dom.ProcessingInstruction)node).getData();
break;
}
}
IndentCoreGenerator.addTestCase(testCase);
}
/** Scan through org.w3c.dom.Element named text. */
void visitElement_text(org.w3c.dom.Element element) { //
// element.getValue();
org.w3c.dom.NamedNodeMap attrs = element.getAttributes();
for (int i = 0; i < attrs.getLength(); i++) {
org.w3c.dom.Attr attr = (org.w3c.dom.Attr)attrs.item(i);
if (attr.getName().equals("location")) { //
testCase.setTextLocation(attr.getValue());
}
if (attr.getName().equals("mime-type")) { //
testCase.setTextMIMEType(attr.getValue());
}
}
org.w3c.dom.NodeList nodes = element.getChildNodes();
for (int i = 0; i < nodes.getLength(); i++) {
org.w3c.dom.Node node = nodes.item(i);
switch (node.getNodeType()) {
case org.w3c.dom.Node.CDATA_SECTION_NODE:
// ((org.w3c.dom.CDATASection)node).getData();
break;
case org.w3c.dom.Node.ELEMENT_NODE:
org.w3c.dom.Element nodeElement = (org.w3c.dom.Element)node;
break;
case org.w3c.dom.Node.PROCESSING_INSTRUCTION_NODE:
// ((org.w3c.dom.ProcessingInstruction)node).getTarget();
// ((org.w3c.dom.ProcessingInstruction)node).getData();
break;
}
}
}
}
|