Added: servicemix/smx3/trunk/core/servicemix-utils/src/test/java/org/apache/servicemix/jbi/jaxp/W3CDOMStreamReaderTest.java URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/core/servicemix-utils/src/test/java/org/apache/servicemix/jbi/jaxp/W3CDOMStreamReaderTest.java?rev=671330&view=auto ============================================================================== --- servicemix/smx3/trunk/core/servicemix-utils/src/test/java/org/apache/servicemix/jbi/jaxp/W3CDOMStreamReaderTest.java (added) +++ servicemix/smx3/trunk/core/servicemix-utils/src/test/java/org/apache/servicemix/jbi/jaxp/W3CDOMStreamReaderTest.java Tue Jun 24 13:18:54 2008 @@ -0,0 +1,160 @@ +/* + * 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. + */ +package org.apache.servicemix.jbi.jaxp; + +import java.io.ByteArrayOutputStream; +import java.io.OutputStream; + +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.stream.XMLStreamReader; +import javax.xml.transform.OutputKeys; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerException; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; + +import org.w3c.dom.Attr; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +/** + * @author <a href="mailto:[EMAIL PROTECTED]">Dan Diephouse</a> + * @since Oct 26, 2004 + */ +public class W3CDOMStreamReaderTest extends AbstractStreamReaderTest { + + private static final Log LOG = LogFactory.getLog(W3CDOMStreamReaderTest.class); + + public void testSingleElement() throws Exception { + Document doc = getDocument(); + Element e = doc.createElementNS("urn:test", "root"); + e.setAttribute("xmlns", "urn:test"); + doc.appendChild(e); + + assertEquals(1, e.getAttributes().getLength()); + LOG.info("start: " + XMLStreamReader.START_ELEMENT); + LOG.info("attr: " + XMLStreamReader.ATTRIBUTE); + LOG.info("ns: " + XMLStreamReader.NAMESPACE); + LOG.info("chars: " + XMLStreamReader.CHARACTERS); + LOG.info("end: " + XMLStreamReader.END_ELEMENT); + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + writeXml(doc, baos); + LOG.info(baos.toString()); + W3CDOMStreamReader reader = new W3CDOMStreamReader(doc.getDocumentElement()); + testSingleElement(reader); + } + + private Document getDocument() throws Exception { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + factory.setNamespaceAware(true); + return factory.newDocumentBuilder().newDocument(); + } + + public void testTextChild() throws Exception { + Document doc = getDocument(); + Element e = doc.createElementNS("urn:test", "root"); + e.setAttribute("xmlns", "urn:test"); + doc.appendChild(e); + Node text = doc.createTextNode("Hello World"); + e.appendChild(text); + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + writeXml(doc, baos); + LOG.info(baos.toString()); + + W3CDOMStreamReader reader = new W3CDOMStreamReader(e); + testTextChild(reader); + } + + public void testMixedContent() throws Exception { + Document doc = getDocument(); + Element e = doc.createElementNS("urn:test", "test:root"); + e.setAttribute("xmlns", "urn:test"); + doc.appendChild(e); + Node text = doc.createTextNode("Hello World"); + e.appendChild(text); + Element child = doc.createElement("element"); + e.appendChild(child); + text = doc.createTextNode(" more text"); + e.appendChild(text); + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + writeXml(doc, baos); + LOG.info(baos); + + W3CDOMStreamReader reader = new W3CDOMStreamReader(e); + testMixedContent(reader); + } + + public void testAttributes() throws Exception { + Document doc = getDocument(); + + Element e = doc.createElementNS("urn:test", "root"); + e.setAttribute("xmlns", "urn:test"); + doc.appendChild(e); + e.setAttribute("att1", "value1"); + + Attr attr = doc.createAttributeNS("urn:test2", "att2"); + attr.setValue("value2"); + attr.setPrefix("p"); + + e.setAttribute("xmlns:p", "urn:test2"); + + e.setAttributeNode(attr); + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + writeXml(doc, baos); + LOG.info(baos.toString()); + + W3CDOMStreamReader reader = new W3CDOMStreamReader(doc.getDocumentElement()); + + testAttributes(reader); + } + + public void testElementChild() throws Exception { + Document doc = getDocument(); + Element e = doc.createElementNS("urn:test", "root"); + e.setAttribute("xmlns", "urn:test"); + Element child = doc.createElementNS("urn:test2", "child"); + child.setAttribute("xmlns:a", "urn:test2"); + + child.setPrefix("a"); + e.appendChild(child); + doc.appendChild(e); + + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + writeXml(doc, baos); + LOG.info(baos.toString()); + + W3CDOMStreamReader reader = new W3CDOMStreamReader(e); + testElementChild(reader); + } + + protected void writeXml(Document doc, OutputStream out) throws TransformerException { + TransformerFactory tf = TransformerFactory.newInstance(); + // identity + Transformer t = tf.newTransformer(); + t.setOutputProperty(OutputKeys.INDENT, "yes"); + t.transform(new DOMSource(doc), new StreamResult(out)); + } +}
Added: servicemix/smx3/trunk/core/servicemix-utils/src/test/resources/org/apache/servicemix/expression/expression-editor.xml URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/core/servicemix-utils/src/test/resources/org/apache/servicemix/expression/expression-editor.xml?rev=671330&view=auto ============================================================================== --- servicemix/smx3/trunk/core/servicemix-utils/src/test/resources/org/apache/servicemix/expression/expression-editor.xml (added) +++ servicemix/smx3/trunk/core/servicemix-utils/src/test/resources/org/apache/servicemix/expression/expression-editor.xml Tue Jun 24 13:18:54 2008 @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + 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. + +--> +<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> +<beans> + + <bean id="ExpressionTestSupport" class="org.apache.servicemix.expression.ExpressionTestSupport"> + <property name="expression"><value>test</value></property> + </bean> +</beans> Added: servicemix/smx3/trunk/core/servicemix-utils/src/test/resources/org/apache/servicemix/jbi/jaxp/test.xml URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/core/servicemix-utils/src/test/resources/org/apache/servicemix/jbi/jaxp/test.xml?rev=671330&view=auto ============================================================================== --- servicemix/smx3/trunk/core/servicemix-utils/src/test/resources/org/apache/servicemix/jbi/jaxp/test.xml (added) +++ servicemix/smx3/trunk/core/servicemix-utils/src/test/resources/org/apache/servicemix/jbi/jaxp/test.xml Tue Jun 24 13:18:54 2008 @@ -0,0 +1,69 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + 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. + +--> +<test firstAtt="toto" secondAtt="titit" xmlns:u="uri:test3"> + <u:hello u:id="3">world</u:hello> + <!-- A comment --> + <child xmlns="uri:test" atr1="val1" xmlns:t="uri:test2" t:atr2="val2"> + <child2> t i u </child2> + <child3 xmlns=""/> + </child> + <child4> </child4> + <long>00 01 02 03 04 05 06 07 08 09 +10 11 12 13 14 15 16 17 18 19 +20 21 22 23 24 25 26 27 28 29 +30 31 32 33 34 35 36 37 38 39 +40 41 42 43 44 45 46 47 48 49 +50 51 52 53 54 55 56 57 58 59 +60 61 62 63 64 65 66 67 68 69 +70 71 72 73 74 75 76 77 78 79 +80 81 82 83 84 85 86 87 88 89 +90 91 92 93 94 95 96 97 98 99 +00 01 02 03 04 05 06 07 08 09 +10 11 12 13 14 15 16 17 18 19 +20 21 22 23 24 25 26 27 28 29 +30 31 32 33 34 35 36 37 38 39 +40 41 42 43 44 45 46 47 48 49 +50 51 52 53 54 55 56 57 58 59 +60 61 62 63 64 65 66 67 68 69 +70 71 72 73 74 75 76 77 78 79 +80 81 82 83 84 85 86 87 88 89 +90 91 92 93 94 95 96 97 98 99 +00 01 02 03 04 05 06 07 08 09 +10 11 12 13 14 15 16 17 18 19 +20 21 22 23 24 25 26 27 28 29 +30 31 32 33 34 35 36 37 38 39 +40 41 42 43 44 45 46 47 48 49 +50 51 52 53 54 55 56 57 58 59 +60 61 62 63 64 65 66 67 68 69 +70 71 72 73 74 75 76 77 78 79 +80 81 82 83 84 85 86 87 88 89 +90 91 92 93 94 95 96 97 98 99 +00 01 02 03 04 05 06 07 08 09 +10 11 12 13 14 15 16 17 18 19 +20 21 22 23 24 25 26 27 28 29 +30 31 32 33 34 35 36 37 38 39 +40 41 42 43 44 45 46 47 48 49 +50 51 52 53 54 55 56 57 58 59 +60 61 62 63 64 65 66 67 68 69 +70 71 72 73 74 75 76 77 78 79 +80 81 82 83 84 85 86 87 88 89 +90 91 92 93 94 95 96 97 98 99 +</long> +</test>
