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 2007/06/19 04:25:20 UTC
svn commit: r548560 - in /incubator/tuscany/java/sca/modules:
contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/impl/
contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/resolver/impl/
contribution-impl/src/main/java/o...
Author: jsdelfino
Date: Mon Jun 18 19:25:19 2007
New Revision: 548560
URL: http://svn.apache.org/viewvc?view=rev&rev=548560
Log:
Added support for resolution of artifacts by URI.
Modified:
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/impl/ArtifactImpl.java
incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/resolver/impl/ModelResolverImpl.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-impl/src/test/java/org/apache/tuscany/sca/contribution/resolver/ArtifactResolverTestCase.java
incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.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/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/impl/ArtifactImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/impl/ArtifactImpl.java?view=diff&rev=548560&r1=548559&r2=548560
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/impl/ArtifactImpl.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/impl/ArtifactImpl.java Mon Jun 18 19:25:19 2007
@@ -49,4 +49,23 @@
public void setURI(String uri) {
this.uri = uri;
}
+
+ @Override
+ public int hashCode() {
+ return uri.hashCode();
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj == this) {
+ return true;
+ } else {
+ if (obj instanceof Artifact) {
+ return uri.equals(((Artifact)obj).getURI());
+ } else {
+ return false;
+ }
+ }
+ }
+
}
Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/resolver/impl/ModelResolverImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/resolver/impl/ModelResolverImpl.java?view=diff&rev=548560&r1=548559&r2=548560
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/resolver/impl/ModelResolverImpl.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/main/java/org/apache/tuscany/sca/contribution/resolver/impl/ModelResolverImpl.java Mon Jun 18 19:25:19 2007
@@ -42,7 +42,7 @@
public ModelResolverImpl(ClassLoader classLoader) {
this.classLoader = new WeakReference<ClassLoader>(classLoader);
}
-
+
public <T> T resolveModel(Class<T> modelClass, T unresolved) {
Object resolved = map.get(unresolved);
if (resolved != null) {
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=548560&r1=548559&r2=548560
==============================================================================
--- 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 18 19:25:19 2007
@@ -284,20 +284,28 @@
*/
private void processReadPhase(Contribution contribution, List<URI> artifacts) throws ContributionException,
MalformedURLException {
+
+ ModelResolver modelResolver = contribution.getModelResolver();
URL contributionURL = new URL(contribution.getLocation());
for (URI a : artifacts) {
URL artifactURL = packageProcessor.getArtifactURL(new URL(contribution.getLocation()), a);
- Object model = this.artifactProcessor.read(contributionURL, a, artifactURL);
+ // Add the deployed artifact model to the resolver
+ DeployedArtifact artifact = this.contributionFactory.createDeployedArtifact();
+ artifact.setURI(a.toString());
+ artifact.setLocation(artifactURL.toString());
+ contribution.getArtifacts().add(artifact);
+ modelResolver.addModel(artifact);
+
+ // Let the artifact processor read the artifact into a model
+ Object model = this.artifactProcessor.read(contributionURL, a, artifactURL);
if (model != null) {
- contribution.getModelResolver().addModel(model);
-
- DeployedArtifact artifact = this.contributionFactory.createDeployedArtifact();
- artifact.setURI(a.toString());
- artifact.setLocation(artifactURL.toString());
artifact.setModel(model);
- contribution.getArtifacts().add(artifact);
+
+ // Add the loaded model to the model resolver
+ modelResolver.addModel(model);
}
+
}
}
Modified: incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/resolver/ArtifactResolverTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/resolver/ArtifactResolverTestCase.java?view=diff&rev=548560&r1=548559&r2=548560
==============================================================================
--- incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/resolver/ArtifactResolverTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/contribution-impl/src/test/java/org/apache/tuscany/sca/contribution/resolver/ArtifactResolverTestCase.java Mon Jun 18 19:25:19 2007
@@ -21,6 +21,9 @@
import junit.framework.TestCase;
+import org.apache.tuscany.sca.contribution.ContributionFactory;
+import org.apache.tuscany.sca.contribution.DeployedArtifact;
+import org.apache.tuscany.sca.contribution.impl.ContributionFactoryImpl;
import org.apache.tuscany.sca.contribution.resolver.impl.ModelResolverImpl;
/**
@@ -31,13 +34,16 @@
public class ArtifactResolverTestCase extends TestCase {
private ModelResolver resolver;
+ private ContributionFactory factory;
protected void setUp() throws Exception {
resolver = new ModelResolverImpl(getClass().getClassLoader());
+ factory = new ContributionFactoryImpl();
}
protected void tearDown() throws Exception {
resolver = null;
+ factory = null;
}
public void testResolved() {
@@ -67,7 +73,15 @@
assertTrue(clazz.getJavaClass() == null);
}
-
+ public void testResolvedArtifact() {
+ DeployedArtifact artifact = factory.createDeployedArtifact();
+ artifact.setURI("foo/bar");
+ resolver.addModel(artifact);
+ DeployedArtifact x = factory.createDeployedArtifact();
+ x.setURI("foo/bar");
+ x = resolver.resolveModel(DeployedArtifact.class, x);
+ assertTrue(x == artifact);
+ }
class Model {
private String name;
Modified: incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java?view=diff&rev=548560&r1=548559&r2=548560
==============================================================================
--- incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java (original)
+++ incubator/tuscany/java/sca/modules/host-embedded/src/main/java/org/apache/tuscany/sca/host/embedded/impl/ReallySmallRuntime.java Mon Jun 18 19:25:19 2007
@@ -24,6 +24,8 @@
import org.apache.tuscany.sca.assembly.AssemblyFactory;
import org.apache.tuscany.sca.assembly.DefaultSCABindingFactory;
import org.apache.tuscany.sca.assembly.SCABindingFactory;
+import org.apache.tuscany.sca.contribution.ContributionFactory;
+import org.apache.tuscany.sca.contribution.impl.ContributionFactoryImpl;
import org.apache.tuscany.sca.contribution.service.ContributionService;
import org.apache.tuscany.sca.core.DefaultExtensionPointRegistry;
import org.apache.tuscany.sca.core.DefaultModelFactoryExtensionPoint;
@@ -88,9 +90,11 @@
factories.addFactory(policyFactory);
SCABindingFactory scaBindingFactory = new DefaultSCABindingFactory();
factories.addFactory(scaBindingFactory);
+ ContributionFactory contributionFactory = new ContributionFactoryImpl();
// Create a contribution service
contributionService = ReallySmallRuntimeBuilder.createContributionService(registry,
+ contributionFactory,
assemblyFactory,
policyFactory,
mapper);
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=548560&r1=548559&r2=548560
==============================================================================
--- 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 18 19:25:19 2007
@@ -42,7 +42,6 @@
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.impl.ContributionFactoryImpl;
import org.apache.tuscany.sca.contribution.processor.DefaultPackageProcessorExtensionPoint;
import org.apache.tuscany.sca.contribution.processor.DefaultStAXArtifactProcessorExtensionPoint;
import org.apache.tuscany.sca.contribution.processor.DefaultURLArtifactProcessorExtensionPoint;
@@ -136,6 +135,7 @@
* @throws ActivationException
*/
public static ContributionService createContributionService(ExtensionPointRegistry registry,
+ ContributionFactory contributionFactory,
AssemblyFactory assemblyFactory,
PolicyFactory policyFactory,
InterfaceContractMapper mapper)
@@ -186,7 +186,6 @@
throw new ActivationException(e);
}
- ContributionFactory contributionFactory = new ContributionFactoryImpl();
ExtensibleURLArtifactProcessor documentProcessor = new ExtensibleURLArtifactProcessor(documentProcessors);
ContributionService contributionService = new ContributionServiceImpl(repository, packageProcessor,
documentProcessor, assemblyFactory,
---------------------------------------------------------------------
To unsubscribe, e-mail: tuscany-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-commits-help@ws.apache.org