Author: rfeng
Date: Mon Jul 23 01:16:29 2007
New Revision: 558650

URL: http://svn.apache.org/viewvc?view=rev&rev=558650
Log:
Rollback the changes made by r558625 which breaks the build

Removed:
    
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionMetadataDocumentProcessorImpl.java
    
incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/services/ContributionMetadataDocumentProcessorTestCase.java
    
incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/service/ContributionMetadataDocumentProcessor.java
Modified:
    
incubator/tuscany/java/sca/itest/contribution/src/test/java/org/apache/tuscany/sca/test/contribution/ContributionServiceTestCase.java
    
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionServiceImpl.java
    
incubator/tuscany/java/sca/modules/distributed/src/main/java/org/apache/tuscany/sca/distributed/host/impl/NodeRuntimeBuilder.java
    
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java

Modified: 
incubator/tuscany/java/sca/itest/contribution/src/test/java/org/apache/tuscany/sca/test/contribution/ContributionServiceTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/contribution/src/test/java/org/apache/tuscany/sca/test/contribution/ContributionServiceTestCase.java?view=diff&rev=558650&r1=558649&r2=558650
==============================================================================
--- 
incubator/tuscany/java/sca/itest/contribution/src/test/java/org/apache/tuscany/sca/test/contribution/ContributionServiceTestCase.java
 (original)
+++ 
incubator/tuscany/java/sca/itest/contribution/src/test/java/org/apache/tuscany/sca/test/contribution/ContributionServiceTestCase.java
 Mon Jul 23 01:16:29 2007
@@ -68,7 +68,6 @@
 import org.apache.tuscany.sca.contribution.service.util.IOHelper;
 import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
-import org.apache.tuscany.sca.host.embedded.impl.EmbeddedSCADomain;
 import org.apache.tuscany.sca.interfacedef.InterfaceContractMapper;
 import org.apache.tuscany.sca.interfacedef.impl.InterfaceContractMapperImpl;
 import org.apache.tuscany.sca.policy.DefaultPolicyFactory;
@@ -83,20 +82,66 @@
     private static final String JAR_CONTRIBUTION = 
"/repository/sample-calculator.jar";
     private static final String FOLDER_CONTRIBUTION = "target/classes/";
 
