You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by sa...@apache.org on 2013/07/02 11:23:19 UTC
[4/5] Refactoring org.wso2.carbon to org.apache.stratos
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/335eb418/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/account_mgt.jsp
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/account_mgt.jsp b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/account_mgt.jsp
new file mode 100644
index 0000000..3c693a6
--- /dev/null
+++ b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/account_mgt.jsp
@@ -0,0 +1,526 @@
+<!--
+~ 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.apache.stratos.account.mgt.AccountInfoBean" %>
+<%@ page import="org.wso2.carbon.account.mgt.ui.clients.AccountMgtClient" %>
+<%@ page import="org.wso2.carbon.account.mgt.ui.clients.UsagePlanClient" %>
+<%@ page import="org.wso2.carbon.stratos.common.constants.StratosConstants" %>
+<%@ page import="org.wso2.carbon.stratos.common.util.CommonUtil" %>
+<%@ page import="org.wso2.carbon.registry.core.exceptions.RegistryException" %>
+<%@ page import="org.wso2.carbon.utils.multitenancy.MultitenantConstants" %>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
+<%@ taglib uri="http://wso2.org/projects/carbon/taglibs/carbontags.jar" prefix="carbon" %>
+<link rel="stylesheet" type="text/css" href="../yui/assets/yui.css">
+<link rel="stylesheet" type="text/css" href="../yui/build/menu/assets/skins/sam/menu.css"/>
+<link rel="stylesheet" type="text/css" href="../yui/build/button/assets/skins/sam/button.css"/>
+<link rel="stylesheet" type="text/css"
+ href="../yui/build/container/assets/skins/sam/container.css"/>
+<link rel="stylesheet" type="text/css"
+ href="../yui/build/autocomplete/assets/skins/sam/autocomplete.css"/>
+<link rel="stylesheet" type="text/css" href="../yui/build/editor/assets/skins/sam/editor.css"/>
+<link rel="stylesheet" type="text/css" href="../account-mgt/css/account_mgt.css"/>
+<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="../account-mgt/js/account_mgt.js"></script>
+<carbon:jsi18n
+ resourceBundle="org.wso2.carbon.account.mgt.ui.i18n.JSResources"
+ request="<%=request%>"/>
+<fmt:bundle basename="org.wso2.carbon.account.mgt.ui.i18n.Resources">
+
+<%
+ if ("true".equals(session.getAttribute("domain-validation-failure"))) {
+ session.removeAttribute("domain-validation-failure");
+%>
+
+<script type="text/javascript">
+ jQuery(document).ready(function() {
+ CARBON.showWarningDialog(jsi18n["domain.validation.failed"]);
+ });
+</script>
+<%
+ }
+ if ("true".equals(session.getAttribute("domain-validation-success"))) {
+ session.removeAttribute("domain-validation-success");
+%>
+
+<script type="text/javascript">
+ jQuery(document).ready(function() {
+ CARBON.showWarningDialog(jsi18n["successfully.validated"]);
+ });
+</script>
+<%
+ }
+
+
+ if ("false".equals(session.getAttribute("temp-domain-available"))) {
+ session.removeAttribute("temp-domain-available");
+%>
+
+<script type="text/javascript">
+ jQuery(document).ready(function() {
+ CARBON.showWarningDialog(jsi18n["domain.unavailable"]);
+ });
+</script>
+<%
+ }
+%>
+<%
+
+ String contactEmail = "";
+ String firstname = "";
+ String lastname = "";
+ String tenantDomain = "";
+ String usagePlan = "";
+ boolean isDomainValidated;
+ boolean isEmailValidated = false;
+ AccountMgtClient client;
+ try {
+ client = new AccountMgtClient(config, session);
+ contactEmail = client.getContact();
+ AccountInfoBean accountInfoBean = client.getFullname();
+ firstname = accountInfoBean.getFirstname();
+ lastname = accountInfoBean.getLastname();
+ if (firstname == null) {
+ firstname = "";
+ }
+ if (lastname == null) {
+ lastname = "";
+ }
+ isDomainValidated = client.isDomainValidated();
+ isEmailValidated = client.isEmailValidated();
+
+
+ if ("true".equals(request.getParameter("isUpdate"))) {
+ usagePlan = request.getParameter("selectedUsagePlan");
+ if (org.wso2.carbon.account.mgt.ui.utils.Util.updateUsagePlan(request, config, session)) {
+%>
+<script type="text/javascript">
+ // window.location.href="../admin/logout_action.jsp";
+ CARBON.showInfoDialog("Your usage plan has been updated.");
+</script>
+<%
+} else {
+%>
+<script type="text/javascript">
+ // window.location.href="../admin/logout_action.jsp";
+ CARBON.showInfoDialog("Error occured while updating usage plan.");
+</script>
+<%
+ }
+ }
+ usagePlan = org.wso2.carbon.account.mgt.ui.utils.Util.getUsagePlanName(config, session);
+ if ("true".equals(request.getParameter("isDeactivated"))) {
+ client.deactivate();
+ tenantDomain = (String) session.getAttribute("tenantDomain");
+%>
+
+<script type="text/javascript">
+ // window.location.href="../admin/logout_action.jsp";
+ CARBON.showInfoDialog("Your account has been deactivated.",
+ function() {
+ window.location.href = "../admin/logout_action.jsp"
+ },
+ function() {
+ window.location.href = "../admin/logout_action.jsp"
+ });
+</script>
+<%
+ }
+} catch (RegistryException e) {
+%>
+<div>Error in getting account management information.</div>
+<%
+ return;
+ }
+
+ String currentDomain = (String) session.getAttribute(MultitenantConstants.TENANT_DOMAIN);
+
+ if (session.getAttribute("submit-firstname") != null) {
+ firstname = (String) session.getAttribute("submit-firstname");
+ session.setAttribute("submit-firstname", null);
+ }
+ if (session.getAttribute("submit-lastname") != null) {
+ lastname = (String) session.getAttribute("submit-lastname");
+ session.setAttribute("submit-lastname", null);
+ }
+
+%>
+
+<carbon:breadcrumb label="resources"
+ resourceBundle="org.wso2.carbon.account.mgt.ui.i18n.Resources"
+ topPage="true" request="<%=request%>"/>
+<div id="middle">
+
+<div id="workArea">
+<h2><fmt:message key="account.mgt.title"/></h2>
+
+
+<table class="styledLeft">
+ <thead>
+ <tr>
+ <th><fmt:message key="contact.information"/></th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+ <td class="nopadding">
+ <form method="POST" action="update_contact_ajaxprocessor.jsp">
+ <table class="normal-nopadding" cellspacing="0">
+ <tbody>
+ <tr>
+ <td width="200px"><fmt:message key="contact.email"/><span
+ class="required">*</span></td>
+ <td colspan="2">
+ <input type="text" name="email" id="email" style="width:400px"
+ value="<%=contactEmail%>"/> <span id="busyContact"> </span>
+ <span style="visibility:hidden"
+ id="old-email"><%=isEmailValidated ? contactEmail : ""%></span>
+ </td>
+ </tr>
+ <%
+ if (isEmailValidated) {
+ %>
+
+ <tr>
+ <td></td>
+ <td colspan="2"><input onclick="updateContact()" type="button"
+ value="<fmt:message key="update.contact"/>"/></td>
+ </tr>
+ <%
+ } else {
+ %>
+ <tr>
+ <td colspan="3">
+ <div class="not-validated"><img src="images/wrong.gif" alt="Validated"/>Your
+ email is not validated.
+ Please validate it from here.
+ </div>
+ </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td colspan="2"><input onclick="updateContact()" type="button"
+ value="<fmt:message key="validate.contact"/>"/></td>
+ </tr>
+ <%
+ }
+ %>
+
+ <tr>
+ <td colspan="3">
+ <div class="table-spacer"> </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </form>
+ </td>
+
+ </tr>
+
+ </tbody>
+</table>
+
+
+<table class="styledLeft">
+ <thead>
+ <tr>
+ <th><fmt:message key="admin.information"/></th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+ <td class="nopadding">
+ <form id="update_profile_form" action="update_profile_processor.jsp" method="POST">
+ <table class="normal-nopadding" cellspacing="0">
+ <tbody>
+ <tr>
+ <td width="200px"><fmt:message key="firstname"/><span
+ class="required">*</span></td>
+ <td colspan="2">
+ <input type="text" name="firstname" id="firstname" style="width:400px"
+ value="<%=firstname%>"/>
+ <span style="visibility:hidden" id="old-firstname"><%=firstname%></span>
+ </td>
+ </tr>
+ <tr>
+ <td width="200px"><fmt:message key="lastname"/><span
+ class="required">*</span></td>
+ <td colspan="2">
+ <input type="text" name="lastname" id="lastname" style="width:400px"
+ value="<%=lastname%>"/>
+ <span style="visibility:hidden" id="old-lastname"><%=lastname%></span>
+ </td>
+ </tr>
+ <tr>
+ <td></td>
+ <td colspan="2"><input onclick="updateProfile()" type="button"
+ value="<fmt:message key="update.profile"/>"/></td>
+ </tr>
+ <tr>
+ <td colspan="3">
+ <div class="table-spacer"> </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </form>
+ </td>
+
+ </tr>
+
+ </tbody>
+</table>
+
+
+<table class="styledLeft">
+ <thead>
+ <tr>
+ <th><fmt:message key="validate.domain.title"/></th>
+ </tr>
+ </thead>
+ <tbody>
+
+ <tr>
+ <td class="nopadding">
+ <form onsubmit="return domainSelected();" id="validateDomainForm" method="POST"
+ action="validate_domain_ajaxprocessor.jsp">
+ <table class="normal-nopadding" cellspacing="0">
+ <tbody>
+ <tr>
+ <td width="200px"><fmt:message key="current.domain"/></td>
+ <td colspan="2"><input readonly="true" type="text" name="domain" id="domain"
+ style="width:400px" value="<%=currentDomain%>"/>
+ </td>
+ </tr>
+
+ <%
+ if (isDomainValidated) {
+ %>
+ <tr>
+ <td colspan="3">
+ <div class="validated"><img src="images/right.gif" alt="Validated"/> The
+ ownership of your domain is already validated.
+ </div>
+ </td>
+ </tr>
+
+ <%
+ } else {
+ %>
+ <tr>
+ <td colspan="3">
+ <div class="not-validated"><img src="images/wrong.gif" alt="Validated"/>
+ The ownership of your
+ domain is not validated. You can validate it from here.
+ </div>
+ </td>
+ </tr>
+
+ <tr>
+ <td></td>
+ <td colspan="2"><input type="submit"
+ value="<fmt:message key="validate.domain"/>"/></td>
+ </tr>
+ <tr>
+ <td colspan="3">
+ <div class="table-spacer"> </div>
+ </td>
+ </tr>
+
+ <%
+ }
+ %>
+ </tbody>
+ </table>
+ </form>
+ </td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+<table class="styledLeft">
+ <thead>
+ <tr>
+ <th><fmt:message key="deactivate.account.title"/></th>
+ </tr>
+ </thead>
+ <tbody>
+
+
+ <tr>
+ <td class="nopadding">
+ <form method="POST" id="deactivate_form" action="account_mgt.jsp">
+ <input type="hidden" name="isDeactivated" value="true"/>
+ <table class="normal-nopadding" cellspacing="0">
+ <tbody>
+ <tr>
+ <td colspan="3"><fmt:message key="deactivate.account.msg"/></td>
+ </tr>
+ <tr>
+ <td width="200px"></td>
+ <td colspan="2"><input onclick="return deactivate('<%=currentDomain%>');"
+ type="button"
+ value="<fmt:message key="deactivate.account.btn"/>"/>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="3">
+ <div class="table-spacer"> </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </form>
+ </td>
+ </tr>
+
+ </tbody>
+</table>
+
+
+<table class="styledLeft">
+ <thead>
+ <tr>
+ <th><fmt:message key="usage.plan.information"/>
+ <% if (usagePlan.length() > 10) {
+ String planName = usagePlan;
+ %>
+ - Your Current Usage Plan is : <%=planName%>
+ <%}%>
+ </th>
+ </tr>
+ </thead>
+ <tbody>
+
+<script type="text/javascript">
+<%
+ boolean chargeOnRegistration = CommonUtil.isChargedOnRegistration();
+%>
+
+function updatePlan(plan, existingPlan, regTenantDomain) {
+ var newPlan = plan.options[plan.selectedIndex].value;
+ if(newPlan==existingPlan){
+ CARBON.showInfoDialog("Please select the new plan before updating");
+ }else{
+ sessionAwareFunction(function() {
+ CARBON.showConfirmationDialog("Are you sure you want to update your UsagePlan ? "
+ , function() {
+
+
+
+
+
+ var submitForm = document.getElementById("usagePlanUpdate_form");
+ submitForm.submit();
+ });
+ }, "Session timed out. Please login again.");
+ }
+}
+</script>
+
+ <tr>
+ <td class="nopadding">
+ <form method="POST" id="usagePlanUpdate_form"
+ <% if (chargeOnRegistration){ %>
+ action="init_payment_ajaxprocessor.jsp"
+ <% } else { %>
+ action="account_mgt.jsp"
+ <% } %>
+ >
+ <input type="hidden" name="isUpdate" value="true"/>
+ <table class="normal-nopadding" cellspacing="0">
+ <tbody>
+ <td><fmt:message key="select.usage.plan.for.tenant"/></td>
+ <td>
+ <select name="selectedUsagePlan" id="selectedUsagePlan">
+ </select>
+ <a href="<%=CommonUtil.getStratosConfig().getUsagePlanURL()%>"
+ target="_blank">
+ <b>Pricing Info</b></a>
+ </td>
+
+
+ </tr>
+ <tr>
+ <td colspan="2"><fmt:message key="select.package.message"/>
+ </td>
+ </tr>
+ <tr>
+ <td width="200px"></td>
+ <td colspan="2"><input
+ onclick="return updatePlan(document.getElementById('selectedUsagePlan'), '<%=usagePlan%>', '<%=currentDomain%>');"
+ type="button"
+ value="Update Plan"/>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </form>
+ </tbody>
+</table>
+</div>
+</div>
+</fmt:bundle>
+<script type="text/javascript">
+
+ jQuery(document).ready(
+ function() {
+ jQuery.ajax({
+ type: 'POST',
+ url: 'get_package_info_ajaxprocessor.jsp',
+ dataType: 'json',
+ data: 'plan=0',
+ async: false,
+ success: function(data) {
+ packageInfo = data;
+ },
+ error:function (xhr, ajaxOptions, thrownError) {
+ CARBON.showErrorDialog('Could not get package information.');
+ }
+ });
+
+ var charge;
+ var name;
+ for (var i = 0; i < packageInfo.length; i++) {
+ charge = packageInfo[i].subscriptionCharge;
+ name = packageInfo[i].name;
+ if (name == '<%=org.wso2.carbon.account.mgt.ui.utils.Util.getUsagePlanName(config, session)%>') {
+ option = document.createElement("option");
+ option.value = name;
+ option.selected = name;
+ option.innerHTML = name;
+ document.getElementById('selectedUsagePlan').appendChild(option);
+
+ }
+ else {
+ option = document.createElement("option");
+ option.value = name;
+ option.innerHTML = name
+ document.getElementById('selectedUsagePlan').appendChild(option);
+ }
+ }
+ }
+ );
+</script>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/335eb418/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/css/account_mgt.css
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/css/account_mgt.css b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/css/account_mgt.css
new file mode 100644
index 0000000..9dd4170
--- /dev/null
+++ b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/css/account_mgt.css
@@ -0,0 +1,15 @@
+div.not-validated {
+ color: #f00;
+ padding: 15px 0px 10px 0px;
+}
+
+div.validated {
+ font-color: #058000;
+ padding: 15px 0px 10px 0px;
+}
+
+
+div.table-spacer {
+ margin: 5px;
+ clear:both;
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/335eb418/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/css/update_profile.css
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/css/update_profile.css b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/css/update_profile.css
new file mode 100644
index 0000000..c3878ae
--- /dev/null
+++ b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/css/update_profile.css
@@ -0,0 +1,29 @@
+body {
+ color:#111111;
+ font-family:"Calibri","Lucida Grande","Lucida Sans","Microsoft Sans Serif","Lucida Sans Unicode","Verdana","Sans-serif","trebuchet ms" !important;
+ font-size:0.75em;
+ font-size-adjust:none;
+ font-style:normal;
+ font-variant:normal;
+ font-weight:normal;
+ line-height:1.25em;
+ background-position: left top;
+ background-repeat: repeat-x;
+ margin: 0px;
+ padding: 0px;
+}
+
+div.clear {
+ clear:both;
+}
+p { }
+
+td { }
+
+a:link { }
+
+a:visited { }
+
+a:hover { }
+
+a:active { }
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/335eb418/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/deactivate_account_ajaxprocessor.jsp
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/deactivate_account_ajaxprocessor.jsp b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/deactivate_account_ajaxprocessor.jsp
new file mode 100644
index 0000000..fabc967
--- /dev/null
+++ b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/deactivate_account_ajaxprocessor.jsp
@@ -0,0 +1,38 @@
+<!--
+ ~ 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.carbon.registry.core.exceptions.RegistryException" %>
+<%@ page import="org.wso2.carbon.account.mgt.ui.clients.AccountMgtClient" %>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%
+AccountMgtClient client;
+try {
+ client = new AccountMgtClient(config, session);
+ client.deactivate();
+
+ // redirect to the carbon login page
+ %><script type="text/javascript">
+ CARBON.showInfoDialog("Your account has been deactivated.",
+ function() {window.location.href="../admin/logout_action.jsp"},
+ function() {window.location.href="../admin/logout_action.jsp"});
+ </script><%
+} catch (RegistryException e) {
+%>
+ <div>Error in deactivating the account.</div>
+<%
+}
+%>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/335eb418/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/docs/aboutUsagePlans.html
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/docs/aboutUsagePlans.html b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/docs/aboutUsagePlans.html
new file mode 100644
index 0000000..791b867
--- /dev/null
+++ b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/docs/aboutUsagePlans.html
@@ -0,0 +1,104 @@
+<!--
+ ~ 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.
+ -->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>Select Usage Plan For Tenant - User Guide</title>
+ <link href="../../admin/css/documentation.css" rel="stylesheet" type="text/css" media="all" />
+</head>
+
+<body>
+
+
+ <h1>Select Usage Plan For Tenant</h1>
+
+
+ <h2> <b> Usage Plans(Subscriptions)</b></h2>
+
+<p>
+ According to the usage plan that you selected you will get different volume of service and registry
+ bandwidths other services that available for tenants.By selecting right usage plan that suits
+ your requirements you can get maximum profit
+</p>
+
+
+<h2><b>Multitenancy Free</b></h2>
+<p>
+ This is the free usage plan.You will get limited amount of resources.This package is
+ best suite for evaluation and tests.
+</p>
+ <h2><b>Multitenancy Small</b></h2>
+<p>
+ This package is best suite for small business.
+</p>
+<h2><b>Multitenancy Medium</b></h2>
+<p>
+ This usage plan suites for medium scale business.You will get average amount of resources
+ with this package.
+</p>
+<h2><b>Multitenancy Large</b></h2>
+<p>
+ This is the premium usage plan.You will get maximum resources form this plan.
+ This is best suite to large scale business.
+</p>
+
+<p>
+
+ Usage Plan summery
+<table border="1">
+<tr>
+<td>Usage Plan Name</td>
+<td>Number Of Users</td>
+<td>Registry Bandwidth (Mb) </td>
+<td>Service BandWidth (Mb) </td>
+<td>Cost Per Month ($)</td>
+</tr>
+<tr>
+<td>Multitenancy Free</td>
+<td>5</td>
+<td>10</td>
+<td>10</td>
+<td>10</td>
+</tr>
+<tr>
+<td>Multitenancy Small</td>
+<td>10</td>
+<td>25</td>
+<td>25</td>
+<td>25</td>
+</tr>
+<tr>
+<td>Multitenancy Medium</td>
+<td>20</td>
+<td>100</td>
+<td>100</td>
+<td>100</td>
+</tr>
+<tr>
+<td>Multitenancy Large</td>
+<td>50</td>
+<td>200</td>
+<td>200</td>
+<td>200</td>
+</tr>
+</table>
+<div><strong>Figure1: Usage Plan Summery Table</strong></div>
+</p>
+</body>
+
+</html>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/335eb418/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/docs/images/account-mgt.png
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/docs/images/account-mgt.png b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/docs/images/account-mgt.png
new file mode 100644
index 0000000..f67777f
Binary files /dev/null and b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/docs/images/account-mgt.png differ
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/335eb418/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/docs/userguide.html
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/docs/userguide.html b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/docs/userguide.html
new file mode 100644
index 0000000..fd04465
--- /dev/null
+++ b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/docs/userguide.html
@@ -0,0 +1,44 @@
+<!--
+ ~ 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.
+ -->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>Stratos Account Managment- User Guide</title>
+ <link href="../../admin/css/documentation.css" rel="stylesheet" type="text/css" media="all" />
+</head>
+
+<body>
+<h1>Stratos Account Management</h1>
+
+<p>
+You can use this form to
+<ul>
+ <li>Update or validate the contact information</li>
+ <li>Deactivate the account</li>
+ <li>Validate the domain name ownership (If you have not already done it)</li>
+</ul>
+</p>
+
+<p>
+<img src="images/account-mgt.png" alt="Account Management Page"/>
+<div><strong>Figure1: Account Management Page</strong></div>
+</p>
+
+</body>
+
+</html>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/335eb418/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/get_package_info_ajaxprocessor.jsp
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/get_package_info_ajaxprocessor.jsp b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/get_package_info_ajaxprocessor.jsp
new file mode 100644
index 0000000..8a52783
--- /dev/null
+++ b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/get_package_info_ajaxprocessor.jsp
@@ -0,0 +1,39 @@
+<%--
+~ 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.carbon.ui.CarbonUIUtil" %>
+<%@ page import="org.json.JSONArray" %>
+<%@ page import="org.wso2.carbon.account.mgt.ui.clients.PackageInfoServiceClient" %>
+<%@ page import="org.wso2.carbon.utils.ServerConstants" %>
+<%@ page import="org.apache.axis2.context.ConfigurationContext" %>
+<%@ page import="org.wso2.carbon.CarbonConstants" %>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
+<%@ taglib uri="http://wso2.org/projects/carbon/taglibs/carbontags.jar" prefix="carbon" %>
+
+<%
+
+ String backendServerUrl = CarbonUIUtil.getServerURL(config.getServletContext(), session);
+ String cookie = (String) session.getAttribute(ServerConstants.ADMIN_SERVICE_COOKIE);
+ ConfigurationContext configContext =
+ (ConfigurationContext) config.getServletContext().getAttribute(CarbonConstants.CONFIGURATION_CONTEXT);
+
+ PackageInfoServiceClient client = new PackageInfoServiceClient(cookie, backendServerUrl, configContext);
+ JSONArray packageInfoArray = client.getBillingPackagesJsonArray();
+
+ out.write(packageInfoArray.toString());
+%>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/335eb418/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/images/account-mgt-icon.gif
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/images/account-mgt-icon.gif b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/images/account-mgt-icon.gif
new file mode 100644
index 0000000..7cd3939
Binary files /dev/null and b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/images/account-mgt-icon.gif differ
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/335eb418/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/images/ajax-loader.gif
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/images/ajax-loader.gif b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/images/ajax-loader.gif
new file mode 100644
index 0000000..f2a1bc0
Binary files /dev/null and b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/images/ajax-loader.gif differ
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/335eb418/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/images/right.gif
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/images/right.gif b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/images/right.gif
new file mode 100644
index 0000000..72a64c9
Binary files /dev/null and b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/images/right.gif differ
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/335eb418/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/images/wrong.gif
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/images/wrong.gif b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/images/wrong.gif
new file mode 100644
index 0000000..77e1f2c
Binary files /dev/null and b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/images/wrong.gif differ
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/335eb418/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/init_payment_ajaxprocessor.jsp
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/init_payment_ajaxprocessor.jsp b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/init_payment_ajaxprocessor.jsp
new file mode 100644
index 0000000..088fb32
--- /dev/null
+++ b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/init_payment_ajaxprocessor.jsp
@@ -0,0 +1,99 @@
+<!--
+ ~ 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.apache.axis2.context.ConfigurationContext" %>
+<%@ page import="org.json.JSONArray"%>
+<%@ page import="org.wso2.carbon.CarbonConstants" %>
+<%@ page import="org.wso2.carbon.register.ui.clients.PackageInfoServiceClient" %>
+<%@ page import="org.wso2.carbon.stratos.common.util.CommonUtil" %>
+<%@ page import="org.wso2.carbon.ui.CarbonUIUtil" %>
+<%@ page import="org.wso2.carbon.utils.ServerConstants" %>
+<%@ page import="java.util.Collections" %>
+<%@ page import="java.util.Enumeration" %>
+<%@ page import="java.util.Iterator" %>
+<%@ page import="java.util.List" %>
+<%@ page import="java.util.Map" %>
+<%@ page import="org.json.JSONException" %>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
+<%@ taglib uri="http://wso2.org/projects/carbon/taglibs/carbontags.jar" prefix="carbon" %>
+<carbon:jsi18n
+ resourceBundle="org.wso2.carbon.register.ui.i18n.JSResources"
+ request="<%=request%>" />
+<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="../admin/js/jquery.js"></script>
+<script type="text/javascript" src="../admin/js/jquery.form.js"></script>
+<script type="text/javascript" src="../dialog/js/jqueryui/jquery-ui.min.js"></script>
+<%
+ String tenantDomain = (String) session.getAttribute("tenantDomain");
+ // The actual usage plan the tenant selects in select_usage_plan.jsp
+ String selectedUsagePlan = request.getParameter("selectedUsagePlan");
+ session.setAttribute("selectedUsagePlan", selectedUsagePlan);
+
+ String backendServerUrl = CarbonUIUtil.getServerURL(config.getServletContext(), session);
+ String cookie = (String) session.getAttribute(ServerConstants.ADMIN_SERVICE_COOKIE);
+ ConfigurationContext configContext =
+ (ConfigurationContext)config.getServletContext().getAttribute(CarbonConstants.CONFIGURATION_CONTEXT);
+
+ PackageInfoServiceClient client = new PackageInfoServiceClient(cookie, backendServerUrl,configContext);
+ JSONArray packageInfoArray = client.getBillingPackagesJsonArray();
+ String amount = "0";
+
+ for (int i = 0; i < packageInfoArray.length(); i++) {
+ try {
+ if (packageInfoArray.getJSONObject(i).getString("name").equals(selectedUsagePlan)) {
+ amount = packageInfoArray.getJSONObject(i).getString("subscriptionCharge");
+ }
+ } catch (JSONException e) {
+ //
+ }
+ }
+
+ String paypalUrl = CommonUtil.getStratosConfig().getPaypalUrl();
+ String adminConsoleURL = CarbonUIUtil.getAdminConsoleURL(request);
+ adminConsoleURL = adminConsoleURL.substring(0, adminConsoleURL.indexOf("carbon"));
+ String successUrl = adminConsoleURL + "carbon/payment/registration_payment.jsp";
+ String cancelUrl = adminConsoleURL + "carbon/account-mgt/account_mgt.jsp";
+%>
+
+<script type="text/javascript">
+
+
+ var successUrl = '<%=successUrl%>';
+ var cancelUrl = '<%=cancelUrl%>';
+ var amount = '<%=amount%>';
+ var tenantDomain = '<%=tenantDomain%>';
+ jQuery.ajax({
+ type: 'GET',
+ url: '../payment/setEC-ajaxprocessor.jsp',
+ data: 'successUrl=' + successUrl + '&cancelUrl=' + cancelUrl + '&amount=' + amount + '&tenantDomain=' + tenantDomain,
+ dataType: 'json',
+ async: false,
+ success: function(msg) {
+ var resp = msg;
+ if(resp.ack=='Success'){
+ location.href = '<%=paypalUrl%>' + resp.token;
+ }else{
+ location.href = cancelUrl;
+ }
+ },
+ error:function () {
+ location.href = cancelUrl;
+ }
+ });
+</script>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/335eb418/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/js/account_mgt.js
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/js/account_mgt.js b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/js/account_mgt.js
new file mode 100644
index 0000000..c957312
--- /dev/null
+++ b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/js/account_mgt.js
@@ -0,0 +1,214 @@
+function deactivate(domain) {
+ sessionAwareFunction(function() {
+ CARBON.showConfirmationDialog("Are you sure you want to deactivate the domain: " +
+ domain + ".", function() {
+ var submitForm = document.getElementById("deactivate_form");
+ submitForm.submit();
+ });
+ }, "Session timed out. Please login again.");
+}
+
+function checkDomain(nname)
+{
+
+ var error = "";
+ error += validateEmpty(nname, "Domain");
+ if (error != "") {
+ return error;
+ }
+ //var arr = new Array(
+ //'.com','.net','.org','.biz','.coop','.info','.museum','.name',
+ //'.pro','.edu','.gov','.int','.mil','.ac','.ad','.ae','.af','.ag',
+ //'.ai','.al','.am','.an','.ao','.aq','.ar','.as','.at','.au','.aw',
+ //'.az','.ba','.bb','.bd','.be','.bf','.bg','.bh','.bi','.bj','.bm',
+ //'.bn','.bo','.br','.bs','.bt','.bv','.bw','.by','.bz','.ca','.cc',
+ //'.cd','.cf','.cg','.ch','.ci','.ck','.cl','.cm','.cn','.co','.cr',
+ //'.cu','.cv','.cx','.cy','.cz','.de','.dj','.dk','.dm','.do','.dz',
+ //'.ec','.ee','.eg','.eh','.er','.es','.et','.fi','.fj','.fk','.fm',
+ //'.fo','.fr','.ga','.gd','.ge','.gf','.gg','.gh','.gi','.gl','.gm',
+ //'.gn','.gp','.gq','.gr','.gs','.gt','.gu','.gv','.gy','.hk','.hm',
+ //'.hn','.hr','.ht','.hu','.id','.ie','.il','.im','.in','.io','.iq',
+ //'.ir','.is','.it','.je','.jm','.jo','.jp','.ke','.kg','.kh','.ki',
+ //'.km','.kn','.kp','.kr','.kw','.ky','.kz','.la','.lb','.lc','.li',
+ //'.lk','.lr','.ls','.lt','.lu','.lv','.ly','.ma','.mc','.md','.mg',
+ //'.mh','.mk','.ml','.mm','.mn','.mo','.mp','.mq','.mr','.ms','.mt',
+ //'.mu','.mv','.mw','.mx','.my','.mz','.na','.nc','.ne','.nf','.ng',
+ //'.ni','.nl','.no','.np','.nr','.nu','.nz','.om','.pa','.pe','.pf',
+ //'.pg','.ph','.pk','.pl','.pm','.pn','.pr','.ps','.pt','.pw','.py',
+ //'.qa','.re','.ro','.rw','.ru','.sa','.sb','.sc','.sd','.se','.sg',
+ //'.sh','.si','.sj','.sk','.sl','.sm','.sn','.so','.sr','.st','.sv',
+ //'.sy','.sz','.tc','.td','.tf','.tg','.th','.tj','.tk','.tm','.tn',
+ //'.to','.tp','.tr','.tt','.tv','.tw','.tz','.ua','.ug','.uk','.um',
+ //'.us','.uy','.uz','.va','.vc','.ve','.vg','.vi','.vn','.vu','.ws',
+ //'.wf','.ye','.yt','.yu','.za','.zm','.zw');
+
+ var mai = nname.value;
+
+ var val = true;
+ var dot = mai.lastIndexOf(".");
+ var dname = mai.substring(0, dot);
+ var ext = mai.substring(dot, mai.length);
+ //alert(ext);
+
+ if (ext.indexOf("-trial") >= 0 || ext.indexOf("-unverified") >= 0) {
+ // we are not allowing to create a domain with -trial or -unverified is in the extension
+ return "The domain name you entered is not valid. Please enter a valid domain name.";
+ }
+
+ if (ext.indexOf("/") >= 0 || ext.indexOf("\\") >= 0) {
+ return "The '/' and '\\' is not allowed in a domain name";
+ }
+
+ if (dot > 1 && dot < 57)
+ {
+ // for(var i=0; i<arr.length; i++)
+ // {
+ // if(ext == arr[i])
+ // {
+ // val = true;
+ // break;
+ // }
+ // else
+ // {
+ // val = false;
+ // }
+ // }
+ if (!val)
+ {
+ error = "Your domain extension " + ext + " is not correct";
+ return error;
+ }
+ else
+ {
+ for (var j = 0; j < dname.length; j++)
+ {
+ var dh = dname.charAt(j);
+ var hh = dh.charCodeAt(0);
+ if ((hh > 47 && hh < 59) || (hh > 64 && hh < 91) || (hh > 96 && hh < 123) || hh == 45 || hh == 46)
+ {
+ if ((j == 0 || j == dname.length - 1) && hh == 45)
+ {
+ error = "Domain name should not begin and end with '-'";
+ return error;
+ }
+ }
+ else {
+ error = "Your domain name should not have special characters";
+ return error;
+ }
+ }
+ }
+ }
+ else
+ {
+ error = "Your Domain name is too short/long or you should have an extension to your domain.";
+ return error;
+ }
+
+ return error;
+}
+
+function clearDomainConfirmationMsg() {
+ var domain_confirmation_div = document.getElementById("domain-confirmation-msg");
+ domain_confirmation_div.innerHTML = "";
+}
+
+
+function domainSelected() {
+ var domain = document.getElementById('domainToValidate');
+
+ var reason = validateEmpty(domain, "Domain");
+ if (reason == "") {
+ reason += checkDomain(domain);
+ }
+
+ if (reason != "") {
+ CARBON.showWarningDialog(reason);
+ return false;
+ }
+ sessionAwareFunction(function() {
+ var validateDomainForm = document.getElementById('validateDomainForm');
+ validateDomainForm.submit();
+ }, "Session timed out. Please login again.");
+
+}
+
+function updateContact() {
+ var email = document.getElementById("email");
+ var oldEmail = document.getElementById("old-email");
+ var reason = "";
+ if (reason == "") {
+ reason += validateEmpty(email, "Email");
+ }
+ if (reason == "") {
+ reason += validateEmail(email);
+ }
+
+ if (reason == "" && email.value == oldEmail.innerHTML) {
+ reason += "You have not updated your email yet."
+ }
+
+ if (reason != "") {
+ CARBON.showWarningDialog(reason);
+ return;
+ }
+ // now call the updateContact.
+
+ sessionAwareFunction(function() {
+ debugger;
+ var busyContactPlaceHolder = document.getElementById("busyContact");
+ busyContactPlaceHolder.innerHTML = "<img src=\"images/ajax-loader.gif\"/>";
+
+ new Ajax.Request('../account-mgt/update_contact_ajaxprocessor.jsp',
+ {
+ method:'post',
+ parameters: {email: email.value},
+
+ onSuccess: function(transport) {
+ var returnValue = transport.responseText;
+ busyContactPlaceHolder.innerHTML = "";
+
+ if (returnValue.search(/----failed----/) == -1) {
+ CARBON.showWarningDialog("We have sent an email to validate the contact details you just entered. Please follow " +
+ "the instructions in there to submit the updated contact details");
+ }
+ else {
+ CARBON.showWarningDialog("Updating the contact information failed.");
+ }
+ },
+
+ onFailure: function(transport) {
+ busyContactPlaceHolder.innerHTML = "";
+ CARBON.showWarningDialog("Updating the contact information failed.");
+ }
+ });
+ }, "Session timed out. Please login again.");
+}
+
+
+function updateProfile() {
+ var update_profile_form = document.getElementById("update_profile_form");
+ var firstname = document.getElementById("firstname");
+ var oldFirstname = document.getElementById("old-firstname");
+ var lastname = document.getElementById("lastname");
+ var oldLastname = document.getElementById("old-lastname");
+
+ var reason = "";
+
+ if (reason == "") {
+ reason += validateEmpty(firstname, "First Name");
+ }
+ if (reason == "") {
+ reason += validateEmpty(lastname, "Last Name");
+
+ if ((reason == "" && firstname.value == oldFirstname.innerHTML) &&
+ (reason == "" && lastname.value == oldLastname.innerHTML)) {
+ reason += "You have not updated your firstname or last name yet.";
+ }
+ }
+ if (reason != "") {
+ CARBON.showWarningDialog(reason);
+ return;
+ }
+ update_profile_form.submit();
+}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/335eb418/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/update_contact_ajaxprocessor.jsp
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/update_contact_ajaxprocessor.jsp b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/update_contact_ajaxprocessor.jsp
new file mode 100644
index 0000000..58a323b
--- /dev/null
+++ b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/update_contact_ajaxprocessor.jsp
@@ -0,0 +1,35 @@
+<!--
+ ~ 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.carbon.registry.core.exceptions.RegistryException" %>
+<%@ page import="org.wso2.carbon.account.mgt.ui.clients.AccountMgtClient" %>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%
+AccountMgtClient client;
+try {
+ String email = request.getParameter("email");
+ client = new AccountMgtClient(config, session);
+ client.updateContact(email);
+
+} catch (RegistryException e) {
+%>
+----failed----
+<%
+ return;
+}
+
+%>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/335eb418/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/update_profile_processor.jsp
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/update_profile_processor.jsp b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/update_profile_processor.jsp
new file mode 100644
index 0000000..d0158c9
--- /dev/null
+++ b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/update_profile_processor.jsp
@@ -0,0 +1,62 @@
+<!--
+ ~ 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.carbon.registry.core.exceptions.RegistryException" %>
+<%@ page import="org.wso2.carbon.account.mgt.ui.clients.AccountMgtClient" %>
+<%@ page import="org.wso2.carbon.account.mgt.ui.utils.Util" %>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
+<%@ taglib uri="http://wso2.org/projects/carbon/taglibs/carbontags.jar" prefix="carbon" %>
+<carbon:jsi18n
+ resourceBundle="org.wso2.carbon.register.ui.i18n.JSResources"
+ request="<%=request%>" />
+<link href="css/update_profile.css" rel="stylesheet" type="text/css" media="all"/>
+
+
+<%
+ Boolean isUpdated;
+
+ try {
+ isUpdated = Util.updateFullname(request, config, session);
+ }
+ catch (Exception e) {
+ isUpdated = false;
+ }
+
+%>
+<% if (isUpdated) { %>
+
+ <div id="middle">
+
+ <h2>
+ Profile Successfully Updated.
+ </h2>
+
+
+ <% } else { %>
+
+ <div id="middle">
+
+ <h2>
+ Profile Update Failed
+ </h2>
+
+ <% } %>
+ <p>
+ Go to <a href="../admin/index.jsp"> home page. </a>
+ </p>
+ </div>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/335eb418/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/update_verifier.jsp
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/update_verifier.jsp b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/update_verifier.jsp
new file mode 100644
index 0000000..2b35fc3
--- /dev/null
+++ b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/update_verifier.jsp
@@ -0,0 +1,56 @@
+<!--
+ ~ 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.carbon.CarbonConstants" %>
+<%@ page import="org.wso2.carbon.account.mgt.ui.clients.AccountMgtClient" %>
+<%@ page import="org.wso2.carbon.account.mgt.ui.utils.Util" %>
+<%@ page import="org.wso2.carbon.registry.core.exceptions.RegistryException" %>
+<%@ page import="org.wso2.carbon.account.mgt.ui.clients.EmailValidationClient" %>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
+<%@ taglib uri="http://wso2.org/projects/carbon/taglibs/carbontags.jar" prefix="carbon" %>
+<carbon:jsi18n
+ resourceBundle="org.wso2.carbon.register.ui.i18n.JSResources"
+ request="<%=request%>" />
+<%
+ String data = (String)session.getAttribute("intermediate-data");
+
+ Util.readIntermediateData(request, data);
+
+ EmailValidationClient client;
+ String email;
+ String domain;
+ try {
+ email = (String)request.getAttribute("email");
+ domain = (String)request.getAttribute("tenantDomain");
+ String confirmationKey = (String)request.getAttribute("confirmationKey");
+
+ client = new EmailValidationClient(config, session);
+ client.proceedUpdateContact(domain, email, confirmationKey);
+ } catch (RegistryException e) {
+ %>
+ <div>Error in validating the contact.</div>
+ <%
+ return;
+ }
+
+%>
+
+<div style="margin:20px">You have successfully validated your email address and the contact information associated with your WSO2
+ Cloud Services account is updated. Click <a href="../admin/index.jsp">here</a> to access WSO2 Cloud Manager.
+</div>
+
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/335eb418/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/update_verifier_redirector_ajaxprocessor.jsp
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/update_verifier_redirector_ajaxprocessor.jsp b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/update_verifier_redirector_ajaxprocessor.jsp
new file mode 100644
index 0000000..cb5beae
--- /dev/null
+++ b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/update_verifier_redirector_ajaxprocessor.jsp
@@ -0,0 +1,30 @@
+<!--
+ ~ 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.carbon.account.mgt.ui.utils.Util" %>
+<%@ page import="org.wso2.carbon.utils.multitenancy.MultitenantConstants" %>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%
+//this jsp is used just to redirect to the correct update verifier.
+
+String data = (String)session.getAttribute("intermediate-data");
+
+Util.readIntermediateData(request, data);
+String domain = (String)request.getAttribute("tenantDomain");
+String contextPath = "/" + MultitenantConstants.TENANT_AWARE_URL_PREFIX + "/" + domain;
+response.sendRedirect("../account-mgt/update_verifier.jsp");
+%>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/335eb418/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/validate_domain_ajaxprocessor.jsp
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/validate_domain_ajaxprocessor.jsp b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/validate_domain_ajaxprocessor.jsp
new file mode 100644
index 0000000..71da4bd
--- /dev/null
+++ b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/validate_domain_ajaxprocessor.jsp
@@ -0,0 +1,29 @@
+<!--
+ ~ 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.carbon.registry.core.RegistryConstants" %>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
+<%@ taglib uri="http://wso2.org/projects/carbon/taglibs/carbontags.jar" prefix="carbon" %>
+<%
+
+String domainToValidate = request.getParameter("domain");
+
+
+response.sendRedirect("../validate-domain/validate_domain_logged_in.jsp?domain=" + domainToValidate);
+
+%>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/335eb418/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/validation_success_ajaxprocessor.jsp
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/validation_success_ajaxprocessor.jsp b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/validation_success_ajaxprocessor.jsp
new file mode 100644
index 0000000..15aec9b
--- /dev/null
+++ b/components/stratos/account-mgt/org.apache.stratos.account.mgt.ui/2.1.0/src/main/resources/web/account-mgt/validation_success_ajaxprocessor.jsp
@@ -0,0 +1,49 @@
+<!--
+ ~ 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.carbon.account.mgt.ui.clients.AccountMgtClient" %>
+<%@ page import="org.wso2.carbon.registry.core.exceptions.RegistryException" %>
+<%@ page import="org.wso2.carbon.utils.multitenancy.MultitenantConstants" %>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<%
+try {
+ String domainToRegister = (String)session.getAttribute("temp-domain-to-register");
+ String successKey = (String)session.getAttribute("validate-domain-success-key");
+ AccountMgtClient client = new AccountMgtClient(config, session);
+ if (client.finishedDomainValidation(domainToRegister, successKey)) {
+
+ //session.setAttribute(MultitenantConstants.TENANT_DOMAIN, domainToRegister);
+ session.setAttribute("domain-validation-success", "true");
+ // redirect to the login page with new domain name
+ response.sendRedirect("/t/" + domainToRegister + "/carbon/account-mgt/account_mgt.jsp");
+ return;
+ } else {
+ session.removeAttribute("temp-domain-to-register");
+ session.removeAttribute("validate-domain-success-key");
+
+ // now redirect to the account_mgt.js with the failure
+ session.setAttribute("domain-validation-failure", "true");
+ response.sendRedirect("../account-mgt/account_mgt.jsp");
+ return;
+ }
+} catch (RegistryException e) {
+%>
+ <div>Error in finishing the validation.</div>
+<%
+ return;
+}
+%>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/335eb418/components/stratos/account-mgt/org.apache.stratos.account.mgt/2.1.0/pom.xml
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.apache.stratos.account.mgt/2.1.0/pom.xml b/components/stratos/account-mgt/org.apache.stratos.account.mgt/2.1.0/pom.xml
new file mode 100644
index 0000000..7c9020f
--- /dev/null
+++ b/components/stratos/account-mgt/org.apache.stratos.account.mgt/2.1.0/pom.xml
@@ -0,0 +1,87 @@
+<!--
+# Copyright (c) 2008, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
+#
+# Licensed 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.wso2.carbon</groupId>
+ <artifactId>account-mgt-parent</artifactId>
+ <version>2.1.0</version>
+<relativePath>../../pom.xml</relativePath>
+ </parent>
+
+<modelVersion>4.0.0</modelVersion>
+<artifactId>org.apache.stratos.account.mgt</artifactId>
+ <packaging>bundle</packaging>
+ <name>WSO2 Stratos - Account Management</name>
+ <build>
+
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-scr-plugin</artifactId>
+ </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>
+ <Private-Package>
+ org.apache.stratos.account.mgt.*,
+ </Private-Package>
+ <Import-Package>
+ org.wso2.carbon.registry.core.*;version=1.0.1,
+ javax.xml.namespace; version=0.0.0,
+ javax.servlet;version="${imp.pkg.version.javax.servlet}",
+ javax.servlet.http;version="${imp.pkg.version.javax.servlet}",
+ *;resolution:=optional
+ </Import-Package>
+ <DynamicImport-Package>*</DynamicImport-Package>
+ </instructions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.wso2.carbon</groupId>
+ <artifactId>org.wso2.carbon.registry.core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.wso2.carbon</groupId>
+ <artifactId>org.wso2.carbon.email.verification</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.wso2.carbon</groupId>
+ <artifactId>org.wso2.carbon.stratos.common</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.wso2.carbon</groupId>
+ <artifactId>org.wso2.carbon.tenant.mgt</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.wso2.carbon</groupId>
+ <artifactId>atlassian-jira</artifactId>
+ <version>1.0.0.wso2v1</version>
+ </dependency>
+ </dependencies>
+
+</project>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/335eb418/components/stratos/account-mgt/org.apache.stratos.account.mgt/2.1.0/src/main/java/org/apache/stratos/account/mgt/beans/AccountInfoBean.java
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.apache.stratos.account.mgt/2.1.0/src/main/java/org/apache/stratos/account/mgt/beans/AccountInfoBean.java b/components/stratos/account-mgt/org.apache.stratos.account.mgt/2.1.0/src/main/java/org/apache/stratos/account/mgt/beans/AccountInfoBean.java
new file mode 100644
index 0000000..6492bea
--- /dev/null
+++ b/components/stratos/account-mgt/org.apache.stratos.account.mgt/2.1.0/src/main/java/org/apache/stratos/account/mgt/beans/AccountInfoBean.java
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ *
+ */
+package org.apache.stratos.account.mgt.beans;
+
+public class AccountInfoBean {
+ private String firstname;
+ private String lastname;
+
+ public String getFirstname() {
+ return firstname;
+ }
+
+ public void setFirstname(String firstname) {
+ this.firstname = firstname;
+ }
+
+ public String getLastname() {
+ return lastname;
+ }
+
+ public void setLastname(String lastname) {
+ this.lastname = lastname;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/335eb418/components/stratos/account-mgt/org.apache.stratos.account.mgt/2.1.0/src/main/java/org/apache/stratos/account/mgt/internal/AccountMgtServiceComponent.java
----------------------------------------------------------------------
diff --git a/components/stratos/account-mgt/org.apache.stratos.account.mgt/2.1.0/src/main/java/org/apache/stratos/account/mgt/internal/AccountMgtServiceComponent.java b/components/stratos/account-mgt/org.apache.stratos.account.mgt/2.1.0/src/main/java/org/apache/stratos/account/mgt/internal/AccountMgtServiceComponent.java
new file mode 100644
index 0000000..49c1c22
--- /dev/null
+++ b/components/stratos/account-mgt/org.apache.stratos.account.mgt/2.1.0/src/main/java/org/apache/stratos/account/mgt/internal/AccountMgtServiceComponent.java
@@ -0,0 +1,139 @@
+/*
+* 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.
+*/
+package org.apache.stratos.account.mgt.internal;
+
+import org.wso2.carbon.email.verification.util.EmailVerifcationSubscriber;
+import org.wso2.carbon.registry.core.service.RegistryService;
+import org.wso2.carbon.stratos.common.TenantBillingService;
+import org.wso2.carbon.stratos.common.listeners.TenantMgtListener;
+import org.wso2.carbon.user.core.service.RealmService;
+import org.wso2.carbon.utils.ConfigurationContextService;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.account.mgt.util.Util;
+
+import org.osgi.service.component.ComponentContext;
+
+/**
+ * @scr.component name="org.apache.stratos.account.mgt" immediate="true"
+ * @scr.reference name="registry.service"
+ * interface="org.wso2.carbon.registry.core.service.RegistryService"
+ * cardinality="1..1" policy="dynamic" bind="setRegistryService"
+ * unbind="unsetRegistryService"
+ * @scr.reference name="user.realmservice.default"
+ * interface="org.wso2.carbon.user.core.service.RealmService"
+ * cardinality="1..1" policy="dynamic" bind="setRealmService"
+ * unbind="unsetRealmService"
+ * @scr.reference name="config.context.service"
+ * interface="org.wso2.carbon.utils.ConfigurationContextService"
+ * cardinality="1..1" policy="dynamic"
+ * bind="setConfigurationContextService"
+ * unbind="unsetConfigurationContextService"
+ * @scr.reference name="emailverification.service" interface=
+ * "org.wso2.carbon.email.verification.util.EmailVerifcationSubscriber"
+ * cardinality="1..1" policy="dynamic"
+ * bind="setEmailVerificationService"
+ * unbind="unsetEmailVerificationService"
+ * @scr.reference name="org.wso2.carbon.tenant.mgt.listener.service"
+ * interface="org.wso2.carbon.stratos.common.listeners.TenantMgtListener"
+ * cardinality="0..n" policy="dynamic"
+ * bind="setTenantMgtListenerService"
+ * unbind="unsetTenantMgtListenerService"
+ * @scr.reference name="default.tenant.billing.service"
+ * interface="org.wso2.carbon.stratos.common.TenantBillingService"
+ * cardinality="1..1" policy="dynamic"
+ * bind="setTenantBillingService"
+ * unbind="unsetTenantBillingService"
+ */
+public class AccountMgtServiceComponent {
+ private static Log log = LogFactory.getLog(AccountMgtServiceComponent.class);
+ private static ConfigurationContextService configContextService = null;
+ private static TenantBillingService billingService = null;
+
+ protected void activate(ComponentContext context) {
+ try {
+ Util.loadEmailVerificationConfig();
+ log.debug("******* Stratos account management bundle is activated ******* ");
+ } catch (Exception e) {
+ log.error("******* Stratos account management bundle failed activating ****", e);
+ }
+ }
+
+ protected void deactivate(ComponentContext context) {
+ log.debug("******* Stratos account managment bundle is deactivated ******* ");
+ }
+
+ protected void setRegistryService(RegistryService registryService) {
+ Util.setRegistryService(registryService);
+ }
+
+ protected void unsetRegistryService(RegistryService registryService) {
+ Util.setRegistryService(null);
+ }
+
+ protected void setRealmService(RealmService realmService) {
+ Util.setRealmService(realmService);
+ }
+
+ protected void unsetRealmService(RealmService realmService) {
+ Util.setRealmService(null);
+ }
+
+ protected void setConfigurationContextService(ConfigurationContextService contextService) {
+ if (log.isDebugEnabled()) {
+ log.debug("Setting the ConfigurationContext");
+ }
+ configContextService = contextService;
+ }
+
+ protected void unsetConfigurationContextService(ConfigurationContextService contextService) {
+ if (log.isDebugEnabled()) {
+ log.debug("Unsetting the ConfigurationContext");
+ }
+ }
+
+ protected void setEmailVerificationService(EmailVerifcationSubscriber emailService) {
+ Util.setEmailVerificationService(emailService);
+ }
+
+ protected void unsetEmailVerificationService(EmailVerifcationSubscriber emailService) {
+ Util.setEmailVerificationService(null);
+ }
+
+ protected void setTenantMgtListenerService(TenantMgtListener tenantMgtListener) {
+ Util.addTenantMgtListenerService(tenantMgtListener);
+ }
+
+ protected void unsetTenantMgtListenerService(TenantMgtListener tenantMgtListener) {
+ Util.removeTenantMgtListenerService(tenantMgtListener);
+ }
+
+ protected void setTenantBillingService(TenantBillingService tenantBillingService) {
+ billingService = tenantBillingService;
+ }
+
+ protected void unsetTenantBillingService(TenantBillingService tenantBilling) {
+ setTenantBillingService(null);
+ }
+
+ public static TenantBillingService getBillingService() {
+ return billingService;
+ }
+
+}