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/10/24 22:05:50 UTC

svn commit: r587995 - in /incubator/tuscany/java/sca: itest/callablereferences/src/test/java/org/apache/tuscany/sca/itest/callableref/ modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/ modules/domain-api/src/main/java/or...

Author: jsdelfino
Date: Wed Oct 24 13:05:48 2007
New Revision: 587995

URL: http://svn.apache.org/viewvc?rev=587995&view=rev
Log:
Starting to get the store sample to use the domain/node api. Fixed the domain/node lifecycle methods as they were mixing start/stop composites and start/stop of the node itself. Fixed test cases to effectively stop/destroy the nodes in their destroy method. Moved util class to allow the store sample to use the findContribution util method.

Added:
    incubator/tuscany/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/util/
    incubator/tuscany/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/util/SCAContributionUtil.java   (with props)
Removed:
    incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/SCADomainUtil.java
Modified:
    incubator/tuscany/java/sca/itest/callablereferences/src/test/java/org/apache/tuscany/sca/itest/callableref/CallableReferenceRemoteTestCase.java
    incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/AsynchTestCase.java
    incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/CallbackTestCase.java
    incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/PromotionTestCase.java
    incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/SimpleTestCase.java
    incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/TestDomain.java
    incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/TestNode.java
    incubator/tuscany/java/sca/modules/domain-api/src/main/java/org/apache/tuscany/sca/domain/SCADomain.java
    incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/DomainManagerNodeImpl.java
    incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/SCADomainImpl.java
    incubator/tuscany/java/sca/modules/domain-impl/src/test/java/org/apache/tuscany/sca/domain/impl/DomainImplTestCase.java
    incubator/tuscany/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode.java
    incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/DomainManagerServiceImpl.java
    incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeManagerServiceImpl.java
    incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCADomainImpl.java
    incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCANodeImpl.java
    incubator/tuscany/java/sca/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/DomainDrivenTestCase.java
    incubator/tuscany/java/sca/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeDrivenTestCase.java
    incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/CalculatorNode.java
    incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/DomainNode.java
    incubator/tuscany/java/sca/samples/calculator-distributed/src/test/java/calculator/DomainInMemoryTestCase.java
    incubator/tuscany/java/sca/tutorial/pom.xml
    incubator/tuscany/java/sca/tutorial/store-cart/pom.xml
    incubator/tuscany/java/sca/tutorial/store-catalog-database/pom.xml
    incubator/tuscany/java/sca/tutorial/store-catalog/pom.xml
    incubator/tuscany/java/sca/tutorial/store-currency/pom.xml
    incubator/tuscany/java/sca/tutorial/store-domain/src/main/java/launch/LaunchDomain.java
    incubator/tuscany/java/sca/tutorial/store/pom.xml
    incubator/tuscany/java/sca/tutorial/store/src/main/java/launch/Launch.java
    incubator/tuscany/java/sca/tutorial/store/src/main/resources/store.composite
    incubator/tuscany/java/sca/tutorial/store/src/main/resources/uiservices/store.html

Modified: incubator/tuscany/java/sca/itest/callablereferences/src/test/java/org/apache/tuscany/sca/itest/callableref/CallableReferenceRemoteTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/callablereferences/src/test/java/org/apache/tuscany/sca/itest/callableref/CallableReferenceRemoteTestCase.java?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/itest/callablereferences/src/test/java/org/apache/tuscany/sca/itest/callableref/CallableReferenceRemoteTestCase.java (original)
+++ incubator/tuscany/java/sca/itest/callablereferences/src/test/java/org/apache/tuscany/sca/itest/callableref/CallableReferenceRemoteTestCase.java Wed Oct 24 13:05:48 2007
@@ -83,8 +83,8 @@
     @AfterClass
     public static void destroy() throws Exception {
         // stop the nodes and hence the domains they contain        
-        nodeA.stop();
-        nodeB.stop(); 
+        nodeA.destroy();
+        nodeB.destroy();
     }
 
     @Test

Modified: incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/AsynchTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/AsynchTestCase.java?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/AsynchTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/AsynchTestCase.java Wed Oct 24 13:05:48 2007
@@ -50,8 +50,8 @@
 
     @AfterClass
     public static void destroy() throws Exception {
-        nodeA.stop();
-        nodeB.stop();
+        nodeA.destroy();
+        nodeB.destroy();
     }   
     
     @Test

