Author: jsdelfino
Date: Mon Mar 10 01:00:44 2008
New Revision: 635461

URL: http://svn.apache.org/viewvc?rev=635461&view=rev
Log:
Display composites and composite install images along with nodes.

Modified:
    
incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/CompositeCollectionImpl.java
    
incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCollectionImpl.java
    
incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/ImageCollectionImpl.java
    
incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/Admin.composite
    
incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/admin.css
    
incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/cloud.html

Modified: 
incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/CompositeCollectionImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/CompositeCollectionImpl.java?rev=635461&r1=635460&r2=635461&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/CompositeCollectionImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/CompositeCollectionImpl.java
 Mon Mar 10 01:00:44 2008
@@ -71,7 +71,7 @@
     public String compositeFileName;
     
     @Reference
-    public LocalItemCollection deployableCompositeCollection;
+    public LocalItemCollection deployableCollection;
 
     private ModelFactoryExtensionPoint modelFactories;
     private AssemblyFactory assemblyFactory;
@@ -250,7 +250,7 @@
     
     private Item compositeItem(String contributionURI, QName qname) {
         String key = key(contributionURI, qname);
-        Entry<String, Item>[] entries = 
deployableCompositeCollection.query("contribution=" + contributionURI);
+        Entry<String, Item>[] entries = 
deployableCollection.query("contribution=" + contributionURI);
         for (Entry<String, Item> entry: entries) {
             if (key.equals(entry.getKey())) {
                 return entry.getData();

Modified: 
incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCollectionImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCollectionImpl.java?rev=635461&r1=635460&r2=635461&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCollectionImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/DeployableCollectionImpl.java
 Mon Mar 10 01:00:44 2008
@@ -587,19 +587,47 @@
         }
     }
     
+    private Item compositeItem(String contributionURI, QName qname) {
+        String key = key(contributionURI, qname);
+        Entry<String, Item>[] entries = query("contribution=" + 
contributionURI);
+        for (Entry<String, Item> entry: entries) {
+            if (key.equals(entry.getKey())) {
+                return entry.getData();
+            }
+        }
+        return null;
+    }
+
     /**
      * Returns the list of components in a composite.
      * 
      * @param composite
      * @return
      */
-    private static String components(Composite composite) {
+    private String components(Composite composite) {
         StringBuffer sb = new StringBuffer();
         for (Component component: composite.getComponents()) {
-            if (sb.length() != 0) {
-                sb.append(" ");
+            if (component.getImplementation() instanceof NodeImplementation) {
+                sb.append(component.getName());
+
+                NodeImplementation nodeImplementation = 
(NodeImplementation)component.getImplementation();
+                Composite deployable = nodeImplementation.getComposite();
+                String contributionURI = deployable.getURI();
+                QName qname = deployable.getName();
+                String title = title(contributionURI, qname);
+
+                Item item = compositeItem(contributionURI, qname);
+                sb.append("<br><a href=\"" + item.getLink() + "\">" + title + 
"</a><br>");
+                
+                String imageLink = "/composite-image?composite=" + 
key(contributionURI, qname);
+                sb.append("<a href=\"" + imageLink + "\"><img 
src=\"icons/feed-icon.png\" border=\"0\"></a><br>");
+                
+            } else {
+                if (sb.length() != 0) {
+                    sb.append(" ");
+                }
+                sb.append(component.getName());
             }
-            sb.append(component.getName());
         }
         return sb.toString();
     }
@@ -641,7 +669,7 @@
      * @return
      */
     private static String title(String uri, QName qname) {
-        return uri + " - " + qname.getNamespaceURI() + ';' + 
qname.getLocalPart();
+        return uri + " / " + qname.getNamespaceURI() + ";" + 
qname.getLocalPart();
     }
 
     /**

Modified: 
incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/ImageCollectionImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/ImageCollectionImpl.java?rev=635461&r1=635460&r2=635461&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/ImageCollectionImpl.java
 (original)
+++ 
incubator/tuscany/java/sca/modules/workspace-admin/src/main/java/org/apache/tuscany/sca/workspace/admin/impl/ImageCollectionImpl.java
 Mon Mar 10 01:00:44 2008
@@ -138,7 +138,7 @@
      * @return
      */
     private static String title(String uri, QName qname) {
-        return uri + " - " + qname.getNamespaceURI() + ';' + 
qname.getLocalPart();
+        return uri + " / " + qname.getNamespaceURI() + ";" + 
qname.getLocalPart();
     }
 
 }

Modified: 
incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/Admin.composite
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/Admin.composite?rev=635461&r1=635460&r2=635461&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/Admin.composite
 (original)
+++ 
incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/Admin.composite
 Mon Mar 10 01:00:44 2008
@@ -99,7 +99,7 @@
                <service name="ItemCollection">
                        <t:binding.atom uri="http://localhost:9990/composite"/>
                </service>
-        <reference name="deployableCompositeCollection" 
target="DeployableCollectionComponent/LocalItemCollection"/>
+        <reference name="deployableCollection" 
target="DeployableCollectionComponent/LocalItemCollection"/>
     </component>
 
     <component name="DeployableCollectionComponent">
@@ -121,7 +121,7 @@
                <service name="ItemCollection">
                        <t:binding.atom uri="http://localhost:9990/cloud"/>
                </service>
-        <reference name="deployableCompositeCollection" 
target="DeployableCollectionComponent/LocalItemCollection"/>
+        <reference name="deployableCollection" 
target="DeployableCollectionComponent/LocalItemCollection"/>
     </component>
 
     <component name="ImageCollectionComponent">

Modified: 
incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/admin.css
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/admin.css?rev=635461&r1=635460&r2=635461&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/admin.css 
(original)
+++ 
incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/admin.css 
Mon Mar 10 01:00:44 2008
@@ -33,11 +33,11 @@
 }
 
 td {
-       padding-left: 2px; padding-top: 2px; padding-right: 20px; white-space: 
nowrap; vertical-align: top
+       padding-left: 2px; padding-top: 2px; padding-right: 20px; white-space: 
nowrap; vertical-align: middle
 }
 
 input {
-       vertical-align: top
+       vertical-align: middle
 }
 
 a:link {
@@ -49,7 +49,7 @@
 }
 
 .tdw {
-       padding-left: 2px; padding-top: 2px; padding-right: 20px; white-space: 
normal; vertical-align: top
+       padding-left: 2px; padding-top: 2px; padding-right: 20px; white-space: 
normal; vertical-align: middle
 }
 
 .hd1 {

Modified: 
incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/cloud.html
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/cloud.html?rev=635461&r1=635460&r2=635461&view=diff
==============================================================================
--- 
incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/cloud.html
 (original)
+++ 
incubator/tuscany/java/sca/modules/workspace-admin/src/main/resources/cloud.html
 Mon Mar 10 01:00:44 2008
@@ -47,20 +47,54 @@
                        var entries = feed.getElementsByTagName("entry");       
       
                        var composites = "";
                        composites += '<table width="100%">';
-                       composites += 
'<tr><th>Cloud</th><th>Nodes</th><th>Log</th></tr>';
+                       composites += 
'<tr><th>Cloud</th><th>Node</th><th>Composite</th><th>Composite Install 
Image</th></tr>';
                        for (var i=0; i<entries.length; i++) {
                                var id = 
entries[i].getElementsByTagName("id")[0].firstChild.nodeValue;
                                var location = 
entries[i].getElementsByTagName("link")[0].getAttribute("href");
                                var components = 
entries[i].getElementsByTagName("content")[0].firstChild.nodeValue;
+                               
                                var uri = contributionURI(id);
                                var qname = compositeName(id);
                                
-                               composites += '<tr>'
-                               composites += '<td><input name="composites" 
type="checkbox" value="' + id + '">' +
-                                                                               
        '<a href=\"' + location + '\">' + qname + '</a></td>';
-                               composites += '<td class=tdw>' + components + 
'</td>';
-                               composites += '<td><img 
src="icons/feed-icon.png" border="0"></td>';
-                               composites += '</tr>';
+                               for (var r =0; r < 3; r++) {
+                                       var a = components.indexOf('<br>');
+                                       if (a != -1) {
+                                               var name = 
components.substring(0, a);
+                                               components = 
components.substring(a + 4);
+                                               a = components.indexOf('<br>');
+                                               var source = 
components.substring(0, a);
+                                               components = 
components.substring(a + 4);
+                                               a = components.indexOf('<br>');
+                                               if (a != -1) {
+                                                       var image = 
components.substring(0, a);
+                                                       components = 
components.substring(a + 4);
+                                               } else {
+                                                       var image = components;
+                                                       components = '';
+                                               }
+
+                                               if (r == 0) {
+                                                       composites += '<tr>'
+                                                       composites += 
'<td><input name="composites" type="checkbox" value="' + id + '">' +
+                                                                               
                                '<a href=\"' + location + '\">' + qname + 
'</a></td>';
+                                                       composites += '<td>' + 
name + '</td>';
+                                                       composites += '<td>' + 
source + '</td>';
+                                                       composites += '<td>' + 
image + '</td>';
+                                                       composites += '</tr>';
+                                               } else {
+                                                       composites += '<tr>'
+                                                       composites += 
'<td>&nbsp;</td>';
+                                                       composites += '<td>' + 
name + '</td>';
+                                                       composites += '<td>' + 
source + '</td>';
+                                                       composites += '<td>' + 
image + '</td>';
+                                                       composites += '</tr>';
+                                               }
+                                               
+                                       } else {
+                                               break;
+                                       }
+                               }
+                               
                        }
                        composites += '</table>';
                        document.getElementById("composites").innerHTML = 
composites;



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to