You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by la...@apache.org on 2013/07/19 12:59:50 UTC

[07/51] [partial] applied 0001-Refactor-stratos-controller-product.patch

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/pom.xml
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/pom.xml b/products/stratos_controller/modules/dashboard/pom.xml
new file mode 100644
index 0000000..099272e
--- /dev/null
+++ b/products/stratos_controller/modules/dashboard/pom.xml
@@ -0,0 +1,155 @@
+<?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.
+  -->
+<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">
+    <parent>
+	<groupId>org.apache.stratos</groupId>
+	<artifactId>stratos-controller-parent</artifactId>
+	<version>3.0.0-SNAPSHOT</version>
+        <relativePath>../../pom.xml</relativePath>
+    </parent>
+
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>org.apache.stratos.manager.dashboard.ui</artifactId>
+    <packaging>bundle</packaging>
+    <name>Apache Stratos - Cloud Manager Dashboard User Interface</name>
+
+    <build>
+
+        <plugins>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <source>1.5</source>
+                    <target>1.5</target>
+                </configuration>
+            </plugin>
+
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                
+                <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
+                        <Bundle-Name>${project.artifactId}</Bundle-Name>
+                        <Export-Package>
+                            org.apache.stratos.manager.dashboard.ui.*,
+                        </Export-Package>
+                        <Import-Package>
+                            org.wso2.carbon.ui.servlets.*,
+                            javax.servlet; version=2.4.0,
+                            javax.servlet.http; version=2.4.0,
+                            org.apache.lucene.*,
+                            *;resolution:=optional
+                        </Import-Package>
+                        <Carbon-Component>UIBundle</Carbon-Component>
+                    </instructions>
+                </configuration>
+            </plugin>
+            
+        </plugins>
+    </build>
+
+   
+    <dependencies>
+
+        <dependency>
+            <groupId>log4j</groupId>
+            <artifactId>log4j</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.wso2.carbon</groupId>
+            <artifactId>org.wso2.carbon.registry.common.ui</artifactId>
+            <version>${wso2carbon.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.wso2.carbon</groupId>
+            <artifactId>org.wso2.carbon.registry.core</artifactId>
+            <version>${wso2carbon.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>commons-logging</groupId>
+            <artifactId>commons-logging</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>servlet-api</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.axis2.wso2</groupId>
+            <artifactId>axis2</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.ws.commons.axiom.wso2</groupId>
+            <artifactId>axiom</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.wso2.carbon</groupId>
+            <artifactId>org.wso2.carbon.ui</artifactId>
+            <version>${wso2carbon.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.wso2.carbon</groupId>
+            <artifactId>org.wso2.carbon.core</artifactId>
+            <version>${wso2carbon.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.wso2.carbon</groupId>
+            <artifactId>org.wso2.carbon.registry.profiles.ui</artifactId>
+            <version>${registry-component.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.wso2.carbon</groupId>
+            <artifactId>org.wso2.carbon.registry.resource.ui</artifactId>
+            <version>${governance-component.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.stratos</groupId>
+            <artifactId>org.apache.stratos.account.mgt.ui</artifactId>
+            <version>${apache.stratos.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.stratos</groupId>
+            <artifactId>org.apache.stratos.common</artifactId>
+            <version>${apache.stratos.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.wso2.carbon</groupId>
+            <artifactId>org.wso2.carbon.stratos.manager.dashboard.stub</artifactId>
+            <version>${wso2carbon.version}</version>
+        </dependency>
+    </dependencies>
+
+    <properties>
+        <eclipse.version>3.2.0</eclipse.version>
+        <!-- Component versions == Carbon version, if not, please change the properties below. -->
+        <registry-component.version>4.1.0</registry-component.version>
+       <governance-component.version>4.1.0</governance-component.version>
+    </properties>
+
+
+</project>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/java/org/apache/stratos/manager/dashboard/ui/clients/CloudManagerServiceClient.java
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/java/org/apache/stratos/manager/dashboard/ui/clients/CloudManagerServiceClient.java b/products/stratos_controller/modules/dashboard/src/main/java/org/apache/stratos/manager/dashboard/ui/clients/CloudManagerServiceClient.java
new file mode 100644
index 0000000..62ab060
--- /dev/null
+++ b/products/stratos_controller/modules/dashboard/src/main/java/org/apache/stratos/manager/dashboard/ui/clients/CloudManagerServiceClient.java
@@ -0,0 +1,124 @@
+/*
+ * 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.stratos.manager.dashboard.ui.clients;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.client.Options;
+import org.apache.axis2.client.ServiceClient;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.wso2.carbon.CarbonConstants;
+import org.wso2.carbon.context.CarbonContext;
+import org.wso2.carbon.registry.core.exceptions.RegistryException;
+import org.wso2.carbon.ui.CarbonUIUtil;
+import org.wso2.carbon.utils.ServerConstants;
+import org.wso2.carbon.stratos.manager.dashboard.stub.CloudManagerServiceStub;
+import org.wso2.carbon.stratos.manager.dashboard.stub.xsd.CloudService;
+
+import javax.servlet.ServletConfig;
+import javax.servlet.ServletRequest;
+import javax.servlet.http.HttpSession;
+
+public class CloudManagerServiceClient {
+     private static final Log log = LogFactory.getLog(CloudManagerServiceClient.class);
+
+    private CloudManagerServiceStub stub;
+    private String epr;
+    public static final String CLOUD_SERVICE = "cloudService";
+
+    public CloudManagerServiceClient(
+            String cookie, String backendServerURL, ConfigurationContext configContext)
+            throws RegistryException {
+
+        epr = backendServerURL + "CloudManagerService";
+
+        try {
+            stub = new CloudManagerServiceStub(configContext, epr);
+
+            ServiceClient client = stub._getServiceClient();
+            Options option = client.getOptions();
+            option.setManageSession(true);
+            option.setProperty(org.apache.axis2.transport.http.HTTPConstants.COOKIE_STRING, cookie);
+
+        } catch (AxisFault axisFault) {
+            String msg = "Failed to initiate AddServices service client. " + axisFault.getMessage();
+            log.error(msg, axisFault);
+            throw new RegistryException(msg, axisFault);
+        }
+    }
+
+    public CloudManagerServiceClient(ServletRequest request, ServletConfig config, HttpSession session)
+            throws RegistryException {
+
+        String cookie = (String)session.getAttribute(ServerConstants.ADMIN_SERVICE_COOKIE);
+        String backendServerURL = CarbonUIUtil.getServerURL(config.getServletContext(), session);
+        ConfigurationContext configContext = (ConfigurationContext) config.
+                getServletContext().getAttribute(CarbonConstants.CONFIGURATION_CONTEXT);
+        epr = backendServerURL + "CloudManagerService";
+
+        try {
+            stub = new CloudManagerServiceStub(configContext, epr);
+
+            ServiceClient client = stub._getServiceClient();
+            Options option = client.getOptions();
+            option.setManageSession(true);
+            option.setProperty(org.apache.axis2.transport.http.HTTPConstants.COOKIE_STRING, cookie);
+
+        } catch (AxisFault axisFault) {
+            String msg = "Failed to initiate Add Services service client. " + axisFault.getMessage();
+            log.error(msg, axisFault);
+            throw new RegistryException(msg, axisFault);
+        }
+    }
+
+    public CloudService[] retrieveCloudServiceInfo() throws Exception {
+        try {
+            if (CarbonContext.getCurrentContext().getCache(null).containsKey(CLOUD_SERVICE)) {
+                return (CloudService[]) CarbonContext.getCurrentContext()
+                        .getCache(null).get(CLOUD_SERVICE);
+            }
+        } catch (Exception ignored) {
+            // TODO: this exception needs not be handled, but the situation which leads to this
+            // exception needs to be.
+        }
+        CloudService[] cloudServices = stub.retrieveCloudServiceInfo();
+        CarbonContext.getCurrentContext().getCache(null).put(CLOUD_SERVICE, cloudServices);
+        return cloudServices;
+    }
+
+
+    public void saveCloudServicesActivity(String[] activeServiceNames) throws Exception {
+        CloudService[] cloudServices =
+                (CloudService[]) CarbonContext.getCurrentContext().getCache(null).get(CLOUD_SERVICE);
+
+        for (CloudService cloudService : cloudServices) {
+            for (String activeService : activeServiceNames) {
+                if (cloudService.getName().equals(activeService)) {
+                    cloudService.setActive(true);
+                    break;
+                } else {
+                    cloudService.setActive(false);
+                }
+            }
+        }
+
+        stub.saveCloudServicesActivity(activeServiceNames);
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/java/org/apache/stratos/manager/dashboard/ui/utils/Util.java
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/java/org/apache/stratos/manager/dashboard/ui/utils/Util.java b/products/stratos_controller/modules/dashboard/src/main/java/org/apache/stratos/manager/dashboard/ui/utils/Util.java
new file mode 100644
index 0000000..9d3e1a1
--- /dev/null
+++ b/products/stratos_controller/modules/dashboard/src/main/java/org/apache/stratos/manager/dashboard/ui/utils/Util.java
@@ -0,0 +1,48 @@
+/*
+ * 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.stratos.manager.dashboard.ui.utils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class Util {
+    public static List<String> getNewlyActivatedServices(List<String> oldActivateServices,
+                                                  List<String> newActivateServices) {
+        List<String> newlyActivatedServices = new ArrayList<String>();
+        for (String service: newActivateServices) {
+            if (!oldActivateServices.contains(service)) {
+                newlyActivatedServices.add(service);
+            }
+        }
+        return newlyActivatedServices;
+    }
+    public static List<String> getNewlyDeactivatedServices(List<String> oldActivateServices,
+                                                  List<String> newActivateServices) {
+        List<String> newlyDeactivatedServices = new ArrayList<String>();
+        for (String service: oldActivateServices) {
+            if (!newActivateServices.contains(service)) {
+                newlyDeactivatedServices.add(service);
+            }
+        }
+        return newlyDeactivatedServices;
+    }
+
+   
+}
+

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/CloudManagerService.wsdl
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/CloudManagerService.wsdl b/products/stratos_controller/modules/dashboard/src/main/resources/CloudManagerService.wsdl
new file mode 100644
index 0000000..6be162a
--- /dev/null
+++ b/products/stratos_controller/modules/dashboard/src/main/resources/CloudManagerService.wsdl
@@ -0,0 +1,312 @@
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://org.apache.axis2/xsd"
+                  xmlns:ns="http://services.mgt.services.manager.stratos.wso2.org"
+                  xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
+                  xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
+                  xmlns:ax2298="http://beans.mgt.services.manager.stratos.wso2.org/xsd"
+                  xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+                  xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
+                  xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
+                  targetNamespace="http://services.mgt.services.manager.stratos.wso2.org">
+    <wsdl:documentation>CloudManagerService</wsdl:documentation>
+    <wsdl:types>
+        <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified"
+                   targetNamespace="http://beans.mgt.services.manager.stratos.wso2.org/xsd">
+            <xs:complexType name="CloudService">
+                <xs:sequence>
+                    <xs:element minOccurs="0" name="active" type="xs:boolean"/>
+                    <xs:element minOccurs="0" name="description" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="icon" nillable="true" type="xs:string"/>
+
+                    <xs:element minOccurs="0" name="label" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="link" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+                    <xs:element minOccurs="0" name="productPageURL" nillable="true" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
+        </xs:schema>
+        <xs:schema xmlns:ax2299="http://beans.mgt.services.manager.stratos.wso2.org/xsd"
+                   attributeFormDefault="qualified" elementFormDefault="qualified"
+                   targetNamespace="http://services.mgt.services.manager.stratos.wso2.org">
+            <xs:import namespace="http://beans.mgt.services.manager.stratos.wso2.org/xsd"/>
+
+            <xs:element name="CloudManagerServiceException">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="CloudManagerServiceException" nillable="true"
+                                    type="ns:Exception"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:complexType name="Exception">
+                <xs:sequence>
+
+                    <xs:element minOccurs="0" name="Message" nillable="true" type="xs:string"/>
+                </xs:sequence>
+            </xs:complexType>
+            <xs:element name="saveCloudServicesActivity">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="activeServiceNames" nillable="true"
+                                    type="xs:string"/>
+                    </xs:sequence>
+                </xs:complexType>
+
+            </xs:element>
+            <xs:element name="retrieveCloudServiceInfo">
+                <xs:complexType>
+                    <xs:sequence/>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="retrieveCloudServiceInfoResponse">
+                <xs:complexType>
+                    <xs:sequence>
+
+                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true"
+                                    type="ax2299:CloudService"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="deactivate">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="cloudServiceName" nillable="true" type="xs:string"/>
+                    </xs:sequence>
+
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="activate">
+                <xs:complexType>
+                    <xs:sequence>
+                        <xs:element minOccurs="0" name="cloudServiceName" nillable="true" type="xs:string"/>
+                    </xs:sequence>
+                </xs:complexType>
+            </xs:element>
+
+        </xs:schema>
+    </wsdl:types>
+    <wsdl:message name="saveCloudServicesActivityRequest">
+        <wsdl:part name="parameters" element="ns:saveCloudServicesActivity"/>
+    </wsdl:message>
+    <wsdl:message name="saveCloudServicesActivityResponse"/>
+    <wsdl:message name="CloudManagerServiceException">
+        <wsdl:part name="parameters" element="ns:CloudManagerServiceException"/>
+    </wsdl:message>
+
+    <wsdl:message name="activateRequest">
+        <wsdl:part name="parameters" element="ns:activate"/>
+    </wsdl:message>
+    <wsdl:message name="activateResponse"/>
+    <wsdl:message name="retrieveCloudServiceInfoRequest">
+        <wsdl:part name="parameters" element="ns:retrieveCloudServiceInfo"/>
+    </wsdl:message>
+    <wsdl:message name="retrieveCloudServiceInfoResponse">
+        <wsdl:part name="parameters" element="ns:retrieveCloudServiceInfoResponse"/>
+
+    </wsdl:message>
+    <wsdl:message name="deactivateRequest">
+        <wsdl:part name="parameters" element="ns:deactivate"/>
+    </wsdl:message>
+    <wsdl:message name="deactivateResponse"/>
+    <wsdl:portType name="CloudManagerServicePortType">
+        <wsdl:operation name="saveCloudServicesActivity">
+            <wsdl:input message="ns:saveCloudServicesActivityRequest" wsaw:Action="urn:saveCloudServicesActivity"/>
+            <wsdl:output message="ns:saveCloudServicesActivityResponse"
+                         wsaw:Action="urn:saveCloudServicesActivityResponse"/>
+
+            <wsdl:fault message="ns:CloudManagerServiceException" name="CloudManagerServiceException"
+                        wsaw:Action="urn:saveCloudServicesActivityCloudManagerServiceException"/>
+        </wsdl:operation>
+        <wsdl:operation name="activate">
+            <wsdl:input message="ns:activateRequest" wsaw:Action="urn:activate"/>
+            <wsdl:output message="ns:activateResponse" wsaw:Action="urn:activateResponse"/>
+            <wsdl:fault message="ns:CloudManagerServiceException" name="CloudManagerServiceException"
+                        wsaw:Action="urn:activateCloudManagerServiceException"/>
+        </wsdl:operation>
+        <wsdl:operation name="retrieveCloudServiceInfo">
+            <wsdl:input message="ns:retrieveCloudServiceInfoRequest" wsaw:Action="urn:retrieveCloudServiceInfo"/>
+
+            <wsdl:output message="ns:retrieveCloudServiceInfoResponse"
+                         wsaw:Action="urn:retrieveCloudServiceInfoResponse"/>
+            <wsdl:fault message="ns:CloudManagerServiceException" name="CloudManagerServiceException"
+                        wsaw:Action="urn:retrieveCloudServiceInfoCloudManagerServiceException"/>
+        </wsdl:operation>
+        <wsdl:operation name="deactivate">
+            <wsdl:input message="ns:deactivateRequest" wsaw:Action="urn:deactivate"/>
+            <wsdl:output message="ns:deactivateResponse" wsaw:Action="urn:deactivateResponse"/>
+            <wsdl:fault message="ns:CloudManagerServiceException" name="CloudManagerServiceException"
+                        wsaw:Action="urn:deactivateCloudManagerServiceException"/>
+        </wsdl:operation>
+    </wsdl:portType>
+
+    <wsdl:binding name="CloudManagerServiceSoap11Binding" type="ns:CloudManagerServicePortType">
+        <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
+        <wsdl:operation name="saveCloudServicesActivity">
+            <soap:operation soapAction="urn:saveCloudServicesActivity" style="document"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+
+            </wsdl:output>
+            <wsdl:fault name="CloudManagerServiceException">
+                <soap:fault use="literal" name="CloudManagerServiceException"/>
+            </wsdl:fault>
+        </wsdl:operation>
+        <wsdl:operation name="activate">
+            <soap:operation soapAction="urn:activate" style="document"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+            <wsdl:fault name="CloudManagerServiceException">
+                <soap:fault use="literal" name="CloudManagerServiceException"/>
+            </wsdl:fault>
+        </wsdl:operation>
+        <wsdl:operation name="retrieveCloudServiceInfo">
+
+            <soap:operation soapAction="urn:retrieveCloudServiceInfo" style="document"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+            </wsdl:output>
+            <wsdl:fault name="CloudManagerServiceException">
+                <soap:fault use="literal" name="CloudManagerServiceException"/>
+
+            </wsdl:fault>
+        </wsdl:operation>
+        <wsdl:operation name="deactivate">
+            <soap:operation soapAction="urn:deactivate" style="document"/>
+            <wsdl:input>
+                <soap:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap:body use="literal"/>
+
+            </wsdl:output>
+            <wsdl:fault name="CloudManagerServiceException">
+                <soap:fault use="literal" name="CloudManagerServiceException"/>
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:binding name="CloudManagerServiceSoap12Binding" type="ns:CloudManagerServicePortType">
+        <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
+        <wsdl:operation name="saveCloudServicesActivity">
+
+            <soap12:operation soapAction="urn:saveCloudServicesActivity" style="document"/>
+            <wsdl:input>
+                <soap12:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap12:body use="literal"/>
+            </wsdl:output>
+            <wsdl:fault name="CloudManagerServiceException">
+                <soap12:fault use="literal" name="CloudManagerServiceException"/>
+
+            </wsdl:fault>
+        </wsdl:operation>
+        <wsdl:operation name="activate">
+            <soap12:operation soapAction="urn:activate" style="document"/>
+            <wsdl:input>
+                <soap12:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap12:body use="literal"/>
+
+            </wsdl:output>
+            <wsdl:fault name="CloudManagerServiceException">
+                <soap12:fault use="literal" name="CloudManagerServiceException"/>
+            </wsdl:fault>
+        </wsdl:operation>
+        <wsdl:operation name="retrieveCloudServiceInfo">
+            <soap12:operation soapAction="urn:retrieveCloudServiceInfo" style="document"/>
+            <wsdl:input>
+                <soap12:body use="literal"/>
+
+            </wsdl:input>
+            <wsdl:output>
+                <soap12:body use="literal"/>
+            </wsdl:output>
+            <wsdl:fault name="CloudManagerServiceException">
+                <soap12:fault use="literal" name="CloudManagerServiceException"/>
+            </wsdl:fault>
+        </wsdl:operation>
+        <wsdl:operation name="deactivate">
+
+            <soap12:operation soapAction="urn:deactivate" style="document"/>
+            <wsdl:input>
+                <soap12:body use="literal"/>
+            </wsdl:input>
+            <wsdl:output>
+                <soap12:body use="literal"/>
+            </wsdl:output>
+            <wsdl:fault name="CloudManagerServiceException">
+                <soap12:fault use="literal" name="CloudManagerServiceException"/>
+
+            </wsdl:fault>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:binding name="CloudManagerServiceHttpBinding" type="ns:CloudManagerServicePortType">
+        <http:binding verb="POST"/>
+        <wsdl:operation name="saveCloudServicesActivity">
+            <http:operation location="saveCloudServicesActivity"/>
+            <wsdl:input>
+                <mime:content type="text/xml" part="parameters"/>
+
+            </wsdl:input>
+            <wsdl:output>
+                <mime:content type="text/xml" part="parameters"/>
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="activate">
+            <http:operation location="activate"/>
+            <wsdl:input>
+                <mime:content type="text/xml" part="parameters"/>
+
+            </wsdl:input>
+            <wsdl:output>
+                <mime:content type="text/xml" part="parameters"/>
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="retrieveCloudServiceInfo">
+            <http:operation location="retrieveCloudServiceInfo"/>
+            <wsdl:input>
+                <mime:content type="text/xml" part="parameters"/>
+
+            </wsdl:input>
+            <wsdl:output>
+                <mime:content type="text/xml" part="parameters"/>
+            </wsdl:output>
+        </wsdl:operation>
+        <wsdl:operation name="deactivate">
+            <http:operation location="deactivate"/>
+            <wsdl:input>
+                <mime:content type="text/xml" part="parameters"/>
+
+            </wsdl:input>
+            <wsdl:output>
+                <mime:content type="text/xml" part="parameters"/>
+            </wsdl:output>
+        </wsdl:operation>
+    </wsdl:binding>
+    <wsdl:service name="CloudManagerService">
+        <wsdl:port name="CloudManagerServiceHttpsSoap11Endpoint" binding="ns:CloudManagerServiceSoap11Binding">
+            <soap:address
+                    location="https://10.100.0.26:9443/services/CloudManagerService.CloudManagerServiceHttpsSoap11Endpoint/"/>
+
+        </wsdl:port>
+        <wsdl:port name="CloudManagerServiceHttpsSoap12Endpoint" binding="ns:CloudManagerServiceSoap12Binding">
+            <soap12:address
+                    location="https://10.100.0.26:9443/services/CloudManagerService.CloudManagerServiceHttpsSoap12Endpoint/"/>
+        </wsdl:port>
+        <wsdl:port name="CloudManagerServiceHttpsEndpoint" binding="ns:CloudManagerServiceHttpBinding">
+            <http:address
+                    location="https://10.100.0.26:9443/services/CloudManagerService.CloudManagerServiceHttpsEndpoint/"/>
+        </wsdl:port>
+    </wsdl:service>
+</wsdl:definitions>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/META-INF/component.xml
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/META-INF/component.xml b/products/stratos_controller/modules/dashboard/src/main/resources/META-INF/component.xml
new file mode 100644
index 0000000..b0d80a6
--- /dev/null
+++ b/products/stratos_controller/modules/dashboard/src/main/resources/META-INF/component.xml
@@ -0,0 +1,36 @@
+<!--
+  #  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.
+  -->
+<component xmlns="http://products.wso2.org/carbon">
+    <!-- sample menu configuration -->
+    <menus>
+        <menu>
+            <id>mt_cloud_services_configurations</id>
+            <i18n-key>cloud.services.configurations</i18n-key>
+            <i18n-bundle>org.wso2.stratos.manager.dashboard.ui.i18n.Resources</i18n-bundle>
+            <parent-menu>configure_menu</parent-menu>
+            <link>../tenant-dashboard/cloud_services_configuration.jsp</link>
+            <region>region1</region>
+            <icon>../tenant-dashboard/images/service-configuration.gif</icon>
+            <order>40</order>
+            <style-class>home</style-class>
+            <require-permission>/permission/admin/configure/cloud-services</require-permission>
+            <require-not-super-tenant>true</require-not-super-tenant>
+        </menu>
+    </menus>
+</component>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/org/apache/stratos/manager/dashboard/ui/i18n/JSResources.properties
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/org/apache/stratos/manager/dashboard/ui/i18n/JSResources.properties b/products/stratos_controller/modules/dashboard/src/main/resources/org/apache/stratos/manager/dashboard/ui/i18n/JSResources.properties
new file mode 100644
index 0000000..49efc22
--- /dev/null
+++ b/products/stratos_controller/modules/dashboard/src/main/resources/org/apache/stratos/manager/dashboard/ui/i18n/JSResources.properties
@@ -0,0 +1,3 @@
+password.mismatched=Passwords do not match.
+current.password.should.provided=You should provide the current password inorder to change the password.
+session.timed.out=Session timed out.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/org/apache/stratos/manager/dashboard/ui/i18n/Resources.properties
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/org/apache/stratos/manager/dashboard/ui/i18n/Resources.properties b/products/stratos_controller/modules/dashboard/src/main/resources/org/apache/stratos/manager/dashboard/ui/i18n/Resources.properties
new file mode 100644
index 0000000..3d49083
--- /dev/null
+++ b/products/stratos_controller/modules/dashboard/src/main/resources/org/apache/stratos/manager/dashboard/ui/i18n/Resources.properties
@@ -0,0 +1,3 @@
+cloud.services.configurations=Services
+activate.your.cloud.services=Activate your Cloud Services
+cloud.services=Cloud Services

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/cloud_services_configuration.jsp
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/cloud_services_configuration.jsp b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/cloud_services_configuration.jsp
new file mode 100644
index 0000000..507f278
--- /dev/null
+++ b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/cloud_services_configuration.jsp
@@ -0,0 +1,203 @@
+<!--
+ ~ Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
+ ~
+ ~ WSO2 Inc. 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 import="org.wso2.stratos.manager.dashboard.ui.clients.CloudManagerServiceClient" %>
+<%@ page import="org.wso2.carbon.stratos.manager.dashboard.stub.xsd.CloudService" %>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
+<%@ taglib uri="http://wso2.org/projects/carbon/taglibs/carbontags.jar" prefix="carbon" %>
+<%@ page import="org.wso2.carbon.ui.CarbonUIMessage" %>
+<%@ page import="org.wso2.carbon.ui.CarbonUIUtil" %>
+<%@ page import="org.wso2.carbon.account.mgt.ui.clients.AccountMgtClient" %>
+<%@ page import="org.wso2.carbon.stratos.common.constants.StratosConstants" %>
+<%@ page import="java.util.List" %>
+<%@ page import="java.util.ArrayList" %>
+<%@ page import="org.wso2.stratos.manager.dashboard.ui.utils.Util" %>
+<%@ page import="org.wso2.carbon.utils.multitenancy.MultitenantConstants" %>
+
+
+<jsp:include page="../registry_common/registry_common-i18n-ajaxprocessor.jsp"/>
+<script type="text/javascript" src="../registry_common/js/registry_validation.js"></script>
+<script type="text/javascript" src="../registry_common/js/registry_common.js"></script>
+<script type="text/javascript" src="../ajax/js/prototype.js"></script>
+<script type="text/javascript" src="../tenant-dashboard/js/dashboard.js"></script>
+<link href="../tenant-dashboard/css/dashboard.css" rel="stylesheet" type="text/css" media="all"/>
+
+
+<%
+
+    CloudManagerServiceClient cloudManagerClient;
+    CloudService[] cloudServices = null;
+    String error = "Error in getting the available and active service details.";
+    try {
+        cloudManagerClient = new CloudManagerServiceClient(request, config, session);
+        cloudServices = cloudManagerClient.retrieveCloudServiceInfo();
+    } catch (Exception e) {
+        request.setAttribute(CarbonUIMessage.ID, new CarbonUIMessage(error,error,null)); 
+%>
+        <jsp:include page="../admin/error.jsp?<%=error%>"/>
+<%
+        return;
+    }
+%>
+<fmt:bundle basename="org.wso2.stratos.manager.dashboard.ui.i18n.Resources">
+<carbon:jsi18n
+        resourceBundle="org.wso2.stratos.manager.dashboard.ui.i18n.JSResources"
+        request="<%=request%>" namespace="org.wso2.stratos.manager.dashboard.ui"/>
+
+<div id="middle">
+<h2><fmt:message key="activate.your.cloud.services"/></h2>
+<div id="workArea">
+<%
+// if the account management permission there, we are showing the message to validate email address
+if (CarbonUIUtil.isUserAuthorized(request, "/permission/admin/configure/account")) {
+
+    AccountMgtClient client = new AccountMgtClient(config, session);
+    boolean isEmailValidated = client.isEmailValidated();
+
+    if (!isEmailValidated) {
+%>
+
+<div class="green-note">Your organization has not validated the contact email address yet. Please validate it following
+the instructions in the <a href="../account-mgt/account_mgt.jsp">Account Management</a> page (Accessible from Configure-&gt;Account menu). </div>
+<%
+    }
+}
+String tenantDomain = null;
+if (session.getAttribute(MultitenantConstants.TENANT_DOMAIN) != null) {
+    tenantDomain = (String)session.getAttribute(MultitenantConstants.TENANT_DOMAIN);
+} else {
+    // user is not logged in or just logged out, but still they are inside url own to the domain
+    tenantDomain = (String)request.getAttribute(MultitenantConstants.TENANT_DOMAIN);
+}
+String linkSuffix = "";
+    if (tenantDomain != null) {
+        linkSuffix = "/" + MultitenantConstants.TENANT_AWARE_URL_PREFIX + "/" + tenantDomain;
+    }
+
+boolean isUserAuthorized = CarbonUIUtil.isUserAuthorized(request, "/permission/admin/configure/cloud-services");    
+%>
+<form id="cloudService" action="cloud_services_save_ajaxprocessor.jsp" method="post">
+<div>
+    <table cellspacing="0" class="tips">
+<%
+    List<String> activeServices = new ArrayList<String>();
+    int index = 1;
+
+    for (CloudService cloudService: cloudServices) {
+        index++;
+        String name = cloudService.getName();       
+        String imagePath = "images/" + name.replace(" ", "-") + "-logo.gif";
+        String projectPageUrl = cloudService.getProductPageURL();
+        String link = cloudService.getLink() + linkSuffix;
+        String icon = cloudService.getIcon();
+        String iconPath = icon.substring(0, icon.lastIndexOf('/'));
+        String iconName = icon.substring(icon.lastIndexOf('/') + 1);
+        String inactiveIcon = iconPath + "/" + "inactive-" + iconName;
+        String description = cloudService.getDescription();
+        String label = cloudService.getLabel();
+        boolean active = name.equals(StratosConstants.CLOUD_IDENTITY_SERVICE) ||
+                name.equals(StratosConstants.CLOUD_GOVERNANCE_SERVICE) ||
+                cloudService.getActive();
+        String disabledStr = (name.equals(StratosConstants.CLOUD_IDENTITY_SERVICE) ||
+                name.equals(StratosConstants.CLOUD_GOVERNANCE_SERVICE))?" disabled ": "";
+        boolean disabledBtn = (name.equals(StratosConstants.CLOUD_IDENTITY_SERVICE) ||
+                name.equals(StratosConstants.CLOUD_GOVERNANCE_SERVICE));
+        if (!isUserAuthorized) {
+            disabledStr = " disabled ";
+        }
+        /*if (name.equals(StratosConstants.CLOUD_ESB_SERVICE)) {
+            active = false;
+            disabledStr = " disabled "; // we show an inactive and disabled link
+        }*/
+        if (active) {
+            activeServices.add(label);
+        }
+%>
+            <tr class="tips-row">
+
+            <td class="tip-checkbox">
+                <input type="checkbox" <%=disabledStr%> <%=active ? " checked=\"true\"" : ""%>
+                       name="cloudServices" id="cloudServices<%=index%>"  value="<%=name%>" style="display:none;"/>
+            </td>
+
+            <td>
+            	<img src="<%=icon%>" class="iconImage">
+                <% if (active) { %>
+            	<a target="_blank" href="<%=link%>" class="linkToService"><%=label%></a>
+                 <% } else { %>
+                <a class="linkToService"><%=label%></a>
+                <% } %>
+
+            </td>
+	<td class="access">
+        <% if (!disabledBtn) { %>          
+                <% if (active) { %>
+                <a target="_blank" input type="button" onclick="document.getElementById('cloudServices<%=index%>').checked=false;onChangeServiceSubscription()" class="deactivate-button"> Deactivate
+                </a>
+                <% } else { %>
+                <a target="_blank" input type="button" onclick="document.getElementById('cloudServices<%=index%>').checked=true;onChangeServiceSubscription()" class="activate-button"> Activate
+                <% } %>
+        <% } %>
+    </td>
+                
+	<td class="powered">Powered by<br/><a href="<%=projectPageUrl%>" target="_blank"><img src="<%=imagePath%>"/></a></td>
+                 </tr>
+               <% index++;
+            } %>
+
+                <td>&nbsp;</td>
+                </tr>
+    </table>
+    </div>
+</form>
+<%
+    List<String> oldActiveServices = (List<String>)session.getAttribute("active-statos-services");
+    if (oldActiveServices != null) {
+        List<String> newlyActivatedServices = Util.getNewlyActivatedServices(oldActiveServices, activeServices);
+        List<String> newlyDeactivatedServices = Util.getNewlyDeactivatedServices(oldActiveServices, activeServices);
+        String msg = null;
+        if (newlyActivatedServices.size() > 0) {
+            msg = "<li>";
+            for (String service: newlyActivatedServices) {
+                msg += "<ul>" + service + " <strong>activated</strong></ul>";
+            }
+            msg += "</li>";
+        }
+        if (newlyDeactivatedServices.size() > 0) {
+            if (msg == null) {
+                msg = "<li>";
+            }
+            for (String service: newlyDeactivatedServices) {
+                msg += "<ul>" + service + " <strong>deactivated</strong></ul>";
+            }
+            msg += "</li>";
+        }
+        if (msg != null) {
+%>
+    <script type="text/javascript">
+        jQuery(document).ready(function() {
+            CARBON.showInfoDialog('<%=msg%>');
+        });
+    </script>
+<%
+        }
+    }
+    session.setAttribute("active-statos-services", activeServices);
+%>
+</div>
+</div>
+</fmt:bundle>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/cloud_services_save_ajaxprocessor.jsp
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/cloud_services_save_ajaxprocessor.jsp b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/cloud_services_save_ajaxprocessor.jsp
new file mode 100644
index 0000000..a7ff6ec
--- /dev/null
+++ b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/cloud_services_save_ajaxprocessor.jsp
@@ -0,0 +1,34 @@
+<!--
+ ~ Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
+ ~
+ ~ WSO2 Inc. 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 import="org.wso2.stratos.manager.dashboard.ui.clients.CloudManagerServiceClient" %>
+<%@ page import="org.wso2.carbon.ui.CarbonUIMessage" %><%
+    String[] activeCloudServiceNames = request.getParameterValues("cloudServices");
+
+    String error = "Error in saving the results of the activities";
+    try {
+        CloudManagerServiceClient cloudServiceClient = new CloudManagerServiceClient(request, config, session);
+        cloudServiceClient.saveCloudServicesActivity(activeCloudServiceNames);
+    } catch (Exception e) {
+        request.setAttribute(CarbonUIMessage.ID, new CarbonUIMessage(error,error,null));
+%>
+        <jsp:include page="../admin/error.jsp?<%=error%>"/>
+<%
+        return;
+    }
+    response.sendRedirect("../tenant-dashboard/cloud_services_configuration.jsp");
+%>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/css/dashboard.css
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/css/dashboard.css b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/css/dashboard.css
new file mode 100644
index 0000000..de0a70f
--- /dev/null
+++ b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/css/dashboard.css
@@ -0,0 +1,231 @@
+div.dashboard-clear {
+    clear:both;
+    margin-top:5px;
+}
+
+div.dashboard-comp {
+    width: 300px;
+    margin: 5px;
+    float: left;
+    border:1px solid #6997b2;
+    background: #ffffff;
+    height: 300px;
+}
+.dashboard-comp-head{
+background-image:url( ../../admin/images/table-header.gif);
+background-position:left bottom;
+background-repeat:repeat-x;
+font-weight:normal;
+height:22px;
+line-height:22px;
+text-indent:5px;
+font-weight:bold;
+}
+.dashboard-comp-bottom{
+padding-left:5px;
+padding-top:5px;
+}
+.dashboard-comp-msg{
+color:#505050;
+padding:5px;
+}
+
+div.dashboard-comp-body {
+    overflow: auto;
+    max-height: 230px;
+}
+
+div.activity-comp-body {
+    overflow: auto;
+    max-height: 278px;
+}
+table.tips {
+	border-collapse: separate;
+	padding-bottom: 10px;
+	width: 90%;
+}
+table.tips tbody tr.tips-row {
+}
+tr.tips-row td {
+	border-bottom: solid 1px #ccc;
+}
+tr.tips-row td.tip-checkbox {
+	padding-left: 40px;
+	padding-top: 4px;
+	padding-bottom: 4px;
+    border-left: 0px;
+    border-right: 0px;
+    border-top: 0px;
+    vertical-align: top;
+    padding-right:12px !important;
+}
+tr.tips-row td.tip-img {
+	padding-left: 15px;
+	padding-top: 4px;
+	padding-bottom: 4px;
+    border-left: 0px;
+    border-right: 0px;
+    border-top: 0px;
+    vertical-align: top;
+    padding-right:12px !important;
+}
+tr.tips-row td.tip-img a img {
+	border: 0px;
+}
+tr.tips-row td.tip {
+	background-image: url(../images/aas-top.gif);
+	background-repeat: no-repeat;
+	background-position: left 7px;
+    margin: 0px;
+    padding-left: 0px;
+    padding-right: 15px;
+    padding-top: 20px;
+    padding-bottom: 0px;
+    /*border-bottom: 1px solid #aaa;*/
+    border-left: 0px;
+    border-right: 0px;
+    border-top: 0px;
+    vertical-align: top;
+}
+tr.tips-row td.tip img {
+	float: left;
+	margin-top: -20px;
+	margin-left: 17px;
+	margin-right: 12px;
+	margin-bottom: 20px;
+}
+tr.tips-row td.tip h2 {
+    background-color: transparent !important;
+	font-size: 125%;
+	line-height: 125%;
+	margin-top: 0px;
+	margin-bottom: 3px;
+    border:medium none !important;
+    margin-top:3px !important;
+    margin-left: 0px !important;
+    padding-left: 0px !important;
+}
+tr.tips-row td.tip h2 a {
+	font-size:14px;
+    text-decoration:underline;
+}
+tr.tips-row td.tip p {
+	padding-bottom: 15px;
+}
+tr.tips-row td.access {
+	padding-left: 30px;
+	padding-right: 30px;
+	vertical-align: middle;
+}
+tr.tips-row td.access a.go-button {
+	width: 63px;
+	height: 42px;
+	display: block;
+	background-color: #ccc;
+	font-size: 20px;
+	line-height: 40px;
+	font-weight: bold;
+	color: #000000;
+	text-decoration: none;
+	padding-left: 19px;
+	background-image: url(../images/go-button.gif);
+	background-repeat: no-repeat;
+	background-position: left top;
+}
+tr.tips-row td.access span.inactive {
+	width: 63px;
+	height: 42px;
+	display: block;
+	background-color: #ccc;
+	font-size: 20px;
+	line-height: 40px;
+	font-weight: bold;
+	color: #999999;
+	text-decoration: none;
+	padding-left: 19px;
+	background-image: url(../images/inactive-go-button.gif);
+	background-repeat: no-repeat;
+	background-position: left top;
+}
+tr.tips-row td.access a.go-button:hover {
+	color: #0084A9;
+}
+tr.tips-row td.powered {
+	padding-left: 10px;
+	padding-right: 20px;
+	text-align: right;
+	font-size: 12px;
+	line-height: 20px;
+	color: #666666;
+	vertical-align: middle;
+}
+.green-note {
+    color: #f00;
+}
+div#menu ul.main li a.menu-home {
+display:block !important;
+}
+/* service config buttons */
+td.access a.activate-button {
+	width: 98px;
+	height: 42px;
+	cursor: pointer;
+	display: block;
+	background-color: #ccc;
+	font-size: 15px;
+	line-height: 40px;
+	font-weight: normal;
+	color: #000000;
+	text-decoration: none;
+	padding-left: 47px;
+	background-image: url(../images/activate-button.gif);
+	background-repeat: no-repeat;
+	background-position: left top;
+}
+td.access a.activate-button:hover {
+	color: #00853F;
+}
+td.access a.deactivate-button {
+	width: 103px;
+	height: 42px;
+	cursor: pointer;
+	display: block;
+	background-color: #ccc;
+	font-size: 15px;
+	line-height: 40px;
+	font-weight: normal;
+	color: #000000;
+	text-decoration: none;
+	padding-left: 42px;
+	background-image: url(../images/deactivate-button.gif);
+	background-repeat: no-repeat;
+	background-position: left top;
+}
+td.access a.deactivate-button:hover {
+	color: #B5121B;
+}
+.home_tips{
+width:100%;
+}
+.home_tips td{
+border-bottom:solid 1px #ccc;
+padding-bottom:5px !important;
+padding-top:5px !important;
+}
+.home_tips td img{
+vertical-align:middle;
+
+}
+.home_tips td img.iconImage{
+margin-right:10px;
+
+}
+.linkToService{
+color:#0D4D79 !important;
+padding-left:10px !important;
+font-size:18px;
+text-decoration:underline !important;
+}
+.home_tips td.powered{
+text-align:right;
+}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/docs/images/dashboard.png
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/docs/images/dashboard.png b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/docs/images/dashboard.png
new file mode 100644
index 0000000..1386a9e
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/docs/images/dashboard.png differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/docs/userguide-old.html
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/docs/userguide-old.html b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/docs/userguide-old.html
new file mode 100644
index 0000000..b6350e4
--- /dev/null
+++ b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/docs/userguide-old.html
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<!--
+ ~ Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
+ ~
+ ~ WSO2 Inc. 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>
+    <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"/>
+  <title>Cloud Services - User Guide</title>
+  <link href="../../admin/css/documentation.css" rel="stylesheet" type="text/css" media="all" />
+</head>
+
+<body>
+<p>[<a href="../../issue/viewAccounts.jsp">Issue Tracking</a>]
+            | [<a href="http://wso2.com/cloud/services/privacy-policy">Privacy Policy</a>] | [<a href="http://wso2.com/cloud/services/terms-of-use/">Terms of Use</a>]
+        </p>
+
+<h2><a href="http://wso2.com/cloud/stratos/">Cloud Services Home</a> </h1>
+
+<p>
+Cloud Services Home page provides an interface to access the services of the SOA platform of your organization. Stratos provides a web-based console for provisioning new tenants on the platform, allowing self-service provisioning of any WSO2 Carbon product, and running elastically on your choice of underlying virtualization infrastructure to provide all the PaaS benefits inherent to a cloud-native platform. A list of the services available under WSO2 Stratos for the tenant can be found in the cloud services home.
+</p>
+
+<img src="../../tenant-dashboard/docs/images/dashboard.png"/>
+<p>Figure1: Cloud Services Home Page</p>
+</body>
+
+<h3><a href="http://wso2.com/products/application-server/">Application Server</a></h3>
+<p>
+The WSO2 Application Server is an open source, enterprise-ready, Web services engine based on Apache Axis2. Bringing together a number of Apache Web services projects, WSO2 Application Server provides a secure, transactional and reliable runtime to create, consume, deploy and manage Web services for your SOA. 
+</p>
+
+<h3><a href="http://wso2.com/products/data-services-server/">Data Services Server</a></h3>
+<p>
+The WSO2 Data Services Server, data service tier assures ready access to enterprise data scattered across heterogeneous data sources in a unified manner. Due to the single data layer, benefits of optimizations and availability of more processing power will be visible to every service consumer. Access to real time data provides more accurate, up-to-date information for applications. Further this single interface to enterprise data can greatly help in preserving integrity of frequently modified data. 
+</p>
+
+<h3><a href="http://wso2.com/products/mashup-server/">Mashup Server</a></h3>
+<p>
+The WSO2 Mashup Server provides a platform for rapidly deploying Web service Mashups. Combining simple yet rich mashups with reusability, security, reliability and governance, the WSO2 Mashup Server offers enterprise-class service composition.  
+</p>
+
+<h3><a href="http://wso2.com/products/identity-server/">Identity Server</a></h3>
+<p>
+The WSO2 Identity Server is an open source identity and entitlement management server. It supports Information Cards and OpenID for authentication as well as XACML for fine grained authorization. Providing a complete enterprise ready identity solution, it integrates easily into existing user stores such as LDAP or Active Directory and supports multi-factor authentication and much more. The WSO2 Identity Server helps you build secured SOA in a few very easy steps.
+</p>
+
+<h3><a href="http://wso2.com/products/governance-registry/">Governance Registry</a></h3>
+<p>
+The WSO2 Governance Registry addresses both design-time and runtime governance scenarios, to ensure compliance with corporate standards. It allows enterprise architects and developers to always keep track of the services being created and used within an SOA. 
+</p>
+
+<h3><a href="http://wso2.com/products/gadget-server/">Gadget Server</a></h3>
+<p>
+With the WSO2 Gadget Server, you can offer your execs, employees, partners, or customers a way to get all the information in one place that they need. Each user's dashboard is individualized, allowing him/her to add, customize, and rearrange gadgets, as well as group them into tab sets. The open "Web" model means users can select gadgets not only from your enterprise, but also from Google and many others.
+</p>
+
+<h3><a href="http://wso2.com/products/business-activity-monitor/">Business Activity Monitor</a></h3>
+<p>
+The WSO2 Business Activity Monitor (WSO2 BAM) serves the needs of both business and IT domain experts to monitor and understand business activities within an SOA deployment. While specifically designed to monitor SOA deployments, it can be extended to cater to other general monitoring requirements as well. 
+</p>
+
+<h3><a href="http://wso2.com/products/business-process-server/">Business Process Server</a></h3>
+<p>
+The WSO2 Business Process Server is an easy-to-use open source business process server that executes business processes written using the WS-BPEL standard. Powered by Apache ODE, it provides a complete Web-based graphical console to deploy, manage and view processes in addition to managing and viewing process instances
+</p>
+
+<h3><a href="http://wso2.com/products/business-rules-server/">Business Rules Server</a></h3>
+<p>
+The WSO2 Business Rules Server brings the agility of business rules to your Service Oriented Architecture toolkit. Based on a solid platform for hosting business rules, our BRS excels at extending the capabilities of your SOA. 
+</p>
+
+<h3><a href="http://wso2.com/products/enterprise-service-bus/">Enterprise Service Bus</a></h3>
+<p>
+The WSO2 Enterprise Service Bus offers a lean approach to create a Service Oriented Architecture by adding monitoring, management, and virtualization to your existing service interactions. Its innovative design leads it to be one of the highest performance, lowest footprint, and widest interoperability integration systems available.
+</p>
+
+<h3><a href="http://wso2.com/products/message-broker/">Message Broker</a></h3>
+<p>
+The WSO2 Message Broker brings messaging and eventing capabilities into your Service Oriented Architecture. Extending the WSO2 Carbon platform to support event driven architectures, WSO2 Message Broker is powered by Apache Qpid, one of the leading Advanced Message Queuing Protocol (AMQP) messaging engines available today. 
+</p>
+
+<h3><a href="http://wso2.com/products/complex-event-processing-server/">Complex Event Processing Server</a></h3>
+<p>
+The WSO2 Complex Event Processing Server enables you to intelligently single out events with predefined properties and even manage and combine them in a manner that allows for real time analysis and a rapid response to whatever threat or opportunity that enterprises face.
+</p>
+
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/docs/userguide.html
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/docs/userguide.html b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/docs/userguide.html
new file mode 100644
index 0000000..89a49f3
--- /dev/null
+++ b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/docs/userguide.html
@@ -0,0 +1,37 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<!--
+ ~ Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
+ ~
+ ~ WSO2 Inc. 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>
+    <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"/>
+  <title>Cloud Services - User Guide</title>
+  <link href="../../admin/css/documentation.css" rel="stylesheet" type="text/css" media="all" />
+</head>
+
+<body>
+
+	<h1>Cloud Services</h1>
+
+
+	<p>
+		Please refer <a href="http://docs.wso2.org/wiki/display/Stratos200/WSO2+Stratos+Documentation">
+			WSO2 Stratos 2.0 Documentation</a> for more information.
+	</p>
+</body>
+
+</html>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Cloud-Gateway-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Cloud-Gateway-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Cloud-Gateway-logo.gif
new file mode 100644
index 0000000..2154397
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Cloud-Gateway-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Storage-Server-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Storage-Server-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Storage-Server-logo.gif
new file mode 100644
index 0000000..3ee3303
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Storage-Server-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Application-Server-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Application-Server-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Application-Server-logo.gif
new file mode 100644
index 0000000..55e4751
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Application-Server-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Business-Activity-Monitor-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Business-Activity-Monitor-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Business-Activity-Monitor-logo.gif
new file mode 100644
index 0000000..f8b6a74
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Business-Activity-Monitor-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Business-Process-Server-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Business-Process-Server-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Business-Process-Server-logo.gif
new file mode 100644
index 0000000..5dd2171
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Business-Process-Server-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Business-Rules-Server-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Business-Rules-Server-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Business-Rules-Server-logo.gif
new file mode 100644
index 0000000..ccba887
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Business-Rules-Server-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Cloud-Services-Gateway-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Cloud-Services-Gateway-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Cloud-Services-Gateway-logo.gif
new file mode 100644
index 0000000..e69aaa6
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Cloud-Services-Gateway-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Complex-Event-Processing-Server-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Complex-Event-Processing-Server-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Complex-Event-Processing-Server-logo.gif
new file mode 100644
index 0000000..b80554a
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Complex-Event-Processing-Server-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Data-Services-Server-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Data-Services-Server-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Data-Services-Server-logo.gif
new file mode 100644
index 0000000..f70a205
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Data-Services-Server-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Enterprise-Service-Bus-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Enterprise-Service-Bus-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Enterprise-Service-Bus-logo.gif
new file mode 100644
index 0000000..95cb5b3
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Enterprise-Service-Bus-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Gadget-Server-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Gadget-Server-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Gadget-Server-logo.gif
new file mode 100644
index 0000000..8e89ef5
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Gadget-Server-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Governance-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Governance-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Governance-logo.gif
new file mode 100644
index 0000000..af1ac45
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Governance-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Identity-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Identity-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Identity-logo.gif
new file mode 100644
index 0000000..a2447bc
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Identity-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Mashup-Server-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Mashup-Server-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Mashup-Server-logo.gif
new file mode 100644
index 0000000..f8ed9be
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Mashup-Server-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Message-Broker-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Message-Broker-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Message-Broker-logo.gif
new file mode 100644
index 0000000..aa5c5ba
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Stratos-Message-Broker-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Tasks-Server-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Tasks-Server-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Tasks-Server-logo.gif
new file mode 100644
index 0000000..5fa3679
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/WSO2-Tasks-Server-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/aas-top.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/aas-top.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/aas-top.gif
new file mode 100644
index 0000000..a15dd8f
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/aas-top.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/activate-button.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/activate-button.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/activate-button.gif
new file mode 100644
index 0000000..91e4c94
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/activate-button.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/appserver-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/appserver-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/appserver-logo.gif
new file mode 100644
index 0000000..55e4751
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/appserver-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/bam-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/bam-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/bam-logo.gif
new file mode 100644
index 0000000..f8b6a74
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/bam-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/bps-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/bps-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/bps-logo.gif
new file mode 100644
index 0000000..5dd2171
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/bps-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/brs-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/brs-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/brs-logo.gif
new file mode 100644
index 0000000..ccba887
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/brs-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/cep_logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/cep_logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/cep_logo.gif
new file mode 100644
index 0000000..b80554a
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/cep_logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/csg-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/csg-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/csg-logo.gif
new file mode 100644
index 0000000..e69aaa6
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/csg-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/deactivate-button.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/deactivate-button.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/deactivate-button.gif
new file mode 100644
index 0000000..c8d1b4a
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/deactivate-button.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/ds-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/ds-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/ds-logo.gif
new file mode 100644
index 0000000..f70a205
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/ds-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/esb-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/esb-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/esb-logo.gif
new file mode 100644
index 0000000..95cb5b3
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/esb-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/gadget-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/gadget-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/gadget-logo.gif
new file mode 100644
index 0000000..8e89ef5
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/gadget-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/go-button.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/go-button.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/go-button.gif
new file mode 100644
index 0000000..ae73e92
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/go-button.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/governance-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/governance-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/governance-logo.gif
new file mode 100644
index 0000000..af1ac45
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/governance-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/identity-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/identity-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/identity-logo.gif
new file mode 100644
index 0000000..a2447bc
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/identity-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/inactive-go-button.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/inactive-go-button.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/inactive-go-button.gif
new file mode 100644
index 0000000..513301e
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/inactive-go-button.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/mashup-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/mashup-logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/mashup-logo.gif
new file mode 100644
index 0000000..f8ed9be
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/mashup-logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/mb_logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/mb_logo.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/mb_logo.gif
new file mode 100644
index 0000000..aa5c5ba
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/mb_logo.gif differ

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/service-configuration.gif
----------------------------------------------------------------------
diff --git a/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/service-configuration.gif b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/service-configuration.gif
new file mode 100644
index 0000000..499b6a2
Binary files /dev/null and b/products/stratos_controller/modules/dashboard/src/main/resources/web/tenant-dashboard/images/service-configuration.gif differ