Modified: incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/CallbackTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/CallbackTestCase.java?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/CallbackTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/CallbackTestCase.java Wed Oct 24 13:05:48 2007
@@ -48,8 +48,8 @@
 
     @AfterClass
     public static void destroy() throws Exception {
-        nodeA.stop();
-        nodeB.stop();
+        nodeA.destroy();
+        nodeB.destroy();
     }   
     
     //@Test

Modified: incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/PromotionTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/PromotionTestCase.java?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/PromotionTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/PromotionTestCase.java Wed Oct 24 13:05:48 2007
@@ -46,8 +46,8 @@
 
     @AfterClass
     public static void destroy() throws Exception {
-        nodeA.stop(); 
-        nodeB.stop();
+        nodeA.destroy();
+        nodeB.destroy();
     }    
     
     @Test

Modified: incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/SimpleTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/SimpleTestCase.java?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/SimpleTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/SimpleTestCase.java Wed Oct 24 13:05:48 2007
@@ -48,8 +48,8 @@
 
     @AfterClass
     public static void destroy() throws Exception {
-        nodeA.stop();
-        nodeB.stop();
+        nodeA.destroy();
+        nodeB.destroy();
     }    
     
     @Test

Modified: incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/TestDomain.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/TestDomain.java?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/TestDomain.java (original)
+++ incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/TestDomain.java Wed Oct 24 13:05:48 2007
@@ -47,13 +47,8 @@
         this.domainURI = domainURI; 
     }
     
