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 2008/03/21 21:20:16 UTC

svn commit: r639799 - in /incubator/tuscany/branches/sca-java-1.2/modules: implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/ implementation-node-runtime/src/main/resources/ node2-launcher/src/main/java/org/a...

Author: jsdelfino
Date: Fri Mar 21 13:20:13 2008
New Revision: 639799

URL: http://svn.apache.org/viewvc?rev=639799&view=rev
Log:
Merged changes from trunk SVN revision r639788. Added logging calls. Added a ping and quickstart services to simplify the eclipse plugin launcher integration. Minor UI fixes. Simplified cloud contribution uri and namespace.

Added:
    incubator/tuscany/branches/sca-java-1.2/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/PingServiceImpl.java
      - copied unchanged from r639788, incubator/tuscany/java/sca/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/PingServiceImpl.java
    incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/QuickStartServiceImpl.java
      - copied unchanged from r639788, incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/QuickStartServiceImpl.java
Modified:
    incubator/tuscany/branches/sca-java-1.2/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/NodeProcessCollectionImpl.java
    incubator/tuscany/branches/sca-java-1.2/modules/implementation-node-runtime/src/main/resources/NodeDaemon.composite
    incubator/tuscany/branches/sca-java-1.2/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/DomainNodeLauncher.java
    incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/pom.xml
    incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/CompositeImageCollectionImpl.java
    incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/ContributionCollectionImpl.java
    incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCompositeCollectionImpl.java
    incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployedCompositeCollectionImpl.java
    incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DomainAdminUtil.java
    incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/FileCollectionImpl.java
    incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/FileServiceImpl.java
    incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/resources/DomainAdmin.composite
    incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/resources/cloud.html

