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