-    public void start() throws DomainException {
-        
+    public void destroy() throws DomainException {
     }
-    
-    public void stop() throws DomainException {
-    }
-    
         
     public String getURI(){
         return domainURI;

Modified: incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/TestNode.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/TestNode.java?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/TestNode.java (original)
+++ incubator/tuscany/java/sca/modules/binding-sca-axis2/src/test/java/org/apache/tuscany/sca/binding/sca/axis2/TestNode.java Wed Oct 24 13:05:48 2007
@@ -123,6 +123,9 @@
     
     public void stop() 
       throws NodeException {
+    }
+    
+    public void destroy() throws NodeException {
         try {
             nodeRuntime.stop();
         } catch(Exception ex) {
@@ -146,12 +149,15 @@
     public void addContribution(String contributionURI, URL contributionURL, ClassLoader contributionClassLoader ) throws NodeException {
        
     }
+    
+    public void removeContribution(String contributionURI) throws NodeException {
+    }
 
     public void removeContributions() throws NodeException {
  
     }
     
-    public void deployComposite(QName compositeName) throws NodeException {
+    public void addToDomainLevelComposite(QName compositeName) throws NodeException {
 
     }
     

Modified: incubator/tuscany/java/sca/modules/domain-api/src/main/java/org/apache/tuscany/sca/domain/SCADomain.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/domain-api/src/main/java/org/apache/tuscany/sca/domain/SCADomain.java?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/domain-api/src/main/java/org/apache/tuscany/sca/domain/SCADomain.java (original)
+++ incubator/tuscany/java/sca/modules/domain-api/src/main/java/org/apache/tuscany/sca/domain/SCADomain.java Wed Oct 24 13:05:48 2007
@@ -35,15 +35,9 @@
 public interface SCADomain {
 
     /**
-     * Start the SCA domain service.
+     * Destroy the SCA domain service.
      */
-    public void start()
-      throws DomainException;
-
-    /**
-     * Stop the SCA domain service.
-     */
-    public void stop()
+    public void destroy()
       throws DomainException;
 
     /**

Modified: incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/DomainManagerNodeImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/DomainManagerNodeImpl.java?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/DomainManagerNodeImpl.java (original)
+++ incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/DomainManagerNodeImpl.java Wed Oct 24 13:05:48 2007
@@ -87,11 +87,8 @@
             
         // SCADomain API methods 
         
-        public void start() throws DomainException {
+        public void destroy() throws DomainException {
         }
-
-        public void stop() throws DomainException {
-        }    
      
         public String getURI(){
             return null;
@@ -149,6 +146,9 @@
     public void stop() throws NodeException {
 
     }    
+    
+    public void destroy() throws NodeException {
+    }
  
     public String getURI(){
         return null;
@@ -161,8 +161,10 @@
     public void addContribution(String contributionURI, URL contributionURL) throws NodeException {
     }
     
+    public void removeContribution(String contributionURI) throws NodeException {
+    }
     
-    public void deployComposite(QName compositeName) throws NodeException {
+    public void addToDomainLevelComposite(QName compositeName) throws NodeException {
 
     }  
 

Modified: incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/SCADomainImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/SCADomainImpl.java?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/SCADomainImpl.java (original)
+++ incubator/tuscany/java/sca/modules/domain-impl/src/main/java/org/apache/tuscany/sca/domain/impl/SCADomainImpl.java Wed Oct 24 13:05:48 2007
@@ -21,9 +21,7 @@
 
 import java.net.URI;
 import java.net.URL;
-import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.List;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
@@ -54,8 +52,9 @@
 import org.apache.tuscany.sca.host.embedded.impl.ReallySmallRuntime;
 import org.apache.tuscany.sca.interfacedef.InterfaceContract;
 import org.apache.tuscany.sca.interfacedef.java.JavaInterfaceFactory;
-import org.apache.tuscany.sca.node.NodeManagerService;
 import org.apache.tuscany.sca.node.NodeFactoryImpl;
+import org.apache.tuscany.sca.node.NodeManagerService;
+import org.apache.tuscany.sca.node.util.SCAContributionUtil;
 import org.apache.tuscany.sca.runtime.RuntimeComponent;
 import org.apache.tuscany.sca.runtime.RuntimeComponentContext;
 import org.apache.tuscany.sca.runtime.RuntimeComponentReference;
@@ -143,7 +142,7 @@
             
             // Find the composite that will configure the domain
             String domainCompositeName = "domain.composite";
-            URL contributionURL = SCADomainUtil.findContributionFromComposite(domainClassLoader, domainCompositeName);
+            URL contributionURL = SCAContributionUtil.findContributionFromResource(domainClassLoader, domainCompositeName);
             
             if ( contributionURL != null ){ 
                 logger.log(Level.INFO, "Domain management configured from " + contributionURL);
@@ -341,12 +340,7 @@
         
     // SCADomain API methods 
     
-    public void start() throws DomainException {
-        // TODO     
-    }
-
-
-    public void stop() throws DomainException {
+    public void destroy() throws DomainException {
         try {
             // Stop the node
             domainManagementRuntime.stop();
@@ -354,8 +348,7 @@
         } catch(ActivationException ex) {
             throw new DomainException(ex); 
         }         
-        
-    }    
+    }
  
     public String getURI(){
         return domainModel.getDomainURI();

Modified: incubator/tuscany/java/sca/modules/domain-impl/src/test/java/org/apache/tuscany/sca/domain/impl/DomainImplTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/domain-impl/src/test/java/org/apache/tuscany/sca/domain/impl/DomainImplTestCase.java?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/domain-impl/src/test/java/org/apache/tuscany/sca/domain/impl/DomainImplTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/domain-impl/src/test/java/org/apache/tuscany/sca/domain/impl/DomainImplTestCase.java Wed Oct 24 13:05:48 2007
@@ -64,7 +64,7 @@
     @AfterClass
     public static void destroy() throws Exception {
         // stop the domain    
-        domain.stop();
+        domain.destroy();
         System.out.println("Domain stopped");
     }  
     

Modified: incubator/tuscany/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode.java?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode.java (original)
+++ incubator/tuscany/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/SCANode.java Wed Oct 24 13:05:48 2007
@@ -59,21 +59,33 @@
     public void addContribution(String contributionURI, URL contributionURL) throws NodeException;
    
     /**
-     * Deploy the named composite if it hasn't already been deployed
+     * Remove an SCA contribution from the node.
+     *  
+     * @param contributionURI the URI of the contribution
+     */
+    public void removeContribution(String contributionURI) throws NodeException;
+   
+    /**
+     * Add the named deployable composite to the domain level composite
      * 
      * @param compositeQName the name of the composite to be deployed
      */
-    public void deployComposite(QName compositeQName) throws NodeException;
+    public void addToDomainLevelComposite(QName compositeQName) throws NodeException;
     
     /**
-     * Start the SCA node service and all the deployed composites
+     * Start all the deployed composites
      */
     public void start() throws NodeException;    
     
     /**
-     * Stop the SCA node service and all of the deployed composites
+     * Stop all of the deployed composites
      */
     public void stop() throws NodeException;    
 
+    /**
+     * Destroy the node.
+     */
+    public void destroy() throws NodeException;    
+    
         
 }

Added: incubator/tuscany/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/util/SCAContributionUtil.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/util/SCAContributionUtil.java?rev=587995&view=auto
==============================================================================
--- incubator/tuscany/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/util/SCAContributionUtil.java (added)
+++ incubator/tuscany/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/util/SCAContributionUtil.java Wed Oct 24 13:05:48 2007
@@ -0,0 +1,111 @@
+/*
+ * 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.node.util;
+
+import java.io.File;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+
+/**
+ * Utility methods to find an SCA contribution from a class or a resource.
+ * 
+ * @version $Rev$ $Date$
+ */
+public class SCAContributionUtil {
+    
+    /**
+     * Given a class this method finds the contribution that it belongs to.
+     * This could be either a local directory of a jar file.
+     * 
+     * @param clazz
+     * @return the contribution URL
+     * @throws MalformedURLException
+     */  
+    public static URL findContributionFromClass(Class<?> clazz) throws MalformedURLException {
+        return findContributionFromResource(clazz.getClassLoader(), clazz.getName().replace('.', '/') + ".class");
+    }
+              
+    /**
+     * Given the path to a resource this method finds the contribution that it belongs to
+     * this could be either a local directory of a jar file.
+     * 
+     * @param classLoader
+     * @param compositeString
+     * @return the contribution URL
+     * @throws MalformedURLException
+     */  
+    public static URL findContributionFromResource(ClassLoader classLoader, String compositeString) throws MalformedURLException {
+    	   	
+        URL contributionURL = classLoader.getResource(compositeString);
+        
+        if ( contributionURL != null ){ 
+            String contributionURLString = contributionURL.toExternalForm();
+            String protocol = contributionURL.getProtocol();
+            
+            if ("file".equals(protocol)) {
+                // directory contribution
+                if (contributionURLString.endsWith(compositeString)) {
+                    String location = contributionURLString.substring(0, contributionURLString.lastIndexOf(compositeString));
+                    // workaround from evil url/uri form maven
+                    contributionURL = toFile(new URL(location)).toURI().toURL();
+                }
+    
+            } else if ("jar".equals(protocol)) {
+                // jar contribution
+                String location = contributionURLString.substring(4, contributionURLString.lastIndexOf("!/"));
+                // workaround for evil url/uri from maven
+                contributionURL = toFile(new URL(location)).toURI().toURL();
+            }
+        } 
+        
+    	return contributionURL;
+    } 
+
+    /**
+     * Convert from a <code>URL</code> to a <code>File</code>.
+     * <p>
+     * From version 1.1 this method will decode the URL. Syntax such as
+     * <code>file:///my%20docs/file.txt</code> will be correctly decoded to
+     * <code>/my docs/file.txt</code>.
+     * 
+     * @param url the file URL to convert, null returns null
+     * @return the equivalent <code>File</code> object, or <code>null</code>
+     *         if the URL's protocol is not <code>file</code>
+     * @throws IllegalArgumentException if the file is incorrectly encoded
+     */
+    private static File toFile(URL url) {
+        if (url == null || !url.getProtocol().equals("file")) {
+            return null;
+        } else {
+            String filename = url.getFile().replace('/', File.separatorChar);
+            int pos = 0;
+            while ((pos = filename.indexOf('%', pos)) >= 0) { // NOPMD
+                if (pos + 2 < filename.length()) {
+                    String hexStr = filename.substring(pos + 1, pos + 3);
+                    char ch = (char)Integer.parseInt(hexStr, 16);
+                    filename = filename.substring(0, pos) + ch + filename.substring(pos + 3);
+                }
+            }
+            return new File(filename);
+        }
+    }
+
+}
\ No newline at end of file

Propchange: incubator/tuscany/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/util/SCAContributionUtil.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: incubator/tuscany/java/sca/modules/node-api/src/main/java/org/apache/tuscany/sca/node/util/SCAContributionUtil.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/DomainManagerServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/DomainManagerServiceImpl.java?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/DomainManagerServiceImpl.java (original)
+++ incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/DomainManagerServiceImpl.java Wed Oct 24 13:05:48 2007
@@ -58,7 +58,8 @@
                 returnValue =  domainManager.registerNode(nodeURI, nodeURL);
                 break;
             } catch(UndeclaredThrowableException ex) {
-                logger.log(Level.INFO, "Trying to regsiter node " + 
+                ex.printStackTrace();
+                logger.log(Level.INFO, "Trying to register node " + 
                                        nodeURI + 
                                        " at endpoint " +
                                        nodeURL);

Modified: incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeManagerServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeManagerServiceImpl.java?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeManagerServiceImpl.java (original)
+++ incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/NodeManagerServiceImpl.java Wed Oct 24 13:05:48 2007
@@ -93,7 +93,7 @@
      */
     public void deployComposite(String compositeName) {
         try {
-            node.deployComposite(QName.valueOf(compositeName));
+            node.addToDomainLevelComposite(QName.valueOf(compositeName));
         } catch (Exception ex){
             // TODO - sort out exceptions passing across binding.sca
             logger.log(Level.SEVERE, ex.toString());

Modified: incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCADomainImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCADomainImpl.java?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCADomainImpl.java (original)
+++ incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCADomainImpl.java Wed Oct 24 13:05:48 2007
@@ -263,19 +263,14 @@
       
     // API methods 
     
-    public void start() throws DomainException {
-        // TODO - what happens here?
-    }
-    
-    public void stop() throws DomainException {
+    public void destroy() throws DomainException {
         try {
           // Stop the domain
           domainManagementRuntime.stop();
         } catch (Exception ex) {
             throw new DomainException(ex);
         }
-
-    }    
+    }
  
     public String getURI(){
         return domainURI;
@@ -303,7 +298,7 @@
     
     public void addToDomainLevelComposite(QName qname) throws DomainException {
         try {
-            nodeImpl.deployComposite(qname);
+            nodeImpl.addToDomainLevelComposite(qname);
         } catch(Exception ex) {
             new DomainException(ex);
         }
@@ -319,7 +314,7 @@
       
     public void startComposite(QName qname) throws DomainException {
         try {
-            nodeImpl.deployComposite(qname);
+            nodeImpl.addToDomainLevelComposite(qname);
         } catch(Exception ex) {
             new DomainException(ex);
         }        

Modified: incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCANodeImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCANodeImpl.java?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCANodeImpl.java (original)
+++ incubator/tuscany/java/sca/modules/node-impl/src/main/java/org/apache/tuscany/sca/node/impl/SCANodeImpl.java Wed Oct 24 13:05:48 2007
@@ -224,13 +224,20 @@
     }
     
     public void stop() throws NodeException {
+        stopComposites();
+    }
+    
+    public void destroy() throws NodeException {
         try {
-            // remove contributions
+            if (compositesToStart.size() != 0) {
+                stopComposites();
+            }
             removeAllContributions();           
+            nodeRuntime.stop();
         } catch (Exception ex) {
             throw new NodeException(ex);
         }
-    }    
+    }
  
     public String getURI(){
         return nodeURI;
@@ -290,12 +297,18 @@
             throw new NodeException(ex);
         }        
     }
+    
+    public void removeContribution(String contributionURI) throws NodeException {
+        try {     
+            nodeRuntime.getContributionService().remove(contributionURI);
+        } catch (Exception ex) {
+            throw new NodeException(ex);
+        }   
+        contributions.remove(contributionURI);
+    }
 
     private void removeAllContributions() throws NodeException {
         try {     
-            // stop any running composites
-            stopComposites();
-            
             // Remove all contributions
             for (String contributionURI : contributions.keySet()){
                 nodeRuntime.getContributionService().remove(contributionURI);
@@ -306,7 +319,7 @@
         }   
     }
     
-    public void deployComposite(QName compositeName) throws NodeException {
+    public void addToDomainLevelComposite(QName compositeName) throws NodeException {
         // if the named composite is not already in the list then 
         // add it
         if (compositesToStart.indexOf(compositeName) == -1 ){

Modified: incubator/tuscany/java/sca/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/DomainDrivenTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/DomainDrivenTestCase.java?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/DomainDrivenTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/DomainDrivenTestCase.java Wed Oct 24 13:05:48 2007
@@ -60,7 +60,6 @@
             
             SCADomainFactory domainFactory = SCADomainFactory.newInstance();
             domain = domainFactory.createSCADomain(DEFAULT_DOMAIN_URI);
-            domain.start();
             
             System.out.println("Setting up calculator nodes");
             
@@ -101,10 +100,10 @@
     @AfterClass
     public static void destroy() throws Exception {
         // stop the nodes and hence the domains they contain        
-        nodeA.stop();
-        nodeB.stop();    
-        nodeC.stop();
-        domain.stop();
+        nodeA.destroy();
+        nodeB.destroy();
+        nodeC.destroy();
+        domain.destroy();
     }
 
     @Test

Modified: incubator/tuscany/java/sca/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeDrivenTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeDrivenTestCase.java?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeDrivenTestCase.java (original)
+++ incubator/tuscany/java/sca/modules/node-impl/src/test/java/org/apache/tuscany/sca/node/impl/NodeDrivenTestCase.java Wed Oct 24 13:05:48 2007
@@ -81,7 +81,7 @@
             // explicitly ask for composite to be started
             nodeC = nodeFactory.createSCANode("nodeC", DEFAULT_DOMAIN_URI);
             nodeC.addContribution("nodeC", cl.getResource("nodeC/"));
-            nodeC.deployComposite(new QName("http://sample", "Calculator")); 
+            nodeC.addToDomainLevelComposite(new QName("http://sample", "Calculator")); 
             nodeC.start();
 
             SCADomainFinder domainFinder = SCADomainFinder.newInstance();
@@ -103,9 +103,9 @@
     @AfterClass
     public static void destroy() throws Exception {
         // stop the nodes and hence the domains they contain        
-        nodeA.stop();
-        nodeB.stop();    
-        nodeC.stop();
+        nodeA.destroy();
+        nodeB.destroy();    
+        nodeC.destroy();
     }
 
     @Test

Modified: incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/CalculatorNode.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/CalculatorNode.java?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/CalculatorNode.java (original)
+++ incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/CalculatorNode.java Wed Oct 24 13:05:48 2007
@@ -56,7 +56,7 @@
             SCANodeFactory nodeFactory = SCANodeFactory.newInstance();
             SCANode node = nodeFactory.createSCANode(nodeName, domainName);
             node.addContribution(nodeName, cl.getResource(nodeName + "/"));
-            node.deployComposite(new QName("http://sample", "Calculator"));
+            node.addToDomainLevelComposite(new QName("http://sample", "Calculator"));
             node.start();             
                                          
             // nodeA is the head node and runs some tests while all other nodes
@@ -94,6 +94,7 @@
             
             // stop the node and all the domains in it 
             node.stop(); 
+            node.destroy();
         
         } catch(Exception ex) {
             System.err.println("Exception in node - " + ex.getMessage());

Modified: incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/DomainNode.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/DomainNode.java?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/DomainNode.java (original)
+++ incubator/tuscany/java/sca/samples/calculator-distributed/src/main/java/node/DomainNode.java Wed Oct 24 13:05:48 2007
@@ -36,12 +36,11 @@
         try {
             SCADomainFactory domainFactory = SCADomainFactory.newInstance();
             SCADomain domain = domainFactory.createSCADomain(DEFAULT_DOMAIN_URI); 
-            domain.start();
         
             System.out.println("Domain started (press enter to shutdown)");
             System.in.read();
             
-            domain.stop();
+            domain.destroy();
         } catch (Exception e) {
             e.printStackTrace();
         }

Modified: incubator/tuscany/java/sca/samples/calculator-distributed/src/test/java/calculator/DomainInMemoryTestCase.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/samples/calculator-distributed/src/test/java/calculator/DomainInMemoryTestCase.java?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/samples/calculator-distributed/src/test/java/calculator/DomainInMemoryTestCase.java (original)
+++ incubator/tuscany/java/sca/samples/calculator-distributed/src/test/java/calculator/DomainInMemoryTestCase.java Wed Oct 24 13:05:48 2007
@@ -68,19 +68,19 @@
             
             nodeA = nodeFactory.createSCANode("nodeA", DEFAULT_DOMAIN_URI);
             nodeA.addContribution("nodeA", cl.getResource("nodeA/"));
-            nodeA.deployComposite(new QName("http://sample", "Calculator"));
+            nodeA.addToDomainLevelComposite(new QName("http://sample", "Calculator"));
             nodeA.start();
 
             
             nodeB = nodeFactory.createSCANode("nodeB", DEFAULT_DOMAIN_URI);
             nodeB.addContribution("nodeB", cl.getResource("nodeB/"));
-            nodeB.deployComposite(new QName("http://sample", "Calculator"));
+            nodeB.addToDomainLevelComposite(new QName("http://sample", "Calculator"));
             nodeB.start();
 
             
             nodeC = nodeFactory.createSCANode("nodeC", DEFAULT_DOMAIN_URI);
             nodeC.addContribution("nodeC", cl.getResource("nodeC/"));
-            nodeC.deployComposite(new QName("http://sample", "Calculator")); 
+            nodeC.addToDomainLevelComposite(new QName("http://sample", "Calculator")); 
             nodeC.start();
 
             SCADomainFinder domainFinder = SCADomainFinder.newInstance();
@@ -103,8 +103,11 @@
     public static void destroy() throws Exception {
         // stop the nodes and hence the domains they contain        
         nodeA.stop();
+        nodeA.destroy();
         nodeB.stop();    
+        nodeB.destroy();
         nodeC.stop();
+        nodeC.destroy();
     }    
 
     @Test

Modified: incubator/tuscany/java/sca/tutorial/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/pom.xml?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/pom.xml (original)
+++ incubator/tuscany/java/sca/tutorial/pom.xml Wed Oct 24 13:05:48 2007
@@ -40,6 +40,7 @@
                 <module>store-cart</module>
                 <module>store-catalog</module>
                 <module>store-catalog-database</module>
+                <module>store-domain</module>
                 <module>store-currency</module>
                 <module>store-ui</module>
             </modules>

Modified: incubator/tuscany/java/sca/tutorial/store-cart/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store-cart/pom.xml?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store-cart/pom.xml (original)
+++ incubator/tuscany/java/sca/tutorial/store-cart/pom.xml Wed Oct 24 13:05:48 2007
@@ -38,8 +38,15 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-host-embedded</artifactId>
+            <artifactId>tuscany-node-api</artifactId>
             <version>1.1-incubating-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-node-impl</artifactId>
+            <version>1.1-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
         </dependency>
 
         <dependency>

Modified: incubator/tuscany/java/sca/tutorial/store-catalog-database/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store-catalog-database/pom.xml?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store-catalog-database/pom.xml (original)
+++ incubator/tuscany/java/sca/tutorial/store-catalog-database/pom.xml Wed Oct 24 13:05:48 2007
@@ -38,8 +38,15 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-host-embedded</artifactId>
+            <artifactId>tuscany-node-api</artifactId>
             <version>1.1-incubating-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-node-impl</artifactId>
+            <version>1.1-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
         </dependency>
 
         <dependency>

Modified: incubator/tuscany/java/sca/tutorial/store-catalog/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store-catalog/pom.xml?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store-catalog/pom.xml (original)
+++ incubator/tuscany/java/sca/tutorial/store-catalog/pom.xml Wed Oct 24 13:05:48 2007
@@ -38,8 +38,15 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-host-embedded</artifactId>
+            <artifactId>tuscany-node-api</artifactId>
             <version>1.1-incubating-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-node-impl</artifactId>
+            <version>1.1-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
         </dependency>
 
         <dependency>

Modified: incubator/tuscany/java/sca/tutorial/store-currency/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store-currency/pom.xml?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store-currency/pom.xml (original)
+++ incubator/tuscany/java/sca/tutorial/store-currency/pom.xml Wed Oct 24 13:05:48 2007
@@ -38,8 +38,15 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-host-embedded</artifactId>
+            <artifactId>tuscany-node-api</artifactId>
             <version>1.1-incubating-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-node-impl</artifactId>
+            <version>1.1-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
         </dependency>
 
         <dependency>

Modified: incubator/tuscany/java/sca/tutorial/store-domain/src/main/java/launch/LaunchDomain.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store-domain/src/main/java/launch/LaunchDomain.java?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store-domain/src/main/java/launch/LaunchDomain.java (original)
+++ incubator/tuscany/java/sca/tutorial/store-domain/src/main/java/launch/LaunchDomain.java Wed Oct 24 13:05:48 2007
@@ -19,15 +19,21 @@
 
 package launch;
 
+import org.apache.tuscany.sca.domain.SCADomain;
+import org.apache.tuscany.sca.domain.SCADomainFactory;
+
 
 public class LaunchDomain {
     public static void main(String[] args) throws Exception {
+
         System.out.println("Starting ...");
-        //SCADomain scaDomain = SCADomain.newInstance("store-currency.composite");
+        SCADomainFactory domainFactory = SCADomainFactory.newInstance();
+        SCADomain domain = domainFactory.createSCADomain("http://localhost:8877");
         System.out.println("store domain controller ready for big business !!!");
         System.in.read();
+        
         System.out.println("Stopping ...");
-        scaDomain.close();
+        domain.destroy();
         System.out.println();
     }
 }

Modified: incubator/tuscany/java/sca/tutorial/store/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store/pom.xml?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store/pom.xml (original)
+++ incubator/tuscany/java/sca/tutorial/store/pom.xml Wed Oct 24 13:05:48 2007
@@ -38,8 +38,15 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.tuscany.sca</groupId>
-            <artifactId>tuscany-host-embedded</artifactId>
+            <artifactId>tuscany-node-api</artifactId>
             <version>1.1-incubating-SNAPSHOT</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.tuscany.sca</groupId>
+            <artifactId>tuscany-node-impl</artifactId>
+            <version>1.1-incubating-SNAPSHOT</version>
+            <scope>runtime</scope>
         </dependency>
 
         <dependency>

Modified: incubator/tuscany/java/sca/tutorial/store/src/main/java/launch/Launch.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store/src/main/java/launch/Launch.java?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store/src/main/java/launch/Launch.java (original)
+++ incubator/tuscany/java/sca/tutorial/store/src/main/java/launch/Launch.java Wed Oct 24 13:05:48 2007
@@ -19,16 +19,33 @@
 
 package launch;
 
-import org.apache.tuscany.sca.host.embedded.SCADomain;
+import java.net.URL;
+
+import javax.xml.namespace.QName;
+
+import org.apache.tuscany.sca.node.SCANode;
+import org.apache.tuscany.sca.node.SCANodeFactory;
+import org.apache.tuscany.sca.node.util.SCAContributionUtil;
 
 public class Launch {
     public static void main(String[] args) throws Exception {
         System.out.println("Starting ...");
-        SCADomain scaDomain = SCADomain.newInstance("store.composite");
+        SCANodeFactory nodeFactory = SCANodeFactory.newInstance();
+        SCANode node = nodeFactory.createSCANode("http://localhost:8086/store", "http://localhost:8877");
+        
+        URL contribution = SCAContributionUtil.findContributionFromClass(Launch.class);
+        node.addContribution("http://store", contribution);
+        
+        node.addToDomainLevelComposite(new QName("http://store", "store"));
+        node.start();
+
         System.out.println("store.composite ready for big business !!!");
         System.in.read();
+        
         System.out.println("Stopping ...");
-        scaDomain.close();
+        node.stop();
+        node.destroy();
         System.out.println();
+        
     }
 }

Modified: incubator/tuscany/java/sca/tutorial/store/src/main/resources/store.composite
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store/src/main/resources/store.composite?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store/src/main/resources/store.composite (original)
+++ incubator/tuscany/java/sca/tutorial/store/src/main/resources/store.composite Wed Oct 24 13:05:48 2007
@@ -18,8 +18,8 @@
  * under the License.    
 -->
 <composite	xmlns="http://www.osoa.org/xmlns/sca/1.0"
-		xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
-		xmlns:s="http://store"			
+		xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"
+		targetNamespace="http://store"
 		name="store">
 		
 	<component name="ui">

Modified: incubator/tuscany/java/sca/tutorial/store/src/main/resources/uiservices/store.html
URL: http://svn.apache.org/viewvc/incubator/tuscany/java/sca/tutorial/store/src/main/resources/uiservices/store.html?rev=587995&r1=587994&r2=587995&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tutorial/store/src/main/resources/uiservices/store.html (original)
+++ incubator/tuscany/java/sca/tutorial/store/src/main/resources/uiservices/store.html Wed Oct 24 13:05:48 2007
@@ -31,11 +31,14 @@
 
 
 	function catalog_getResponse(items) {
-		var catalog = "";
-		for (var i=0; i<items.String_collection.String.length; i++) {
-			var item = items.String_collection.String[i]["$"];
+		var catalog = "";
+		//fixme
+		items = items.String_collection.String;
+		for (var i=0; i<items.length; i++) {
+		    //fixme
+		    var item = items[i]["$"];
 			catalog += '<input name="items" type="checkbox" value="' + 
-						item + '">' + item + ' <br>';
+						item + '">' + item + ' <br>';
 		}
 		document.getElementById('catalog').innerHTML=catalog;
 	}
@@ -47,7 +50,7 @@
 			for (var i=0; i<entries.length; i++) {
 				var item = entries[i].getElementsByTagName("content")[0].firstChild.nodeValue;
 				list += item + ' <br>';
-			}
+			}
 			document.getElementById("shoppingCart").innerHTML = list;
 			document.getElementById('total').innerHTML = feed.getElementsByTagName("subtitle")[0].firstChild.nodeValue;
 		}



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