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/03/01 03:29:06 UTC
svn commit: r632538 - in
/incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl:
CompositeCollectionImpl.java WorkspaceCollectionImpl.java
Author: jsdelfino
Date: Fri Feb 29 18:29:05 2008
New Revision: 632538
URL: http://svn.apache.org/viewvc?rev=632538&view=rev
Log:
Use the artifact processor extension mechanism to drive the proper artifact processors.
Modified:
incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/CompositeCollectionImpl.java
incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/WorkspaceCollectionImpl.java
Modified: incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/CompositeCollectionImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/CompositeCollectionImpl.java?rev=632538&r1=632537&r2=632538&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/CompositeCollectionImpl.java (original)
+++ incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/CompositeCollectionImpl.java Fri Feb 29 18:29:05 2008
@@ -25,7 +25,6 @@
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
-import java.net.URI;
import java.util.ArrayList;
import java.util.List;
@@ -41,18 +40,18 @@
import org.apache.tuscany.sca.assembly.AssemblyFactory;
import org.apache.tuscany.sca.assembly.Composite;
-import org.apache.tuscany.sca.assembly.DefaultAssemblyFactory;
import org.apache.tuscany.sca.assembly.xml.CompositeProcessor;
import org.apache.tuscany.sca.assembly.xml.Constants;
import org.apache.tuscany.sca.contribution.ContributionFactory;
-import org.apache.tuscany.sca.contribution.DefaultContributionFactory;
+import org.apache.tuscany.sca.contribution.DefaultModelFactoryExtensionPoint;
+import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
import org.apache.tuscany.sca.contribution.service.ContributionReadException;
import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
import org.apache.tuscany.sca.implementation.data.collection.Entry;
import org.apache.tuscany.sca.implementation.data.collection.Item;
import org.apache.tuscany.sca.implementation.data.collection.NotFoundException;
import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
-import org.apache.tuscany.sca.policy.DefaultPolicyFactory;
+import org.apache.tuscany.sca.interfacedef.impl.InterfaceContractMapperImpl;
import org.apache.tuscany.sca.policy.PolicyFactory;
import org.apache.tuscany.sca.workspace.admin.CompositeCollection;
import org.apache.xml.serialize.OutputFormat;
@@ -76,9 +75,6 @@
public String compositeFileName;
private AssemblyFactory assemblyFactory;
- private ContributionFactory contributionFactory;
- private PolicyFactory policyFactory;
- private InterfaceContractMapper contractMapper;
private Composite compositeCollection;
private CompositeProcessor compositeProcessor;
private XMLOutputFactory outputFactory;
@@ -91,18 +87,20 @@
public void init() throws IOException, ContributionReadException, XMLStreamException, ParserConfigurationException {
// Create factories
- contributionFactory = new DefaultContributionFactory();
- assemblyFactory = new DefaultAssemblyFactory();
- policyFactory = new DefaultPolicyFactory();
- outputFactory = XMLOutputFactory.newInstance();
- outputFactory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, Boolean.TRUE);
+ ModelFactoryExtensionPoint modelFactories = new DefaultModelFactoryExtensionPoint();
+ assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
+ outputFactory = modelFactories.getFactory(XMLOutputFactory.class);
documentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
// Read domain.composite
+ ContributionFactory contributionFactory = modelFactories.getFactory(ContributionFactory.class);
+ PolicyFactory policyFactory = modelFactories.getFactory(PolicyFactory.class);
+ //FIXME dependency on implementation class
+ InterfaceContractMapper contractMapper = new InterfaceContractMapperImpl();
compositeProcessor = new CompositeProcessor(contributionFactory, assemblyFactory, policyFactory, contractMapper, null);
File file = new File(compositeFileName);
if (file.exists()) {
- XMLInputFactory inputFactory = XMLInputFactory.newInstance();
+ XMLInputFactory inputFactory = modelFactories.getFactory(XMLInputFactory.class);
FileInputStream is = new FileInputStream(file);
XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
compositeCollection = compositeProcessor.read(reader);
Modified: incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/WorkspaceCollectionImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/WorkspaceCollectionImpl.java?rev=632538&r1=632537&r2=632538&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/WorkspaceCollectionImpl.java (original)
+++ incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/WorkspaceCollectionImpl.java Fri Feb 29 18:29:05 2008
@@ -48,10 +48,16 @@
import org.apache.tuscany.sca.contribution.DefaultModelFactoryExtensionPoint;
import org.apache.tuscany.sca.contribution.ModelFactoryExtensionPoint;
import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
+import org.apache.tuscany.sca.contribution.processor.DefaultURLArtifactProcessorExtensionPoint;
import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
+import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor;
+import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint;
import org.apache.tuscany.sca.contribution.service.ContributionReadException;
import org.apache.tuscany.sca.contribution.service.ContributionWriteException;
+import org.apache.tuscany.sca.contribution.xml.ContributionGeneratedMetadataDocumentProcessor;
import org.apache.tuscany.sca.contribution.xml.ContributionMetadataDocumentProcessor;
import org.apache.tuscany.sca.contribution.xml.ContributionMetadataProcessor;
import org.apache.tuscany.sca.implementation.data.collection.Entry;
@@ -86,10 +92,10 @@
private AssemblyFactory assemblyFactory;
private WorkspaceFactory workspaceFactory;
private Workspace workspace;
- private WorkspaceProcessor workspaceProcessor;
+ private StAXArtifactProcessor<Object> staxProcessor;
+ private URLArtifactProcessor<Object> urlProcessor;
+ private URLArtifactProcessor<Contribution> contributionInfoProcessor;
private XMLOutputFactory outputFactory;
- private XMLInputFactory inputFactory;
- private ContributionInfoProcessor contributionProcessor;
/**
* Initialize the workspace administration component.
@@ -97,32 +103,35 @@
@Init
public void init() throws IOException, ContributionReadException, XMLStreamException, ParserConfigurationException {
- // Create extension points
- ModelFactoryExtensionPoint factories = new DefaultModelFactoryExtensionPoint();
- StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(factories);
- inputFactory = factories.getFactory(XMLInputFactory.class);
- outputFactory = factories.getFactory(XMLOutputFactory.class);
- outputFactory.setProperty(XMLOutputFactory.IS_REPAIRING_NAMESPACES, Boolean.TRUE);
- ExtensibleStAXArtifactProcessor extensionProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory);
-
- // Create factories
- contributionFactory = factories.getFactory(ContributionFactory.class);
- assemblyFactory = factories.getFactory(AssemblyFactory.class);
- workspaceFactory = factories.getFactory(WorkspaceFactory.class);
-
+ // Create model factories
+ ModelFactoryExtensionPoint modelFactories = new DefaultModelFactoryExtensionPoint();
+ outputFactory = modelFactories.getFactory(XMLOutputFactory.class);
+ contributionFactory = modelFactories.getFactory(ContributionFactory.class);
+ assemblyFactory = modelFactories.getFactory(AssemblyFactory.class);
+ workspaceFactory = modelFactories.getFactory(WorkspaceFactory.class);
+
+ // Create artifact processors
+ XMLInputFactory inputFactory = modelFactories.getFactory(XMLInputFactory.class);
+ StAXArtifactProcessorExtensionPoint staxProcessors = new DefaultStAXArtifactProcessorExtensionPoint(modelFactories);
+ staxProcessor = new ExtensibleStAXArtifactProcessor(staxProcessors, inputFactory, outputFactory);
+ staxProcessors.addArtifactProcessor(new ContributionMetadataProcessor(assemblyFactory, contributionFactory, staxProcessor));
+ staxProcessors.addArtifactProcessor(new WorkspaceProcessor(workspaceFactory, contributionFactory, staxProcessor));
+
+ URLArtifactProcessorExtensionPoint urlProcessors = new DefaultURLArtifactProcessorExtensionPoint(modelFactories);
+ urlProcessor = new ExtensibleURLArtifactProcessor(urlProcessors);
+ urlProcessors.addArtifactProcessor(new ContributionMetadataDocumentProcessor(staxProcessor, inputFactory));
+ urlProcessors.addArtifactProcessor(new ContributionGeneratedMetadataDocumentProcessor(staxProcessor, inputFactory));
+
// Create workspace and contribution artifact processors
- workspaceProcessor = new WorkspaceProcessor(workspaceFactory, contributionFactory, extensionProcessor);
- ContributionMetadataProcessor metadataProcessor = new ContributionMetadataProcessor(assemblyFactory, contributionFactory, extensionProcessor);
- ContributionMetadataDocumentProcessor metadataDocumentProcessor = new ContributionMetadataDocumentProcessor(metadataProcessor, inputFactory);
- contributionProcessor = new ContributionInfoProcessor(contributionFactory, metadataDocumentProcessor);
+ contributionInfoProcessor = new ContributionInfoProcessor(contributionFactory, urlProcessor);
// Read workspace.xml
File file = new File(workspaceFileName);
if (file.exists()) {
- XMLInputFactory inputFactory = XMLInputFactory.newInstance();
FileInputStream is = new FileInputStream(file);
XMLStreamReader reader = inputFactory.createXMLStreamReader(is);
- workspace = workspaceProcessor.read(reader);
+ reader.nextTag();
+ workspace = (Workspace)staxProcessor.read(reader);
} else {
workspace = workspaceFactory.createWorkspace();
}
@@ -221,7 +230,7 @@
}
Contribution contribution;
try {
- contribution = contributionProcessor.read(null, uri, url);
+ contribution = (Contribution)contributionInfoProcessor.read(null, uri, url);
} catch (ContributionReadException e) {
throw new ServiceRuntimeException(e);
}
@@ -285,7 +294,7 @@
// First write to a byte stream
ByteArrayOutputStream bos = new ByteArrayOutputStream();
XMLStreamWriter writer = outputFactory.createXMLStreamWriter(bos);
- workspaceProcessor.write(workspace, writer);
+ staxProcessor.write(workspace, writer);
// Parse again to pretty format the document
DocumentBuilder documentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org