You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by js...@apache.org on 2008/02/05 10:20:07 UTC
svn commit: r618585 - in /incubator/tuscany/java/sca/modules:
contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/
contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/
contribution/src/main/java/org/apache/tuscany/...
Author: jsdelfino
Date: Tue Feb 5 01:20:05 2008
New Revision: 618585
URL: http://svn.apache.org/viewvc?rev=618585&view=rev
Log:
Cleaned up contribution metadata processor. Initial implementation of a contribution workspace processor.
Added:
incubator/tuscany/java/sca/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionWorkspaceDocumentProcessor.java (with props)
incubator/tuscany/java/sca/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionWorkspaceProcessor.java (with props)
incubator/tuscany/java/sca/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessorTestCase.java
- copied, changed from r618158, incubator/tuscany/java/sca/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataDocumentProcessorTestCase.java
incubator/tuscany/java/sca/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionWorkspaceProcessorTestCase.java (with props)
Removed:
incubator/tuscany/java/sca/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataDocumentProcessorTestCase.java
Modified:
incubator/tuscany/java/sca/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessor.java
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/BaseStAXArtifactProcessor.java
Modified: incubator/tuscany/java/sca/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessor.java?rev=618585&r1=618584&r2=618585&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessor.java Tue Feb 5 01:20:05 2008
@@ -40,7 +40,7 @@
import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
/**
- * Processor responsible for loading particular elements from contribution metadata file
+ * Processor for contribution metadata
*
* @version $Rev$ $Date$
*/
@@ -48,8 +48,8 @@
private static final String SCA10_NS = "http://www.osoa.org/xmlns/sca/1.0";
- private static final QName CONTRIBUTION = new QName(SCA10_NS, "contribution");
- private static final QName DEPLOYABLE = new QName(SCA10_NS, "deployable");
+ private static final QName CONTRIBUTION_QNAME = new QName(SCA10_NS, "contribution");
+ private static final QName DEPLOYABLE_QNAME = new QName(SCA10_NS, "deployable");
private final AssemblyFactory assemblyFactory;
private final ContributionFactory contributionFactory;
@@ -57,7 +57,6 @@
private final StAXArtifactProcessor<Object> extensionProcessor;
public ContributionMetadataProcessor(AssemblyFactory assemblyFactory, ContributionFactory contributionFactory, StAXArtifactProcessor<Object> extensionProcessor) {
- super();
this.assemblyFactory = assemblyFactory;
this.contributionFactory = contributionFactory;
this.extensionProcessor = extensionProcessor;
@@ -65,7 +64,7 @@
public QName getArtifactType() {
- return CONTRIBUTION;
+ return CONTRIBUTION_QNAME;
}
public Class<Contribution> getModelType() {
@@ -74,20 +73,20 @@
public Contribution read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
Contribution contribution = null;
+ QName name = null;
- QName element = null;
while (reader.hasNext()) {
int event = reader.getEventType();
switch (event) {
case START_ELEMENT:
- element = reader.getName();
+ name = reader.getName();
- if (CONTRIBUTION.equals(element)) {
+ if (CONTRIBUTION_QNAME.equals(name)) {
// Read <contribution>
contribution = this.contributionFactory.createContribution();
- } else if (DEPLOYABLE.equals(element)) {
+ } else if (DEPLOYABLE_QNAME.equals(name)) {
// Read <deployable>
@@ -118,7 +117,7 @@
break;
case XMLStreamConstants.END_ELEMENT:
- if (CONTRIBUTION.equals(reader.getName())) {
+ if (CONTRIBUTION_QNAME.equals(reader.getName())) {
return contribution;
}
break;
@@ -136,21 +135,21 @@
public void write(Contribution contribution, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException {
// Write <contribution>
- writeStartDocument(writer, CONTRIBUTION.getNamespaceURI(), CONTRIBUTION.getLocalPart());
+ writeStartDocument(writer, CONTRIBUTION_QNAME.getNamespaceURI(), CONTRIBUTION_QNAME.getLocalPart());
- // Write imports
+ // Write <import>
for (Import imp: contribution.getImports()) {
extensionProcessor.write(imp, writer);
}
- // Write exports
+ // Write <export>
for (Export export: contribution.getExports()) {
extensionProcessor.write(export, writer);
}
- // Write <deployable> elements
+ // Write <deployable>
for (Composite deployable: contribution.getDeployables()) {
- writeStart(writer, DEPLOYABLE.getNamespaceURI(), DEPLOYABLE.getLocalPart(),
+ writeStart(writer, DEPLOYABLE_QNAME.getNamespaceURI(), DEPLOYABLE_QNAME.getLocalPart(),
new XAttr("composite", deployable.getName()));
writeEnd(writer);
}
Added: incubator/tuscany/java/sca/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionWorkspaceDocumentProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionWorkspaceDocumentProcessor.java?rev=618585&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionWorkspaceDocumentProcessor.java (added)
+++ incubator/tuscany/java/sca/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionWorkspaceDocumentProcessor.java Tue Feb 5 01:20:05 2008
@@ -0,0 +1,102 @@
+/*
+ * 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.tuscany.sca.contribution.xml;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URI;
+import java.net.URL;
+
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+
+import org.apache.tuscany.sca.contribution.Workspace;
+import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor;
+import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
+import org.apache.tuscany.sca.contribution.service.ContributionReadException;
+import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
+
+/**
+ * A contribution workspace document processor.
+ *
+ * @version $Rev$ $Date$
+ */
+public class ContributionWorkspaceDocumentProcessor implements URLArtifactProcessor<Workspace> {
+ private XMLInputFactory inputFactory;
+ private StAXArtifactProcessor<Object> staxProcessor;
+
+ /**
+ * Constructs a new componentType processor.
+ * @param factory
+ * @param policyFactory
+ * @param registry
+ */
+ public ContributionWorkspaceDocumentProcessor(StAXArtifactProcessor<Object> staxProcessor, XMLInputFactory inputFactory) {
+ this.staxProcessor = staxProcessor;
+ this.inputFactory = inputFactory;
+ }
+
+ public Workspace read(URL contributionURL, URI uri, URL url) throws ContributionReadException {
+ InputStream urlStream = null;
+ try {
+
+ // Create a stream reader
+ urlStream = url.openStream();
+ XMLStreamReader reader = inputFactory.createXMLStreamReader(url.toString(), urlStream);
+ reader.nextTag();
+
+ // Reader the componentType model
+ Workspace workspace = (Workspace)staxProcessor.read(reader);
+ if (workspace != null) {
+ workspace.setURI(uri.toString());
+ }
+
+ return workspace;
+
+ } catch (XMLStreamException e) {
+ throw new ContributionReadException(e);
+ } catch (IOException e) {
+ throw new ContributionReadException(e);
+ } finally {
+ try {
+ if (urlStream != null) {
+ urlStream.close();
+ urlStream = null;
+ }
+ } catch (IOException ioe) {
+ //ignore
+ }
+ }
+ }
+
+ public void resolve(Workspace workspace, ModelResolver resolver) throws ContributionResolveException {
+ staxProcessor.resolve(workspace, resolver);
+ }
+
+ public String getArtifactType() {
+ return ".workspace";
+ }
+
+ public Class<Workspace> getModelType() {
+ return Workspace.class;
+ }
+}
Propchange: incubator/tuscany/java/sca/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionWorkspaceDocumentProcessor.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionWorkspaceDocumentProcessor.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: incubator/tuscany/java/sca/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionWorkspaceProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionWorkspaceProcessor.java?rev=618585&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionWorkspaceProcessor.java (added)
+++ incubator/tuscany/java/sca/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionWorkspaceProcessor.java Tue Feb 5 01:20:05 2008
@@ -0,0 +1,136 @@
+/*
+ * 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.tuscany.sca.contribution.xml;
+
+import static javax.xml.stream.XMLStreamConstants.END_ELEMENT;
+import static javax.xml.stream.XMLStreamConstants.START_ELEMENT;
+
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+import javax.xml.stream.XMLStreamWriter;
+
+import org.apache.tuscany.sca.contribution.Contribution;
+import org.apache.tuscany.sca.contribution.ContributionFactory;
+import org.apache.tuscany.sca.contribution.Workspace;
+import org.apache.tuscany.sca.contribution.processor.BaseStAXArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
+import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
+import org.apache.tuscany.sca.contribution.service.ContributionReadException;
+import org.apache.tuscany.sca.contribution.service.ContributionResolveException;
+import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
+
+/**
+ * A contribution workspace processor.
+ *
+ * @version $Rev$ $Date$
+ */
+public class ContributionWorkspaceProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor<Workspace> {
+
+ private ContributionFactory contributionFactory;
+
+ private static final String SCA10_TUSCANY_NS = "http://tuscany.apache.org/xmlns/sca/1.0";
+ private static final QName WORKSPACE_QNAME = new QName(SCA10_TUSCANY_NS, "workspace");
+ private static final QName CONTRIBUTION_QNAME = new QName(SCA10_TUSCANY_NS, "contribution");
+ private static final String URI = "uri";
+ private static final String LOCATION = "location";
+
+ /**
+ * Constructs a new contribution workspace processor.
+ * @param contributionFactory
+ * @param extensionProcessor
+ */
+ public ContributionWorkspaceProcessor(ContributionFactory contributionFactory, StAXArtifactProcessor<Object> extensionProcessor) {
+ this.contributionFactory = contributionFactory;
+ }
+
+ public Workspace read(XMLStreamReader reader) throws ContributionReadException, XMLStreamException {
+
+ Workspace workspace = null;
+ Contribution contribution = null;
+
+ // Read the workspace document
+ while (reader.hasNext()) {
+ int event = reader.getEventType();
+ switch (event) {
+ case START_ELEMENT:
+ QName name = reader.getName();
+
+ if (WORKSPACE_QNAME.equals(name)) {
+
+ // Read a <workspace>
+ workspace = contributionFactory.createWorkspace();
+
+ } else if (CONTRIBUTION_QNAME.equals(name)) {
+
+ // Read a <contribution>
+ contribution = contributionFactory.createContribution();
+ contribution.setURI(getString(reader, URI));
+ contribution.setLocation(getString(reader, LOCATION));
+ contribution.setUnresolved(true);
+ workspace.getContributions().add(contribution);
+ }
+ break;
+
+ case END_ELEMENT:
+ name = reader.getName();
+
+ // Clear current state when reading reaching end element
+ if (CONTRIBUTION_QNAME.equals(name)) {
+ contribution = null;
+ }
+ break;
+ }
+
+ // Read the next element
+ if (reader.hasNext()) {
+ reader.next();
+ }
+ }
+ return workspace;
+ }
+
+ public void write(Workspace workspace, XMLStreamWriter writer) throws ContributionWriteException, XMLStreamException {
+
+ // Write <workspace> element
+ writeStartDocument(writer, WORKSPACE_QNAME);
+
+ // Write <contribution> elements
+ for (Contribution contribution: workspace.getContributions()) {
+ writeStart(writer, CONTRIBUTION_QNAME,
+ new XAttr(URI, contribution.getURI()), new XAttr(LOCATION, contribution.getLocation()));
+ writeEnd(writer);
+ }
+
+ writeEndDocument(writer);
+ }
+
+ public void resolve(Workspace workspace, ModelResolver resolver) throws ContributionResolveException {
+ //TODO Resolve contribution models
+ }
+
+ public QName getArtifactType() {
+ return WORKSPACE_QNAME;
+ }
+
+ public Class<Workspace> getModelType() {
+ return Workspace.class;
+ }
+}
Propchange: incubator/tuscany/java/sca/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionWorkspaceProcessor.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/modules/contribution-xml/src/main/java/org/apache/tuscany/sca/contribution/xml/ContributionWorkspaceProcessor.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Copied: incubator/tuscany/java/sca/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessorTestCase.java (from r618158, incubator/tuscany/java/sca/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataDocumentProcessorTestCase.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?p2=incubator/tuscany/java/sca/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessorTestCase.java&p1=incubator/tuscany/java/sca/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataDocumentProcessorTestCase.java&r1=618158&r2=618585&rev=618585&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataDocumentProcessorTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionMetadataProcessorTestCase.java Tue Feb 5 01:20:05 2008
@@ -39,7 +39,7 @@
* @version $Rev$ $Date$
*/
-public class ContributionMetadataDocumentProcessorTestCase extends TestCase {
+public class ContributionMetadataProcessorTestCase extends TestCase {
private static final String VALID_XML =
"<?xml version=\"1.0\" encoding=\"ASCII\"?>"
@@ -61,30 +61,30 @@
xmlFactory = XMLInputFactory.newInstance();
}
- public void testLoad() throws Exception {
+ public void testRead() throws Exception {
XMLStreamReader reader = xmlFactory.createXMLStreamReader(new StringReader(VALID_XML));
AssemblyFactory assemblyFactory = new DefaultAssemblyFactory();
ContributionFactory contributionFactory = new DefaultContributionFactory();
- ContributionMetadataProcessor loader =
+ ContributionMetadataProcessor processor =
new ContributionMetadataProcessor(assemblyFactory, contributionFactory, null);
Contribution contribution = contributionFactory.createContribution();
contribution.setModelResolver(new TestModelResolver(contribution, null));
- contribution = loader.read(reader);
+ contribution = processor.read(reader);
assertNotNull(contribution);
assertEquals(2, contribution.getDeployables().size());
}
- public void testLoadInvalid() throws Exception {
+ public void testReadInvalid() throws Exception {
XMLStreamReader reader = xmlFactory.createXMLStreamReader(new StringReader(INVALID_XML));
AssemblyFactory assemblyFactory = new DefaultAssemblyFactory();
ContributionFactory contributionFactory = new DefaultContributionFactory();
- ContributionMetadataProcessor loader =
+ ContributionMetadataProcessor processor =
new ContributionMetadataProcessor(assemblyFactory, contributionFactory, null);
Contribution contribution = contributionFactory.createContribution();
contribution.setModelResolver(new TestModelResolver(contribution, null));
try {
- loader.read(reader);
+ processor.read(reader);
fail("InvalidException should have been thrown");
} catch (ContributionReadException e) {
assertTrue(true);
Added: incubator/tuscany/java/sca/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionWorkspaceProcessorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionWorkspaceProcessorTestCase.java?rev=618585&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionWorkspaceProcessorTestCase.java (added)
+++ incubator/tuscany/java/sca/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionWorkspaceProcessorTestCase.java Tue Feb 5 01:20:05 2008
@@ -0,0 +1,89 @@
+/*
+ * 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.tuscany.sca.contribution.xml;
+
+import java.io.StringReader;
+
+import javax.xml.stream.XMLInputFactory;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+
+import junit.framework.TestCase;
+
+import org.apache.tuscany.sca.contribution.ContributionFactory;
+import org.apache.tuscany.sca.contribution.DefaultContributionFactory;
+import org.apache.tuscany.sca.contribution.Workspace;
+
+/**
+ * Test the contribution metadata processor.
+ *
+ * @version $Rev$ $Date$
+ */
+
+public class ContributionWorkspaceProcessorTestCase extends TestCase {
+
+ private static final String VALID_XML =
+ "<?xml version=\"1.0\" encoding=\"ASCII\"?>"
+ + "<workspace xmlns=\"http://tuscany.apache.org/xmlns/sca/1.0\">"
+ + "<contribution uri=\"uri1\" location=\"location1\"/>"
+ + "<contribution uri=\"uri2\" location=\"location2\"/>"
+ + "</workspace>";
+
+ private static final String INVALID_XML =
+ "<?xml version=\"1.0\" encoding=\"ASCII\"?>"
+ + "<workspace xmlns=\"http://tuscany.apache.org/xmlns/sca/1.0\">"
+ + "<contribution uri=\"uri1\" location=\"location1\"/>"
+ + "<contribution uri=\"uri2\" location=\"location2\"/>"
+ + "</contribution>"
+ + "</workspace>";
+
+ private XMLInputFactory xmlFactory;
+
+ @Override
+ protected void setUp() throws Exception {
+ xmlFactory = XMLInputFactory.newInstance();
+ }
+
+ public void testRead() throws Exception {
+ XMLStreamReader reader = xmlFactory.createXMLStreamReader(new StringReader(VALID_XML));
+
+ ContributionFactory contributionFactory = new DefaultContributionFactory();
+ ContributionWorkspaceProcessor processor =
+ new ContributionWorkspaceProcessor(contributionFactory, null);
+ Workspace workspace = processor.read(reader);
+ assertNotNull(workspace);
+ assertEquals(2, workspace.getContributions().size());
+ assertEquals("uri2", workspace.getContributions().get(1).getURI());
+ assertEquals("location2", workspace.getContributions().get(1).getLocation());
+ }
+
+ public void testReadInvalid() throws Exception {
+ XMLStreamReader reader = xmlFactory.createXMLStreamReader(new StringReader(INVALID_XML));
+ ContributionFactory contributionFactory = new DefaultContributionFactory();
+ ContributionWorkspaceProcessor processor =
+ new ContributionWorkspaceProcessor(contributionFactory, null);
+ try {
+ processor.read(reader);
+ fail("InvalidException should have been thrown");
+ } catch (XMLStreamException e) {
+ assertTrue(true);
+ }
+ }
+}
Propchange: incubator/tuscany/java/sca/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionWorkspaceProcessorTestCase.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: incubator/tuscany/java/sca/modules/contribution-xml/src/test/java/org/apache/tuscany/sca/contribution/xml/ContributionWorkspaceProcessorTestCase.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Modified: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/BaseStAXArtifactProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/BaseStAXArtifactProcessor.java?rev=618585&r1=618584&r2=618585&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/BaseStAXArtifactProcessor.java (original)
+++ incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/BaseStAXArtifactProcessor.java Tue Feb 5 01:20:05 2008
@@ -225,7 +225,17 @@
}
writeAttributes(writer, attrs);
}
-
+
+ /**
+ * Start an element.
+ * @param qname
+ * @param attrs
+ * @throws XMLStreamException
+ */
+ protected void writeStart(XMLStreamWriter writer, QName qname, XAttr... attrs) throws XMLStreamException {
+ writeStart(writer, qname.getNamespaceURI(), qname.getLocalPart(), attrs);
+ }
+
/**
* End an element.
* @param writer
@@ -245,6 +255,17 @@
writer.setDefaultNamespace(uri);
writeStart(writer, uri, name, attrs);
writer.writeDefaultNamespace(uri);
+ }
+
+ /**
+ * Start a document.
+ * @param writer
+ * @param qname
+ * @param attrs
+ * @throws XMLStreamException
+ */
+ protected void writeStartDocument(XMLStreamWriter writer, QName qname, XAttr... attrs) throws XMLStreamException {
+ writeStartDocument(writer, qname.getNamespaceURI(), qname.getLocalPart(), attrs);
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org