You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by an...@apache.org on 2008/07/16 15:01:58 UTC

svn commit: r677274 - in /tuscany/sandbox/thilina/geronimo_ACE: ./ src/main/java/org/apache/tuscany/geronimoace/ src/main/webapp/WEB-INF/ src/main/webapp/pages/ src/test/java/org/apache/tuscany/geronimoace/

Author: antelder
Date: Wed Jul 16 06:01:57 2008
New Revision: 677274

URL: http://svn.apache.org/viewvc?rev=677274&view=rev
Log:
TUSCANY-2391: commit latest patch from Thilina

Added:
    tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/Cloud.html
    tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/Composite.html
    tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/Files.html
    tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/Workspace.html
    tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/manager.css
Removed:
    tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/ListDomains.jsp
    tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/ManageDomain.jsp
Modified:
    tuscany/sandbox/thilina/geronimo_ACE/   (props changed)
    tuscany/sandbox/thilina/geronimo_ACE/README.txt
    tuscany/sandbox/thilina/geronimo_ACE/pom.xml
    tuscany/sandbox/thilina/geronimo_ACE/src/main/java/org/apache/tuscany/geronimoace/GeronimoACE.java
    tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/WEB-INF/geronimo-web.xml
    tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/WEB-INF/portlet.xml
    tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/WEB-INF/web.xml
    tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/Home.jsp
    tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/header.jsp
    tuscany/sandbox/thilina/geronimo_ACE/src/test/java/org/apache/tuscany/geronimoace/AppTest.java

Propchange: tuscany/sandbox/thilina/geronimo_ACE/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Wed Jul 16 06:01:57 2008
@@ -0,0 +1,19 @@
+target
+work
+dojo
+*.iws
+*.ipr
+*.iml
+derby.log
+maven.log
+build.xml
+build-dependency.xml
+velocity.log*
+junit*.properties
+surefire*.properties
+.project
+.classpath
+.settings
+.deployables
+.wtpmodules
+.externalToolBuilders

Modified: tuscany/sandbox/thilina/geronimo_ACE/README.txt
URL: http://svn.apache.org/viewvc/tuscany/sandbox/thilina/geronimo_ACE/README.txt?rev=677274&r1=677273&r2=677274&view=diff
==============================================================================
--- tuscany/sandbox/thilina/geronimo_ACE/README.txt (original)
+++ tuscany/sandbox/thilina/geronimo_ACE/README.txt Wed Jul 16 06:01:57 2008
@@ -1,22 +1,3 @@
-<!--
-  ~ 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.
-  -->
-
 
 How to build the Admin Console Extension
 ========================================

Modified: tuscany/sandbox/thilina/geronimo_ACE/pom.xml
URL: http://svn.apache.org/viewvc/tuscany/sandbox/thilina/geronimo_ACE/pom.xml?rev=677274&r1=677273&r2=677274&view=diff
==============================================================================
--- tuscany/sandbox/thilina/geronimo_ACE/pom.xml (original)
+++ tuscany/sandbox/thilina/geronimo_ACE/pom.xml Wed Jul 16 06:01:57 2008
@@ -18,46 +18,52 @@
     * under the License.    
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <modelVersion>4.0.0</modelVersion>
-  <groupId>org.apache.tuscany.geronimoace</groupId>
-  <artifactId>org.apache.tuscany.geronimoace.geronimo-ace</artifactId>
-  <packaging>war</packaging>
-  <version>1.0-SNAPSHOT</version>
-  <name>geronimo-ace</name>
-  <url>http://maven.apache.org</url>
-  <dependencies>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>3.8.1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-        <groupId>javax.portlet</groupId>
-        <artifactId>portlet-api</artifactId>
-        <version>1.0</version>
-    </dependency>
-    <dependency>
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.tuscany.geronimoace</groupId>
+    <artifactId>org.apache.tuscany.geronimoace.geronimo-ace</artifactId>
+    <packaging>war</packaging>
+    <version>1.0-SNAPSHOT</version>
+    <name>geronimo-ace</name>
+    <url>http://maven.apache.org</url>
+    <dependencies>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>3.8.1</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>portlet-api</groupId>
+            <artifactId>portlet-api</artifactId>
+            <version>1.0</version>
+        </dependency>
+        <dependency>
+            <groupId>javax.portlet</groupId>
+            <artifactId>portlet-api</artifactId>
+            <version>1.0</version>
+        </dependency>
+        <dependency>
             <groupId>javax.servlet</groupId>
             <artifactId>servlet-api</artifactId>
-            <version>2.4</version> <!-- to keep compatible with older servlet containers -->
+            <version>2.4</version>
+            <!-- to keep compatible with older servlet containers -->
             <scope>provided</scope>
-     </dependency>
+        </dependency>
 
     </dependencies>
     <build>
         <defaultGoal>install</defaultGoal>
-          <directory>${basedir}/target</directory>
-          <finalName>${artifactId}-${version}</finalName>
-          <resources>
-          <resource>
-            <targetPath>WEB-INF</targetPath>
-            <filtering>false</filtering>
-            <directory>${basedir}/src/webapp/WEB-INF</directory>
-            <includes>
-              <include>web.xml</include>
-            </includes>
+        <directory>${basedir}/target</directory>
+        <finalName>${artifactId}-${version}</finalName>
+        <resources>
+            <resource>
+                <targetPath>WEB-INF</targetPath>
+                <filtering>false</filtering>
+                <directory>${basedir}/src/webapp/WEB-INF</directory>
+                <includes>
+                    <include>web.xml</include>
+                </includes>
             </resource>
         </resources>
     </build>

