You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by lr...@apache.org on 2008/03/05 00:16:38 UTC
svn commit: r633702 -
/incubator/tuscany/java/sca/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessorTestCase.java
Author: lresende
Date: Tue Mar 4 15:16:35 2008
New Revision: 633702
URL: http://svn.apache.org/viewvc?rev=633702&view=rev
Log:
TUSCANY-2057 - Added testcase to check properly writting the contribution metadata document and fixed xmlOutputFactory to properly repair name spaces by using property : XMLOutputFactory.IS_REPAIRING_NAMESPACES
Modified:
incubator/tuscany/java/sca/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessorTestCase.java
Modified: incubator/tuscany/java/sca/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessorTestCase.java?rev=633702&r1=633701&r2=633702&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessorTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessorTestCase.java Tue Mar 4 15:16:35 2008
@@ -20,9 +20,13 @@
package org.apache.tuscany.sca.contribution.xml;
import java.io.StringReader;
+import java.io.StringWriter;
+import javax.xml.namespace.QName;
import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLOutputFactory;
import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLStreamWriter;
import junit.framework.TestCase;
@@ -42,27 +46,31 @@
public class ContributionMetadataProcessorTestCase extends TestCase {
private static final String VALID_XML =
- "<?xml version=\"1.0\" encoding=\"ASCII\"?>"
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ "<contribution xmlns=\"http://www.osoa.org/xmlns/sca/1.0\" xmlns:ns=\"http://ns\">"
+ "<deployable composite=\"ns:Composite1\"/>"
+ "<deployable composite=\"ns:Composite2\"/>"
+ "</contribution>";
private static final String INVALID_XML =
- "<?xml version=\"1.0\" encoding=\"ASCII\"?>"
+ "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ "<contribution xmlns=\"http://www.osoa.org/xmlns/sca/1.0\" xmlns:ns=\"http://ns\">"
+ "<deployable composite=\"ns:Composite1\"/>"
+ "<deployable/>"
+ "</contribution>";
- private XMLInputFactory xmlFactory;
+
+ private XMLInputFactory xmlInputFactory;
+ private XMLOutputFactory xmlOutputFactory;
@Override
protected void setUp() throws Exception {
- xmlFactory = XMLInputFactory.newInstance();
+ xmlInputFactory = XMLInputFactory.newInstance();
+ xmlOutputFactory = XMLOutputFactory.newInstance();
+ xmlOutputFactory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, true);
}
public void testRead() throws Exception {
- XMLStreamReader reader = xmlFactory.createXMLStreamReader(new StringReader(VALID_XML));
+ XMLStreamReader reader = xmlInputFactory.createXMLStreamReader(new StringReader(VALID_XML));
AssemblyFactory assemblyFactory = new DefaultAssemblyFactory();
ContributionFactory contributionFactory = new DefaultContributionFactory();
@@ -76,7 +84,7 @@
}
public void testReadInvalid() throws Exception {
- XMLStreamReader reader = xmlFactory.createXMLStreamReader(new StringReader(INVALID_XML));
+ XMLStreamReader reader = xmlInputFactory.createXMLStreamReader(new StringReader(INVALID_XML));
AssemblyFactory assemblyFactory = new DefaultAssemblyFactory();
ContributionFactory contributionFactory = new DefaultContributionFactory();
ContributionMetadataProcessor processor =
@@ -90,4 +98,42 @@
assertTrue(true);
}
}
+
+ public void testWrite() throws Exception {
+ XMLStreamReader reader = xmlInputFactory.createXMLStreamReader(new StringReader(VALID_XML));
+
+ //read the original contribution metadata file
+ AssemblyFactory assemblyFactory = new DefaultAssemblyFactory();
+ ContributionFactory contributionFactory = new DefaultContributionFactory();
+ ContributionMetadataProcessor processor =
+ new ContributionMetadataProcessor(assemblyFactory, contributionFactory, null);
+ Contribution contribution = contributionFactory.createContribution();
+ contribution.setModelResolver(new TestModelResolver(contribution, null));
+ contribution = processor.read(reader);
+
+ validateContribution(contribution);
+
+ //write the contribution metadata contents
+ StringWriter stringWriter = new StringWriter();
+ XMLStreamWriter writer = xmlOutputFactory.createXMLStreamWriter(stringWriter);
+ processor.write(contribution, writer);
+ stringWriter.close();
+
+ reader = xmlInputFactory.createXMLStreamReader(new StringReader(stringWriter.toString()));
+ contribution = processor.read(reader);
+
+ validateContribution(contribution);
+ }
+
+ public void validateContribution(Contribution contribution) {
+ QName deployable;
+
+ assertNotNull(contribution);
+ assertEquals(2, contribution.getDeployables().size());
+ deployable = new QName("http://ns", "Composite1");
+ assertEquals(deployable, contribution.getDeployables().get(0).getName());
+ deployable = new QName("http://ns", "Composite2");
+ assertEquals(deployable, contribution.getDeployables().get(1).getName());
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org