--- a/jdk/test/javax/xml/jaxp/testng/validation/8037819/BaseTest.java Thu Oct 16 14:55:17 2014 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,338 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.io.File;
-import java.net.URL;
-
-import javax.xml.XMLConstants;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.transform.Result;
-import javax.xml.transform.Source;
-import javax.xml.transform.dom.DOMResult;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.validation.Schema;
-import javax.xml.validation.SchemaFactory;
-import javax.xml.validation.Validator;
-
-
-import com.sun.org.apache.xerces.internal.dom.PSVIElementNSImpl;
-import com.sun.org.apache.xerces.internal.impl.Constants;
-import com.sun.org.apache.xerces.internal.impl.xs.SchemaGrammar;
-import com.sun.org.apache.xerces.internal.xs.ElementPSVI;
-import com.sun.org.apache.xerces.internal.xs.ItemPSVI;
-import com.sun.org.apache.xerces.internal.xs.XSElementDeclaration;
-import com.sun.org.apache.xerces.internal.xs.XSTypeDefinition;
-import javax.xml.transform.stream.StreamSource;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-public abstract class BaseTest {
- protected final static String ROOT_TYPE = Constants.XERCES_PROPERTY_PREFIX
- + Constants.ROOT_TYPE_DEFINITION_PROPERTY;
-
- protected final static String IGNORE_XSI_TYPE = Constants.XERCES_FEATURE_PREFIX
- + Constants.IGNORE_XSI_TYPE_FEATURE;
-
- protected final static String ID_IDREF_CHECKING = Constants.XERCES_FEATURE_PREFIX
- + Constants.ID_IDREF_CHECKING_FEATURE;
-
- protected final static String IDC_CHECKING = Constants.XERCES_FEATURE_PREFIX
- + Constants.IDC_CHECKING_FEATURE;
-
- protected final static String UNPARSED_ENTITY_CHECKING = Constants.XERCES_FEATURE_PREFIX
- + Constants.UNPARSED_ENTITY_CHECKING_FEATURE;
-
- protected final static String USE_GRAMMAR_POOL_ONLY = Constants.XERCES_FEATURE_PREFIX
- + Constants.USE_GRAMMAR_POOL_ONLY_FEATURE;
-
- protected final static String DYNAMIC_VALIDATION = Constants.XERCES_FEATURE_PREFIX
- + Constants.DYNAMIC_VALIDATION_FEATURE;
-
- protected final static String DOCUMENT_CLASS_NAME = Constants.XERCES_PROPERTY_PREFIX
- + Constants.DOCUMENT_CLASS_NAME_PROPERTY;
-
- protected Schema schema;
- protected Validator fValidator;
-
- protected SpecialCaseErrorHandler fErrorHandler;
-
- DocumentBuilder builder;
- protected Document fDocument;
-
- protected ElementPSVI fRootNode;
-
- protected URL fDocumentURL;
- protected String documentPath;
- protected String fDocumentId;
-
- static String errMessage;
-
- int passed = 0, failed = 0;
-
- public static boolean isWindows = false;
- static {
- if (System.getProperty("os.name").indexOf("Windows")>-1) {
- isWindows = true;
- }
- };
- public static final String USER_DIR = System.getProperty("user.dir", ".");
- public static final String BASE_DIR = System.getProperty("test.src", USER_DIR)
- .replaceAll("\\" + System.getProperty("file.separator"), "/");
-
- protected abstract String getSchemaFile();
-
- protected abstract String getXMLDocument();
-
- public BaseTest(String name) {
- fErrorHandler = new SpecialCaseErrorHandler(getRelevantErrorIDs());
- }
-
- protected void setUp() throws Exception {
-
- DocumentBuilderFactory docFactory = DocumentBuilderFactory
- .newInstance();
- docFactory.setAttribute(DOCUMENT_CLASS_NAME,
- "com.sun.org.apache.xerces.internal.dom.PSVIDocumentImpl");
- docFactory.setNamespaceAware(true);
- builder = docFactory.newDocumentBuilder();
-
- documentPath = BASE_DIR + "/" + getXMLDocument();
-System.out.println("documentPath:"+documentPath);
- if (isWindows) {
- fDocumentId = "file:/" + documentPath;
- } else {
- fDocumentId = "file:" + documentPath;
- }
- //fDocumentURL = ClassLoader.getSystemResource(documentPath);
- //fDocumentURL = getClass().getResource(documentPath);
-System.out.println("fDocumentId:"+fDocumentId);
-//System.out.println("fDocumentURL.toExternalForm:"+fDocumentURL.toExternalForm());
-/**
- if (fDocumentURL == null) {
- throw new FileNotFoundException("Couldn't find xml file for test: " + documentPath);
- }
- fDocument = builder.parse(fDocumentURL.toExternalForm());
- fRootNode = (ElementPSVI) fDocument.getDocumentElement();
- */
- SchemaFactory sf = SchemaFactory
- .newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
- sf.setFeature(USE_GRAMMAR_POOL_ONLY, getUseGrammarPoolOnly());
- String schemaPath = BASE_DIR + "/" + getSchemaFile();
- /**
- URL schemaURL = ClassLoader.getSystemResource(schemaPath);
- if (schemaURL == null) {
- throw new FileNotFoundException("Couldn't find schema file for test: " + schemaPath);
- }
- */
- schema = sf.newSchema(new StreamSource(new File(schemaPath)));
- }
-
- protected void tearDown() throws Exception {
- fValidator = null;
- fDocument = null;
- fRootNode = null;
- fErrorHandler.reset();
- System.out.println("\nNumber of tests passed: " + passed);
- System.out.println("Number of tests failed: " + failed + "\n");
-
- if (errMessage != null) {
- throw new RuntimeException(errMessage);
- }
- }
-
- protected void validateDocument() throws Exception {
- Source source = new DOMSource(fDocument);
- source.setSystemId(fDocumentId);
- Result result = new DOMResult(fDocument);
- fValidator.validate(source, result);
- }
-
- protected void validateFragment() throws Exception {
- Source source = new DOMSource((Node) fRootNode);
- source.setSystemId(fDocumentId);
- Result result = new DOMResult((Node) fRootNode);
- fValidator.validate(source, result);
- }
-
- protected void reset() throws Exception {
- try {
-System.out.println("new File(documentPath)" + new File(documentPath));
-
- fDocument = builder.parse(new File(documentPath));
- fRootNode = (ElementPSVI) fDocument.getDocumentElement();
-System.out.println("fDocument" + fDocument);
-System.out.println("fRootNode" + fRootNode);
- fValidator = schema.newValidator();
- fErrorHandler.reset();
- fValidator.setErrorHandler(fErrorHandler);
- fValidator.setFeature(DYNAMIC_VALIDATION, false);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- protected PSVIElementNSImpl getChild(int n) {
- int numFound = 0;
- Node child = ((Node) fRootNode).getFirstChild();
- while (child != null) {
- if (child.getNodeType() == Node.ELEMENT_NODE) {
- numFound++;
- if (numFound == n) {
- return (PSVIElementNSImpl) child;
- }
- }
- child = child.getNextSibling();
- }
- return null;
- }
-
- protected String[] getRelevantErrorIDs() {
- return new String[] {};
- }
-
- protected boolean getUseGrammarPoolOnly() {
- return false;
- }
-
- // specialized asserts
-
- protected void assertValidity(short expectedValidity, short actualValidity) {
- String expectedString = expectedValidity == ItemPSVI.VALIDITY_VALID ? "valid"
- : (expectedValidity == ItemPSVI.VALIDITY_INVALID ? "invalid"
- : "notKnown");
- String actualString = actualValidity == ItemPSVI.VALIDITY_VALID ? "valid"
- : (actualValidity == ItemPSVI.VALIDITY_INVALID ? "invalid"
- : "notKnown");
- String message = "{validity} was <" + actualString
- + "> but it should have been <" + expectedString + ">";
- assertEquals(message, expectedValidity, actualValidity);
- }
-
- protected void assertValidationAttempted(short expectedAttempted,
- short actualAttempted) {
- String expectedString = expectedAttempted == ItemPSVI.VALIDATION_FULL ? "full"
- : (expectedAttempted == ItemPSVI.VALIDATION_PARTIAL ? "partial"
- : "none");
- String actualString = actualAttempted == ItemPSVI.VALIDATION_FULL ? "full"
- : (actualAttempted == ItemPSVI.VALIDATION_PARTIAL ? "partial"
- : "none");
- String message = "{validity} was <" + actualString
- + "> but it should have been <" + expectedString + ">";
- assertEquals(message, expectedAttempted, actualAttempted);
- }
-
- protected void assertElementName(String expectedName, String actualName) {
- assertEquals("Local name of element declaration is wrong.",
- expectedName, actualName);
- }
-
- protected void assertElementNull(XSElementDeclaration elem) {
- assertNull("Element declaration should be null.", elem);
- }
-
- protected void assertElementNamespace(String expectedName, String actualName) {
- assertEquals("Namespace of element declaration is wrong.",
- expectedName, actualName);
- }
-
- protected void assertElementNamespaceNull(String actualName) {
- assertNull("Local name of element declaration should be null.",
- actualName);
- }
-
- protected void assertTypeName(String expectedName, String actualName) {
- assertEquals("Local name of type definition is wrong.", expectedName,
- actualName);
- }
-
- protected void assertTypeNull(XSTypeDefinition type) {
- assertNull("Type definition should be null.", type);
- }
-
- protected void assertTypeNamespace(String expectedName, String actualName) {
- assertEquals("Namespace of type definition is wrong.", expectedName,
- actualName);
- }
-
- protected void assertTypeNamespaceNull(String actualName) {
- assertNull("Namespace of type definition should be null.", actualName);
- }
-
- protected void assertError(String error) {
- assertTrue("Error <" + error + "> should have occured, but did not.",
- fErrorHandler.specialCaseFound(error));
- }
-
- protected void assertNoError(String error) {
- assertFalse("Error <" + error
- + "> should not have occured (but it did)", fErrorHandler
- .specialCaseFound(error));
- }
-
- protected void assertAnyType(XSTypeDefinition type) {
- assertEquals("Type is supposed to be anyType", SchemaGrammar.fAnyType,
- type);
- }
-
- void assertEquals(String msg, Object expected, Object actual) {
- if (!expected.equals(actual)) {
- fail(msg + " Expected: " + expected + " Actual: " + actual);
- } else {
- success(null);
- }
- }
- void assertNull(String msg, Object value) {
- if (value != null) {
- fail(msg);
- } else {
- success(null);
- }
- }
- void assertTrue(String msg, boolean value) {
- if (!value) {
- fail(msg);
- } else {
- success(null);
- }
- }
- void assertFalse(String msg, boolean value) {
- if (value) {
- fail(msg);
- } else {
- success(null);
- }
- }
- void fail(String errMsg) {
- if (errMessage == null) {
- errMessage = errMsg;
- } else {
- errMessage = errMessage + "\n" + errMsg;
- }
- failed++;
- }
-
- void success(String msg) {
- passed++;
- System.out.println(msg);
- if (msg != null) {
- if (msg.length() != 0) {
- System.out.println(msg);
- }
- }
- }
-}