Modified: tuscany/sandbox/thilina/geronimo_ACE/src/main/java/org/apache/tuscany/geronimoace/GeronimoACE.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/thilina/geronimo_ACE/src/main/java/org/apache/tuscany/geronimoace/GeronimoACE.java?rev=677274&r1=677273&r2=677274&view=diff
==============================================================================
--- tuscany/sandbox/thilina/geronimo_ACE/src/main/java/org/apache/tuscany/geronimoace/GeronimoACE.java (original)
+++ tuscany/sandbox/thilina/geronimo_ACE/src/main/java/org/apache/tuscany/geronimoace/GeronimoACE.java Wed Jul 16 06:01:57 2008
@@ -1,79 +1,78 @@
-/*
- * 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.
- */
-
-/*
- * 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.geronimoace;
-
-import javax.portlet.*;
-import java.io.IOException;
-
-public class GeronimoACE extends GenericPortlet {
-    private String viewUrl = "/pages/Home.jsp";
-
-
-    public void init(PortletConfig config) throws PortletException {
-        super.init(config);
-        // viewUrl = config.getInitParameter("view_url");
-    }
-
-    public void processAction(ActionRequest request, ActionResponse response) throws PortletException, IOException {
-        String task = request.getParameter("task");
-        String domain = request.getParameter("domainName");
-        if (task != null) {
-            if (task.equals("list")) {
-                viewUrl = "/pages/ListDomains.jsp";
-            }
-        }
-        if (domain != null) {
-            request.setAttribute("domain", domain);
-            viewUrl = "/pages/ManageDomain.jsp";
-        }
-        response.setPortletMode(PortletMode.VIEW);
-    }
-
-    public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException {
-        // Set the response to read HTML
-        response.setContentType("text/html;charset=UTF-8");
-
-        PortletRequestDispatcher dispatcher = getPortletContext().getRequestDispatcher(viewUrl);
-        dispatcher.include(request, response);
-
-
-    }
-
-
-}
+/*
+ * 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.geronimoace;
+
+import javax.portlet.*;
+import java.io.IOException;
+
+public class GeronimoACE extends GenericPortlet {
+    private String viewUrl = "/pages/Home.jsp";       // viewUrl is set to the home page by default
+    boolean isHome = true;       // used for navigating back to the home page.
+
+
+    public void init(PortletConfig config) throws PortletException {
+        super.init(config);
+    }
+
+    public void processAction(ActionRequest request, ActionResponse response) throws PortletException, IOException {
+        isHome = true;
+        String task = request.getParameter("task");                  // getting request parameters task and domain name
+        String domain = request.getParameter("domainName");
+        if (task != null) {
+            if (task.equals("composites")) {       // if the request is for Composites,forwarding to Composites.html
+                viewUrl = "/pages/Composite.html";
+            }
+            if (task.equals("workspace")) {       // if the request is for Contributions,forwarding to workspace.html
+                viewUrl = "/pages/Workspace.html";
+            }
+            if (task.equals("cloud")) {       // if the request is for Clouds,forwarding to Cloud.html
+                viewUrl = "/pages/Cloud.html";
+            }
+            if (task.equals("files")) {       // iif the request is for Files,forwarding to Files.html
+                viewUrl = "/pages/Files.html";
+            }
+        }
+
+        response.setPortletMode(PortletMode.VIEW); // by changing portlet mode, doview methos is called again.
+
+
+    }
+
+    public void doView(RenderRequest request, RenderResponse response) throws PortletException, IOException {
+        // Set the response to read HTML
+        response.setContentType("text/html;charset=UTF-8");
+
+        if (isHome) {
+            // dispatching to the appropriate page
+            PortletRequestDispatcher dispatcher = getPortletContext().getRequestDispatcher(viewUrl);
+            dispatcher.include(request, response);
+            isHome = false;
+        } else {
+            // dispatching to the home page.
+            PortletRequestDispatcher dispatcher = getPortletContext().getRequestDispatcher("/pages/Home.jsp");
+            dispatcher.include(request, response);
+            isHome = true;
+        }
+    }
+
+}
+
+
+

Modified: tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/WEB-INF/geronimo-web.xml
URL: http://svn.apache.org/viewvc/tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/WEB-INF/geronimo-web.xml?rev=677274&r1=677273&r2=677274&view=diff
==============================================================================
--- tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/WEB-INF/geronimo-web.xml (original)
+++ tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/WEB-INF/geronimo-web.xml Wed Jul 16 06:01:57 2008
@@ -1,70 +1,50 @@
-<!--
-  ~ 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.
-  -->
-
-
-<!--
-  ~ 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.
-  -->
-
-
-<web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.2">
-    <environment>
-        <moduleId>
-            <groupId>org.apache.tuscany.geronimoace</groupId>
-            <artifactId>geronimo-ace</artifactId>
-            <version>1.0-SNAPSHOT</version>
-            <type>war</type>
-        </moduleId>
-
-        <dependencies>
-            <dependency> <!-- Put a dependancy on the hosting portal (pluto) -->
-                <groupId>org.apache.geronimo.plugins</groupId>
-                <artifactId>pluto-support</artifactId>
-            </dependency>
-        </dependencies>
-    </environment>
-
-    <!-- This is where the files are accessed from. (aka - portletContext) -->
-    <context-root>/GeronimoACE</context-root>
-
-    <!-- Start off a ACEGBean, this is the lifecycle for the portlet -->
-    <gbean name="PlutoTest" class="org.apache.geronimo.pluto.AdminConsoleExtensionGBean">
-        <attribute name="pageTitle">Tuscany ACE</attribute>
-        <attribute name="portletContext">/GeronimoACE</attribute>
-        <attribute name="portletList">[GeronimoACE]</attribute>
-        <reference name="PortalContainerServices">
-            <name>PlutoPortalServices</name>
-        </reference>
-    </gbean>
-</web-app>
+<!--
+  ~ 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.
+  -->
+
+
+<web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.2">
+    <environment>
+        <moduleId>
+            <groupId>org.apache.tuscany.geronimoace</groupId>
+            <artifactId>geronimo-ace</artifactId>
+            <version>1.0-SNAPSHOT</version>
+            <type>war</type>
+        </moduleId>
+
+        <dependencies>
+            <dependency> <!-- Put a dependancy on the hosting portal (pluto) -->
+                <groupId>org.apache.geronimo.plugins</groupId>
+                <artifactId>pluto-support</artifactId>
+            </dependency>
+        </dependencies>
+    </environment>
+
+    <!-- This is where the files are accessed from. (aka - portletContext) -->
+    <context-root>/GeronimoACE</context-root>
+
+    <!-- Start off a ACEGBean, this is the lifecycle for the portlet -->
+    <gbean name="PlutoTest" class="org.apache.geronimo.pluto.AdminConsoleExtensionGBean">
+        <attribute name="pageTitle">Tuscany ACE</attribute>
+        <attribute name="portletContext">/GeronimoACE</attribute>
+        <attribute name="portletList">[GeronimoACE]</attribute>
+        <reference name="PortalContainerServices">
+            <name>PlutoPortalServices</name>
+        </reference>
+    </gbean>
+</web-app>

Modified: tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/WEB-INF/portlet.xml
URL: http://svn.apache.org/viewvc/tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/WEB-INF/portlet.xml?rev=677274&r1=677273&r2=677274&view=diff
==============================================================================
--- tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/WEB-INF/portlet.xml (original)
+++ tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/WEB-INF/portlet.xml Wed Jul 16 06:01:57 2008
@@ -1,40 +1,40 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    * 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.    
--->
-<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" version="1.0"
-             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-             xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
-    <portlet>
-        <description lang="EN">GeronimoACE</description>
-        <portlet-name>GeronimoACE</portlet-name>
-        <display-name lang="EN">Geronimo Admin Console for Tuscany</display-name>
-        <portlet-class>org.apache.tuscany.geronimoace.GeronimoACE</portlet-class>
-        <supports>
-            <mime-type>text/html</mime-type>
-            <portlet-mode>view</portlet-mode>
-            <portlet-mode>edit</portlet-mode>
-            <portlet-mode>help</portlet-mode>
-        </supports>
-        <supported-locale>en</supported-locale>
-        <portlet-info>
-            <title>Tuscany Admin Console EXtension</title>
-            <short-title>Tuscany ACE</short-title>
-        </portlet-info>
-    </portlet>
+<!--
+ ~ 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.
+-->
+
+<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" version="1.0"
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+             xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
+    <portlet>
+        <description lang="EN">GeronimoACE</description>
+        <portlet-name>GeronimoACE</portlet-name>
+        <display-name lang="EN">Geronimo Admin Console for Tuscany</display-name>
+        <portlet-class>org.apache.tuscany.geronimoace.GeronimoACE</portlet-class>
+        <supports>
+            <mime-type>text/html</mime-type>
+            <portlet-mode>view</portlet-mode>
+            <portlet-mode>edit</portlet-mode>
+            <portlet-mode>help</portlet-mode>
+        </supports>
+        <supported-locale>en</supported-locale>
+        <portlet-info>
+            <title>Tuscany Admin Console EXtension</title>
+            <short-title>Tuscany ACE</short-title>
+        </portlet-info>
+    </portlet>
 </portlet-app>
\ No newline at end of file

Modified: tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/WEB-INF/web.xml?rev=677274&r1=677273&r2=677274&view=diff
==============================================================================
--- tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/WEB-INF/web.xml (original)
+++ tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/WEB-INF/web.xml Wed Jul 16 06:01:57 2008
@@ -1,41 +1,22 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    * 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.    
--->
-
-<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
-        "http://java.sun.com/dtd/web-app_2_3.dtd">
-<web-app>
-
-    <!-- This is pretty standard servlet code -->
-
-    <servlet>
-        <servlet-name>GeronimoACE</servlet-name>
-        <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
-        <init-param>
-            <param-name>portlet-name</param-name>
-            <param-value>GeronimoACE</param-value>
-        </init-param>
-        <load-on-startup>1</load-on-startup>
-    </servlet>
-    <servlet-mapping>
-        <servlet-name>GeronimoACE</servlet-name>
-        <url-pattern>/PlutoInvoker/GeronimoACE</url-pattern>
-    </servlet-mapping>
-
-</web-app>
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+        "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app>
+
+    <!-- This is pretty standard servlet code -->
+
+    <servlet>
+        <servlet-name>GeronimoACE</servlet-name>
+        <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
+        <init-param>
+            <param-name>portlet-name</param-name>
+            <param-value>GeronimoACE</param-value>
+        </init-param>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+    <servlet-mapping>
+        <servlet-name>GeronimoACE</servlet-name>
+        <url-pattern>/PlutoInvoker/GeronimoACE</url-pattern>
+    </servlet-mapping>
+
+</web-app>

Added: tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/Cloud.html
URL: http://svn.apache.org/viewvc/tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/Cloud.html?rev=677274&view=auto
==============================================================================
--- tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/Cloud.html (added)
+++ tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/Cloud.html Wed Jul 16 06:01:57 2008
@@ -0,0 +1,400 @@
+<!--
+    * 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.
+-->
+<html>
+<head>
+<title>SCA Domain - Cloud</title>
+
+<script type="text/javascript" src="cloud.js"></script>
+<script type="text/javascript" src="utils.js"></script>
+
+<script language="JavaScript">
+
+//@Reference
+var cloudComposite = new Reference("cloudComposite");
+
+//@Reference
+var domainComposite = new Reference("domainComposite");
+
+//@Reference
+var processCollection = new Reference("processCollection");
+
+function getNodes() {
+    cloudComposite.get("", getNodesResponse);
+}
+
+function contributionURI(id) {
+    var i = id.indexOf(';');
+    return id.substring(10, i);
+}
+
+function compositeName(id) {
+    var i = id.indexOf(';');
+    return id.substring(i + 1);
+}
+
+function compositeLocalName(id) {
+    name = compositeName(id);
+    var i = name.indexOf(';');
+    return name.substring(i + 1);
+}
+
+var nodeNames;
+
+function getNodesResponse(feed) {
+    nodeNames = new Array();
+    if (feed != null) {
+        var entries = feed.getElementsByTagName("entry");
+        var composites = "";
+        composites += '<table width="100%">';
+        composites += '<tr><th>Node</th><th>Status</th><th>Composite</th>' +
+                      '<th>Contribution</th><th>Node Config</th></tr>';
+
+        for (var i = 0; i < entries.length; i++) {
+            var nodeId = entries[i].getElementsByTagName("id")[0].firstChild.nodeValue;
+            var links = entries[i].getElementsByTagName("link");
+            var nodeLink = undefined;
+            var compositeLink = undefined;
+            var compositeId = "composite:undefined;undefined;undefined";
+            var uri = '<span style="color: red">unknown</span>';
+            var qname = undefined;
+            for (var l = 0; l < links.length; l++) {
+                var a = links[l].getAttribute('rel');
+                if (a == undefined) {
+                    nodeLink = links[l].getAttribute('href');
+                } else if (a == 'related') {
+                    compositeLink = links[l].getAttribute('href');
+                    var c = compositeLink.indexOf('composite:');
+                    compositeId = compositeLink.substring(c);
+                    uri = contributionURI(compositeId);
+                    qname = compositeName(compositeId);
+                }
+            }
+
+            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;
+            }
+
+            composites += '<tr>'
+            if (content.indexOf('<span id="problem"') != -1) {
+                composites += '<td><input name="composites" type="checkbox" value="' + nodeId + '">' +
+                              '<a href=\"' + nodeLink + '\">' + nodeName + '</a></td>';
+                composites += '<td><span id="status_' + nodeName + '">unknown</span></td>';
+                composites += '<td>' + content + '</td>';
+                composites += '<td>' + uri + '</td>';
+            } else {
+                composites += '<td><input name="composites" type="checkbox" value="' + nodeId + '">' +
+                              '<a href=\"' + nodeLink + '\">' + nodeName + '</a></td>';
+                composites += '<td><span id="status_' + nodeName + '">unknown</span></td>';
+                composites += '<td><a href=\"' + compositeLink + '\">' + qname + '</a></td>';
+                composites += '<td><a href="/contribution/' + uri + '">' + uri + '</a></td>';
+            }
+            composites += '<td><a href="/node-config/' + nodeName + '"><img src="icons/feed-icon.png" border="0"></a></td>';
+            composites += '</tr>';
+        }
+        composites += '</table>';
+        document.getElementById("composites").innerHTML = composites;
+
+        processCollection.get("", getProcessesResponse);
+    }
+}
+
+function getProcessesResponse(feed) {
+    if (feed != null) {
+        var nodeStatus = new Array();
+
+        var entries = feed.getElementsByTagName("entry");
+        for (var i = 0; i < entries.length; i++) {
+            var nodeName = entries[i].getElementsByTagName("id")[0].firstChild.nodeValue;
+            nodeStatus[nodeName] = 'started';
+        }
+
+        for (var i = 0; i < nodeNames.length; i++) {
+            var element = document.getElementById('status_' + nodeNames[i]);
+            var nodeName = nodeNames[i];
+            if (nodeStatus[nodeName] == null) {
+                element.innerHTML = '<span>stopped</span>';
+            } else {
+                element.innerHTML = '<span><a style="color: green" href="/processes/?node=' + nodeName + '">started</a></span>';
+            }
+        }
+    }
+}
+
+function deleteNode() {
+    var composites = array(document.cloudCompositeForm.composites);
+    for (var i = 0; i < composites.length; i++) {
+        if (composites[i].checked) {
+            var id = composites[i].value;
+            cloudComposite.del(id, deleteNodeResponse);
+        }
+    }
+}
+
+function deleteNodeResponse() {
+    getNodes();
+}
+
+function addNode() {
+    var nodeName = document.newNodeForm.nodeName.value;
+    var nodeURI = document.newNodeForm.nodeURI.value;
+    var compositeNamespace = document.newNodeForm.compositeNamespace.value;
+    var compositeName = document.newNodeForm.compositeName.value;
+    var contributionURI = document.newNodeForm.contributionURI.value;
+    var id = 'composite:' +
+             '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' +
+                '<composite	xmlns="http://www.osoa.org/xmlns/sca/1.0"\n' +
+                '	xmlns:t="http://tuscany.apache.org/xmlns/sca/1.0"\n' +
+                '	targetNamespace="http://tuscany.apache.org/cloud"\n' +
+                '	xmlns:c="' + compositeNamespace + '"\n' +
+                '	name="' + nodeName + '">\n' +
+                '\n' +
+                '	<component name="' + nodeName + '">\n' +
+                '		<t:implementation.node uri="' + contributionURI + '" composite="c:' + compositeName + '"/>\n' +
+                '		<service name="Node">\n' +
+                '			<binding.ws uri="' + nodeURI + '"/>\n' +
+                '			<t:binding.http uri="' + nodeURI + '"/>\n' +
+                '			<t:binding.jsonrpc uri="' + nodeURI + '"/>\n' +
+                '			<t:binding.atom uri="' + nodeURI + '"/>\n' +
+                '		</service>\n' +
+                '	</component>\n' +
+                '</composite>' +
+                '</content>' +
+                '</entry>';
+    cloudComposite.post(entry, addNodeResponse);
+}
+
+function addNodeResponse() {
+    document.newNodeForm.nodeName.value = "";
+    document.newNodeForm.nodeURI.value = "";
+    document.newNodeForm.compositeNamespace.value = "";
+    document.newNodeForm.compositeName.value = "";
+    document.newNodeForm.contributionURI.value = "";
+    getNodes();
+}
+
+function startNode() {
+    var composites = array(document.cloudCompositeForm.composites);
+    for (var i = 0; i < composites.length; i++) {
+        if (composites[i].checked) {
+            var id = nodeNames[i];
+
+            var entry = '<entry xmlns="http://www.w3.org/2005/Atom">' +
+                        '<id>' + id + '</id>' +
+                        '</entry>';
+            processCollection.post(entry, startNodeResponse);
+        }
+    }
+}
+
+function startNodeResponse() {
+    processCollection.get("", getProcessesResponse);
+
+    for (var i = 0; i < composites.length; i++) {
+        if (composites[i].checked) {
+            composites[i].checked = false;
+        }
+    }
+}
+
+function stopNode() {
+    var composites = array(document.cloudCompositeForm.composites);
+    for (var i = 0; i < composites.length; i++) {
+        if (composites[i].checked) {
+            var id = nodeNames[i];
+            processCollection.del(id, stopNodeResponse);
+        }
+    }
+}
+
+function stopNodeResponse() {
+    processCollection.get("", getProcessesResponse);
+
+    for (var i = 0; i < composites.length; i++) {
+        if (composites[i].checked) {
+            composites[i].checked = false;
+        }
+    }
+}
+
+var deployedComposites = new Array();
+
+function getComposites() {
+    domainComposite.get("", getCompositesResponse);
+}
+
+function getCompositesResponse(feed) {
+    if (feed != null) {
+        var entries = feed.getElementsByTagName("entry");
+        for (var i = 0; i < entries.length; i++) {
+            var id = entries[i].getElementsByTagName("id")[0].firstChild.nodeValue;
+            deployedComposites[id] = id;
+        }
+    }
+}
+
+function suggestCompositeNamespaces() {
+    var namespaces = new Array();
+    for (var uri in deployedComposites) {
+        var qname = compositeName(uri);
+        var ns = qname.substring(0, qname.indexOf(';'));
+        namespaces[ns] = ns;
+    }
+    return array(namespaces);
+}
+
+function suggestCompositeNames() {
+    var inputns = document.newNodeForm.compositeNamespace.value;
+    var names = new Array();
+    for (var uri in deployedComposites) {
+        var qname = compositeName(uri);
+        var sc = qname.indexOf(';');
+        var ns = qname.substring(0, sc);
+        var name = qname.substring(sc + 1);
+        if (ns == inputns || inputns == "") {
+            names[name] = name;
+        }
+    }
+    return array(names);
+}
+
+function suggestContributionURIs() {
+    var inputns = document.newNodeForm.compositeNamespace.value;
+    var inputname = document.newNodeForm.compositeName.value;
+    var uris = new Array();
+    for (var uri in deployedComposites) {
+        var qname = compositeName(uri);
+        var sc = qname.indexOf(';');
+        var ns = qname.substring(0, sc);
+        var name = qname.substring(sc + 1);
+        if ((ns == inputns || inputns == "") && (name == inputname || inputname == "")) {
+            var curi = contributionURI(uri);
+            uris[curi] = curi;
+        }
+    }
+    return array(uris);
+}
+
+function init() {
+    toolbar();
+    getNodes();
+    getComposites();
+    suggest(document.newNodeForm.compositeNamespace, suggestCompositeNamespaces);
+    suggest(document.newNodeForm.compositeName, suggestCompositeNames);
+    suggest(document.newNodeForm.contributionURI, suggestContributionURIs);
+}
+
+</script>
+
+<link rel="stylesheet" type="text/css" href="/pages/manager.css">
+</head>
+
+<body onload="init()">
+<div id="toolbar"></div>
+
+<div id="cloudComposite">
+    <br>
+  <span class=hd1>
+  SCA Domain<br><br>
+  <b>Cloud</b>&nbsp;
+  </span>
+    <br><br>
+    Here is the list of SCA nodes configured in your SCA domain cloud.
+    <br><br>
+
+    <form name="cloudCompositeForm">
+        <div id="composites">
+            <table width="100%">
+                <tbody>
+                    <tr>
+                        <th>Node</th>
+                        <th>Status</th>
+                        <th>Composite</th>
+                        <th>Contribution</th>
+                        <th>Node Config</th>
+                    </tr>
+                </tbody>
+            </table>
+        </div>
+        <br/>
+        <input type="button" value="Start" onclick="startNode()"/>
+        <input type="button" value="Stop" onclick="stopNode()"/>
+        <input type="button" value="Delete" onclick="deleteNode()"/>
+    </form>
+
+    <br><br>
+
+    <form name="newNodeForm">
+        <table width="100%">
+            <tr>
+                <th>Add a Node</th>
+            </tr>
+            <tr>
+                <td>Add a node to the cloud. The node will run the SCA components declared in the specified composite.
+                </td>
+            </tr>
+        </table>
+        <br>
+        <table>
+            <tr>
+                <td>Node name:</td>
+                <td><input type="text" name="nodeName" size="50"/></td>
+                <td>e.g. YourNode</td>
+            </tr>
+            <tr>
+                <td>Node URI:</td>
+                <td><input type="text" name="nodeURI" size="50"/></td>
+                </td>
+                <td>e.g. http://yourhost:8080</td>
+            </tr>
+            <tr>
+                <td>Composite namespace:</td>
+                <td><input type="text" name="compositeNamespace" size="50"/></td>
+                </td>
+                <td>e.g. http://your/namespace</td>
+            </tr>
+            <tr>
+                <td>Composite name:</td>
+                <td><input type="text" name="compositeName" size="50"/></td>
+                </td>
+                <td>e.g. yourcomposite</td>
+            </tr>
+            <tr>
+                <td>Contribution URI:</td>
+                <td><input type="text" name="contributionURI" size="50"/></td>
+                </td>
+                <td>e.g. yourcontrib, http://yourcontrib</td>
+            </tr>
+        </table>
+        <input type="button" onClick="addNode()" value="Add"/>
+    </form>
+
+</div>
+</body>
+
+</html>

Added: tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/Composite.html
URL: http://svn.apache.org/viewvc/tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/Composite.html?rev=677274&view=auto
==============================================================================
--- tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/Composite.html (added)
+++ tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/Composite.html Wed Jul 16 06:01:57 2008
@@ -0,0 +1,286 @@
+<!--
+    * 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.
+-->
+<html>
+<head>
+<title>SCA Domain - Domain Composite</title>
+
+<script type="text/javascript" src="composite.js"></script>
+<script type="text/javascript" src="utils.js"></script>
+
+<script language="JavaScript">
+
+//@Reference
+var domainComposite = new Reference("domainComposite");
+
+//@Reference
+var workspace = new Reference("workspace");
+
+function getComposites() {
+    domainComposite.get("", getCompositesResponse);
+}
+
+function contributionURI(id) {
+    var i = id.indexOf(';');
+    return id.substring(10, i);
+}
+
+function compositeName(id) {
+    var i = id.indexOf(';');
+    return id.substring(i + 1);
+}
+
+function getCompositesResponse(feed) {
+    if (feed != null) {
+        var entries = feed.getElementsByTagName("entry");
+        var composites = "";
+        composites += '<table width="100%">';
+        composites += '<tr><th>Composite</th>' +
+                      '<th>Contribution</th>' +
+                      '<th>Components</th>' +
+                      '</tr>';
+			//'<th>Composite Configuration</th>' +
+
+        for (var i = 0; i < entries.length; i++) {
+            var id = entries[i].getElementsByTagName("id")[0].firstChild.nodeValue;
+            var link = entries[i].getElementsByTagName("link")[0].getAttribute("href");
+            var uri = contributionURI(id);
+            var qname = compositeName(id);
+
+            var content = "";
+            if (entries[i].getElementsByTagName("content")[0].firstChild != null) {
+                content = entries[i].getElementsByTagName("content")[0].firstChild.nodeValue;
+            }
+            var components = '';
+            var bs = content.indexOf('<span id="components">');
+            if (bs != -1) {
+                var es = content.indexOf('</span>', bs);
+                components = content.substring(bs, es + 7);
+            } else {
+                bs = content.indexOf('<span id="problem"');
+                if (bs != -1) {
+                    var es = content.indexOf('</span>', bs);
+                    components = content.substring(bs, es + 7);
+                }
+            }
+
+            composites += '<tr>'
+            composites += '<td><input name="composites" type="checkbox" value="' + id + '">';
+            composites += '<a href=\"' + link + '\">' + qname + '</a></td>';
+            composites += '<td><a href="/contribution/' + uri + '">' + uri + '</a></td>';
+            composites += '<td class=tdw>' + components + '</td>';
+				//composites += '<td><a href="/composite-config/?composite=' + id + '"><img src="icons/feed-icon.png" border="0"></a></td>';
+            composites += '</tr>';
+        }
+        composites += '</table>';
+        document.getElementById("composites").innerHTML = composites;
+    }
+}
+
+function deleteComposite() {
+    var composites = array(document.domainCompositeForm.composites);
+    for (var i = 0; i < composites.length; i++) {
+        if (composites[i].checked) {
+            var id = composites[i].value;
+            domainComposite.del(id, deleteCompositeResponse);
+        }
+    }
+}
+
+function deleteCompositeResponse() {
+    getComposites();
+}
+
+function addComposite() {
+    var id = 'composite:' +
+             document.newCompositeForm.contributionURI.value + ';' +
+             document.newCompositeForm.compositeNamespace.value + ';' +
+             document.newCompositeForm.compositeName.value;
+    var entry = '<entry xmlns="http://www.w3.org/2005/Atom">' +
+                '<title>' + id + '</title>' +
+                '<id>' + id + '</id>' +
+                '</entry>';
+    domainComposite.post(entry, addCompositeResponse);
+}
+
+function addCompositeResponse() {
+    document.newCompositeForm.compositeNamespace.value = "";
+    document.newCompositeForm.compositeName.value = "";
+    document.newCompositeForm.contributionURI.value = "";
+    getComposites();
+}
+
+var contributedComposites = new Array();
+
+function getContributions() {
+    workspace.get("", getContributionsResponse);
+}
+
+function getContributionsResponse(feed) {
+    if (feed != null) {
+        contributedComposites = new Array();
+        var entries = feed.getElementsByTagName("entry");
+        for (var i = 0; i < entries.length; i++) {
+            if (entries[i].getElementsByTagName("content")[0].firstChild != null) {
+                var content = entries[i].getElementsByTagName("content")[0].firstChild.nodeValue;
+                var bs = content.indexOf('<span id="deployables">');
+                if (bs != -1) {
+                    var es = content.indexOf('</span>', bs);
+                    content = content.substring(bs, es + 7);
+                    for (; ;) {
+                        var bc = content.indexOf('composite:');
+                        if (bc == -1) {
+                            break;
+                        }
+                        var ec = content.indexOf('">', bc);
+                        if (ec == -1) {
+                            break;
+                        }
+                        var uri = content.substring(bc, ec);
+                        contributedComposites[uri] = uri;
+                        content = content.substring(ec + 1);
+                    }
+                }
+            }
+        }
+    }
+}
+
+function suggestCompositeNamespaces() {
+    var namespaces = new Array();
+    for (var uri in contributedComposites) {
+        var qname = compositeName(uri);
+        var ns = qname.substring(0, qname.indexOf(';'));
+        namespaces[ns] = ns;
+    }
+    return array(namespaces);
+}
+
+function suggestCompositeNames() {
+    var inputns = document.newCompositeForm.compositeNamespace.value;
+    var names = new Array();
+    for (var uri in contributedComposites) {
+        var qname = compositeName(uri);
+        var sc = qname.indexOf(';');
+        var ns = qname.substring(0, sc);
+        var name = qname.substring(sc + 1);
+        if (ns == inputns || inputns == "") {
+            names[name] = name;
+        }
+    }
+    return array(names);
+}
+
+function suggestContributionURIs() {
+    var inputns = document.newCompositeForm.compositeNamespace.value;
+    var inputname = document.newCompositeForm.compositeName.value;
+    var uris = new Array();
+    for (var uri in contributedComposites) {
+        var qname = compositeName(uri);
+        var sc = qname.indexOf(';');
+        var ns = qname.substring(0, sc);
+        var name = qname.substring(sc + 1);
+        if ((ns == inputns || inputns == "") && (name == inputname || inputname == "")) {
+            var curi = contributionURI(uri);
+            uris[curi] = curi;
+        }
+    }
+    return array(uris);
+}
+
+function init() {
+    toolbar();
+    getComposites();
+    getContributions();
+    suggest(document.newCompositeForm.compositeNamespace, suggestCompositeNamespaces);
+    suggest(document.newCompositeForm.compositeName, suggestCompositeNames);
+    suggest(document.newCompositeForm.contributionURI, suggestContributionURIs);
+}
+
+</script>
+
+<link rel="stylesheet" type="text/css" href="manager.css">
+</head>
+
+<body onload="init()">
+<div id="toolbar"></div>
+
+<div id="domainComposite">
+    <br>
+  <span class=hd1>
+  SCA Domain<br><br>
+  <b>Domain Composite</b>&nbsp;
+  </span>
+    <br><br>
+    Here is the list of SCA composites currently included as top-level composites in your SCA domain.
+
+    <br><br>
+
+
+    <form name="domainCompositeForm">
+        <form name="domainCompositeForm">
+            <div id="composites">
+                <table width="100%">
+                    <tbody>
+                        <tr>
+                            <th>Composite</th>
+                            <th>Contribution</th>
+                            <th>Components</th>
+                        </tr>
+                    </tbody>
+                </table>
+            </div>
+            <br/>
+            <input type="button" value="Delete" onclick="deleteComposite()"/>
+        </form>
+
+        <br><br>
+
+        <form name="newCompositeForm">
+            <table width="100%">
+                <tr>
+                    <th>Add Composite</th>
+                </tr>
+                <tr>
+                    <td>Add an SCA composite describing your SCA service components.</td>
+                </tr>
+            </table>
+            <br>
+            <table>
+                <tr>
+                    <td>Composite namespace:</td>
+                    <td><input type="text" name="compositeNamespace" size="50"/></td>
+                    <td>e.g. http://your/namespace</td>
+                </tr>
+                <tr>
+                    <td>Composite name:</td>
+                    <td><input type="text" name="compositeName" size="50"/></td>
+                    <td>e.g. yourcomposite</td>
+                </tr>
+                <tr>
+                    <td>Contribution URI:</td>
+                    <td><input type="text" name="contributionURI" size="50"/></td>
+                    <td>e.g. yourcontrib, http://yourcontrib</td>
+                </tr>
+            </table>
+            <input type="button" onClick="addComposite()" value="Add"/>
+        </form>
+
+</div>
+</body>
+</html>

Added: tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/Files.html
URL: http://svn.apache.org/viewvc/tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/Files.html?rev=677274&view=auto
==============================================================================
--- tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/Files.html (added)
+++ tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/Files.html Wed Jul 16 06:01:57 2008
@@ -0,0 +1,129 @@
+<!--
+    * 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.
+-->
+<html>
+<head>
+    <title>SCA Domain - Contribution File Server</title>
+
+    <script type="text/javascript" src="files.js"></script>
+    <script type="text/javascript" src="utils.js"></script>
+
+    <script language="JavaScript">
+
+        //@Reference
+        var files = new Reference("files");
+
+        function getFiles() {
+            files.get("", getFilesResponse);
+        }
+
+        function getFilesResponse(feed) {
+            if (feed != null) {
+                var entries = feed.getElementsByTagName("entry");
+                var list = '<table width="100%"><tr><th>Files</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");
+                    list += '<tr><td><input name="files" type="checkbox" value="' + id + '">' +
+                            '<a href=\"' + location + '\">' + id + '</a></td></tr>';
+                }
+                list += "</table>";
+                document.getElementById("files").innerHTML = list;
+            }
+        }
+
+        function deleteFile() {
+            var list = array(document.filesForm.files);
+            for (var i = 0; i < list.length; i++) {
+                if (list[i].checked) {
+                    var id = list[i].value;
+                    files.del(id, deleteFileResponse);
+                }
+            }
+        }
+
+        function deleteFileResponse() {
+            getFiles();
+        }
+
+        function uploadFile() {
+            document.uploadFileForm.submit();
+        }
+
+        function init() {
+            toolbar();
+            getFiles();
+        }
+
+    </script>
+
+    <link rel="stylesheet" type="text/css" href="/pages/manager.css">
+</head>
+
+<body onload="init()">
+<div id="toolbar"></div>
+
+<div id="fileServer">
+    <br>
+  <span class=hd1>
+  SCA Domain<br><br>
+  <b>File Server</b>&nbsp;
+  </span>
+    <br><br>
+    This is a simple ATOM-based file server useful to share files if you don't have an FTP, SVN or Maven repository.
+    <br><br>
+
+    <form name="filesForm">
+        <div id="files">
+            <table width="100%">
+                <tbody>
+                    <tr>
+                        <th>Files</th>
+                    </tr>
+                </tbody>
+            </table>
+        </div>
+        <br/>
+        <input type="button" value="Delete" onclick="deleteFile()"/>
+    </form>
+
+    <br><br>
+
+    <form method="post" name="uploadFileForm" enctype='multipart/form-data' action='/files'>
+        <table width="100%">
+            <tr>
+                <th>Upload File</th>
+            </tr>
+            <tr>
+                <td>Upload a file to the server.</td>
+            </tr>
+        </table>
+        <br>
+        <table border="0">
+            <tr>
+                <td>File:</td>
+                <td><input type="file" name="file" size="50"/></td>
+            </tr>
+        </table>
+        <br/>
+        <input type="button" onClick="uploadFile()" value="Upload"/>
+    </form>
+
+</div>
+</body>
+</html>

Modified: tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/Home.jsp
URL: http://svn.apache.org/viewvc/tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/Home.jsp?rev=677274&r1=677273&r2=677274&view=diff
==============================================================================
--- tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/Home.jsp (original)
+++ tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/Home.jsp Wed Jul 16 06:01:57 2008
@@ -1,87 +1,103 @@
-<!--
-~ 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.
--->
-
-<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
-         pageEncoding="ISO-8859-1" %>
-<%@ include file="header.jsp" %>
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-    <title>Simple jsp page</title>
-    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <style type="text/css">
-        <!--
-        .style1 {
-            font-family: Verdana, Arial, Helvetica, sans-serif
-        }
-
-        .style2 {
-            font-family: Verdana, Arial, Helvetica, sans-serif;
-            font-weight: bold;
-            font-size: large;
-            color: #0000FF;
-        }
-
-        -->
-    </style>
-</head>
-<body>
-<table width="398" border="0" align="center">
-    <tr>
-        <td width="392" align="center" valign="top">
-            <div align="justify" class="style2">Tuscany SCA Domain Manager</div>
-        </td>
-    </tr>
-</table>
-<p>&nbsp;</p>
-
-<form id="form1" name="form1" method="post" action="<portlet:actionURL/>">
-    <table width="200" border="0">
-        <tr>
-            <th scope="col"><input type="radio" name="task" value="list">List Domains</th>
-        </tr>
-       
-        <tr>
-            <td>
-                <div align="center">
-                    <input type="submit" name="manageDomains" value="List"/>
-                </div>
-            </td>
-        </tr>
-    </table>
-</form>
-
-<p>&nbsp;</p>
-
-<p>&nbsp;</p>
-
-<p>&nbsp;</p>
-
-<p>&nbsp;</p>
-
-<p>&nbsp;</p>
-<table width="287" border="0" align="center">
-    <tr>
-        <td width="129"><span class="style1">About</span></td>
-        <td width="130" class="style1"><a href="http://tuscany.apache.org/" target="_blank">Tuscany Home </a></td>
-    </tr>
-</table>
-<p>&nbsp;</p>
-</body>
+<!--
+~ 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.
+-->
+
+<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
+         pageEncoding="ISO-8859-1" %>
+<%@ include file="header.jsp" %>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<head>
+    <title>Simple jsp page</title>
+    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+    <style type="text/css">
+        <!--
+        .style1 {
+            font-family: Verdana, Arial, Helvetica, sans-serif
+        }
+
+        .style2 {
+            font-family: Verdana, Arial, Helvetica, sans-serif;
+            font-weight: bold;
+            font-size: large;
+            color: #0000FF;
+        }
+
+        -->
+    </style>
+</head>
+<body>
+<table width="398" border="0" align="center">
+    <tr>
+        <td width="392" align="center" valign="top">
+            <div align="justify" class="style2">Tuscany SCA Domain Manager</div>
+        </td>
+    </tr>
+
+</table>
+<p>&nbsp;</p>
+
+<form id="form1" name="form1" method="post" action="<portlet:actionURL/>">
+    <table width="200" border="0">
+        <tr>
+            <th scope="col"><input type="radio" name="task" value="workspace">Contributions</th>
+            <th/>
+            <th/>
+            <th/>
+            <th scope="col"><input type="radio" name="task" value="composites">Composites</th>
+            <th/>
+            <th/>
+            <th/>
+            <th scope="col"><input type="radio" name="task" value="cloud">Cloud</th>
+            <th/>
+            <th/>
+            <th/>
+            <th scope="col"><input type="radio" name="task" value="files">Files</th>
+            <th/>
+            <th/>
+            <th/>
+        </tr>
+
+        <tr>
+            <td>
+                <div align="center">
+                    <input type="submit" name="manageDomains" value="GO"/>
+                </div>
+            </td>
+        </tr>
+    </table>
+</form>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+
+<p>&nbsp;</p>
+<table width="287" border="0" align="center">
+    <tr>
+        <td width="129"><span class="style1">About</span></td>
+        <td width="130" class="style1"><a href="http://tuscany.apache.org/" target="_blank">Tuscany Home </a></td>
+    </tr>
+</table>
+<p>&nbsp;</p>
+</body>
 </html>
\ No newline at end of file

Added: tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/Workspace.html
URL: http://svn.apache.org/viewvc/tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/Workspace.html?rev=677274&view=auto
==============================================================================
--- tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/Workspace.html (added)
+++ tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/Workspace.html Wed Jul 16 06:01:57 2008
@@ -0,0 +1,186 @@
+<!--
+    * 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.
+-->
+<html>
+<head>
+<title>SCA Domain - Contributions</title>
+
+<script type="text/javascript" src="workspace.js"></script>
+<script type="text/javascript" src="utils.js"></script>
+
+<script language="JavaScript">
+
+    //@Reference
+    var workspace = new Reference("workspace");
+
+    function getContributions() {
+        workspace.get("", getContributionsResponse);
+    }
+
+    function getContributionsResponse(feed) {
+        if (feed != null) {
+            var entries = feed.getElementsByTagName("entry");
+            var contributions = "";
+            contributions += '<table width="100%">';
+            contributions += '<tr><th>Contribution</th><th>Dependencies</td><th>Deployable Composites</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 content = '';
+                if (entries[i].getElementsByTagName("content")[0].firstChild != null) {
+                    content = entries[i].getElementsByTagName("content")[0].firstChild.nodeValue;
+                }
+
+                contributions += '<tr>';
+                contributions += '<td><input name="contributions" type="checkbox" value="' + id + '">' +
+                                 '<a href=\"' + location + '\">' + id + '</a></td>';
+
+                var dependencies = '';
+                var bs = content.indexOf('<span id="dependencies">');
+                if (bs != -1) {
+                    var es = content.indexOf('</span>', bs);
+                    dependencies = content.substring(bs, es + 7);
+                }
+
+                var deployables = '';
+                var bs = content.indexOf('<span id="deployables">');
+                if (bs != -1) {
+                    var es = content.indexOf('</span>', bs);
+                    deployables = content.substring(bs, es + 7);
+                }
+
+                var problems = "";
+                var bs = content.indexOf('<span id="problems" ');
+                if (bs != -1) {
+                    var es = content.indexOf('</span>', bs);
+                    if (dependencies.length != 0) {
+                        problems = '<br>';
+                    }
+                    problems += content.substring(bs, es + 7);
+                }
+
+                contributions += '<td class=tdw>' + dependencies + problems + ' </td>';
+                contributions += '<td class=tdw>' + deployables + '</td>';
+                contributions += '</tr>';
+            }
+            contributions += '</table>';
+            document.getElementById("contributions").innerHTML = contributions;
+        }
+    }
+
+    function deleteContribution() {
+        var contributions = array(document.workspaceForm.contributions);
+        for (var i = 0; i < contributions.length; i++) {
+            if (contributions[i].checked) {
+                var id = contributions[i].value;
+                workspace.del(id, deleteContributionResponse);
+            }
+        }
+    }
+
+    function deleteContributionResponse() {
+        getContributions();
+    }
+
+    function addContribution() {
+        var id = document.newContributionForm.contributionID.value;
+        var location = document.newContributionForm.contributionLocation.value;
+        var entry = '<entry xmlns="http://www.w3.org/2005/Atom">' +
+                    '<title>Contribution - ' + id + '</title>' +
+                    '<id>' + id + '</id>' +
+                    '<link href="' + location + '" />' +
+                    '</entry>';
+        workspace.post(entry, addContributionResponse);
+    }
+
+    function addContributionResponse() {
+        document.newContributionForm.contributionID.value = "";
+        document.newContributionForm.contributionLocation.value = "";
+        getContributions();
+    }
+
+    function init() {
+        toolbar();
+        getContributions();
+    }
+
+</script>
+
+<link rel="stylesheet" type="text/css" href="/pages/manager.css">
+</head>
+
+<body onload="init()">
+<div id="toolbar"></div>
+
+<div id="workspace">
+    <br>
+  <span class=hd1>
+  SCA Domain<br><br>
+  <b>Contributions</b></span>
+    <br><br>
+    Here is the list of SCA contributions currently available in your SCA domain.
+    <br><br>
+
+    <form name="workspaceForm">
+        <div id="contributions">
+            <table width="100%">
+                <tbody>
+                    <tr>
+                        <th>Contribution</th>
+                        <th>Dependencies</th>
+                        <th>Deployable Composites</th>
+                    </tr>
+                </tbody>
+            </table>
+        </div>
+        <br/>
+        <input type="button" value="Delete" onclick="deleteContribution()"/>
+    </form>
+
+    <br><br>
+
+    <form name="newContributionForm">
+        <table width="100%">
+            <tr>
+                <th>Add Contribution</th>
+            </tr>
+            <tr>
+                <td>Add an SCA contribution containing your application artifacts to the SCA domain.</td>
+            </tr>
+        </table>
+        <br>
+        <table>
+            <tr>
+                <td>Contribution URI:</td>
+                <td><input type="text" name="contributionID" size="50"/></td>
+                </td>
+                <td>e.g. yourcontrib, http://yourcontrib</td>
+            </tr>
+            <tr>
+                <td>Location:</td>
+                <td><input type="text" name="contributionLocation" size="50"/></td>
+                </td>
+                <td>e.g. http://host/yourjar.jar, file:/yourdir, file:/yourjar.jar</td>
+            </tr>
+        </table>
+        <input type="button" onClick="addContribution()" value="Add"/>
+    </form>
+
+</div>
+</body>
+</html>

Modified: tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/header.jsp
URL: http://svn.apache.org/viewvc/tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/header.jsp?rev=677274&r1=677273&r2=677274&view=diff
==============================================================================
--- tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/header.jsp (original)
+++ tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/header.jsp Wed Jul 16 06:01:57 2008
@@ -1,21 +1,21 @@
-<!--
-~ 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.
--->
-<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
-
-<portlet:defineObjects/>
+<!--
+~ 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.
+-->
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+
+<portlet:defineObjects/>

Added: tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/manager.css
URL: http://svn.apache.org/viewvc/tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/manager.css?rev=677274&view=auto
==============================================================================
--- tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/manager.css (added)
+++ tuscany/sandbox/thilina/geronimo_ACE/src/main/webapp/pages/manager.css Wed Jul 16 06:01:57 2008
@@ -0,0 +1,158 @@
+/*
+ * 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.
+ */
+
+body {
+    white-space: nowrap
+}
+
+table {
+    border: 1px;
+    border-collapse: separate
+}
+
+th {
+    font-weight: bold;
+    white-space: nowrap;
+    background-color: #e5ecf9;
+    color: #598edd;
+    text-align: left;
+    padding-left: 2px;
+    padding-right: 20px;
+    padding-top: 2px;
+    padding-bottom: 2px;
+    vertical-align: text-top;
+    border-top: 1px;
+    border-bottom: 1px;
+    border-left: 0px;
+    border-right: 0px;
+    border-style: solid;
+    border-top-color: #a2bae7;
+    border-bottom-color: #d1d3d4
+}
+
+td {
+    padding-left: 2px;
+    padding-top: 2px;
+    padding-right: 20px;
+    white-space: nowrap;
+    vertical-align: text-top
+}
+
+input {
+    vertical-align: middle
+}
+
+a:link {
+    color: blue
+}
+
+a:visited {
+    color: blue
+}
+
+.tdw {
+    padding-left: 2px;
+    padding-top: 2px;
+    padding-right: 20px;
+    white-space: normal;
+    vertical-align: text-top
+}
+
+.hd1 {
+    font-size: 150%;
+    font-weight: bold
+}
+
+.tbar {
+    margin: 0px;
+    padding-top: 0px;
+    padding-left: 0px;
+    padding-right: 0px;
+    padding-bottom: 3px;
+    border-bottom: 1px solid #a2bae7
+}
+
+.ltbar {
+    padding-left: 0px;
+    padding-top: 0px;
+    padding-right: 20px;
+    white-space: nowrap;
+    vertical-align: top
+}
+
+.rtbar {
+    padding-left: 0px;
+    padding-right: 0px;
+    padding-top: 0px;
+    white-space: nowrap;
+    vertical-align: top;
+    text-align: right
+}
+
+.suggest {
+    background-color: #e5ecf9;
+    color: #598edd;
+    border-top: 1px;
+    border-bottom: 1px;
+    border-left: 1px;
+    border-right: 1px;
+    border-style: solid;
+    border-top-color: #a2bae7;
+    border-bottom-color: #d1d3d4;
+    border-left-color: #d1d3d4;
+    border-right-color: #d1d3d4;
+    position: absolute;
+    overflow: auto;
+    overflow-x: hidden;
+    cursor: default;
+    padding: 0px;
+    margin: 0px;
+}
+
+suggestTable {
+    border: 0px;
+    border-collapse: separate;
+    padding-left: 5px;
+    padding-right: 5px;
+    padding-top: 2px;
+    padding-bottom: 2px;
+    margin: 0px;
+}
+
+.suggestItem {
+    padding-left: 2px;
+    padding-top: 0px;
+    padding-bottom: 0px;
+    padding-right: 2px;
+    white-space: nowrap;
+    vertical-align: text-top;
+    background-color: #e5ecf9;
+    color: #598edd;
+}
+
+.suggestHilighted {
+    padding-left: 2px;
+    padding-top: 0px;
+    padding-bottom: 0px;
+    padding-right: 2px;
+    white-space: nowrap;
+    vertical-align: text-top;
+    background-color: #598edd;
+    color: #e5ecf9;
+}

