You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2006/08/17 07:43:00 UTC
svn commit: r432155 [3/3] - in
/incubator/tuscany/java/sca/databinding/databinding-framework: ./
src/main/java/org/apache/tuscany/databinding/
src/main/java/org/apache/tuscany/databinding/annotation/
src/main/java/org/apache/tuscany/databinding/extensi...
Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/MediatorImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/MediatorImplTestCase.java?rev=432155&r1=432154&r2=432155&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/MediatorImplTestCase.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/impl/MediatorImplTestCase.java Wed Aug 16 22:42:57 2006
@@ -24,11 +24,17 @@
import junit.framework.Assert;
import junit.framework.TestCase;
+import org.apache.tuscany.databinding.DataBindingRegistry;
+import org.apache.tuscany.databinding.TransformationContext;
import org.apache.tuscany.databinding.TransformerRegistry;
import org.apache.tuscany.databinding.trax.Node2String;
import org.apache.tuscany.databinding.trax.Node2Writer;
import org.apache.tuscany.databinding.trax.String2SAX;
+import org.apache.tuscany.databinding.xml.DOMBinding;
import org.apache.tuscany.databinding.xml.SAX2DOMPipe;
+import org.apache.tuscany.databinding.xml.SAXContentHandlerBinding;
+import org.apache.tuscany.databinding.xml.WriterBinding;
+import org.apache.tuscany.databinding.xml.XMLStringBinding;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
@@ -49,14 +55,16 @@
+ "</ipo:purchaseOrder>";
private MediatorImpl mediator;
+ private DataBindingRegistry bindingRegistry;
- /*
- * (non-Javadoc)
- *
- * @see junit.framework.TestCase#setUp()
- */
protected void setUp() throws Exception {
super.setUp();
+ bindingRegistry = new DataBindingRegistryImpl();
+ bindingRegistry.register(new DOMBinding());
+ bindingRegistry.register(new SAXContentHandlerBinding());
+ bindingRegistry.register(new WriterBinding());
+ bindingRegistry.register(new XMLStringBinding());
+
TransformerRegistry registry = new TransformerRegistryImpl();
registry.registerTransformer(new String2SAX());
registry.registerTransformer(new SAX2DOMPipe());
@@ -67,8 +75,17 @@
mediator.setRegistry(registry);
}
+ @SuppressWarnings("unchecked")
+ private TransformationContext createTransformationContext(Class sourceType, Class targetType) {
+ TransformationContext context = new TransformationContextImpl();
+ context.setSourceDataBinding(bindingRegistry.introspectType(sourceType));
+ context.setTargetDataBinding(bindingRegistry.introspectType(targetType));
+ return context;
+ }
+
public void testTransform1() {
- Object node = mediator.mediate(IPO_XML, String.class, Node.class, null);
+ TransformationContext context = createTransformationContext(String.class, Node.class);
+ Object node = mediator.mediate(IPO_XML, context.getSourceDataBinding(), context.getTargetDataBinding());
Assert.assertTrue(node instanceof Document);
Element root = ((Document) node).getDocumentElement();
Assert.assertEquals(root.getNamespaceURI(), "http://www.example.com/IPO");
@@ -76,8 +93,9 @@
}
public void testTransform2() {
+ TransformationContext context = createTransformationContext(String.class, Writer.class);
Writer writer = new StringWriter();
- mediator.mediate(IPO_XML, writer, String.class, Writer.class, null);
+ mediator.mediate(IPO_XML, writer, context.getSourceDataBinding(), context.getTargetDataBinding());
String str = writer.toString();
Assert.assertTrue(str != null && str.indexOf("<shipDate>1999-12-05</shipDate>") != -1);
}
Modified: incubator/tuscany/java/sca/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/trax/Node2StringTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/trax/Node2StringTestCase.java?rev=432155&r1=432154&r2=432155&view=diff
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/trax/Node2StringTestCase.java (original)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/trax/Node2StringTestCase.java Wed Aug 16 22:42:57 2006
@@ -18,19 +18,15 @@
*/
package org.apache.tuscany.databinding.trax;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
+import junit.framework.TestCase;
+import org.apache.tuscany.databinding.xml.DOMHelper;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
-import junit.framework.TestCase;
-
public class Node2StringTestCase extends TestCase {
public void testTransformation() throws Exception {
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- DocumentBuilder builder = factory.newDocumentBuilder();
- Document document = builder.newDocument();
+ Document document = DOMHelper.newDocument();
Element element = document.createElementNS("http://ns1", "test");
document.appendChild(element);
Added: incubator/tuscany/java/sca/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/util/PropertyMediatorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/util/PropertyMediatorTestCase.java?rev=432155&view=auto
==============================================================================
--- incubator/tuscany/java/sca/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/util/PropertyMediatorTestCase.java (added)
+++ incubator/tuscany/java/sca/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/util/PropertyMediatorTestCase.java Wed Aug 16 22:42:57 2006
@@ -0,0 +1,77 @@
+/**
+ *
+ * Copyright 2006 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.databinding.util;
+
+import java.io.StringReader;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.FactoryConfigurationError;
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamConstants;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+import org.apache.tuscany.databinding.xml.XMLStreamReader2Node;
+import org.w3c.dom.Node;
+
+/**
+ *
+ */
+public class PropertyMediatorTestCase extends TestCase {
+ private static final String xml = "<?xml version=\"1.0\" encoding=\"ASCII\"?>" +
+
+ "<composite xmlns=\"http://www.osoa.org/xmlns/sca/1.0\" xmlns:foo=\"http://foo.com\" name=\"AccountServices\">"
+ + "<property name=\"complexFoo\" type=\"foo:MyComplexType\"><foo:a>AValue</foo:a><foo:b>InterestingURI</foo:b>"
+ + "</property></composite>";
+
+ private QName name = new QName("http://www.osoa.org/xmlns/sca/1.0", "property");
+
+ /**
+ * @see junit.framework.TestCase#setUp()
+ */
+ protected void setUp() throws Exception {
+ super.setUp();
+ }
+
+ public void testProperty() throws FactoryConfigurationError, XMLStreamException {
+ XMLInputFactory factory = XMLInputFactory.newInstance();
+ XMLStreamReader reader = factory.createXMLStreamReader(new StringReader(xml));
+
+ boolean fragmentOnly = false;
+
+ while (fragmentOnly) {
+ int event = reader.getEventType();
+ if (event == XMLStreamConstants.START_ELEMENT) {
+ if (reader.getName().equals(name))
+ break;
+ }
+ if (reader.hasNext())
+ reader.next();
+ else
+ return;
+ }
+
+ XMLStreamReader2Node t1 = new XMLStreamReader2Node();
+ Node node = t1.transform(reader, null);
+ Assert.assertNotNull(node);
+ }
+
+}
Propchange: incubator/tuscany/java/sca/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/util/PropertyMediatorTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/databinding/databinding-framework/src/test/java/org/apache/tuscany/databinding/util/PropertyMediatorTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org