You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by lr...@apache.org on 2007/06/26 00:53:56 UTC

svn commit: r550633 - in /incubator/tuscany/java/sca: itest/contribution/src/test/java/org/apache/tuscany/sca/test/contribution/ modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/service/impl/ modules/contribution/src/main/jav...

Author: lresende
Date: Mon Jun 25 15:53:55 2007
New Revision: 550633

URL: http://svn.apache.org/viewvc?view=rev&rev=550633
Log:
Adding capability for post processing a contribution. The postProcesor interfaces were available before, but contribution was not integrated and calling these apis for each contribution.

Added:
    incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultContributionPostProcessorExtensionPoint.java
    incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleContributionPostProcessor.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/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ContributionPostProcessorExtensionPoint.java
    incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/module/SDODataBindingModuleActivator.java
    incubator/tuscany/java/sca/modules/distributed/src/main/java/org/apache/tuscany/sca/distributed/host/impl/NodeServiceRuntimeBuilder.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=550633&r1=550632&r2=550633
==============================================================================
--- 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 Jun 25 15:53:55 2007
@@ -42,9 +42,12 @@
 import org.apache.tuscany.sca.contribution.Contribution;
 import org.apache.tuscany.sca.contribution.DeployedArtifact;
 import org.apache.tuscany.sca.contribution.impl.ContributionFactoryImpl;
+import org.apache.tuscany.sca.contribution.processor.ContributionPostProcessor;
+import org.apache.tuscany.sca.contribution.processor.DefaultContributionPostProcessorExtensionPoint;
 import org.apache.tuscany.sca.contribution.processor.DefaultPackageProcessorExtensionPoint;
 import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
 import org.apache.tuscany.sca.contribution.processor.DefaultURLArtifactProcessorExtensionPoint;
+import org.apache.tuscany.sca.contribution.processor.ExtensibleContributionPostProcessor;
 import org.apache.tuscany.sca.contribution.processor.ExtensiblePackageProcessor;
 import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
 import org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor;
@@ -118,19 +121,26 @@
         // Register base package processors
         packageProcessors.addPackageProcessor(new JarContributionProcessor());
         packageProcessors.addPackageProcessor(new FolderContributionProcessor());
+        
+        //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");
 
         // Create an artifact resolver and contribution service
-        this.contributionService = new ContributionServiceImpl(repository, packageProcessor, documentProcessor,
-                                                               assemblyFactory,
+        this.contributionService = new ContributionServiceImpl(repository, packageProcessor, documentProcessor, 
+                                                               postProcessor, assemblyFactory,
                                                                new ContributionFactoryImpl(), XMLInputFactory
                                                                    .newInstance());
     }
 
     public void testContributeJAR() throws Exception {
         URL contributionLocation = getClass().getResource(JAR_CONTRIBUTION);
+        //URL contributionLocation = new URL("file:/D:/dev/Opensource/Apache/Tuscany/source/java/sca/samples/calculator/target/sample-calculator.jar");
         String contributionId = CONTRIBUTION_001_ID;
         ModelResolver resolver = new ModelResolverImpl(getClass().getClassLoader());
         contributionService.contribute(contributionId, contributionLocation, resolver, false);

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=550633&r1=550632&r2=550633
==============================================================================
--- 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 Jun 25 15:53:55 2007
@@ -38,6 +38,7 @@
 import org.apache.tuscany.sca.contribution.Contribution;
 import org.apache.tuscany.sca.contribution.ContributionFactory;
 import org.apache.tuscany.sca.contribution.DeployedArtifact;
+import org.apache.tuscany.sca.contribution.processor.ContributionPostProcessor;
 import org.apache.tuscany.sca.contribution.processor.PackageProcessor;
 import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessor;
 import org.apache.tuscany.sca.contribution.resolver.ModelResolver;
@@ -69,6 +70,11 @@
      */
 
     private URLArtifactProcessor artifactProcessor;
+    
+    /**
+     * Contribution post processor
+     */
+    private ContributionPostProcessor postProcessor;
 
     /**
      * xml factory used to create reader instance to load contribution metadata
@@ -94,6 +100,7 @@
     public ContributionServiceImpl(ContributionRepository repository,
                                    PackageProcessor packageProcessor,
                                    URLArtifactProcessor artifactProcessor,
+                                   ContributionPostProcessor postProcessor,
                                    AssemblyFactory assemblyFactory,
                                    ContributionFactory contributionFactory,
                                    XMLInputFactory xmlFactory) {
@@ -101,6 +108,7 @@
         this.contributionRepository = repository;
         this.packageProcessor = packageProcessor;
         this.artifactProcessor = artifactProcessor;
+        this.postProcessor = postProcessor;
         this.xmlFactory = xmlFactory;
 
         this.contributionFactory = contributionFactory;
@@ -267,6 +275,9 @@
             }
         }
         
+        //post process contribution
+        this.postProcessor.visit(contribution);
+        
         // store the contribution on the registry
         this.contributionRegistry.put(contribution.getURI(), contribution);
         
@@ -336,5 +347,4 @@
         contribution.getDeployables().clear();
         contribution.getDeployables().addAll(resolvedDeployables);
     }
-
 }

Modified: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ContributionPostProcessorExtensionPoint.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ContributionPostProcessorExtensionPoint.java?view=diff&rev=550633&r1=550632&r2=550633
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ContributionPostProcessorExtensionPoint.java (original)
+++ incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ContributionPostProcessorExtensionPoint.java Mon Jun 25 15:53:55 2007
@@ -19,6 +19,8 @@
 
 package org.apache.tuscany.sca.contribution.processor;
 
+import java.util.List;
+
 /**
  * An extension point for contribution post processor extensions.
  * 
@@ -29,14 +31,20 @@
     /**
      * Add a ContributionPostProcessor
      * 
-     * @param processor The post processor
+     * @param postProcessor The post processor
      */
-    void addPostProcessor(ContributionPostProcessor processor);
+    void addPostProcessor(ContributionPostProcessor postProcessor);
     
     /**
      * Remove a ContributionPostProcessor
      * 
-     * @param processor The post processor
+     * @param postProcessor The post processor
      */
-    void removePostProcessor(ContributionPostProcessor processor);
+    void removePostProcessor(ContributionPostProcessor postProcessor);
+    
+    /**
+     * Get a list of postProcessors
+     * @return The list of postProcessors
+     */
+    List <ContributionPostProcessor> getPostProcessors();
 }