Modified: tuscany/sandbox/thilina/geronimo_ACE/src/test/java/org/apache/tuscany/geronimoace/AppTest.java
URL: http://svn.apache.org/viewvc/tuscany/sandbox/thilina/geronimo_ACE/src/test/java/org/apache/tuscany/geronimoace/AppTest.java?rev=677274&r1=677273&r2=677274&view=diff
==============================================================================
--- tuscany/sandbox/thilina/geronimo_ACE/src/test/java/org/apache/tuscany/geronimoace/AppTest.java (original)
+++ tuscany/sandbox/thilina/geronimo_ACE/src/test/java/org/apache/tuscany/geronimoace/AppTest.java Wed Jul 16 06:01:57 2008
@@ -7,32 +7,28 @@
 /**
  * Unit test for simple App.
  */
-public class AppTest 
-    extends TestCase
-{
+public class AppTest
+        extends TestCase {
     /**
      * Create the test case
      *
      * @param testName name of the test case
      */
-    public AppTest( String testName )
-    {
-        super( testName );
+    public AppTest(String testName) {
+        super(testName);
     }
 
     /**
      * @return the suite of tests being tested
      */
-    public static Test suite()
-    {
-        return new TestSuite( AppTest.class );
+    public static Test suite() {
+        return new TestSuite(AppTest.class);
     }
 
     /**
      * Rigourous Test :-)
      */
-    public void testApp()
-    {
-        assertTrue( true );
+    public void testApp() {
+        assertTrue(true);
     }
 }