You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by rf...@apache.org on 2007/02/14 22:14:12 UTC

svn commit: r507693 - in /incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main: java/org/apache/tuscany/core/services/deployment/ resources/META-INF/tuscany/

Author: rfeng
Date: Wed Feb 14 13:14:11 2007
New Revision: 507693

URL: http://svn.apache.org/viewvc?view=rev&rev=507693
Log:
[sca-integration-branch] Wrap ContributionService and ContributionRepository as system components

Modified:
    incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContributionRepositoryImpl.java
    incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContributionServiceImpl.java
    incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/resources/META-INF/tuscany/system.composite

Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContributionRepositoryImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContributionRepositoryImpl.java?view=diff&rev=507693&r1=507692&r2=507693
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContributionRepositoryImpl.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContributionRepositoryImpl.java Wed Feb 14 13:14:11 2007
@@ -36,8 +36,17 @@
 import org.apache.commons.io.FilenameUtils;
 import org.apache.commons.io.IOUtils;
 import org.apache.tuscany.spi.deployer.ContributionRepository;
+import org.osoa.sca.annotations.Destroy;
+import org.osoa.sca.annotations.EagerInit;
+import org.osoa.sca.annotations.Init;
 import org.osoa.sca.annotations.Property;
 
+/**
+ * The default implementation of ContributionRepository
+ * 
+ * @version $Rev$ $Date$
+ */
+@EagerInit
 public class ContributionRepositoryImpl implements ContributionRepository {
     protected final File rootFile;
     protected final Map<URI, URL> reposirotyContent = new HashMap<URI, URL>();
@@ -123,6 +132,14 @@
 
     public List<URI> list() {
         return new ArrayList<URI>(reposirotyContent.keySet());
+    }
+    
+    @Init
+    public void init() {
+    }
+    
+    @Destroy
+    public void destroy() {
     }
 
 }

Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContributionServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContributionServiceImpl.java?view=diff&rev=507693&r1=507692&r2=507693
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContributionServiceImpl.java (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/java/org/apache/tuscany/core/services/deployment/ContributionServiceImpl.java Wed Feb 14 13:14:11 2007
@@ -30,15 +30,25 @@
 import org.apache.tuscany.host.deployment.ContributionService;
 import org.apache.tuscany.host.deployment.DeploymentException;
 import org.apache.tuscany.host.deployment.UnsupportedContentTypeException;
+import org.apache.tuscany.spi.annotation.Autowire;
 import org.apache.tuscany.spi.deployer.ContributionProcessor;
 import org.apache.tuscany.spi.deployer.ContributionProcessorRegistry;
+import org.apache.tuscany.spi.deployer.ContributionRepository;
+import org.osoa.sca.annotations.EagerInit;
 
 /**
  * @version $Rev$ $Date$
  */
+@EagerInit
 public class ContributionServiceImpl implements ContributionService, ContributionProcessorRegistry {
     private Map<String, ContributionProcessor> registry = new HashMap<String, ContributionProcessor>();
+    private final ContributionRepository repository;
 
+    public ContributionServiceImpl(@Autowire ContributionRepository repository) {
+        super();
+        this.repository = repository;
+    }
+    
     public void register(ContributionProcessor processor) {
         registry.put(processor.getContentType(), processor);
     }
@@ -83,17 +93,20 @@
         if (contentType == null) {
             throw new IllegalArgumentException("contentType was null");
         }
+        
+        URI uri = URI.create("sca://contribution/"+System.currentTimeMillis());
+        repository.store(uri, contribution);
 
         ContributionProcessor processor = registry.get(contentType);
         if (processor == null) {
             throw new UnsupportedContentTypeException(contentType, source.toString());
         }
         
-        return null;
+        return uri;
     }
 
     public void remove(URI contribution) throws DeploymentException {
-        // TODO Auto-generated method stub
+        repository.remove(contribution);
     }
 
     public <T> T resolve(URI contribution, Class<T> definitionType, String namespace, String name) {

Modified: incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/resources/META-INF/tuscany/system.composite
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/resources/META-INF/tuscany/system.composite?view=diff&rev=507693&r1=507692&r2=507693
==============================================================================
--- incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/resources/META-INF/tuscany/system.composite (original)
+++ incubator/tuscany/branches/sca-java-integration/sca/kernel/core/src/main/resources/META-INF/tuscany/system.composite Wed Feb 14 13:14:11 2007
@@ -157,4 +157,13 @@
         <system:implementation.system class="org.apache.tuscany.core.binding.local.LocalBindingBuilder" />
     </component>
 
+    <!-- Contribution Service -->
+    <component name="contrbutionService">
+        <system:implementation.system class="org.apache.tuscany.core.services.deployment.ContributionServiceImpl" />
+    </component>
+    <component name="contrbutionRepository">
+        <system:implementation.system class="org.apache.tuscany.core.services.deployment.ContributionRepositoryImpl" />
+        <property name="repository">target/repository</property>
+    </component>
+
 </composite>



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