diff options
Diffstat (limited to 'tags/java-M1-final/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TestUtil.java')
-rw-r--r-- | tags/java-M1-final/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TestUtil.java | 282 |
1 files changed, 0 insertions, 282 deletions
diff --git a/tags/java-M1-final/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TestUtil.java b/tags/java-M1-final/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TestUtil.java deleted file mode 100644 index d2ac035e02..0000000000 --- a/tags/java-M1-final/java/sdo/impl/src/test/java/org/apache/tuscany/sdo/test/TestUtil.java +++ /dev/null @@ -1,282 +0,0 @@ -/** - * - * Copyright 2005 The Apache Software Foundation or its licensors, as applicable. - * - * Licensed 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. - */ -package org.apache.tuscany.sdo.test; - -import java.io.IOException; -import java.io.InputStream; -import java.net.URL; -import java.util.ArrayList; -import java.util.List; - -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.FactoryConfigurationError; -import javax.xml.parsers.ParserConfigurationException; - -import org.w3c.dom.Document; -import org.w3c.dom.DocumentType; -import org.w3c.dom.NamedNodeMap; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import org.xml.sax.SAXException; - -public class TestUtil -{ - private static void getAllNodes(NodeList nodeList, List nodes) - { - int length = nodeList.getLength(); - if (length == 0) - { - return; - } - - for (int i=0; i<length; i++) - { - Node node = nodeList.item(i); - nodes.add(node); - getAllNodes(node.getChildNodes(), nodes); - } // for - } - - private static boolean equalNamedNodeMap(NamedNodeMap mapA, NamedNodeMap mapB) { - if (mapA == null) { - if (mapB == null) { - return true; - } - return false; - } - if (mapA.getLength() != mapB.getLength()) { - return false; - } - for (int i = 0; i < mapA.getLength(); i++) { - Node trialNode = mapA.item(i); - if (trialNode == null) { - return false; - } - Node checkNode = mapB.getNamedItem(trialNode.getNodeName()); - if (checkNode == null) { - return false; - } - if (!equalNode(trialNode, checkNode)) { - return false; - } - } - return true; - } - - private static boolean equalNode(Node nodeA, Node nodeB) { - if (nodeA == null) { - if (nodeB == null) { - return true; - } - return false; - } - // following is intended to provide same function as 1.5 isEqualNode() - if (nodeA.getNodeType() != nodeB.getNodeType()) { - return false; - } - if (!equalString(nodeA.getNodeName(), nodeB.getNodeName())) { - return false; - } - if (!equalString(nodeA.getLocalName(), nodeB.getLocalName())) { - return false; - } - if (!equalString(nodeA.getNamespaceURI(), nodeB.getNamespaceURI())) { - return false; - } - if (!equalString(nodeA.getNamespaceURI(), nodeB.getNamespaceURI())) { - return false; - } - if (!equalString(nodeA.getPrefix(), nodeB.getPrefix())) { - return false; - } - if (!equalString(nodeA.getNodeValue(), nodeB.getNodeValue())) { - return false; - } - if (!equalNamedNodeMap(nodeA.getAttributes(), nodeB.getAttributes())) { - return false; - } - if (!equalNodeList(nodeA.getChildNodes(), nodeB.getChildNodes())) { - return false; - } - if (nodeA.getNodeType() == Node.DOCUMENT_TYPE_NODE) { - DocumentType documentTypeA = (DocumentType) nodeA; - DocumentType documentTypeB = (DocumentType) nodeB; - if (!equalString(documentTypeA.getPublicId(), documentTypeB.getPublicId())) { - return false; - } - if (!equalString(documentTypeA.getSystemId(), documentTypeB.getSystemId())) { - return false; - } - if (!equalString(documentTypeA.getInternalSubset(), documentTypeB.getInternalSubset())) { - return false; - } - if (!equalNamedNodeMap(documentTypeA.getEntities(), documentTypeB.getEntities())) { - return false; - } - if (!equalNamedNodeMap(documentTypeA.getNotations(), documentTypeB.getNotations())) { - return false; - } - } - return true; - } - - private static boolean equalNodeList(NodeList nodeListA, NodeList nodeListB) { - if (nodeListA == null) { - if (nodeListB == null) { - return true; - } - return false; - } - return equalNodes(nodeListA, nodeListB); - } - - private static boolean equalString(String stringA, String stringB) { - if (stringA == null) { - if (stringB == null) { - return true; - } - return false; - } - return stringA.equals(stringB); - } - - private static boolean equalNodes(NodeList sourceNodeList, NodeList targetNodeList) - { - ArrayList sourceNodes = new ArrayList(); - ArrayList targetNodes = new ArrayList(); - - getAllNodes(sourceNodeList, sourceNodes); - getAllNodes(targetNodeList, targetNodes); - - int sourceLength = sourceNodes.size(); - int targetLength = targetNodes.size(); - - if (sourceLength != targetLength) - { - return false; - } - - for (int i=0; i<sourceLength; i++) - { - Node sourceNode = (Node)sourceNodes.get(i); - Node targetNode = (Node)targetNodes.get(i); - - /* remove comment when migrated to Java 1.5 - if (!sourceNode.isEqualNode(targetNode)) - { - return false; - } - */ - // following is intended as 1.4 equivalent of isEqualNode() - if (!equalNode(sourceNode, targetNode)) - { - return false; - } - } // for - - return true; - } - - public static boolean equalXmlFiles(URL source, URL target) - { - try { - return equalXmlFiles(source.openStream(), target.openStream()); - } - catch (IOException e) - { - return false; - } - } - - public static boolean equalXmlFiles(InputStream sourceStream, URL target) - { - try { - return equalXmlFiles(sourceStream, target.openStream()); - } - catch (IOException e) - { - return false; - } - } - - public static boolean equalXmlFiles(URL source, InputStream targetStream) - { - try { - return equalXmlFiles(source.openStream(), targetStream); - } - catch (IOException e) - { - return false; - } - } - - public static boolean equalXmlFiles(InputStream sourceStream, InputStream targetStream) - { - DocumentBuilder builder; - Document sourceDocument; - Document targetDocument; - - try { - builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); - sourceDocument = builder.parse(sourceStream); - targetDocument = builder.parse(targetStream); - } - catch (FactoryConfigurationError fce) { - return false; - } - catch (ParserConfigurationException ce) { - return false; - } - catch (SAXException se) - { - return false; - } - catch (IOException ie) - { - return false; - } - - sourceDocument.normalize(); - targetDocument.normalize(); - - /* remove comment when migrated to Java 1.5 - if (!sourceDocument.getXmlVersion().equals(targetDocument.getXmlVersion())) - { - return false; - } - - String sourceXmlEncoding = sourceDocument.getXmlEncoding(); - String targetXmlEncoding = targetDocument.getXmlEncoding(); - - if (sourceXmlEncoding != null && targetXmlEncoding != null && - sourceXmlEncoding.equalsIgnoreCase(targetXmlEncoding)) - { - // continue - } - else - { - return false; - } - */ - - NodeList sourceNodes = sourceDocument.getChildNodes(); - NodeList targetNodes = targetDocument.getChildNodes(); - - return equalNodes(sourceNodes, targetNodes); - } -} |