< prev index next >
test/javax/xml/jaxp/libs/javax/xml/parsers/ptests/TestUtils.java
Print this page
*** 21,60 ****
* questions.
*/
package javax.xml.parsers.ptests;
import static jaxp.library.JAXPTestUtilities.ERROR_MSG_HEADER;
- import static jaxp.library.JAXPTestUtilities.FILE_SEP;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
! import java.nio.file.Files;
! import java.nio.file.StandardCopyOption;
import org.xml.sax.Attributes;
import org.xml.sax.Locator;
import org.xml.sax.SAXParseException;
import org.xml.sax.helpers.DefaultHandler;
import org.xml.sax.helpers.LocatorImpl;
/**
! * Utility interface which includes final variables of xml, golden file
* directories.
*/
interface TestUtils {
! final String XML_DIR = System.getProperty("test.src", ".") + FILE_SEP + "javax/xml/parsers/xmlfiles";
! final String GOLDEN_DIR = XML_DIR + FILE_SEP + "out";
}
/**
* Customized DefaultHandler which writes output document when methods are
* called by Transformer. Test may use output document to compare with golden
* file for verification.
*/
! class MyCHandler extends DefaultHandler {
private final BufferedWriter bWriter;
private final Locator locator = new LocatorImpl();
private MyCHandler(File file) throws IOException {
--- 21,67 ----
* questions.
*/
package javax.xml.parsers.ptests;
import static jaxp.library.JAXPTestUtilities.ERROR_MSG_HEADER;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
! import static jaxp.library.JAXPTestUtilities.FILE_SEP;
import org.xml.sax.Attributes;
import org.xml.sax.Locator;
import org.xml.sax.SAXParseException;
import org.xml.sax.helpers.DefaultHandler;
import org.xml.sax.helpers.LocatorImpl;
/**
! * Utility interface which includes final variables of XML, golden file
* directories.
*/
interface TestUtils {
! /**
! * XML source file directory.
! */
! final String XML_DIR = System.getProperty("test.src") + FILE_SEP +
! TestUtils.class.getPackage().getName().replaceAll("[.]", FILE_SEP)
! + FILE_SEP + ".." + FILE_SEP + "xmlfiles" + FILE_SEP;
!
! /**
! * Golden validation files directory.
! */
! final String GOLDEN_DIR = XML_DIR + "out" + FILE_SEP;
}
/**
* Customized DefaultHandler which writes output document when methods are
* called by Transformer. Test may use output document to compare with golden
* file for verification.
*/
! class MyCHandler extends DefaultHandler implements AutoCloseable {
private final BufferedWriter bWriter;
private final Locator locator = new LocatorImpl();
private MyCHandler(File file) throws IOException {
*** 64,73 ****
--- 71,81 ----
public static MyCHandler newInstance(File file) throws IOException {
MyCHandler handler = new MyCHandler(file);
return handler;
}
+ @Override
public void characters(char[] ch, int start, int length) {
String s = new String(ch, start, length);
String str = String.format("characters...length is:%d\n<%s>", s.length(), s);
try {
bWriter.write(str, 0, str.length());
*** 75,84 ****
--- 83,93 ----
} catch (IOException e) {
throw new RuntimeException(ERROR_MSG_HEADER, e);
}
}
+ @Override
public void endDocument() {
String str = "endDocument...";
try {
bWriter.write(str, 0, str.length());
bWriter.newLine();
*** 88,117 ****
--- 97,129 ----
} catch (IOException e) {
throw new RuntimeException(ERROR_MSG_HEADER, e);
}
}
+ @Override
public void endElement(String namespaceURI, String localName, String qName) {
String str = String.format("endElement...\nnamespaceURI: <%s> localName: <%s> qName: <%s>", namespaceURI, localName, qName);
try {
bWriter.write(str, 0, str.length());
bWriter.newLine();
} catch (IOException e) {
throw new RuntimeException(ERROR_MSG_HEADER, e);
}
}
+ @Override
public void endPrefixMapping(String prefix) {
String str = String.format("endPrefixMapping...\nprefix: <%s>", prefix);
try {
bWriter.write(str, 0, str.length());
bWriter.newLine();
} catch (IOException e) {
throw new RuntimeException(ERROR_MSG_HEADER, e);
}
}
+ @Override
public void ignorableWhitespace(char[] ch, int start, int length) {
String s = new String(ch, start, length);
String str = String.format("ignorableWhitespace...\n%s ignorable white space string length: %d", s, s.length());
try {
bWriter.write(str, 0, str.length());
*** 119,158 ****
--- 131,174 ----
} catch (IOException e) {
throw new RuntimeException(ERROR_MSG_HEADER, e);
}
}
+ @Override
public void processingInstruction(String target, String data) {
String str = String.format("processingInstruction...target:<%s> data: <%s>", target, data);
try {
bWriter.write(str, 0, str.length());
bWriter.newLine();
} catch (IOException e) {
throw new RuntimeException(ERROR_MSG_HEADER, e);
}
}
+ @Override
public void skippedEntity(String name) {
String str = String.format("skippedEntity...\nname: <%s>", name);
try {
bWriter.write(str, 0, str.length());
bWriter.newLine();
} catch (IOException e) {
throw new RuntimeException(ERROR_MSG_HEADER, e);
}
}
+ @Override
public void startDocument() {
String str = "startDocument...";
try {
bWriter.write(str, 0, str.length());
bWriter.newLine();
} catch (IOException e) {
throw new RuntimeException(ERROR_MSG_HEADER, e);
}
}
+ @Override
public void startElement(String namespaceURI, String localName, String qName, Attributes atts) {
String str = String.format("startElement...\nnamespaceURI: <%s> localName: <%s> qName: <%s> Number of Attributes: <%d> Line# <%d>", namespaceURI,
localName, qName, atts.getLength(), locator.getLineNumber());
try {
bWriter.write(str, 0, str.length());
*** 160,200 ****
} catch (IOException e) {
throw new RuntimeException(ERROR_MSG_HEADER, e);
}
}
public void startPrefixMapping(String prefix, String uri) {
String str = String.format("startPrefixMapping...\nprefix: <%s> uri: <%s>", prefix, uri);
try {
bWriter.write(str, 0, str.length());
bWriter.newLine();
} catch (IOException e) {
throw new RuntimeException(ERROR_MSG_HEADER, e);
}
}
}
/**
* Customized DefaultHandler used for SAXParseException testing.
*/
class MyErrorHandler extends DefaultHandler {
! boolean errorOccured = false;
private MyErrorHandler() {
}
public static MyErrorHandler newInstance() {
return new MyErrorHandler();
}
public void error(SAXParseException e) {
errorOccured = true;
}
public void warning(SAXParseException e) {
errorOccured = true;
}
public void fatalError(SAXParseException e) {
errorOccured = true;
}
}
--- 176,249 ----
} catch (IOException e) {
throw new RuntimeException(ERROR_MSG_HEADER, e);
}
}
+ @Override
public void startPrefixMapping(String prefix, String uri) {
String str = String.format("startPrefixMapping...\nprefix: <%s> uri: <%s>", prefix, uri);
try {
bWriter.write(str, 0, str.length());
bWriter.newLine();
} catch (IOException e) {
throw new RuntimeException(ERROR_MSG_HEADER, e);
}
}
+
+ @Override
+ public void close() throws IOException {
+ if (bWriter != null)
+ bWriter.close();
+ }
}
/**
* Customized DefaultHandler used for SAXParseException testing.
*/
class MyErrorHandler extends DefaultHandler {
! private volatile boolean errorOccured;
private MyErrorHandler() {
+ errorOccured = false;
}
+ /**
+ * Factory method to create a MyErrorHandler instance.
+ * @return a MyErrorHandler instance.
+ */
public static MyErrorHandler newInstance() {
return new MyErrorHandler();
}
+ /**
+ * Receive notification of a recoverable error.
+ * @param e a recoverable parser exception error.
+ */
+ @Override
public void error(SAXParseException e) {
errorOccured = true;
}
+ /**
+ *
+ * @param e a parser warning event.
+ */
+ @Override
public void warning(SAXParseException e) {
errorOccured = true;
}
+ @Override
public void fatalError(SAXParseException e) {
errorOccured = true;
}
+
+ /**
+ * Has any event been received.
+ *
+ * @return true if any event has been received.
+ * false if no event has been received.
+ */
+ public boolean isErrorOccured() {
+ return errorOccured;
+ }
}
< prev index next >