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