Author: antelder
Date: Fri Jun  4 13:41:38 2010
New Revision: 951409

URL: http://svn.apache.org/viewvc?rev=951409&view=rev
Log:
Add methods to install/update using Deployer artifacts and associated simplify 
use of monitors

Added:
    
tuscany/sca-java-2.x/trunk/modules/domain/src/test/java/org/apache/tuscany/sca/something/DeployerTestCase.java
Modified:
    
tuscany/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/Section10.java
    
tuscany/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/Section10Factory.java
    
tuscany/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/DeployedComposite.java
    
tuscany/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/Section10Impl.java

Modified: 
tuscany/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/Section10.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/Section10.java?rev=951409&r1=951408&r2=951409&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/Section10.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/Section10.java
 Fri Jun  4 13:41:38 2010
@@ -26,7 +26,9 @@ import javax.xml.namespace.QName;
 import javax.xml.stream.XMLStreamException;
 
 import org.apache.tuscany.sca.assembly.Composite;
+import org.apache.tuscany.sca.contribution.Contribution;
 import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
+import org.apache.tuscany.sca.deployment.Deployer;
 import org.apache.tuscany.sca.monitor.ValidationException;
 import org.apache.tuscany.sca.runtime.ActivationException;
 import org.oasisopen.sca.NoSuchServiceException;