Added: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultContributionPostProcessorExtensionPoint.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultContributionPostProcessorExtensionPoint.java?view=auto&rev=550633
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultContributionPostProcessorExtensionPoint.java (added)
+++ incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/DefaultContributionPostProcessorExtensionPoint.java Mon Jun 25 15:53:55 2007
@@ -0,0 +1,53 @@
+/*
+ * 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.processor;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Default implementation of ContributionPostProcessor Extension Point
+ * 
+ * @version $Rev: 539693 $ $Date: 2007-05-18 23:24:07 -0700 (Fri, 18 May 2007) $
+ */
+public class DefaultContributionPostProcessorExtensionPoint implements ContributionPostProcessorExtensionPoint {
+
+    /**
+     * Processor registry
+     */
+    private List <ContributionPostProcessor> registry = new ArrayList<ContributionPostProcessor>();
+
+    public DefaultContributionPostProcessorExtensionPoint() {
+    }
+
+    public void addPostProcessor(ContributionPostProcessor postProcessor) {
+        this.registry.add(postProcessor);
+        
+    }
+
+    public void removePostProcessor(ContributionPostProcessor postProcessor) {
+        this.registry.remove(postProcessor);
+    }
+
+    public List<ContributionPostProcessor> getPostProcessors() {
+        return registry;
+    }
+    
+}