Modified: incubator/tuscany/branches/sca-java-1.2/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/NodeProcessCollectionImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/NodeProcessCollectionImpl.java?rev=639799&r1=639798&r2=639799&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.2/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/NodeProcessCollectionImpl.java (original)
+++ incubator/tuscany/branches/sca-java-1.2/modules/implementation-node-runtime/src/main/java/org/apache/tuscany/sca/implementation/node/launcher/NodeProcessCollectionImpl.java Fri Mar 21 13:20:13 2008
@@ -83,13 +83,24 @@
 
     public String post(String key, Item item) {
         logger.info("post " + key);
-        
-        // Start a new VM and add it to the collection
+
+        // If the VM is already running just return it
         SCANodeVM vm = vm(key);
         if (vm != null) {
-            return key;
+            if (vm.isAlive()) {
+                return key;
+            } else {
+                // Remove dead VM entry
+                try {
+                    vm.stop();
+                } catch (InterruptedException e) {
+                    throw new ServiceRuntimeException(e);
+                }
+                nodeVMs.remove(vm);
+            }
         }
-        
+
+        // Start a new VM and add it to the collection
         vm = new SCANodeVM(key);
         nodeVMs.add(0, vm);
         try {

Modified: incubator/tuscany/branches/sca-java-1.2/modules/implementation-node-runtime/src/main/resources/NodeDaemon.composite
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/implementation-node-runtime/src/main/resources/NodeDaemon.composite?rev=639799&r1=639798&r2=639799&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.2/modules/implementation-node-runtime/src/main/resources/NodeDaemon.composite (original)
+++ incubator/tuscany/branches/sca-java-1.2/modules/implementation-node-runtime/src/main/resources/NodeDaemon.composite Fri Mar 21 13:20:13 2008
@@ -25,7 +25,14 @@
     <component name="NodeProcessCollectionComponent">
         <implementation.java class="org.apache.tuscany.sca.implementation.node.launcher.NodeProcessCollectionImpl"/>
    		<service name="ItemCollection">
-   	 		<t:binding.atom uri="http://localhost:9991/process" title="Running Nodes"/>
+   	 		<t:binding.atom uri="http://localhost:9990/process" title="Log"/>
+   		</service>
+    </component>
+
+    <component name="PingServiceComponent">
+        <implementation.java class="org.apache.tuscany.sca.implementation.node.launcher.PingServiceImpl"/>
+   		<service name="Servlet">
+   	 		<t:binding.http uri="http://localhost:9990/ping"/>
    		</service>
     </component>
 

Modified: incubator/tuscany/branches/sca-java-1.2/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/DomainNodeLauncher.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/DomainNodeLauncher.java?rev=639799&r1=639798&r2=639799&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.2/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/DomainNodeLauncher.java (original)
+++ incubator/tuscany/branches/sca-java-1.2/modules/node2-launcher/src/main/java/org/apache/tuscany/sca/node/launcher/DomainNodeLauncher.java Fri Mar 21 13:20:13 2008
@@ -33,7 +33,7 @@
     private final static Logger logger = Logger.getLogger(DomainNodeLauncher.class.getName());    
 
     public static void main(String[] args) throws Exception {
-        logger.info("Apache Tuscany SCA Domain Administration starting...");
+        logger.info("Apache Tuscany SCA Domain Manager starting...");
 
         Class<?> adminClass;
         Object admin;
@@ -60,11 +60,11 @@
             adminClass.getMethod("start").invoke(admin);
             
         } catch (Exception e) {
-            logger.log(Level.SEVERE, "SCA Domain Administration could not be started", e);
+            logger.log(Level.SEVERE, "SCA Domain Manager could not be started", e);
             throw e;
         }
         
-        logger.info("SCA Domain Administration started.");
+        logger.info("SCA Domain Manager started.");
         logger.info("Press enter to shutdown.");
         try {
             System.in.read();
@@ -74,7 +74,7 @@
         try {
             adminClass.getMethod("stop").invoke(admin);
         } catch (Exception e) {
-            logger.log(Level.SEVERE, "SCA Domain Administration could not be stopped", e);
+            logger.log(Level.SEVERE, "SCA Domain Manager could not be stopped", e);
             throw e;
         }
     }

Modified: incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/pom.xml
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/pom.xml?rev=639799&r1=639798&r2=639799&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/pom.xml (original)
+++ incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/pom.xml Fri Mar 21 13:20:13 2008
@@ -26,7 +26,7 @@
         <relativePath>../pom.xml</relativePath>
     </parent>
     <artifactId>tuscany-workspace-admin</artifactId>
-    <name>Apache Tuscany SCA Domain Workspace Administration</name>
+    <name>Apache Tuscany SCA Domain Workspace Manager</name>
 
     <dependencies>
         <dependency>

Modified: incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/CompositeImageCollectionImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/CompositeImageCollectionImpl.java?rev=639799&r1=639798&r2=639799&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/CompositeImageCollectionImpl.java (original)
+++ incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/CompositeImageCollectionImpl.java Fri Mar 21 13:20:13 2008
@@ -96,6 +96,8 @@
     }
     
     public Entry<String, Item>[] query(String queryString) {
+        logger.info("query " + queryString);
+        
         if (queryString.startsWith("composite=")) {
 
             // Expecting a key in the form:
@@ -140,6 +142,7 @@
         // Get the request path
         String path = URLDecoder.decode(request.getRequestURI().substring(request.getServletPath().length()), "UTF-8");
         String key = path.startsWith("/")? path.substring(1) : path;
+        logger.info("get " + key);
         
         // The key contains a node name, redirect 
         // to the corresponding composite image

Modified: incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/ContributionCollectionImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/ContributionCollectionImpl.java?rev=639799&r1=639798&r2=639799&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/ContributionCollectionImpl.java (original)
+++ incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/ContributionCollectionImpl.java Fri Mar 21 13:20:13 2008
@@ -154,6 +154,7 @@
     }
     
     public Entry<String, Item>[] getAll() {
+        logger.info("getAll");
 
         // Return all the contributions
         List<Entry<String, Item>> entries = new ArrayList<Entry<String, Item>>();
@@ -169,6 +170,7 @@
     }
 
     public Item get(String key) throws NotFoundException {
+        logger.info("get " + key);
 
         // Returns the contribution with the given URI key
         Workspace workspace = readContributions(readWorkspace());
@@ -188,6 +190,7 @@
 
         // The key is the contribution URI
         String key = path.startsWith("/")? path.substring(1) : path;
+        logger.info("get " + key);
         
         // Get the item describing the composite
         Item item;
@@ -203,6 +206,7 @@
     }
 
     public String post(String key, Item item) {
+        logger.info("post " + key);
         
         // Adds a new contribution to the workspace
         Workspace workspace = readWorkspace();
@@ -238,6 +242,7 @@
     }
 
     public void delete(String key) throws NotFoundException {
+        logger.info("delete " + key);
         
         // Delete a contribution from the workspace
         Workspace workspace = readWorkspace();
@@ -255,6 +260,8 @@
     }
 
     public Entry<String, Item>[] query(String queryString) {
+        logger.info("query " + queryString);
+        
         if (queryString.startsWith("dependencies=") || queryString.startsWith("alldependencies=")) {
 
             // Return the collection of dependencies of the specified contribution

Modified: incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCompositeCollectionImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCompositeCollectionImpl.java?rev=639799&r1=639798&r2=639799&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCompositeCollectionImpl.java (original)
+++ incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCompositeCollectionImpl.java Fri Mar 21 13:20:13 2008
@@ -20,6 +20,7 @@
 package org.apache.tuscany.sca.workspace.admin.impl;
 
 import static org.apache.tuscany.sca.workspace.admin.impl.DomainAdminUtil.DEPLOYMENT_CONTRIBUTION_URI;
+import static org.apache.tuscany.sca.workspace.admin.impl.DomainAdminUtil.compositeAlternateLink;
 import static org.apache.tuscany.sca.workspace.admin.impl.DomainAdminUtil.compositeKey;
 import static org.apache.tuscany.sca.workspace.admin.impl.DomainAdminUtil.compositeQName;
 import static org.apache.tuscany.sca.workspace.admin.impl.DomainAdminUtil.compositeSourceLink;
@@ -27,7 +28,6 @@
 import static org.apache.tuscany.sca.workspace.admin.impl.DomainAdminUtil.contributionURI;
 import static org.apache.tuscany.sca.workspace.admin.impl.DomainAdminUtil.locationURL;
 
-import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.MalformedURLException;
@@ -55,6 +55,7 @@
 import org.apache.tuscany.sca.assembly.AssemblyFactory;
 import org.apache.tuscany.sca.assembly.Binding;
 import org.apache.tuscany.sca.assembly.Component;
+import org.apache.tuscany.sca.assembly.ComponentService;
 import org.apache.tuscany.sca.assembly.Composite;
 import org.apache.tuscany.sca.assembly.SCABindingFactory;
 import org.apache.tuscany.sca.assembly.builder.CompositeBuilder;
@@ -205,6 +206,8 @@
     }
     
     public Entry<String, Item>[] getAll() {
+        logger.info("getAll");
+        
         // Return all the deployable composites in the contributions
         List<Entry<String, Item>> entries = new ArrayList<Entry<String, Item>>();
         
@@ -231,6 +234,7 @@
     }
 
     public Item get(String key) throws NotFoundException {
+        logger.info("get " + key);
 
         // Get the specified contribution info 
         String contributionURI = contributionURI(key);
@@ -270,6 +274,8 @@
     }
     
     public Entry<String, Item>[] query(String queryString) {
+        logger.info("query " + queryString);
+        
         if (queryString.startsWith("contribution=")) {
 
             // Return all the deployable composites in the specified
@@ -311,6 +317,7 @@
         // Get the request path
         String path = URLDecoder.decode(request.getRequestURI().substring(request.getServletPath().length()), "UTF-8");
         String key = path.startsWith("/")? path.substring(1) : path;
+        logger.info("get " + key);
         
         // Expect a key in the form
         // composite:contributionURI;namespace;localName
@@ -576,55 +583,40 @@
     }
     
     /**
-     * Returns a link to a deployable composite.
-     * 
-     * If the containing contribution is a local directory, return the URI of  the local composite file
-     * inside the contribution.
-     * 
-     * If the containing contribution is a local or remote file, return a URI of the form:
-     * jar: contribution URI !/ composite URI.
-     *  
-     * @param contributionLocation
-     * @param deployableURI
-     * @return
-     */
-    private static String alternateLink(String contributionLocation, String deployableURI) {
-        URI uri = URI.create(contributionLocation);
-        if ("file".equals(uri.getScheme())) {
-            String path = uri.toString().substring(5);
-            File file = new File(path);
-            if (file.isDirectory()) {
-                if (contributionLocation.endsWith("/")) {
-                    return contributionLocation + deployableURI;
-                } else {
-                    return contributionLocation + "/" + deployableURI;
-                }
-            } else {
-                return contributionLocation + "!/" + deployableURI; 
-            }
-        } else {
-            return contributionLocation + "!/" + deployableURI;
-        }
-    }
-    
-    /**
-     * Returns the list of components in a composite.
+     * Returns the entry contents describing a composite.
      * 
      * @param composite
      * @return
      */
-    private static String components(Composite composite) {
+    private static String content(Composite composite) {
         StringBuffer sb = new StringBuffer();
         List<Component> components = composite.getComponents();
-        if (!components.isEmpty()) {
-            sb.append("Components: <span id=\"components\">");
-            for (int i = 0, n = components.size(); i < n; i++) {
-                Component component = components.get(i);
-                if (i != 0) {
+        for (int i = 0, n = components.size(); i < n; i++) {
+            Component component = components.get(i);
+            if (component.getImplementation() instanceof NodeImplementation) {
+                List<ComponentService> services = component.getServices();
+                if (!services.isEmpty()) {
+                    List<Binding> bindings = services.get(0).getBindings();
+                    if (!bindings.isEmpty()) {
+                        
+                        // List node URIs
+                        sb.append("Node URI: <span id=\"nodeURI\">");
+                        sb.append(component.getServices().get(0).getBindings().get(0).getURI());
+                        break;
+                    }
+                }
+            } else {
+                
+                // List component names
+                if (sb.length() == 0) {
+                    sb.append("Components: <span id=\"components\">");
+                } else {
                     sb.append(" ");
                 }
                 sb.append(component.getName());
             }
+        }
+        if (sb.length() != 0) {
             sb.append("</span>");
         }
         return sb.toString();
@@ -678,9 +670,9 @@
         String deployableURI = deployable.getURI();
         Item item = new Item();
         item.setTitle(compositeTitle(contributionURI, qname));
-        item.setContents(components(deployable));
+        item.setContents(content(deployable));
         item.setLink(compositeSourceLink(contributionURI, qname));
-        item.setAlternate(alternateLink(contributionLocation, deployableURI));
+        item.setAlternate(compositeAlternateLink(contributionLocation, deployableURI));
         item.setRelated(relatedLink(deployable));
         return item;
     }

Modified: incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployedCompositeCollectionImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployedCompositeCollectionImpl.java?rev=639799&r1=639798&r2=639799&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployedCompositeCollectionImpl.java (original)
+++ incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployedCompositeCollectionImpl.java Fri Mar 21 13:20:13 2008
@@ -129,6 +129,7 @@
     }
     
     public Entry<String, Item>[] getAll() {
+        logger.info("getAll");
 
         // Return all the composites in the domain composite
         List<Entry<String, Item>> entries = new ArrayList<Entry<String, Item>>();
@@ -155,8 +156,20 @@
     }
 
     public Item get(String key) throws NotFoundException {
-        // Returns the composite with the given key
-        return deployableCollection.get(key);
+        logger.info("get " + key);
+        
+        String contributionURI = contributionURI(key);
+        QName qname = compositeQName(key);
+
+        // Look for the specified composite in the domain composite
+        List<Entry<String, Item>> entries = new ArrayList<Entry<String, Item>>();
+        Composite compositeCollection = readCompositeCollection();
+        for (Composite composite: compositeCollection.getIncludes()) {
+            if (contributionURI.equals(composite.getURI()) && qname.equals(composite.getName())) {
+                return deployableCollection.get(key);
+            }
+        }
+        throw new NotFoundException(key);
     }
     
     @Override
@@ -169,6 +182,7 @@
         // Get the request path
         String path = URLDecoder.decode(request.getRequestURI().substring(request.getServletPath().length()), "UTF-8");
         String key = path.startsWith("/")? path.substring(1) : path;
+        logger.info("get " + key);
         
         // Get the item describing the composite
         Item item;
@@ -211,6 +225,8 @@
     }
 
     public String post(String key, Item item) {
+        logger.info("post " + key);
+        
         String contributionURI = contributionURI(key);
         QName qname = compositeQName(key);
 
@@ -248,6 +264,8 @@
     }
 
     public void put(String key, Item item) throws NotFoundException {
+        logger.info("put " + key);
+
         String contributionURI = contributionURI(key);
         QName qname = compositeQName(key);
         
@@ -273,6 +291,8 @@
     }
 
     public void delete(String key) throws NotFoundException {
+        logger.info("delete " + key);
+        
         String contributionURI = contributionURI(key);
         QName qname = compositeQName(key);
         

Modified: incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DomainAdminUtil.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DomainAdminUtil.java?rev=639799&r1=639798&r2=639799&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DomainAdminUtil.java (original)
+++ incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DomainAdminUtil.java Fri Mar 21 13:20:13 2008
@@ -33,7 +33,7 @@
  */
 public final class DomainAdminUtil {
 
-    static final String DEPLOYMENT_CONTRIBUTION_URI = "http://tuscany.apache.org/xmlns/sca/1.0/cloud";
+    static final String DEPLOYMENT_CONTRIBUTION_URI = "http://tuscany.apache.org/cloud";
 
     /**
      * Extracts a qname from a key expressed as contributionURI;namespace;localpart.
@@ -119,6 +119,38 @@
             return file.toURI().toURL();
         } else {
             return uri.toURL();
+        }
+    }
+
+    /**
+     * Returns a link to a deployable composite.
+     * 
+     * If the containing contribution is a local directory, return the URI of  the local composite file
+     * inside the contribution.
+     * 
+     * If the containing contribution is a local or remote file, return a URI of the form:
+     * jar: contribution URI !/ composite URI.
+     *  
+     * @param contributionLocation
+     * @param deployableURI
+     * @return
+     */
+    static String compositeAlternateLink(String contributionLocation, String deployableURI) {
+        URI uri = URI.create(contributionLocation);
+        if ("file".equals(uri.getScheme())) {
+            String path = uri.toString().substring(5);
+            File file = new File(path);
+            if (file.isDirectory()) {
+                if (contributionLocation.endsWith("/")) {
+                    return contributionLocation + deployableURI;
+                } else {
+                    return contributionLocation + "/" + deployableURI;
+                }
+            } else {
+                return contributionLocation + "!/" + deployableURI; 
+            }
+        } else {
+            return contributionLocation + "!/" + deployableURI;
         }
     }
 

Modified: incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/FileCollectionImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/FileCollectionImpl.java?rev=639799&r1=639798&r2=639799&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/FileCollectionImpl.java (original)
+++ incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/FileCollectionImpl.java Fri Mar 21 13:20:13 2008
@@ -56,6 +56,8 @@
     }
     
     public Entry<String, Item>[] getAll() {
+        logger.info("getAll");
+        
         // Return all the files
         List<Entry<String, Item>> entries = new ArrayList<Entry<String, Item>>();
         File directory = new File(directoryName);
@@ -71,6 +73,7 @@
     }
 
     public Item get(String key) throws NotFoundException {
+        logger.info("get " + key);
         return item(key);
     }
 
@@ -83,6 +86,8 @@
     }
 
     public void delete(String key) throws NotFoundException {
+        logger.info("delete " + key);
+
         File directory = new File(directoryName);
         File file = new File(directory, key);
         if (file.exists()) {

Modified: incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/FileServiceImpl.java
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/FileServiceImpl.java?rev=639799&r1=639798&r2=639799&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/FileServiceImpl.java (original)
+++ incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/FileServiceImpl.java Fri Mar 21 13:20:13 2008
@@ -80,6 +80,7 @@
                     if (!directory.exists()) {
                         directory.mkdirs();
                     }
+                    logger.info("post " + item.getName());
                     item.write(new File(directory, item.getName()));
                 }
             }
@@ -101,6 +102,8 @@
         if (path.startsWith("/")) {
             path = path.substring(1);
         }
+        logger.info("get " + path);
+        
         try {
             
             // Analyze the given path

Modified: incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/resources/DomainAdmin.composite
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/resources/DomainAdmin.composite?rev=639799&r1=639798&r2=639799&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/resources/DomainAdmin.composite (original)
+++ incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/resources/DomainAdmin.composite Fri Mar 21 13:20:13 2008
@@ -150,10 +150,29 @@
    		<reference name="cloudCollection" target="CloudCollectionComponent/LocalItemCollection"/>
     </component>
 
+    <component name="QuickStartServiceComponent">
+        <implementation.java class="org.apache.tuscany.sca.workspace.admin.impl.QuickStartServiceImpl"/>
+   		<service name="Servlet">
+   	 		<t:binding.http uri="http://localhost:9990/quickstart"/>
+   		</service>
+   		<reference name="contributionCollection" target="ContributionCollectionComponent/LocalItemCollection"/>
+        <reference name="deployableCollection" target="DeployableCompositeCollectionComponent/LocalItemCollection"/>
+   		<reference name="domainCompositeCollection" target="DomainCompositeCollectionComponent/LocalItemCollection"/>
+   		<reference name="cloudCollection" target="CloudCollectionComponent/LocalItemCollection"/>
+   		<reference name="processCollection" target="NodeProcessCollectionComponent/LocalItemCollection"/>
+    </component>
+
     <component name="NodeProcessCollectionComponent">
         <implementation.java class="org.apache.tuscany.sca.implementation.node.launcher.NodeProcessCollectionImpl"/>
    		<service name="ItemCollection">
    	 		<t:binding.atom uri="http://localhost:9990/process" title="Log"/>
+   		</service>
+    </component>
+
+    <component name="PingServiceComponent">
+        <implementation.java class="org.apache.tuscany.sca.implementation.node.launcher.PingServiceImpl"/>
+   		<service name="Servlet">
+   	 		<t:binding.http uri="http://localhost:9990/ping"/>
    		</service>
     </component>
 

Modified: incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/resources/cloud.html
URL: http://svn.apache.org/viewvc/incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/resources/cloud.html?rev=639799&r1=639798&r2=639799&view=diff
==============================================================================
--- incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/resources/cloud.html (original)
+++ incubator/tuscany/branches/sca-java-1.2/modules/workspace-admin/src/main/resources/cloud.html Fri Mar 21 13:20:13 2008
@@ -83,19 +83,14 @@
 					}
 				}
 
+				var nodeName = compositeLocalName(nodeId);
+				nodeNames[i] = nodeName;
+				
 				var content = "";
 				if (entries[i].getElementsByTagName("content")[0].firstChild != null) {
 					content = entries[i].getElementsByTagName("content")[0].firstChild.nodeValue;
 				}
-				var bs = content.indexOf('<span id="components">');
-				if (bs != -1) {
-					var es = content.indexOf('</span>', bs); 
-					nodeName = content.substring(bs, es + 7);
-				}
 
-				var nodeName = compositeLocalName(nodeId);
-				nodeNames[i] = nodeName;
-				
 				composites += '<tr>'
 				if (content.indexOf('<span id="problem"') != -1) {
 					composites += '<td><input name="composites" type="checkbox" value="' + nodeId + '">' +
@@ -140,16 +135,16 @@
 		var compositeName = document.newCompositeForm.compositeName.value;
 		var contributionURI = document.newCompositeForm.contributionURI.value;
 		var id  = 'composite:' +
-			'http://tuscany.apache.org/xmlns/sca/1.0/cloud' + ';' +
-			'cloud:/' + ';' +
+			'http://tuscany.apache.org/cloud' + ';' +
+			'http://tuscany.apache.org/cloud' + ';' +
 			nodeName;
 			
 		var entry = '<entry xmlns="http://www.w3.org/2005/Atom">\n' +
               	'<id>' + id + '</id>\n' +
-              	'<content type="text/xml"\n>\n' + 
+              	'<content type="text/xml">\n' + 
   				'<composite	xmlns="http://www.osoa.org/xmlns/sca/1.0"\n' +
 				'	xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"\n' +
-				'	targetNamespace="cloud:/"\n' +
+				'	targetNamespace="http://tuscany.apache.org/cloud"\n' +
 				'	xmlns:c="' + compositeNamespace + '"\n' +
 				'	name="' + nodeName + '">\n' +
 				'\n' +
@@ -231,7 +226,7 @@
   <br>
   <span class=hd1>
   SCA Domain<br><br>
-  Cloud</b>&nbsp;<a href="/process/"><img src="icons/feed-icon.png" border="0"></a>
+  Cloud</b>&nbsp;<a href="/cloud/"><img src="icons/feed-icon.png" border="0"></a>
   </span>
   <br><br>
   Here is the list of SCA nodes configured in your SCA domain cloud.



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