@@ -70,6 +72,7 @@ public interface Section10 {
     /* autoDeploy indicates whether or not to automatically deploy the 
deployables defined in sca-contribution.xml */
     String installContribution(String contributionURL, boolean autoDeploy) 
throws ContributionReadException, ActivationException, ValidationException;
     void installContribution(String uri, String contributionURL, List<String> 
dependentContributionURIs, boolean autoDeploy) throws 
ContributionReadException, ActivationException, ValidationException;
+    void installContribution(Contribution contribution, List<String> 
dependentContributionURIs, boolean autoDeploy) throws 
ContributionReadException, ActivationException, ValidationException;
     
     /**
      * 4577 10.5.1 install Contribution & update Contribution
@@ -99,6 +102,7 @@ public interface Section10 {
      * @param contributionURL
      */
     void updateContribution(String uri, String contributionURL);
+    void updateContribution(Contribution contribution);
 
     /**
      * 4599 10.5.2 add Deployment Composite & update Deployment Composite
@@ -122,7 +126,8 @@ public interface Section10 {
      * @throws ActivationException 
      * @throws ValidationException 
      */
-    String addDeploymentComposite(String contriubutionURI, Reader 
compositeXML) throws ContributionReadException, XMLStreamException, 
ActivationException, ValidationException;
+    String addDeploymentComposite(String contributionURI, Reader compositeXML) 
throws ContributionReadException, XMLStreamException, ActivationException, 
ValidationException;
+    String addDeploymentComposite(String contributionURI, Composite composite) 
throws ActivationException;
 
     /**
      * 4599 10.5.2 add Deployment Composite & update Deployment Composite
@@ -143,6 +148,7 @@ public interface Section10 {
      * @return
      */
     String updateDeploymentComposite(String uri, Reader compositeXML);
+    String updateDeploymentComposite(String uri, Composite composite);
 
     /**
      * 4611 11.4.310.5.3 remove Contribution
@@ -226,4 +232,5 @@ public interface Section10 {
     
     List<String> getDeployedCompostes(String contributionURI);
     List<String> getInstalledContributions();
+    Deployer getDeployer();
 }

Modified: 
tuscany/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/Section10Factory.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/Section10Factory.java?rev=951409&r1=951408&r2=951409&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/Section10Factory.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/Section10Factory.java
 Fri Jun  4 13:41:38 2010
@@ -29,7 +29,6 @@ import org.apache.tuscany.sca.core.Modul
 import org.apache.tuscany.sca.core.UtilityExtensionPoint;
 import org.apache.tuscany.sca.core.assembly.RuntimeAssemblyFactory;
 import org.apache.tuscany.sca.deployment.Deployer;
-import org.apache.tuscany.sca.monitor.MonitorFactory;
 import org.apache.tuscany.sca.runtime.CompositeActivator;
 import org.apache.tuscany.sca.runtime.EndpointRegistry;
 import org.apache.tuscany.sca.runtime.ExtensibleDomainRegistryFactory;
@@ -41,7 +40,6 @@ public class Section10Factory {
 
     private Deployer deployer;
     private ExtensionPointRegistry extensionPointRegistry;
-    private MonitorFactory monitorFactory;
     private CompositeActivator compositeActivator;
     private ExtensibleDomainRegistryFactory domainRegistryFactory;
 
@@ -60,7 +58,7 @@ public class Section10Factory {
 
     public Section10 createSection10(String domainName) {
         EndpointRegistry endpointRegistry = 
domainRegistryFactory.getEndpointRegistry("default", domainName);
-        return new Section10Impl(domainName, deployer, monitorFactory, 
compositeActivator, endpointRegistry, extensionPointRegistry);
+        return new Section10Impl(domainName, deployer, compositeActivator, 
endpointRegistry, extensionPointRegistry);
     }
 
     public void shutdown() {
@@ -82,7 +80,6 @@ public class Section10Factory {
         modelFactories.addFactory(assemblyFactory);
 
         UtilityExtensionPoint utilities = 
extensionPointRegistry.getExtensionPoint(UtilityExtensionPoint.class);
-        this.monitorFactory = utilities.getUtility(MonitorFactory.class);
         this.compositeActivator = 
utilities.getUtility(CompositeActivator.class);
         this.deployer = utilities.getUtility(Deployer.class);
         utilities.getUtility(RuntimeProperties.class).setProperties(config);

Modified: 
tuscany/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/DeployedComposite.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/DeployedComposite.java?rev=951409&r1=951408&r2=951409&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/DeployedComposite.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/DeployedComposite.java
 Fri Jun  4 13:41:38 2010
@@ -34,7 +34,6 @@ import org.apache.tuscany.sca.contributi
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
 import org.apache.tuscany.sca.deployment.Deployer;
 import org.apache.tuscany.sca.monitor.Monitor;
-import org.apache.tuscany.sca.monitor.MonitorFactory;
 import org.apache.tuscany.sca.monitor.ValidationException;
 import org.apache.tuscany.sca.runtime.ActivationException;
 import org.apache.tuscany.sca.runtime.CompositeActivator;
@@ -51,7 +50,6 @@ public class DeployedComposite {
     private CompositeActivator compositeActivator;
     private CompositeContext compositeContext;
     private Deployer deployer;
-    private MonitorFactory monitorFactory;
     private EndpointRegistry endpointRegistry;
     private ExtensionPointRegistry extensionPointRegistry;
 
@@ -60,7 +58,6 @@ public class DeployedComposite {
                              List<Contribution> dependedOnContributions,
                              Deployer deployer,
                              CompositeActivator compositeActivator,
-                             MonitorFactory monitorFactory,
                              EndpointRegistry endpointRegistry,
                              ExtensionPointRegistry extensionPointRegistry) 
throws ActivationException {
         this.composite = composite;
@@ -68,7 +65,6 @@ public class DeployedComposite {
         this.dependedOnContributions = dependedOnContributions;
         this.deployer = deployer;
         this.compositeActivator = compositeActivator;
-        this.monitorFactory = monitorFactory;
         this.endpointRegistry = endpointRegistry;
         this.extensionPointRegistry = extensionPointRegistry;
         try {
@@ -85,16 +81,17 @@ public class DeployedComposite {
         contribution.get(0).getDeployables().clear();
         contribution.get(0).getDeployables().add(composite);
         
-        Monitor monitor = monitorFactory.createMonitor();
-        Monitor tcm = monitorFactory.setContextMonitor(monitor);
-        try {
+        Monitor monitor = deployer.createMonitor();
+// TODO: is the ContextMonitor neccessary here?         
+//        Monitor tcm = monitorFactory.setContextMonitor(monitor);
+//        try {
             
             domainComposite = deployer.build(contribution, 
dependedOnContributions, new HashMap<QName, List<String>>(), monitor);
             monitor.analyzeProblems();
 
-        } finally {
-            monitorFactory.setContextMonitor(tcm);
-        }
+//        } finally {
+//            monitorFactory.setContextMonitor(tcm);
+//        }
         
         compositeContext = new CompositeContext(extensionPointRegistry, 
                                                 endpointRegistry, 

Modified: 
tuscany/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/Section10Impl.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/Section10Impl.java?rev=951409&r1=951408&r2=951409&view=diff
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/Section10Impl.java
 (original)
+++ 
tuscany/sca-java-2.x/trunk/modules/domain/src/main/java/org/apache/tuscany/sca/something/impl/Section10Impl.java
 Fri Jun  4 13:41:38 2010
@@ -40,7 +40,6 @@ import org.apache.tuscany.sca.contributi
 import org.apache.tuscany.sca.core.ExtensionPointRegistry;
 import org.apache.tuscany.sca.deployment.Deployer;
 import org.apache.tuscany.sca.monitor.Monitor;
-import org.apache.tuscany.sca.monitor.MonitorFactory;
 import org.apache.tuscany.sca.monitor.ValidationException;
 import org.apache.tuscany.sca.runtime.ActivationException;
 import org.apache.tuscany.sca.runtime.CompositeActivator;
@@ -55,15 +54,13 @@ public class Section10Impl implements Se
     private String domainName;
     private Deployer deployer;
     private Map<String, InstalledContribution> installedContributions = new 
HashMap<String, InstalledContribution>();
-    private MonitorFactory monitorFactory;
     private CompositeActivator compositeActivator;
     private EndpointRegistry endpointRegistry;
     private ExtensionPointRegistry extensionPointRegistry;
     
-    public Section10Impl(String domainName, Deployer deployer, MonitorFactory 
monitorFactory, CompositeActivator compositeActivator, EndpointRegistry 
endpointRegistry, ExtensionPointRegistry extensionPointRegistry) {
+    public Section10Impl(String domainName, Deployer deployer, 
CompositeActivator compositeActivator, EndpointRegistry endpointRegistry, 
ExtensionPointRegistry extensionPointRegistry) {
         this.domainName = domainName;
         this.deployer = deployer;
-        this.monitorFactory = monitorFactory;
         this.compositeActivator = compositeActivator;
         this.endpointRegistry = endpointRegistry;
         this.extensionPointRegistry = extensionPointRegistry;
@@ -92,8 +89,13 @@ public class Section10Impl implements Se
         Monitor monitor = deployer.createMonitor();
         Contribution contribution = deployer.loadContribution(URI.create(uri), 
url, monitor);
         monitor.analyzeProblems();
-        InstalledContribution ic = new InstalledContribution(uri, 
url.toString(), contribution);
-        installedContributions.put(uri, ic);
+        installContribution(contribution, dependentContributionURIs, 
autoDeploy);
+    }
+
+    public void installContribution(Contribution contribution, List<String> 
dependentContributionURIs, boolean autoDeploy) throws 
ContributionReadException, ActivationException, ValidationException {
+        // TODO: dependentContributionURIs
+        InstalledContribution ic = new 
InstalledContribution(contribution.getURI(), contribution.getLocation(), 
contribution);
+        installedContributions.put(contribution.getURI(), ic);
         if (autoDeploy) {
             for (Composite c : ic.getDefaultDeployables()) {
                 deployComposite(c, ic);
@@ -102,15 +104,17 @@ public class Section10Impl implements Se
     }
 
     public String addDeploymentComposite(String contributionURI, Reader 
compositeXML) throws ContributionReadException, XMLStreamException, 
ActivationException, ValidationException {
+        Monitor monitor = deployer.createMonitor();
+        Composite composite = deployer.loadXMLDocument(compositeXML, monitor);
+        monitor.analyzeProblems();
+        return addDeploymentComposite(contributionURI, composite);
+    }
+
+    public String addDeploymentComposite(String contributionURI, Composite 
composite) throws ActivationException {
         InstalledContribution ic = installedContributions.get(contributionURI);
         if (ic == null) {
             throw new IllegalArgumentException("contribution not installed: " 
+ contributionURI);
         }
-
-        Monitor monitor = monitorFactory.createMonitor();
-        Composite composite = deployer.loadXMLDocument(compositeXML, monitor);
-        monitor.analyzeProblems();
-
         String compositeArtifcatURI = 
deployer.attachDeploymentComposite(ic.getContribution(), composite, true);
         deployComposite(composite, ic);
         return compositeArtifcatURI;
@@ -242,7 +246,7 @@ public class Section10Impl implements Se
             dependentContributions.add(ics.getContribution());
         }
 
-        DeployedComposite dc = new DeployedComposite(c, ic, 
dependentContributions, deployer, compositeActivator, monitorFactory, 
endpointRegistry, extensionPointRegistry);
+        DeployedComposite dc = new DeployedComposite(c, ic, 
dependentContributions, deployer, compositeActivator, endpointRegistry, 
extensionPointRegistry);
         ic.getDeployedComposites().add(dc);
     }
     
@@ -262,4 +266,18 @@ public class Section10Impl implements Se
         }
         return dependentContributionURIs;
     }
+
+    public Deployer getDeployer() {
+        return deployer;
+    }
+
+    public void updateContribution(Contribution contribution) {
+        // TODO Auto-generated method stub
+        
+    }
+
+    public String updateDeploymentComposite(String uri, Composite composite) {
+        // TODO Auto-generated method stub
+        return null;
+    }
 }

Added: 
tuscany/sca-java-2.x/trunk/modules/domain/src/test/java/org/apache/tuscany/sca/something/DeployerTestCase.java
URL: 
http://svn.apache.org/viewvc/tuscany/sca-java-2.x/trunk/modules/domain/src/test/java/org/apache/tuscany/sca/something/DeployerTestCase.java?rev=951409&view=auto
==============================================================================
--- 
tuscany/sca-java-2.x/trunk/modules/domain/src/test/java/org/apache/tuscany/sca/something/DeployerTestCase.java
 (added)
+++ 
tuscany/sca-java-2.x/trunk/modules/domain/src/test/java/org/apache/tuscany/sca/something/DeployerTestCase.java
 Fri Jun  4 13:41:38 2010
@@ -0,0 +1,63 @@
+/*
+ * 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.something;
+
+import java.io.File;
+import java.net.MalformedURLException;
+import java.net.URI;
+import java.util.List;
+
+import junit.framework.Assert;
+
+import org.apache.tuscany.sca.contribution.Contribution;
+import org.apache.tuscany.sca.contribution.processor.ContributionReadException;
+import org.apache.tuscany.sca.deployment.Deployer;
+import org.apache.tuscany.sca.monitor.Monitor;
+import org.apache.tuscany.sca.monitor.ValidationException;
+import org.apache.tuscany.sca.runtime.ActivationException;
+import org.junit.Test;
+import org.oasisopen.sca.NoSuchDomainException;
+import org.oasisopen.sca.NoSuchServiceException;
+
+public class DeployerTestCase {
+
+    @Test
+    public void testInstalledContribution() throws NoSuchServiceException, 
NoSuchDomainException, ContributionReadException, ActivationException, 
ValidationException, MalformedURLException {
+        Section10 section10 = Section10Factory.createSection10();
+        
+        Deployer deployer = section10.getDeployer();
+        Monitor monitor = deployer.createMonitor();
+        Contribution contribution = 
deployer.loadContribution(URI.create("foo"), new 
File("src/test/resources/sample-helloworld-nodeployable.jar").toURI().toURL(), 
monitor);
+        monitor.analyzeProblems();
+        
+        section10.installContribution(contribution, null, true);
+        List<String> ics = section10.getInstalledContributions();
+        Assert.assertEquals(1, ics.size());
+        Assert.assertEquals("foo", ics.get(0));
+    }
+
+    @Test
+    public void testAddDeploymentComposite() throws NoSuchServiceException, 
NoSuchDomainException, ContributionReadException, ActivationException, 
ValidationException, MalformedURLException {
+        Section10 section10 = Section10Factory.createSection10();
+        
+        Deployer deployer = section10.getDeployer();
+        Monitor monitor = deployer.createMonitor();
+    }
+
+}


Reply via email to