Added: incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleContributionPostProcessor.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleContributionPostProcessor.java?view=auto&rev=550633
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleContributionPostProcessor.java (added)
+++ incubator/tuscany/java/sca/modules/contribution/src/main/java/org/apache/tuscany/sca/contribution/processor/ExtensibleContributionPostProcessor.java Mon Jun 25 15:53:55 2007
@@ -0,0 +1,37 @@
+/*
+ * 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.processor;
+
+import org.apache.tuscany.sca.contribution.Contribution;
+
+public class ExtensibleContributionPostProcessor implements ContributionPostProcessor {
+
+    ContributionPostProcessorExtensionPoint registry;
+    
+    public ExtensibleContributionPostProcessor(ContributionPostProcessorExtensionPoint postProcessors) {
+        this.registry = postProcessors;
+    }
+    public void visit(Contribution contribution) {
+        for (ContributionPostProcessor processor : registry.getPostProcessors()) {
+            processor.visit(contribution);            
+        }
+    }
+
+}

Modified: incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/module/SDODataBindingModuleActivator.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/module/SDODataBindingModuleActivator.java?view=diff&rev=550633&r1=550632&r2=550633
==============================================================================
--- incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/module/SDODataBindingModuleActivator.java (original)
+++ incubator/tuscany/java/sca/modules/databinding-sdo/src/main/java/org/apache/tuscany/sca/databinding/sdo/module/SDODataBindingModuleActivator.java Mon Jun 25 15:53:55 2007
@@ -20,6 +20,7 @@
 package org.apache.tuscany.sca.databinding.sdo.module;
 
 import org.apache.tuscany.sca.assembly.AssemblyFactory;
+import org.apache.tuscany.sca.contribution.processor.ContributionPostProcessorExtensionPoint;
 import org.apache.tuscany.sca.contribution.processor.StAXArtifactProcessorExtensionPoint;
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
 import org.apache.tuscany.sca.core.ModelFactoryExtensionPoint;
@@ -31,6 +32,7 @@
 import org.apache.tuscany.sca.databinding.sdo.HelperContextProcessor;
 import org.apache.tuscany.sca.databinding.sdo.HelperContextRegistry;
 import org.apache.tuscany.sca.databinding.sdo.HelperContextRegistryImpl;
+import org.apache.tuscany.sca.databinding.sdo.ImportSDOPostProcessor;
 import org.apache.tuscany.sca.databinding.sdo.ImportSDOProcessor;
 import org.apache.tuscany.sca.databinding.sdo.SDODataBinding;
 import org.apache.tuscany.sca.databinding.sdo.String2DataObject;
@@ -60,6 +62,9 @@
         HelperContextRegistry contextRegistry = new HelperContextRegistryImpl();
         processors.addArtifactProcessor(new ImportSDOProcessor(contextRegistry));
 
+        ContributionPostProcessorExtensionPoint postProcessors = registry.getExtensionPoint(ContributionPostProcessorExtensionPoint.class);
+        postProcessors.addPostProcessor(new ImportSDOPostProcessor());
+        
         TransformerExtensionPoint transformers = registry.getExtensionPoint(TransformerExtensionPoint.class);
         transformers.addTransformer(new DataObject2String());
         transformers.addTransformer(new DataObject2XMLStreamReader());

Modified: incubator/tuscany/java/sca/modules/distributed/src/main/java/org/apache/tuscany/sca/distributed/host/impl/NodeServiceRuntimeBuilder.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/distributed/src/main/java/org/apache/tuscany/sca/distributed/host/impl/NodeServiceRuntimeBuilder.java?view=diff&rev=550633&r1=550632&r2=550633
==============================================================================
--- incubator/tuscany/java/sca/modules/distributed/src/main/java/org/apache/tuscany/sca/distributed/host/impl/NodeServiceRuntimeBuilder.java (original)
+++ incubator/tuscany/java/sca/modules/distributed/src/main/java/org/apache/tuscany/sca/distributed/host/impl/NodeServiceRuntimeBuilder.java Mon Jun 25 15:53:55 2007
@@ -43,9 +43,12 @@
 import org.apache.tuscany.sca.assembly.xml.ConstrainingTypeProcessor;
 import org.apache.tuscany.sca.contribution.ContributionFactory;
 import org.apache.tuscany.sca.contribution.impl.ContributionFactoryImpl;
+import org.apache.tuscany.sca.contribution.processor.ContributionPostProcessor;
+import org.apache.tuscany.sca.contribution.processor.DefaultContributionPostProcessorExtensionPoint;
 import org.apache.tuscany.sca.contribution.processor.DefaultPackageProcessorExtensionPoint;
 import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
 import org.apache.tuscany.sca.contribution.processor.DefaultURLArtifactProcessorExtensionPoint;
+import org.apache.tuscany.sca.contribution.processor.ExtensibleContributionPostProcessor;
 import org.apache.tuscany.sca.contribution.processor.ExtensiblePackageProcessor;
 import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
 import org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor;
@@ -147,6 +150,12 @@
         packageProcessors.addPackageProcessor(new JarContributionProcessor());
         packageProcessors.addPackageProcessor(new FolderContributionProcessor());
 
+        //Create contribution postProcessor extension point
+        DefaultContributionPostProcessorExtensionPoint contributionPostProcessors = new DefaultContributionPostProcessorExtensionPoint();
+        ContributionPostProcessor postProcessor = new ExtensibleContributionPostProcessor(contributionPostProcessors);
+        registry.addExtensionPoint(contributionPostProcessors);
+        
+        
         // Create a contribution repository
         ContributionRepository repository;
         try {
@@ -157,7 +166,7 @@
 
         ExtensibleURLArtifactProcessor documentProcessor = new ExtensibleURLArtifactProcessor(documentProcessors);
         ContributionService contributionService = new ContributionServiceImpl(repository, packageProcessor,
-                                                                              documentProcessor, assemblyFactory,
+                                                                              documentProcessor, postProcessor, assemblyFactory,
                                                                               contributionFactory, xmlFactory);
         return contributionService;
     }

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=550633&r1=550632&r2=550633
==============================================================================
--- 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 Jun 25 15:53:55 2007
@@ -45,18 +45,23 @@
 import org.apache.tuscany.sca.assembly.xml.ConstrainingTypeDocumentProcessor;
 import org.apache.tuscany.sca.assembly.xml.ConstrainingTypeProcessor;
 import org.apache.tuscany.sca.contribution.ContributionFactory;
+import org.apache.tuscany.sca.contribution.processor.ContributionPostProcessor;
+import org.apache.tuscany.sca.contribution.processor.DefaultContributionPostProcessorExtensionPoint;
 import org.apache.tuscany.sca.contribution.processor.DefaultPackageProcessorExtensionPoint;
 import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
 import org.apache.tuscany.sca.contribution.processor.DefaultURLArtifactProcessorExtensionPoint;
+import org.apache.tuscany.sca.contribution.processor.ExtensibleContributionPostProcessor;
 import org.apache.tuscany.sca.contribution.processor.ExtensiblePackageProcessor;
 import org.apache.tuscany.sca.contribution.processor.ExtensibleStAXArtifactProcessor;
 import org.apache.tuscany.sca.contribution.processor.ExtensibleURLArtifactProcessor;
 import org.apache.tuscany.sca.contribution.processor.PackageProcessor;
 import org.apache.tuscany.sca.contribution.processor.PackageProcessorExtensionPoint;
+import org.apache.tuscany.sca.contribution.processor.URLArtifactProcessorExtensionPoint;
 import org.apache.tuscany.sca.contribution.processor.impl.FolderContributionProcessor;
 import org.apache.tuscany.sca.contribution.processor.impl.JarContributionProcessor;
 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.ContributionRepositoryImpl;
 import org.apache.tuscany.sca.contribution.service.impl.ContributionServiceImpl;
 import org.apache.tuscany.sca.contribution.service.impl.PackageTypeDescriberImpl;
@@ -161,8 +166,7 @@
             .addArtifactProcessor(new ConstrainingTypeProcessor(assemblyFactory, policyFactory, staxProcessor));
 
         // Create URL artifact processor extension point
-        // FIXME use the interface instead of the class
-        DefaultURLArtifactProcessorExtensionPoint documentProcessors = new DefaultURLArtifactProcessorExtensionPoint();
+        URLArtifactProcessorExtensionPoint documentProcessors = new DefaultURLArtifactProcessorExtensionPoint();
         registry.addExtensionPoint(documentProcessors);
 
         // Create and register document processors for SCA assembly XML
@@ -172,7 +176,7 @@
         documentProcessors.addArtifactProcessor(new ConstrainingTypeDocumentProcessor(staxProcessor, inputFactory));
 
         // Create contribution package processor extension point
-        PackageTypeDescriberImpl describer = new PackageTypeDescriberImpl();
+        TypeDescriber describer = new PackageTypeDescriberImpl();
         PackageProcessorExtensionPoint packageProcessors = new DefaultPackageProcessorExtensionPoint();
         PackageProcessor packageProcessor = new ExtensiblePackageProcessor(packageProcessors, describer);
         registry.addExtensionPoint(packageProcessors);
@@ -181,6 +185,11 @@
         packageProcessors.addPackageProcessor(new JarContributionProcessor());
         packageProcessors.addPackageProcessor(new FolderContributionProcessor());
 
+        //Create contribution postProcessor extension point
+        DefaultContributionPostProcessorExtensionPoint contributionPostProcessors = new DefaultContributionPostProcessorExtensionPoint();
+        ContributionPostProcessor postProcessor = new ExtensibleContributionPostProcessor(contributionPostProcessors);
+        registry.addExtensionPoint(contributionPostProcessors);
+        
         // Create a contribution repository
         ContributionRepository repository;
         try {
@@ -191,7 +200,8 @@
 
         ExtensibleURLArtifactProcessor documentProcessor = new ExtensibleURLArtifactProcessor(documentProcessors);
         ContributionService contributionService = new ContributionServiceImpl(repository, packageProcessor,
-                                                                              documentProcessor, assemblyFactory,
+                                                                              documentProcessor, postProcessor, 
+                                                                              assemblyFactory,
                                                                               contributionFactory, xmlFactory);
         return contributionService;
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org