diff options
author | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2009-04-24 06:34:46 +0000 |
---|---|---|
committer | antelder <antelder@13f79535-47bb-0310-9956-ffa450edef68> | 2009-04-24 06:34:46 +0000 |
commit | 91d1921d865a36835f0c0f0d5032ea9adbbfa48e (patch) | |
tree | f46d4538d82cdeb5592998408652403947bfe1f0 /java/sca/modules/workspace-xml/src | |
parent | 7d2015dddd3fe6e34127f22f15398b82b6385f52 (diff) |
Merge workspace xml processor into model module
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@768168 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/sca/modules/workspace-xml/src')
5 files changed, 0 insertions, 433 deletions
diff --git a/java/sca/modules/workspace-xml/src/main/java/org/apache/tuscany/sca/workspace/xml/WorkspaceDocumentProcessor.java b/java/sca/modules/workspace-xml/src/main/java/org/apache/tuscany/sca/workspace/xml/WorkspaceDocumentProcessor.java deleted file mode 100644 index 91a6b8dcea..0000000000 --- a/java/sca/modules/workspace-xml/src/main/java/org/apache/tuscany/sca/workspace/xml/WorkspaceDocumentProcessor.java +++ /dev/null @@ -1,130 +0,0 @@ -/* - * 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.workspace.xml; - -import java.io.IOException; -import java.io.InputStream; -import java.net.URI; -import java.net.URL; -import java.net.URLConnection; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; - -import org.apache.tuscany.sca.contribution.processor.ContributionReadException; -import org.apache.tuscany.sca.contribution.processor.ContributionResolveException; -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.monitor.Monitor; -import org.apache.tuscany.sca.monitor.Problem; -import org.apache.tuscany.sca.monitor.Problem.Severity; -import org.apache.tuscany.sca.workspace.Workspace; - -/** - * A contribution workspace document processor. - * - * @version $Rev$ $Date$ - */ -public class WorkspaceDocumentProcessor implements URLArtifactProcessor<Workspace> { - private XMLInputFactory inputFactory; - private StAXArtifactProcessor<Object> staxProcessor; - private Monitor monitor; - - /** - * Constructs a new componentType processor. - * @param factory - * @param policyFactory - * @param registry - */ - public WorkspaceDocumentProcessor(StAXArtifactProcessor<Object> staxProcessor, - XMLInputFactory inputFactory, - Monitor monitor) { - this.staxProcessor = staxProcessor; - this.inputFactory = inputFactory; - this.monitor = monitor; - } - - /** - * Report a exception. - * - * @param problems - * @param message - * @param model - */ - private void error(String message, Object model, Exception ex) { - if (monitor != null) { - Problem problem = monitor.createProblem(this.getClass().getName(), "workspace-xml-validation-messages", Severity.ERROR, model, message, ex); - monitor.problem(problem); - } - } - - public Workspace read(URL contributionURL, URI uri, URL url) throws ContributionReadException { - InputStream urlStream = null; - try { - - // Create a stream reader - URLConnection connection = url.openConnection(); - connection.setUseCaches(false); - urlStream = connection.getInputStream(); - XMLStreamReader reader = inputFactory.createXMLStreamReader(url.toString(), urlStream); - reader.nextTag(); - - // Read the workspace model - Workspace workspace = (Workspace)staxProcessor.read(reader); - if (workspace != null) { - workspace.setURI(uri.toString()); - } - - return workspace; - - } catch (XMLStreamException e) { - ContributionReadException ce = new ContributionReadException(e); - error("ContributionReadException", inputFactory, ce); - throw ce; - } catch (IOException e) { - ContributionReadException ce = new ContributionReadException(e); - error("ContributionReadException", staxProcessor, ce); - throw ce; - } 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; - } -} diff --git a/java/sca/modules/workspace-xml/src/main/java/org/apache/tuscany/sca/workspace/xml/WorkspaceProcessor.java b/java/sca/modules/workspace-xml/src/main/java/org/apache/tuscany/sca/workspace/xml/WorkspaceProcessor.java deleted file mode 100644 index 54b6184b07..0000000000 --- a/java/sca/modules/workspace-xml/src/main/java/org/apache/tuscany/sca/workspace/xml/WorkspaceProcessor.java +++ /dev/null @@ -1,167 +0,0 @@ -/* - * 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.workspace.xml; - -import static javax.xml.stream.XMLStreamConstants.END_ELEMENT; -import static javax.xml.stream.XMLStreamConstants.START_ELEMENT; - -import java.util.List; - -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.processor.BaseStAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.ContributionReadException; -import org.apache.tuscany.sca.contribution.processor.ContributionResolveException; -import org.apache.tuscany.sca.contribution.processor.ContributionWriteException; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.resolver.ModelResolver; -import org.apache.tuscany.sca.core.FactoryExtensionPoint; -import org.apache.tuscany.sca.monitor.Monitor; -import org.apache.tuscany.sca.workspace.Workspace; -import org.apache.tuscany.sca.workspace.WorkspaceFactory; - -/** - * A contribution workspace processor. - * - * @version $Rev$ $Date$ - */ -public class WorkspaceProcessor extends BaseStAXArtifactProcessor implements StAXArtifactProcessor<Workspace> { - - private static final String SCA10_TUSCANY_NS = "http://tuscany.apache.org/xmlns/sca/1.1"; - 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"; - - private WorkspaceFactory workspaceFactory; - private ContributionFactory contributionFactory; - - /** - * Constructs a new contribution workspace processor. - * - * @param contributionFactory - * @param extensionProcessor - */ - public WorkspaceProcessor(WorkspaceFactory workspaceFactory, ContributionFactory contributionFactory, StAXArtifactProcessor<Object> extensionProcessor) { - this.workspaceFactory = workspaceFactory; - this.contributionFactory = contributionFactory; - } - - /** - * Constructs a new contribution workspace processor. - * - * @param modelFactories - * @param extensionProcessor - */ - public WorkspaceProcessor(FactoryExtensionPoint modelFactories, StAXArtifactProcessor<Object> extensionProcessor, Monitor monitor) { - this.workspaceFactory = modelFactories.getFactory(WorkspaceFactory.class); - this.contributionFactory = modelFactories.getFactory(ContributionFactory.class); - } - - 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 = workspaceFactory.createWorkspace(); - workspace.setUnresolved(true); - - } 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 { - - // Resolve the contributions referenced by the workspace - List<Contribution> contributions = workspace.getContributions(); - for (int i = 0, n = contributions.size(); i < n; i++) { - Contribution contribution = contributions.get(i); - Contribution resolved = resolver.resolveModel(Contribution.class, contribution); - if (resolved != contribution) { - contributions.set(i, resolved); - } - } - - workspace.setUnresolved(false); - } - - public QName getArtifactType() { - return WORKSPACE_QNAME; - } - - public Class<Workspace> getModelType() { - return Workspace.class; - } -} diff --git a/java/sca/modules/workspace-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor b/java/sca/modules/workspace-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor deleted file mode 100644 index 86a302a103..0000000000 --- a/java/sca/modules/workspace-xml/src/main/resources/META-INF/services/org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor +++ /dev/null @@ -1,19 +0,0 @@ -# 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. - -# Implementation class for the artifact processor extension -org.apache.tuscany.sca.workspace.xml.WorkspaceProcessor;qname=http://tuscany.apache.org/xmlns/sca/1.1#workspace,model=org.apache.tuscany.sca.workspace.Workspace diff --git a/java/sca/modules/workspace-xml/src/main/resources/workspace-xml-validation-messages.properties b/java/sca/modules/workspace-xml/src/main/resources/workspace-xml-validation-messages.properties deleted file mode 100644 index e054591a31..0000000000 --- a/java/sca/modules/workspace-xml/src/main/resources/workspace-xml-validation-messages.properties +++ /dev/null @@ -1,22 +0,0 @@ -# -# -# 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. -# -# -ContributionReadException = ContributionReadException occured due to : -ContributionResolveException = ContributionResolveException occured due to :
\ No newline at end of file diff --git a/java/sca/modules/workspace-xml/src/test/java/org/apache/tuscany/sca/workspace/xml/ContributionWorkspaceProcessorTestCase.java b/java/sca/modules/workspace-xml/src/test/java/org/apache/tuscany/sca/workspace/xml/ContributionWorkspaceProcessorTestCase.java deleted file mode 100644 index f7c6616140..0000000000 --- a/java/sca/modules/workspace-xml/src/test/java/org/apache/tuscany/sca/workspace/xml/ContributionWorkspaceProcessorTestCase.java +++ /dev/null @@ -1,95 +0,0 @@ -/* - * 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.workspace.xml; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; - -import java.io.StringReader; - -import javax.xml.stream.XMLInputFactory; -import javax.xml.stream.XMLStreamException; -import javax.xml.stream.XMLStreamReader; - -import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor; -import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint; -import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry; -import org.apache.tuscany.sca.workspace.Workspace; -import org.junit.BeforeClass; -import org.junit.Test; - -/** - * Test the workspace processor. - * - * @version $Rev$ $Date$ - */ - -public class ContributionWorkspaceProcessorTestCase { - - private static final String VALID_XML = - "<?xml version=\"1.0\" encoding=\"ASCII\"?>" + "<workspace xmlns=\"http://tuscany.apache.org/xmlns/sca/1.1\">" - + "<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.1\">" - + "<contribution uri=\"uri1\" location=\"location1\"/>" - + "<contribution uri=\"uri2\" location=\"location2\"/>" - + "</contribution>" - + "</workspace>"; - - private static XMLInputFactory inputFactory; - private static StAXArtifactProcessor<Object> staxProcessor; - - @BeforeClass - public static void setUp() throws Exception { - DefaultExtensionPointRegistry extensionPoints = new DefaultExtensionPointRegistry(); - inputFactory = XMLInputFactory.newInstance(); - StAXArtifactProcessorExtensionPoint staxProcessors = - new DefaultStAXArtifactProcessorExtensionPoint(extensionPoints); - staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, null, null); - } - - @Test - public void testRead() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(VALID_XML)); - Workspace workspace = (Workspace)staxProcessor.read(reader); - assertNotNull(workspace); - assertEquals(2, workspace.getContributions().size()); - assertEquals("uri2", workspace.getContributions().get(1).getURI()); - assertEquals("location2", workspace.getContributions().get(1).getLocation()); - } - - @Test - public void testReadInvalid() throws Exception { - XMLStreamReader reader = inputFactory.createXMLStreamReader(new StringReader(INVALID_XML)); - try { - staxProcessor.read(reader); - fail("InvalidException should have been thrown"); - } catch (XMLStreamException e) { - assertTrue(true); - } - } -} |