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