-    private ClassLoader cl;
-    private EmbeddedSCADomain domain;
     private ContributionService contributionService;
 
     protected void setUp() throws Exception {
-        //Create a test embedded SCA domain
-        cl = getClass().getClassLoader();
-        domain = new EmbeddedSCADomain(cl, "http://localhost";);
+
+        // Create default factories
+        AssemblyFactory assemblyFactory = new DefaultAssemblyFactory();
+        PolicyFactory policyFactory = new DefaultPolicyFactory();
+        InterfaceContractMapper mapper = new InterfaceContractMapperImpl();
+
+        // Create an extension point registry
+        ExtensionPointRegistry extensionRegistry = new 
DefaultExtensionPointRegistry();
+
+        // Add artifact processor extension points
+        DefaultStAXArtifactProcessorExtensionPoint staxProcessors = new 
DefaultStAXArtifactProcessorExtensionPoint();
+        extensionRegistry.addExtensionPoint(staxProcessors);
+        ExtensibleStAXArtifactProcessor staxProcessor = new 
ExtensibleStAXArtifactProcessor(staxProcessors, XMLInputFactory.newInstance(), 
XMLOutputFactory.newInstance());
+        DefaultURLArtifactProcessorExtensionPoint documentProcessors = new 
DefaultURLArtifactProcessorExtensionPoint();
+        extensionRegistry.addExtensionPoint(documentProcessors);
+        ExtensibleURLArtifactProcessor documentProcessor = new 
ExtensibleURLArtifactProcessor(documentProcessors);
+
+        // Register base artifact processors
+        staxProcessors.addArtifactProcessor(new 
CompositeProcessor(assemblyFactory, policyFactory, mapper,
+                                                                   
staxProcessor));
+        staxProcessors.addArtifactProcessor(new 
ComponentTypeProcessor(assemblyFactory, policyFactory, staxProcessor));
+        staxProcessors.addArtifactProcessor(new 
ConstrainingTypeProcessor(assemblyFactory, policyFactory,
+                                                                          
staxProcessor));
+
+        XMLInputFactory inputFactory = XMLInputFactory.newInstance();
+        documentProcessors.addArtifactProcessor(new 
CompositeDocumentProcessor(staxProcessor, inputFactory));
+        documentProcessors.addArtifactProcessor(new 
ComponentTypeDocumentProcessor(staxProcessor, inputFactory));
+        documentProcessors.addArtifactProcessor(new 
ConstrainingTypeDocumentProcessor(staxProcessor, inputFactory));
+
+        // Create package processor extension point
+        PackageTypeDescriberImpl describer = new PackageTypeDescriberImpl();
+        PackageProcessorExtensionPoint packageProcessors = new 
DefaultPackageProcessorExtensionPoint();
+        PackageProcessor packageProcessor = new 
ExtensiblePackageProcessor(packageProcessors, describer);
+        extensionRegistry.addExtensionPoint(packageProcessors);
+
+        // Register base package processors
+        packageProcessors.addPackageProcessor(new JarContributionProcessor());
+        packageProcessors.addPackageProcessor(new 
FolderContributionProcessor());
+        
+        //Create Contribution Model Resolver extension point
+        ModelResolverExtensionPoint modelResolverExtensionPoint = new 
DefaultModelResolverExtensionPoint();
+        
         
-        //Start the domain
-        domain.start();
+        //Create contribution postProcessor extension point
+        DefaultContributionPostProcessorExtensionPoint 
contributionPostProcessors = new 
DefaultContributionPostProcessorExtensionPoint();
+        ContributionPostProcessor postProcessor = new 
ExtensibleContributionPostProcessor(contributionPostProcessors);
+        extensionRegistry.addExtensionPoint(contributionPostProcessors);
+
+
+        // Create a repository
+        ContributionRepository repository = new 
ContributionRepositoryImpl("target");
 
-        //get a reference to the contribution service
-        contributionService = domain.getContributionService();
+        // Create an artifact resolver and contribution service
+        this.contributionService = new ContributionServiceImpl(repository, 
packageProcessor, documentProcessor, 
+                                                               postProcessor, 
modelResolverExtensionPoint, assemblyFactory,
+                                                               new 
ContributionFactoryImpl(),
+                                                               
XMLInputFactory.newInstance());
     }
 
     public void testContributeJAR() throws Exception {

Modified: 
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionServiceImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionServiceImpl.java?view=diff&rev=558650&r1=558649&r2=558650
==============================================================================
--- 
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionServiceImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ContributionServiceImpl.java
 Mon Jul 23 01:16:29 2007
@@ -31,6 +31,7 @@
 
 import javax.xml.stream.XMLInputFactory;
 import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
 
 import org.apache.tuscany.sca.assembly.AssemblyFactory;
 import org.apache.tuscany.sca.assembly.Composite;
@@ -43,7 +44,6 @@
 import org.apache.tuscany.sca.contribution.NamespaceImport;
 import org.apache.tuscany.sca.contribution.processor.ContributionPostProcessor;
 import org.apache.tuscany.sca.contribution.processor.PackageProcessor;
-import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessor;
 import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor;
 import org.apache.tuscany.sca.contribution.resolver.ExtensibleModelResolver;
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
@@ -52,7 +52,7 @@
 import 
org.apache.tuscany.sca.contribution.resolver.impl.NamespaceImportAllModelResolverImpl;
 import 
org.apache.tuscany.sca.contribution.resolver.impl.NamespaceImportModelResolverImpl;
 import org.apache.tuscany.sca.contribution.service.ContributionException;
-import 
org.apache.tuscany.sca.contribution.service.ContributionMetadataDocumentProcessor;
+import 
org.apache.tuscany.sca.contribution.service.ContributionMetadataLoaderException;
 import org.apache.tuscany.sca.contribution.service.ContributionRepository;
 import org.apache.tuscany.sca.contribution.service.ContributionService;
 import org.apache.tuscany.sca.contribution.service.util.IOHelper;
@@ -62,9 +62,6 @@
  * 
  * @version $Rev$ $Date$
  */
-/**
- * 
- */
 public class ContributionServiceImpl implements ContributionService {
 
     /**
@@ -84,12 +81,6 @@
     private URLArtifactProcessor artifactProcessor;
     
     /**
-     * Registry of available stax processors,
-     * used for loading contribution metadata in a extensible way
-     */
-    private StAXArtifactProcessor staxProcessor;
-    
-    /**
      * Registry of available model resolvers
      */
     
@@ -115,6 +106,10 @@
      */
     private ContributionFactory contributionFactory;
 
+    /**
+     * contribution metadata loader
+     */
+    private ContributionMetadataLoaderImpl contributionLoader;
 
     /**
      * Contribution registry This is a registry of processed Contributions 
indexed by URI
@@ -123,8 +118,7 @@
     
     public ContributionServiceImpl(ContributionRepository repository,
                                    PackageProcessor packageProcessor,
-                                   URLArtifactProcessor documentProcessor,
-                                   StAXArtifactProcessor staxProcessor,
+                                   URLArtifactProcessor artifactProcessor,
                                    ContributionPostProcessor postProcessor,
                                    ModelResolverExtensionPoint 
modelResolverExtensionPoint,
                                    AssemblyFactory assemblyFactory,
@@ -133,13 +127,13 @@
         super();
         this.contributionRepository = repository;
         this.packageProcessor = packageProcessor;
-        this.artifactProcessor = documentProcessor;
-        this.staxProcessor = staxProcessor;
+        this.artifactProcessor = artifactProcessor;
         this.postProcessor = postProcessor;
         this.modelResolverExtensionPoint = modelResolverExtensionPoint;
         this.xmlFactory = xmlFactory;
         this.assemblyFactory = assemblyFactory;
         this.contributionFactory = contributionFactory;
+        this.contributionLoader = new 
ContributionMetadataLoaderImpl(assemblyFactory, contributionFactory);
     }
 
     public Contribution contribute(String contributionURI, URL sourceURL, 
boolean storeInRepository)
@@ -178,29 +172,46 @@
         return addContribution(contributionURI, sourceURL, input, 
modelResolver, true);
     }
 
-    /**
-     * Perform read of the contribution metada loader (sca-contribution.xml 
and sca-contribution-generated.xml)
-     * When the two metadata files are available, the information provided are 
merged, and the sca-contribution has priorities
-     * 
-     * @param sourceURL
-     * @return Contribution
-     * @throws ContributionException
-     */
-    private Contribution readContributionMetadata(URL sourceURL) throws 
ContributionException {
+    private Contribution initializeContributionMetadata(URL sourceURL, 
ModelResolver modelResolver) throws ContributionException {
         Contribution contributionMetadata = null;
+        URL contributionMetadataURL;
+        URL generatedContributionMetadataURL;
+        InputStream metadataStream = null;
 
         URL[] clUrls = {sourceURL};
         URLClassLoader cl = new URLClassLoader(clUrls, null);
-        
-        
-        ContributionMetadataDocumentProcessor metadataDocumentProcessor = 
-            new ContributionMetadataDocumentProcessorImpl(cl, 
this.staxProcessor, this.assemblyFactory, this.contributionFactory, 
this.xmlFactory);
-        contributionMetadata = contributionFactory.createContribution();
+
+        contributionMetadataURL = 
cl.getResource(Contribution.SCA_CONTRIBUTION_META);
+        generatedContributionMetadataURL = 
cl.getResource(Contribution.SCA_CONTRIBUTION_GENERATED_META);
+
         try {
-            metadataDocumentProcessor.read(contributionMetadata);
-        } catch (XMLStreamException e) {
-            throw new InvalidContributionMetadataException("Invalid 
contribution metadata for contribution.");
+            contributionMetadata = 
this.contributionFactory.createContribution();
+            contributionMetadata.setModelResolver(modelResolver);
+            if (contributionMetadataURL != null || 
generatedContributionMetadataURL != null) {
+                URL metadataURL = contributionMetadataURL != null ? 
contributionMetadataURL
+                                                                 : 
generatedContributionMetadataURL;
+
+                try {
+                    metadataStream = metadataURL.openStream();
+                    XMLStreamReader xmlReader = 
this.xmlFactory.createXMLStreamReader(metadataStream);
+                    this.contributionLoader.load(contributionMetadata, 
xmlReader);
+
+                } catch (IOException ioe) {
+                    throw new 
InvalidContributionMetadataException(ioe.getMessage(), 
metadataURL.toExternalForm(), ioe);
+                } catch (XMLStreamException xmle) {
+                    throw new 
InvalidContributionMetadataException(xmle.getMessage(), 
metadataURL.toExternalForm(),
+                                                                   xmle);
+                } catch (ContributionMetadataLoaderException le) {
+                    throw new 
InvalidContributionMetadataException(le.getMessage(), 
metadataURL.toExternalForm(), le);
+                }
+            }
+        } finally {
+            IOHelper.closeQuietly(metadataStream);
+            metadataStream = null;
+        }
 
+        if (contributionMetadata == null) {
+            contributionMetadata = 
this.contributionFactory.createContribution();
         }
         
         return contributionMetadata;
@@ -262,7 +273,7 @@
         }
 
         //initialize contribution based on it's metadata if available
-        Contribution contribution = readContributionMetadata(locationURL);
+        Contribution contribution = 
initializeContributionMetadata(locationURL, modelResolver);
         
         //create contribution model resolver
         if (modelResolver == null) {

Modified: 
incubator/tuscany/java/sca/modules/distributed/src/main/java/org/apache/tuscany/sca/distributed/host/impl/NodeRuntimeBuilder.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/distributed/src/main/java/org/apache/tuscany/sca/distributed/host/impl/NodeRuntimeBuilder.java?view=diff&rev=558650&r1=558649&r2=558650
==============================================================================
--- 
incubator/tuscany/java/sca/modules/distributed/src/main/java/org/apache/tuscany/sca/distributed/host/impl/NodeRuntimeBuilder.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/distributed/src/main/java/org/apache/tuscany/sca/distributed/host/impl/NodeRuntimeBuilder.java
 Mon Jul 23 01:16:29 2007
@@ -52,7 +52,6 @@
 import 
org.apache.tuscany.sca.contribution.resolver.ModelResolverExtensionPoint;
 import org.apache.tuscany.sca.contribution.service.ContributionRepository;
 import org.apache.tuscany.sca.contribution.service.ContributionService;
-import 
org.apache.tuscany.sca.contribution.service.impl.ContributionMetadataProcessor;
 import 
org.apache.tuscany.sca.contribution.service.impl.ContributionRepositoryImpl;
 import 
org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl;
 import 
org.apache.tuscany.sca.contribution.service.impl.PackageTypeDescriberImpl;
@@ -92,12 +91,14 @@
         registry.addExtensionPoint(staxProcessors);
 
         // Create and register STAX processors for SCA assembly XML
-        ExtensibleStAXArtifactProcessor staxProcessor = 
-            new ExtensibleStAXArtifactProcessor(staxProcessors, xmlFactory, 
XMLOutputFactory.newInstance());
-        staxProcessors.addArtifactProcessor(new 
CompositeProcessor(assemblyFactory, policyFactory, mapper, staxProcessor));
+        ExtensibleStAXArtifactProcessor staxProcessor = new 
ExtensibleStAXArtifactProcessor(staxProcessors, xmlFactory,
+                                                                               
             XMLOutputFactory
+                                                                               
                 .newInstance());
+        staxProcessors.addArtifactProcessor(new 
CompositeProcessor(assemblyFactory, policyFactory, mapper,
+                                                                   
staxProcessor));
         staxProcessors.addArtifactProcessor(new 
ComponentTypeProcessor(assemblyFactory, policyFactory, staxProcessor));
-        staxProcessors.addArtifactProcessor(new 
ConstrainingTypeProcessor(assemblyFactory, policyFactory, staxProcessor));
-        staxProcessors.addArtifactProcessor(new 
ContributionMetadataProcessor(assemblyFactory, contributionFactory));
+        staxProcessors
+            .addArtifactProcessor(new 
ConstrainingTypeProcessor(assemblyFactory, policyFactory, staxProcessor));
 
         // Create URL artifact processor extension point
         // FIXME use the interface instead of the class
@@ -146,7 +147,6 @@
         ContributionService contributionService = new 
ContributionServiceImpl(repository, 
                                                                               
packageProcessor,
                                                                               
documentProcessor, 
-                                                                              
staxProcessor,
                                                                               
postProcessor,
                                                                               
modelResolverExtensionPoint,
                                                                               
assemblyFactory,

Modified: 
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java?view=diff&rev=558650&r1=558649&r2=558650
==============================================================================
--- 
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntimeBuilder.java
 Mon Jul 23 01:16:29 2007
@@ -70,7 +70,6 @@
 import org.apache.tuscany.sca.contribution.service.ContributionRepository;
 import org.apache.tuscany.sca.contribution.service.ContributionService;
 import org.apache.tuscany.sca.contribution.service.TypeDescriber;
-import 
org.apache.tuscany.sca.contribution.service.impl.ContributionMetadataProcessor;
 import 
org.apache.tuscany.sca.contribution.service.impl.ContributionRepositoryImpl;
 import 
org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl;
 import 
org.apache.tuscany.sca.contribution.service.impl.PackageTypeDescriberImpl;
@@ -175,12 +174,14 @@
         registry.addExtensionPoint(staxProcessors);
 
         // Create and register STAX processors for SCA assembly XML
-        ExtensibleStAXArtifactProcessor staxProcessor = 
-            new ExtensibleStAXArtifactProcessor(staxProcessors, xmlFactory, 
XMLOutputFactory.newInstance());
-        staxProcessors.addArtifactProcessor(new 
CompositeProcessor(assemblyFactory, policyFactory, mapper, staxProcessor));
+        ExtensibleStAXArtifactProcessor staxProcessor = new 
ExtensibleStAXArtifactProcessor(staxProcessors, xmlFactory,
+                                                                               
             XMLOutputFactory
+                                                                               
                 .newInstance());
+        staxProcessors.addArtifactProcessor(new 
CompositeProcessor(assemblyFactory, policyFactory, mapper,
+                                                                   
staxProcessor));
         staxProcessors.addArtifactProcessor(new 
ComponentTypeProcessor(assemblyFactory, policyFactory, staxProcessor));
-        staxProcessors.addArtifactProcessor(new 
ConstrainingTypeProcessor(assemblyFactory, policyFactory, staxProcessor));
-        staxProcessors.addArtifactProcessor(new 
ContributionMetadataProcessor(assemblyFactory,contributionFactory));
+        staxProcessors
+            .addArtifactProcessor(new 
ConstrainingTypeProcessor(assemblyFactory, policyFactory, staxProcessor));
 
         // Create URL artifact processor extension point
         URLArtifactProcessorExtensionPoint documentProcessors = new 
DefaultURLArtifactProcessorExtensionPoint();
@@ -224,9 +225,8 @@
         }
 
         ExtensibleURLArtifactProcessor documentProcessor = new 
ExtensibleURLArtifactProcessor(documentProcessors);
-        
         ContributionService contributionService = new 
ContributionServiceImpl(repository, packageProcessor,
-                                                                              
documentProcessor, staxProcessor, postProcessor, 
+                                                                              
documentProcessor, postProcessor, 
                                                                               
modelResolverExtensionPoint, assemblyFactory,
                                                                               
contributionFactory, xmlFactory);
         return contributionService;



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to