You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by is...@apache.org on 2013/07/10 18:51:53 UTC
[18/45] fixing component version issues and adding currently
refactored components to the parent pom
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ac065d73/components/org.apache.stratos.common/2.1.2/src/main/java/org/apache/stratos/common/util/CommonUtil.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/2.1.2/src/main/java/org/apache/stratos/common/util/CommonUtil.java b/components/org.apache.stratos.common/2.1.2/src/main/java/org/apache/stratos/common/util/CommonUtil.java
deleted file mode 100644
index 8adf1e4..0000000
--- a/components/org.apache.stratos.common/2.1.2/src/main/java/org/apache/stratos/common/util/CommonUtil.java
+++ /dev/null
@@ -1,623 +0,0 @@
-/*
- * 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.common.util;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.axiom.om.impl.builder.StAXOMBuilder;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.common.constants.StratosConstants;
-import org.apache.stratos.common.internal.CloudCommonServiceComponent;
-import org.wso2.carbon.CarbonConstants;
-import org.wso2.carbon.registry.core.ActionConstants;
-import org.wso2.carbon.registry.core.RegistryConstants;
-import org.wso2.carbon.registry.core.Resource;
-import org.wso2.carbon.registry.core.exceptions.RegistryException;
-import org.wso2.carbon.registry.core.session.UserRegistry;
-import org.wso2.carbon.registry.core.utils.AccessControlConstants;
-import org.wso2.carbon.user.api.RealmConfiguration;
-import org.wso2.carbon.user.core.AuthorizationManager;
-import org.wso2.carbon.user.core.UserRealm;
-import org.wso2.carbon.user.core.UserStoreException;
-import org.wso2.carbon.user.core.tenant.TenantManager;
-import org.wso2.carbon.utils.CarbonUtils;
-import org.wso2.carbon.utils.multitenancy.MultitenantConstants;
-
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.text.DateFormat;
-import java.text.DateFormatSymbols;
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.regex.Pattern;
-
-/**
- * Common Utility methods for Stratos.
- * Now this class has been growing with several util methods - Should refactor accordingly.
- */
-public class CommonUtil {
- private static final Log log = LogFactory.getLog(CommonUtil.class);
- private static StratosConfiguration stratosConfig;
- private static String eula;
-
-
- private static final String ILLEGAL_CHARACTERS_FOR_EMAIL =
- ".*[\\(\\)\\<\\>\\,\\;\\:\\\\\\\"\\[\\]].*";
- private static final String EMAIL_FILTER_STRING = "^[^@]+@[^@.]+\\.[^@]*\\w\\w$";
- private static Pattern emailFilterPattern = Pattern.compile(EMAIL_FILTER_STRING);
- private static Pattern illegalCharactersPatternForEmail = Pattern
- .compile(ILLEGAL_CHARACTERS_FOR_EMAIL);
-
- public static StratosConfiguration getStratosConfig() {
- return stratosConfig;
- }
-
- public static void setStratosConfig(StratosConfiguration stratosConfig) {
- CommonUtil.stratosConfig = stratosConfig;
- }
-
- public static String getEula() {
- return eula;
- }
-
- public static void setEula(String eula) {
- CommonUtil.eula = eula;
- }
-
- /**
- * Checks whether the email validation is mandatory from the configuration file.
- *
- * @return true, if the email validation is mandatory to login. Default is false.
- */
- public static boolean isEmailValidationMandatory() {
- boolean isEmailValidationMandatory = false; //false by default.
- if (stratosConfig != null) { //make sure the configuration exists.
- isEmailValidationMandatory = stratosConfig.getEmailValidationRequired();
- }
- return isEmailValidationMandatory;
- }
-
- /**
- * Checks whether the email sending is enabled from the configuration file.
- *
- * @return true, if the email sending is disabled. By default, this is disabled, and tenant
- * activation is done without any email sending.
- */
- public static boolean isTenantManagementEmailsDisabled() {
- boolean isEmailsDisabled = true; //true by default.
- if (stratosConfig != null) { //make sure the configuration exists.
- isEmailsDisabled = stratosConfig.isEmailsDisabled();
- }
- return isEmailsDisabled;
- }
-
- public static String getSuperAdminEmail() {
- return stratosConfig.getSuperAdminEmail();
- }
-
- public static String getAdminUserName() {
- return stratosConfig.getAdminUserName();
- }
-
- public static String getAdminPassword() {
- return stratosConfig.getAdminPassword();
- }
-
- public static boolean isTenantActivationModerated() {
- return stratosConfig.isTenantActivationModerated();
- }
-
- public static boolean isChargedOnRegistration() {
- return stratosConfig.isChargeOnRegistration();
- }
-
- /**
- * Checks whether it is for the public cloud setup or Mars.
- *
- * @return true, if it is not for the private cloud setups. Default is true.
- */
- public static boolean isPublicCloudSetup() {
- boolean isPublicCloudSetup = true; // true by default.
- if (stratosConfig != null) { //make sure the configuration exists.
- isPublicCloudSetup = stratosConfig.isPublicCloudSetup();
- }
- return isPublicCloudSetup;
- }
-
- /**
- * Gets the notification email address of the admin upon the tenant creation.
- *
- * @return notification email address for the tenant creations.
- */
- public static String getNotificationEmailAddress() {
- String notificationEmailAddress = "";
- if (stratosConfig != null) {
- notificationEmailAddress = stratosConfig.getNotificationEmail();
- try {
- validateEmail(notificationEmailAddress);
- } catch (Exception e) {
- if (log.isWarnEnabled()) {
- log.warn("Invalid Email Address provided for tenant creation notification. " +
- "Please check whether the parameter NotificationEmail" +
- " is set properly in " +
- StratosConstants.STRATOS_CONF_FILE, e);
- }
- return "";
- }
- }
- return notificationEmailAddress;
- }
-
- public static String getMonthString(Calendar calendar) {
- int currentMonth = calendar.get(Calendar.MONTH);
-
- String[] monthArr = new DateFormatSymbols().getMonths();
- String month = monthArr[currentMonth];
- return calendar.get(Calendar.YEAR) + "-" + month;
- }
-
- public static String getMonthString(int relativeMonth) {
- Calendar newCalendar = Calendar.getInstance();
- newCalendar.add(Calendar.MONTH, relativeMonth);
-
- return CommonUtil.getMonthString(newCalendar);
- }
-
- public static Date getDateFromMonthString(String yearMonth) throws ParseException {
- DateFormat yearMonthFormat = new SimpleDateFormat("yyyy-MMM");
- return yearMonthFormat.parse(yearMonth);
- }
-
- public static String getCurrentMonthString() {
- Calendar newCalendar = Calendar.getInstance();
-
- return CommonUtil.getMonthString(newCalendar);
- }
-
-
- public static void setAnonAuthorization(String path, UserRealm userRealm)
- throws RegistryException {
-
- if (userRealm == null) {
- return;
- }
-
- try {
- AuthorizationManager accessControlAdmin = userRealm.getAuthorizationManager();
- String everyoneRole = CarbonConstants.REGISTRY_ANONNYMOUS_ROLE_NAME;
-
- accessControlAdmin.authorizeRole(everyoneRole, path, ActionConstants.GET);
- accessControlAdmin.denyRole(everyoneRole, path, ActionConstants.PUT);
- accessControlAdmin.denyRole(everyoneRole, path, ActionConstants.DELETE);
- accessControlAdmin.denyRole(everyoneRole, path, AccessControlConstants.AUTHORIZE);
-
- } catch (UserStoreException e) {
- String msg = "Could not set authorizations for the " + path + ".";
- log.error(msg, e);
- throw new RegistryException(msg);
- }
- }
-
- public static void denyAnonAuthorization(String path, UserRealm userRealm)
- throws RegistryException {
- if (userRealm == null) {
- return;
- }
-
- try {
- AuthorizationManager accessControlAdmin = userRealm.getAuthorizationManager();
- RealmConfiguration realmConfig;
- try {
- realmConfig = userRealm.getRealmConfiguration();
- } catch (UserStoreException e) {
- String msg = "Failed to retrieve realm configuration.";
- log.error(msg, e);
- throw new RegistryException(msg, e);
- }
-
- String everyoneRole = realmConfig.getEveryOneRoleName();
-
- accessControlAdmin.denyRole(everyoneRole, path, ActionConstants.GET);
- accessControlAdmin.denyRole(everyoneRole, path, ActionConstants.PUT);
- accessControlAdmin.denyRole(everyoneRole, path, ActionConstants.DELETE);
- accessControlAdmin.denyRole(everyoneRole, path, AccessControlConstants.AUTHORIZE);
-
- } catch (UserStoreException e) {
- String msg = "Could not clear authorizations for the " + path + ".";
- log.error(msg, e);
- throw new RegistryException(msg);
- }
- }
-
- /**
- * builds the OMElement from the given inputStream
- *
- * @param inputStream, given input - inputStream
- * @return OMElement
- * @throws Exception, if building OMElement from the inputStream failed.
- */
- public static OMElement buildOMElement(InputStream inputStream) throws Exception {
- XMLStreamReader parser;
- try {
- parser = XMLInputFactory.newInstance().createXMLStreamReader(inputStream);
- } catch (XMLStreamException e) {
- String msg = "Error in initializing the parser to build the OMElement.";
- log.error(msg, e);
- throw new Exception(msg, e);
- }
-
- // create the builder
- StAXOMBuilder builder = new StAXOMBuilder(parser);
- // get the root element (in this case the envelope)
-
- return builder.getDocumentElement();
- }
-
-
- /**
- * validates the email
- *
- * @param email - email address
- * @throws Exception, if validation failed
- */
- public static void validateEmail(String email) throws Exception {
- if (email == null) {
- String msg = "Provided email value is null.";
- log.warn(msg);
- throw new Exception(msg);
- }
- email = email.trim();
- if ("".equals(email)) {
- String msg = "Provided email value is empty.";
- log.warn(msg);
- throw new Exception(msg);
- }
- if (illegalCharactersPatternForEmail.matcher(email).matches()) {
- String msg = "Wrong characters in the email.";
- log.error(msg);
- throw new Exception(msg);
- }
- if (!emailFilterPattern.matcher(email).matches()) {
- String msg = "Invalid email address is provided.";
- log.error(msg);
- throw new Exception(msg);
- }
- }
-
- /**
- * @param name validate the name.
- * @param variable entry name.
- * @throws Exception if empty
- */
- public static void validateName(String name, String variable) throws Exception {
- if (name.trim().equals("")) {
- String msg = variable + " is not provided.";
- log.error(msg);
- throw new Exception(msg);
- }
- }
-
- /**
- * validates domain from the successkey
- *
- * @param governanceSystemRegistry - The governance system registry
- * @param domain - tenant domain
- * @param successKey - successkey
- * @return true, if successfully validated
- * @throws RegistryException, if validation failed
- */
- public static boolean validateDomainFromSuccessKey(UserRegistry governanceSystemRegistry,
- String domain, String successKey)
- throws RegistryException {
- String domainValidatorInfoPath =
- StratosConstants.DOMAIN_VALIDATOR_INFO_PATH + RegistryConstants.PATH_SEPARATOR +
- domain + RegistryConstants.PATH_SEPARATOR +
- StratosConstants.VALIDATION_KEY_RESOURCE_NAME;
- if (governanceSystemRegistry.resourceExists(domainValidatorInfoPath)) {
- Resource resource = governanceSystemRegistry.get(domainValidatorInfoPath);
- String actualSuccessKey = resource.getProperty("successKey");
- if (actualSuccessKey != null && successKey != null &&
- actualSuccessKey.trim().equals(successKey.trim())) {
- // the domain is correct
- return true;
- }
- }
- return false;
- }
-
- /**
- * Returns the configurations from the stratos configuration file.
- *
- * @return stratos configurations
- */
- public static StratosConfiguration loadStratosConfiguration() {
- // gets the configuration file name from the StratosConstants.
- String StratosConfigFileName = CarbonUtils.getCarbonConfigDirPath() + File.separator +
- StratosConstants.MULTITENANCY_CONFIG_FOLDER + File.separator +
- StratosConstants.STRATOS_CONF_FILE;
- return loadStratosConfiguration(StratosConfigFileName);
- }
-
- /**
- * Loads the given Stratos Configuration file.
- *
- * @param configFilename Name of the configuration file
- * @return the stratos configuration data.
- */
- private static StratosConfiguration loadStratosConfiguration(String configFilename) {
- StratosConfiguration config = new StratosConfiguration();
- File configFile = new File(configFilename);
- if (configFile.exists()) {
- FileInputStream inputStream = null;
- try {
- inputStream = new FileInputStream(configFile);
- XMLStreamReader parser =
- XMLInputFactory.newInstance().createXMLStreamReader(inputStream);
- StAXOMBuilder builder = new StAXOMBuilder(parser);
- OMElement documentElement = builder.getDocumentElement();
- Iterator it = documentElement.getChildElements();
- while (it.hasNext()) {
- OMElement element = (OMElement) it.next();
-
- if ("DisableTenantManagementEmails".equals(element.getLocalName())) {
- String disableEmails = element.getText();
- // by default, make the email validation mandatory.
- boolean isEmailsDisabled = true;
- if (disableEmails.trim().equalsIgnoreCase("false")) {
- isEmailsDisabled = false;
- }
- config.setEmailsDisabled(isEmailsDisabled);
- }
- // Checks whether Email Validation is mandatory to log in and use the registered
- // tenants.
- else if ("EmailValidationMandatoryForLogin".equals(element.getLocalName())) {
- String emailValidation = element.getText();
- //by default, make the email validation not mandatory.
- boolean isEmailValidationRequired = false;
- if (emailValidation.trim().equalsIgnoreCase("true")) {
- isEmailValidationRequired = true;
- }
- config.setEmailValidationRequired(isEmailValidationRequired);
- } else if ("ChargeOnRegistration".equals(element.getLocalName())) {
- String chargeOnRegistration = element.getText();
- boolean isChargedOnRegistration = false;
- if (chargeOnRegistration.trim().equalsIgnoreCase("true")) {
- isChargedOnRegistration = true;
- }
- config.setChargeOnRegistration(isChargedOnRegistration);
- } else if ("NotificationEmail".equals(element.getLocalName())) {
- config.setNotificationEmail(element.getText());
- } else if ("SuperAdminEmail".equals(element.getLocalName())) {
- config.setSuperAdminEmail(element.getText());
- } else if ("TenantActivationModerated".equals(element.getLocalName())){
- String isTenantActivationModerated = element.getText();
- boolean tenantActivationModerated = false;
- if (isTenantActivationModerated.trim().equalsIgnoreCase("true")) {
- tenantActivationModerated = true;
- }
- config.setTenantActivationModerated(tenantActivationModerated);
- }
- //Checks whether it is public cloud deployment.
- else if ("StratosPublicCloudSetup".equals(element.getLocalName())) {
- String cloudSetup = element.getText();
- //by default, make the email validation mandatory.
- boolean isStratosPublicCloudSetup = true;
- if (cloudSetup.trim().equalsIgnoreCase("false")) {
- isStratosPublicCloudSetup = false;
- }
- config.setPublicCloudSetup(isStratosPublicCloudSetup);
- //Setting the paypal url
- } else if ("PaypalUrl".equals(element.getLocalName())) {
- String paypalUrl = element.getText();
- config.setPaypalUrl(paypalUrl);
- } else if ("SkipSummaryGenerator".equals(element.getLocalName())) {
- String summaryGenerator = element.getText();
- boolean skipSummaryGenerator = false;
- if (summaryGenerator.trim().equalsIgnoreCase("true")) {
- skipSummaryGenerator = true;
- }
- config.setSkipSummaryGenerator(skipSummaryGenerator);
- }
- else if ("PaypalAPIUsername".equals(element.getLocalName())) {
- config.setPaypalAPIUsername(element.getText());
- } else if ("PaypalAPIPassword".equals(element.getLocalName())) {
- config.setPaypalAPIPassword(element.getText());
- } else if ("PaypalAPISignature".equals(element.getLocalName())) {
- config.setPaypalAPISignature(element.getText());
- }else if ("PaypalEnvironment".equals(element.getLocalName())){
- config.setPaypalEnvironment(element.getText());
- }else if("FinanceNotificationEmail".equals(element.getLocalName())){
- config.setFinanceNotificationEmail(element.getText());
- }else if("UsagePlanUrl".equals(element.getLocalName())){
- config.setUsagePlanURL(element.getText());
- }else if("PaidJIRAUrl".equals(element.getLocalName())) {
- config.setPaidJIRAUrl(element.getText());
- }else if("PaidJIRAProject".equals(element.getLocalName())) {
- config.setPaidJIRAProject(element.getText());
- }else if("ForumUrl".equals(element.getLocalName())) {
- config.setForumUrl(element.getText());
- }else if("PaidUserGroup".equals(element.getLocalName())) {
- config.setPaidUserGroup(element.getText());
- }else if("NonpaidUserGroup".equals(element.getLocalName())) {
- config.setNonpaidUserGroup(element.getText());
- } else if("SupportInfoUrl".equals(element.getLocalName())) {
- config.setSupportInfoUrl(element.getText());
- }else if("IncidentCustomFieldId".equals(element.getLocalName())) {
- config.setIncidentCustomFieldId(element.getText());
- } else if("IncidentImpactCustomFieldId".equals(element.getLocalName())) {
- config.setIncidentImpactCustomFieldId(element.getText());
- } else if ("GoogleAnalyticsURL".equals(element.getLocalName())) {
- config.setGoogleAnalyticsURL(element.getText());
- } else if("StratosEventListener".equals(element.getLocalName())) {
- populateEventListenerProperties(config, element);
- } else if ("managerServiceUrl".equals(element.getLocalName())) {
- config.setManagerServiceUrl(element.getText());
- } else if ("adminUserName".equals(element.getLocalName())) {
- config.setAdminUserName(element.getText());
- } else if ("adminPassword".equals(element.getLocalName())) {
- config.setAdminPassword(element.getText());
- } else if("SSOLoadingMessage".equals(element.getLocalName())){
- config.setSsoLoadingMessage(element.getText());
- }
- }
- return config;
- } catch (Exception e) {
- String msg = "Error in loading Stratos Configurations File: " + configFilename + ".";
- log.error(msg, e);
- return config; //returns the default configurations, if the file could not be loaded.
- } finally {
- if (inputStream != null) {
- try {
- inputStream.close();
- } catch (IOException e) {
- log.error("Could not close the Configuration File " + configFilename);
- }
- }
- }
- }
- log.error("Unable to locate the stratos configurations file. " +
- "Default Settings will be used.");
- return config; // return the default configuratiosn, if the file not found.
- }
-
-
- private static void populateEventListenerProperties(StratosConfiguration config,
- OMElement element) throws RegistryException {
- config.setStratosEventListenerName(element.getAttributeValue(new QName("class")));
- Iterator<?> ite =
- element.getChildrenWithName(new QName("Property"));
- while (ite.hasNext()) {
- OMElement propElem = (OMElement) ite.next();
- String propName = propElem.getAttributeValue(new QName("name"));
- String propValue = propElem.getText();
- config.setStratosEventListenerProperty(propName, propValue);
- }
- }
-
- /**
- * Loading the EULA.
- * ultimately we shall be loading the eula from the web page itself.
- * But loading from file should be there to customize the EULA based on the private deployments,
- * etc.
- *
- * @return eula
- */
- public static String loadTermsOfUsage() {
- // currently loads from the file; gets the eula file name from the StratosConstants.
- String StratosEULAFileName = CarbonUtils.getCarbonConfigDirPath() + File.separator +
- StratosConstants.MULTITENANCY_CONFIG_FOLDER + File.separator +
- StratosConstants.STRATOS_EULA;
- return loadTermsOfUsage(StratosEULAFileName);
- }
-
- private static String loadTermsOfUsage(String eulaFile) {
- String eula = StratosConstants.STRATOS_EULA_DEFAULT_TEXT;
- File configFile = new File(eulaFile);
- if (configFile.exists()) {
- FileInputStream inputStream = null;
- try {
- inputStream = new FileInputStream(configFile);
- XMLStreamReader parser =
- XMLInputFactory.newInstance().createXMLStreamReader(inputStream);
- StAXOMBuilder builder = new StAXOMBuilder(parser);
- OMElement documentElement = builder.getDocumentElement();
- Iterator it = documentElement.getChildElements();
- while (it.hasNext()) {
- OMElement element = (OMElement) it.next();
-
- //Checks whether Email Validation is mandatory for tenant registration complete.
- if ("EULA".equalsIgnoreCase(element.getLocalName())) {
- eula = element.getText();
- }
- }
- return eula;
- } catch (Exception e) {
- String msg = "Error in loading Stratos Terms and Conditions File.";
- log.error(msg, e);
- return eula; //returns the default text, if the file could not be loaded.
- } finally {
- if (inputStream != null) {
- try {
- inputStream.close();
- } catch (IOException e) {
- log.error("Could not close the EULA File " + eulaFile);
- }
- }
- }
- }
- if (log.isDebugEnabled()) {
- log.debug("Unable to locate the stratos EULA file. Default value will be used.");
- }
- return eula; // return the default, if the file not found.
- }
-
-
- /**
- * method to check whether a domain name is available to register given a domain name
- * @param tenantDomain, domain name
- * @return true, if the domain is available to register
- * @throws Exception, if checking the existence of the tenant is failed.
- */
- public static boolean isDomainNameAvailable(String tenantDomain) throws Exception {
-
- TenantManager tenantManager = CloudCommonServiceComponent.getTenantManager();
- // The registry reserved words are checked first.
- if (tenantDomain.equals("atom") || tenantDomain.equals("registry")
- || tenantDomain.equals("resource")) {
- String msg = "You can not use a registry reserved word:" + tenantDomain +
- ":as a tenant domain. Please choose a different one.";
- log.error(msg);
- throw new Exception(msg);
- }
-
- int tenantId;
- try {
- tenantId = tenantManager.getTenantId(tenantDomain);
- } catch (UserStoreException e) {
- String msg = "Error in getting the tenant id for the given domain " +
- tenantDomain + ".";
- log.error(msg);
- throw new Exception(msg, e);
- }
-
- // check a tenant with same domain exist.
- if ((tenantId != MultitenantConstants.INVALID_TENANT_ID && tenantId != MultitenantConstants.SUPER_TENANT_ID) ||
- tenantDomain.equals(MultitenantConstants.SUPER_TENANT_DOMAIN_NAME)) {
- String msg =
- "A tenant with same domain already exist. " +
- "Please use a different domain name. tenant domain: " +
- tenantDomain + ".";
- log.info(msg);
- return false;
- }
- return true;
- }
-}
-
-
-
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ac065d73/components/org.apache.stratos.common/2.1.2/src/main/java/org/apache/stratos/common/util/MeteringAccessValidationUtils.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/2.1.2/src/main/java/org/apache/stratos/common/util/MeteringAccessValidationUtils.java b/components/org.apache.stratos.common/2.1.2/src/main/java/org/apache/stratos/common/util/MeteringAccessValidationUtils.java
deleted file mode 100644
index 4dc269e..0000000
--- a/components/org.apache.stratos.common/2.1.2/src/main/java/org/apache/stratos/common/util/MeteringAccessValidationUtils.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * 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.common.util;
-
-import java.util.HashSet;
-import java.util.Properties;
-import java.util.Set;
-
-public class MeteringAccessValidationUtils {
-
- public static final String ERROR_MSG_PROPERTY_KEY_POST_FIX = "error_msg";
- public static final String IS_BLOCKED_PROPERTY_KEY_POST_FIX = "is_blocked";
-
- public static String generateIsBlockedPropertyKey(String action) {
- return action + "_" + IS_BLOCKED_PROPERTY_KEY_POST_FIX;
- }
-
- public static String generateErrorMsgPropertyKey(String action) {
- return action + "_" + ERROR_MSG_PROPERTY_KEY_POST_FIX;
- }
-
- public static Set<String> getAvailableActions(Properties properties) {
- Set propertyKeys = properties.keySet();
- Set<String> actions = new HashSet<String>();
- for (Object propertyKeyObj : propertyKeys) {
- String propertyKey = (String) propertyKeyObj;
- if (propertyKey.endsWith(IS_BLOCKED_PROPERTY_KEY_POST_FIX)) {
- // -1 for the length of the '_'
- String action =
- propertyKey.substring(0, propertyKey.length() -
- IS_BLOCKED_PROPERTY_KEY_POST_FIX.length() - 1);
- actions.add(action);
- }
- }
- return actions;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ac065d73/components/org.apache.stratos.common/2.1.2/src/main/java/org/apache/stratos/common/util/StratosConfiguration.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/2.1.2/src/main/java/org/apache/stratos/common/util/StratosConfiguration.java b/components/org.apache.stratos.common/2.1.2/src/main/java/org/apache/stratos/common/util/StratosConfiguration.java
deleted file mode 100644
index 2226593..0000000
--- a/components/org.apache.stratos.common/2.1.2/src/main/java/org/apache/stratos/common/util/StratosConfiguration.java
+++ /dev/null
@@ -1,319 +0,0 @@
-/*
- * 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.common.util;
-
-import java.lang.String;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * Class for the stratos specific parameters configuration
- */
-public class StratosConfiguration {
-
- // By default email sending is disabled. Changed according to the configuration file.
- private boolean emailsDisabled = true;
-
- private boolean emailValidationRequired = false;
- private boolean isPublicCloudSetup = true;
- private boolean isTenantActivationModerated = false;
- private boolean chargeOnRegistration = false;
- private String SuperAdminEmail = "";
- private String paypalUrl = "";
- private String paypalAPIUsername = "";
- private String paypalAPIPassword = "";
- private String paypalAPISignature = "";
- private String paypalEnvironment="";
- private String usagePlanURL = "";
- private String paidJIRAUrl = "";
- private String paidJIRAProject = "";
- private String forumUrl = "";
- private String paidUserGroup = "";
- private String nonpaidUserGroup = "";
- private String supportInfoUrl = "";
- private String incidentCustomFieldId = ""; // todo this is a custom field id of JIRA, this need to be dynamically get in jira reporting component
- private String incidentImpactCustomFieldId = "";
- private String stratosEventListenerName ="";
- private Map<String, String> stratosEventProperties = new HashMap<String, String>();
- private String googleAnalyticsURL;
- private String managerServiceUrl = "";
- private String adminUserName = "";
- private String adminPassword = "";
- private String ssoLoadingMessage="";
-
- /**
- * @return Stratos Manager service url
- */
- public String getManagerServiceUrl() {
- return managerServiceUrl;
- }
-
- public void setManagerServiceUrl(String managerServiceUrl) {
- this.managerServiceUrl = managerServiceUrl;
- }
-
- /**
- * @return Super admin User name
- */
- public String getAdminUserName() {
- return adminUserName;
- }
-
- public void setAdminUserName(String adminUserName) {
- this.adminUserName = adminUserName;
- }
-
- /**
- * @return super admin password
- */
- public String getAdminPassword() {
- return adminPassword;
- }
-
- public void setAdminPassword(String adminPassword) {
- this.adminPassword = adminPassword;
- }
-
- //This parameter used to skip usage summary generator
- private boolean skipSummaryGenerator = false;
-
- public boolean isSkipSummaryGenerator() {
- return skipSummaryGenerator;
- }
-
- public void setSkipSummaryGenerator(boolean skipSummaryGenerator) {
- this.skipSummaryGenerator = skipSummaryGenerator;
- }
- //This is the url that we pointed users when they need to aware about usage plans
-
- public String getUsagePlanURL() {
- return usagePlanURL;
- }
-
- public void setUsagePlanURL(String usagePlanURL) {
- this.usagePlanURL = usagePlanURL;
- }
-
- //Email address for general notifications
- private String notificationEmail = "";
- //Email address for finance related notifications
- private String financeNotificationEmail = "";
-
- public boolean isTenantActivationModerated() {
- return isTenantActivationModerated;
- }
-
- public void setTenantActivationModerated(boolean tenantActivationModerated) {
- isTenantActivationModerated = tenantActivationModerated;
- }
-
- public String getSuperAdminEmail() {
- return SuperAdminEmail;
- }
-
- public void setSuperAdminEmail(String superAdminEmail) {
- SuperAdminEmail = superAdminEmail;
- }
-
- public boolean getEmailValidationRequired() {
- return emailValidationRequired;
- }
-
- public String getPaypalUrl() {
- return paypalUrl;
- }
-
- public void setPaypalUrl(String paypalUrl) {
- this.paypalUrl = paypalUrl;
- }
-
- public void setEmailValidationRequired(boolean emailValidationRequired) {
- this.emailValidationRequired = emailValidationRequired;
- }
-
- public boolean isPublicCloudSetup() {
- return isPublicCloudSetup;
- }
-
- public void setPublicCloudSetup(boolean publicCloudSetup) {
- isPublicCloudSetup = publicCloudSetup;
- }
-
- public String getNotificationEmail() {
- return notificationEmail;
- }
-
- public void setNotificationEmail(String notificationEmail) {
- this.notificationEmail = notificationEmail;
- }
-
- public String getPaypalAPIUsername() {
- return paypalAPIUsername;
- }
-
- public void setPaypalAPIUsername(String paypalAPIUsername) {
- this.paypalAPIUsername = paypalAPIUsername;
- }
-
- public String getPaypalAPIPassword() {
- return paypalAPIPassword;
- }
-
- public void setPaypalAPIPassword(String paypalAPIPassword) {
- this.paypalAPIPassword = paypalAPIPassword;
- }
-
- public String getPaypalAPISignature() {
- return paypalAPISignature;
- }
-
- public void setPaypalAPISignature(String paypalAPISignature) {
- this.paypalAPISignature = paypalAPISignature;
- }
-
- public String getFinanceNotificationEmail() {
- return financeNotificationEmail;
- }
-
- public void setFinanceNotificationEmail(String financeNotificationEmail) {
- this.financeNotificationEmail = financeNotificationEmail;
- }
-
- public String getPaidJIRAUrl() {
- return paidJIRAUrl;
- }
-
- public void setPaidJIRAUrl(String paidJIRAUrl) {
- this.paidJIRAUrl = paidJIRAUrl;
- }
-
- public String getPaidJIRAProject() {
- return paidJIRAProject;
- }
-
- public void setPaidJIRAProject(String paidJIRAProject) {
- this.paidJIRAProject = paidJIRAProject;
- }
-
- public String getForumUrl() {
- return forumUrl;
- }
-
- public void setForumUrl(String forumUrl) {
- this.forumUrl = forumUrl;
- }
-
- public String getPaidUserGroup() {
- return paidUserGroup;
- }
-
- public void setPaidUserGroup(String paidUserGroup) {
- this.paidUserGroup = paidUserGroup;
- }
-
- public String getNonpaidUserGroup() {
- return nonpaidUserGroup;
- }
-
- public void setNonpaidUserGroup(String nonpaidUserGroup) {
- this.nonpaidUserGroup = nonpaidUserGroup;
- }
-
- public String getSupportInfoUrl() {
- return supportInfoUrl;
- }
-
- public void setSupportInfoUrl(String supportInfoUrl) {
- this.supportInfoUrl = supportInfoUrl;
- }
-
- public String getIncidentCustomFieldId() {
- return incidentCustomFieldId;
- }
-
- public void setIncidentCustomFieldId(String incidentCustomFieldId) {
- this.incidentCustomFieldId = incidentCustomFieldId;
- }
-
- public String getIncidentImpactCustomFieldId() {
- return incidentImpactCustomFieldId;
- }
-
- public void setIncidentImpactCustomFieldId(String incidentImpactCustomFieldId) {
- this.incidentImpactCustomFieldId = incidentImpactCustomFieldId;
- }
-
- public String getStratosEventListenerName() {
- return stratosEventListenerName;
- }
-
- public void setStratosEventListenerName(String stratosEventListenerName) {
- this.stratosEventListenerName = stratosEventListenerName;
- }
-
- public String getStratosEventListenerPropertyValue(String key) {
- return stratosEventProperties.get(key);
- }
-
- public void setStratosEventListenerProperty(String key, String value) {
- stratosEventProperties.put(key, value);
- }
-
- public String getPaypalEnvironment() {
- return paypalEnvironment;
- }
-
- public void setPaypalEnvironment(String paypalEnvironment) {
- this.paypalEnvironment = paypalEnvironment;
- }
-
- public String getGoogleAnalyticsURL() {
- return googleAnalyticsURL;
- }
-
- public void setGoogleAnalyticsURL(String googleAnalyticsURL) {
- this.googleAnalyticsURL = googleAnalyticsURL;
- }
-
- public boolean isEmailsDisabled() {
- return emailsDisabled;
- }
-
- public void setEmailsDisabled(boolean emailsDisabled) {
- this.emailsDisabled = emailsDisabled;
- }
-
- public boolean isChargeOnRegistration() {
- return chargeOnRegistration;
- }
-
- public void setChargeOnRegistration(boolean chargeOnRegistration) {
- this.chargeOnRegistration = chargeOnRegistration;
- }
-
- public String getSsoLoadingMessage() {
- return ssoLoadingMessage;
- }
-
- public void setSsoLoadingMessage(String ssoLoadingMessage) {
- this.ssoLoadingMessage = ssoLoadingMessage;
- }
-
-}
-
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ac065d73/components/org.apache.stratos.common/2.1.2/src/main/resources/META-INF/services.xml
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/2.1.2/src/main/resources/META-INF/services.xml b/components/org.apache.stratos.common/2.1.2/src/main/resources/META-INF/services.xml
deleted file mode 100644
index 7f0bcf3..0000000
--- a/components/org.apache.stratos.common/2.1.2/src/main/resources/META-INF/services.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?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.
- -->
-<serviceGroup>
-
- <service name="PackageInfoService" scope="transportsession">
- <transports>
- <transport>https</transport>
- </transports>
- <parameter name="ServiceClass" locked="false">
- org.apache.stratos.common.services.PackageInfoService
- </parameter>
- <parameter name="adminService" locked="ture">false</parameter>
- </service>
-
- <parameter name="hiddenService" locked="ture">true</parameter>
-
-</serviceGroup>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ac065d73/components/org.apache.stratos.common/2.1.2/src/main/resources/cloud-services-desc.xml
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/2.1.2/src/main/resources/cloud-services-desc.xml b/components/org.apache.stratos.common/2.1.2/src/main/resources/cloud-services-desc.xml
deleted file mode 100644
index 15fb4b9..0000000
--- a/components/org.apache.stratos.common/2.1.2/src/main/resources/cloud-services-desc.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<!--
- ~ 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.
- -->
-<cloudServices xmlns="http://wso2.com/carbon/cloud/mgt/services">
- <cloudService name="WSO2 Stratos Manager">
- </cloudService>
- <cloudService name="WSO2 Enterprise Service Bus" default="true">
- <label>Enterprise Service Bus</label>
- <link>https://esb.stratoslive.wso2.com</link>
- <icon>
- https://localhost:9443/cloud-services-icons/esb.gif
- </icon>
- <description>Enterprise Service Bus in the cloud.</description>
- </cloudService>
- <cloudService name="WSO2 Application Server" default="true">
- <label>Application Server</label>
- <link>https://appserver.stratoslive.wso2.com</link>
- <icon>
- https://localhost:9443/cloud-services-icons/appserver.gif
- </icon>
- <description>Application Server in the cloud.</description>
- </cloudService>
- <cloudService name="WSO2 Data Services Server" default="true">
- <label>Data Services Server</label>
- <link>https://dss.stratoslive.wso2.com</link>
- <icon>
- https://localhost:9443/cloud-services-icons/ds.gif
- </icon>
- <description>Data Services Server in the cloud.</description>
- </cloudService>
- <cloudService name="WSO2 Governance" default="true">
- <label>Governance</label>
- <link>https://governance.stratoslive.wso2.com</link>
- <description>Governance in the cloud.</description>
- <icon>
- https://localhost:9443/cloud-services-icons/governance.gif
- </icon>
- </cloudService>
- <cloudService name="WSO2 Identity" default="true">
- <label>Identity</label>
- <link>https://identity.stratoslive.wso2.com</link>
- <icon>
- https://localhost:9443/cloud-services-icons/identity.gif
- </icon>
- <description>Identity in the cloud.</description>
- </cloudService>
- <cloudService name="WSO2 Business Activity Monitor" default="true">
- <label>Business Activity Monitor</label>
- <link>https://bam.stratoslive.wso2.com</link>
- <icon>
- https://localhost:9443/cloud-services-icons/bam.gif
- </icon>
- <description>Business Activity Monitor in the cloud.</description>
- </cloudService>
- <cloudService name="WSO2 Business Process Server" default="true">
- <label>Business Process Server</label>
- <link>https://bps.stratoslive.wso2.com</link>
- <icon>
- https://localhost:9443/cloud-services-icons/bps.gif
- </icon>
- <description>Business Process Server in the cloud.</description>
- </cloudService>
- <cloudService name="WSO2 Business Rule Server" default="true">
- <label>Business Rule Server</label>
- <link>https://brs.stratoslive.wso2.com</link>
- <icon>
- https://localhost:9443/cloud-services-icons/brs.gif
- </icon>
- <description>Business Rule Server in the cloud.</description>
- </cloudService>
- <cloudService name="WSO2 Mashup Server" default="true">
- <label>Mashup Server</label>
- <link>https://mashup.stratoslive.wso2.com</link>
- <icon>
- https://localhost:9443/cloud-services-icons/mashup.gif
- </icon>
- <description>Mashup Server in the cloud.</description>
- </cloudService>
- <cloudService name="WSO2 Gadgets" default="true">
- <label>Gadgets</label>
- <link>https://gadget.stratoslive.wso2.com</link>
- <icon>
- https://localhost:9443/cloud-services-icons/gadget.gif
- </icon>
- <description>Gadgets in the cloud.</description>
- </cloudService>
- <cloudService name="WSO2 Cloud Services Gateway" default="true">
- <label>Cloud Gateway</label>
- <link>https://csg.stratoslive.wso2.com</link>
- <icon>
- https://localhost:9443/cloud-services-icons/csg.gif
- </icon>
- <description>WSO2 Cloud Services Gateway in the cloud.</description>
- </cloudService>
-</cloudServices>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ac065d73/components/org.apache.stratos.common/2.1.2/src/test/java/org/apache/stratos/common/test/CommonTest.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/2.1.2/src/test/java/org/apache/stratos/common/test/CommonTest.java b/components/org.apache.stratos.common/2.1.2/src/test/java/org/apache/stratos/common/test/CommonTest.java
deleted file mode 100644
index dc61fc4..0000000
--- a/components/org.apache.stratos.common/2.1.2/src/test/java/org/apache/stratos/common/test/CommonTest.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * 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.common.test;
-
-import junit.framework.TestCase;
-import org.apache.stratos.common.util.CommonUtil;
-
-public class CommonTest extends TestCase {
- public void testEmailValidation() throws Exception {
- try {
- CommonUtil.validateEmail("damn@right.com");
- assertTrue(true);
- } catch (Exception e) {
- assertTrue(false);
- }
-
- try {
- CommonUtil.validateEmail("damn@right].com");
- assertTrue(false);
- } catch (Exception e) {
- assertTrue(true);
- assertEquals("Wrong characters in the email.", e.getMessage());
- }
-
- try {
- CommonUtil.validateEmail("damn@right@wrong.com");
- assertTrue(false);
- } catch (Exception e) {
- assertTrue(true);
- assertEquals("Invalid email address is provided.", e.getMessage());
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ac065d73/components/org.apache.stratos.common/pom.xml
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/pom.xml b/components/org.apache.stratos.common/pom.xml
new file mode 100644
index 0000000..2342449
--- /dev/null
+++ b/components/org.apache.stratos.common/pom.xml
@@ -0,0 +1,85 @@
+<!--
+ ~ 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-components-parent</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>org.apache.stratos.common</artifactId>
+ <packaging>bundle</packaging>
+ <name>Apache Stratos - Common</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>
+ <Export-Package>
+ org.apache.stratos.common.*,
+ </Export-Package>
+ <Import-Package>
+ org.wso2.carbon.registry.core.*;version=1.0.1,
+ org.wso2.carbon.user.core.*,
+ javax.servlet;version="${imp.pkg.version.javax.servlet}",
+ javax.servlet.http;version="${imp.pkg.version.javax.servlet}",
+ org.apache.axiom.*; version="${axiom.osgi.version.range}",
+ *;resolution:=optional
+ </Import-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.user.core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.wso2.carbon</groupId>
+ <artifactId>org.wso2.carbon.user.mgt</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+</project>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ac065d73/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/TenantBillingService.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/TenantBillingService.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/TenantBillingService.java
new file mode 100644
index 0000000..23cb7ae
--- /dev/null
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/TenantBillingService.java
@@ -0,0 +1,42 @@
+/*
+ * 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.common;
+
+import org.apache.stratos.common.exception.StratosException;
+import org.wso2.carbon.user.api.Tenant;
+
+/**
+ * The OSGI service interface that enables tenant related billing actions.
+ */
+public interface TenantBillingService {
+
+ public void addUsagePlan(Tenant tenant, String usagePlan) throws StratosException;
+
+ public String getActiveUsagePlan(String tenantDomain) throws StratosException;
+
+ public void updateUsagePlan(String tenantDomain, String usagePlan) throws StratosException;
+
+ public void activateUsagePlan(String tenantDomain) throws StratosException;
+
+ public void deactivateActiveUsagePlan(String tenantDomain) throws StratosException;
+
+ public void deleteBillingData(int tenantId) throws StratosException;
+
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ac065d73/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/TenantInfoBean.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/TenantInfoBean.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/TenantInfoBean.java
new file mode 100755
index 0000000..447814d
--- /dev/null
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/TenantInfoBean.java
@@ -0,0 +1,138 @@
+/*
+ * 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.common.beans;
+
+import java.util.Calendar;
+
+/**
+ * Bean class for Tenant Information
+ */
+public class TenantInfoBean {
+
+ private String admin; //admin's user name
+ private String firstname;
+ private String lastname;
+ private String adminPassword;
+ private String tenantDomain;
+ private int tenantId;
+ private String email;
+ private boolean active;
+ private String successKey;
+ Calendar createdDate;
+ private String originatedService;
+ private String usagePlan;
+
+ 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;
+ }
+
+ public String getEmail() {
+
+ return email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public int getTenantId() {
+ return tenantId;
+ }
+
+ public void setTenantId(int tenantId) {
+ this.tenantId = tenantId;
+ }
+
+ public String getTenantDomain() {
+ return tenantDomain;
+ }
+
+ public void setTenantDomain(String tenantDomain) {
+ this.tenantDomain = tenantDomain;
+ }
+
+ public String getAdmin() {
+ return admin;
+ }
+
+ public void setAdmin(String admin) {
+ this.admin = admin;
+ }
+
+ public String getAdminPassword() {
+ return adminPassword;
+ }
+
+ public void setAdminPassword(String adminPassword) {
+ this.adminPassword = adminPassword;
+ }
+
+ public boolean isActive() {
+ return active;
+ }
+
+ public void setActive(boolean active) {
+ this.active = active;
+ }
+
+ public String getSuccessKey() {
+ return successKey;
+ }
+
+ public void setSuccessKey(String successKey) {
+ this.successKey = successKey;
+ }
+
+ public Calendar getCreatedDate() {
+ return createdDate;
+ }
+
+ public void setCreatedDate(Calendar createdDate) {
+ this.createdDate = createdDate;
+ }
+
+ public String getOriginatedService() {
+ return originatedService;
+ }
+
+ public void setOriginatedService(String originatedService) {
+ this.originatedService = originatedService;
+ }
+
+ public String getUsagePlan() {
+ return usagePlan;
+ }
+
+ public void setUsagePlan(String usagePlan) {
+ this.usagePlan = usagePlan;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ac065d73/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/config/CloudServiceConfig.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/config/CloudServiceConfig.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/config/CloudServiceConfig.java
new file mode 100644
index 0000000..62c1664
--- /dev/null
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/config/CloudServiceConfig.java
@@ -0,0 +1,166 @@
+/*
+ * 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.common.config;
+
+import org.apache.axiom.om.OMElement;
+
+import javax.xml.namespace.QName;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+public class CloudServiceConfig {
+ private static final String CONFIG_NS = "http://wso2.com/carbon/cloud/mgt/services";
+
+ private static final String NAME_ATTR_NAME = "name";
+ private static final String DEFAULT_ATTR_NAME = "default";
+ private static final String LABEL_ELEMENT_NAME = "label";
+ private static final String LINK_ELEMENT_NAME = "link";
+ private static final String ICON_ELEMENT_NAME = "icon";
+ private static final String DESCRIPTION_ELEMENT_NAME = "description";
+ private static final String PERMISSIONS_ELEMENT_NAME = "permissions";
+ private static final String PERMISSION_ELEMENT_NAME = "permission";
+ private static final String PRODUCT_PAGE_URL_ELEMENT_NAME = "productPageURL";
+
+ private String name;
+ private String label;
+ private String link;
+ private String icon;
+ private String description;
+ private List<PermissionConfig> permissionConfigs;
+ boolean defaultActive;
+ private String productPageURL;
+
+ public CloudServiceConfig(OMElement configEle) {
+ permissionConfigs = new ArrayList<PermissionConfig>();
+ serialize(configEle);
+ }
+
+ public void serialize(OMElement configEle) {
+ Iterator cloudServiceChildIt = configEle.getChildElements();
+ name = configEle.getAttributeValue(new QName(null, NAME_ATTR_NAME));
+ defaultActive = "true".equals(configEle.
+ getAttributeValue(new QName(null, DEFAULT_ATTR_NAME)));
+ while (cloudServiceChildIt.hasNext()) {
+ Object cloudServiceChildObj = cloudServiceChildIt.next();
+ if (!(cloudServiceChildObj instanceof OMElement)) {
+ continue;
+ }
+ OMElement cloudServiceChildEle = (OMElement) cloudServiceChildObj;
+ if (new QName(CONFIG_NS, LABEL_ELEMENT_NAME, "").
+ equals(cloudServiceChildEle.getQName())) {
+ label = cloudServiceChildEle.getText();
+ } else if (new QName(CONFIG_NS, ICON_ELEMENT_NAME, "").
+ equals(cloudServiceChildEle.getQName())) {
+ icon = cloudServiceChildEle.getText();
+ } else if (new QName(CONFIG_NS, LINK_ELEMENT_NAME, "").
+ equals(cloudServiceChildEle.getQName())) {
+ link = cloudServiceChildEle.getText();
+ } else if (new QName(CONFIG_NS, PRODUCT_PAGE_URL_ELEMENT_NAME, "").
+ equals(cloudServiceChildEle.getQName())) {
+ productPageURL = cloudServiceChildEle.getText();
+ } else if (new QName(CONFIG_NS, DESCRIPTION_ELEMENT_NAME, "").
+ equals(cloudServiceChildEle.getQName())) {
+ description = cloudServiceChildEle.getText();
+ } else if (new QName(CONFIG_NS, PERMISSIONS_ELEMENT_NAME, "").
+ equals(cloudServiceChildEle.getQName())) {
+ Iterator permissionChildIt = cloudServiceChildEle.getChildElements();
+ while (permissionChildIt.hasNext()) {
+ Object permissionChildObj = permissionChildIt.next();
+ if (!(permissionChildObj instanceof OMElement)) {
+ continue;
+ }
+ OMElement permissionChildEle = (OMElement) permissionChildObj;
+
+ if (new QName(CONFIG_NS, PERMISSION_ELEMENT_NAME, "").
+ equals(permissionChildEle.getQName())) {
+ PermissionConfig permissionConfig =
+ new PermissionConfig(permissionChildEle);
+ permissionConfigs.add(permissionConfig);
+ }
+ }
+ }
+
+ }
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getLabel() {
+ return label;
+ }
+
+ public void setLabel(String label) {
+ this.label = label;
+ }
+
+ public String getLink() {
+ return link;
+ }
+
+ public void setLink(String link) {
+ this.link = link;
+ }
+
+ public String getIcon() {
+ return icon;
+ }
+
+ public void setIcon(String icon) {
+ this.icon = icon;
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public List<PermissionConfig> getPermissionConfigs() {
+ return permissionConfigs;
+ }
+
+ public void setPermissionConfigs(List<PermissionConfig> permissionConfigs) {
+ this.permissionConfigs = permissionConfigs;
+ }
+
+ public boolean isDefaultActive() {
+ return defaultActive;
+ }
+
+ public void setDefaultActive(boolean defaultActive) {
+ this.defaultActive = defaultActive;
+ }
+
+ public String getProductPageURL() {
+ return productPageURL;
+ }
+
+ public void setProductPageURL(String productPageURL) {
+ this.productPageURL = productPageURL;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ac065d73/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/config/CloudServiceConfigParser.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/config/CloudServiceConfigParser.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/config/CloudServiceConfigParser.java
new file mode 100644
index 0000000..3cedeff
--- /dev/null
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/config/CloudServiceConfigParser.java
@@ -0,0 +1,66 @@
+/*
+ * 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.common.config;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.stratos.common.constants.StratosConstants;
+import org.apache.stratos.common.util.CommonUtil;
+import org.wso2.carbon.utils.CarbonUtils;
+
+import java.io.File;
+import java.io.FileInputStream;
+
+public class CloudServiceConfigParser {
+
+ private static Log log = LogFactory.getLog(CloudServiceConfigParser.class);
+
+ private static class SynchronizingClass {
+ }
+
+ private static final SynchronizingClass loadlock = new SynchronizingClass();
+
+ private static CloudServicesDescConfig cloudServicesDescConfig = null;
+
+ private static final String CONFIG_FILENAME = "cloud-services-desc.xml";
+
+ public static CloudServicesDescConfig loadCloudServicesConfiguration() throws Exception {
+ if (cloudServicesDescConfig != null) {
+ return cloudServicesDescConfig;
+ }
+
+ synchronized (loadlock) {
+ if (cloudServicesDescConfig == null) {
+ try {
+ String configFileName = CarbonUtils.getCarbonConfigDirPath() + File.separator +
+ StratosConstants.MULTITENANCY_CONFIG_FOLDER + File.separator + CONFIG_FILENAME;
+ OMElement configElement = CommonUtil.buildOMElement(new FileInputStream(configFileName));
+ cloudServicesDescConfig = new CloudServicesDescConfig(configElement);
+ } catch (Exception e) {
+ String msg = "Error in building the cloud service configuration.";
+ log.error(msg, e);
+ throw new Exception(msg, e);
+ }
+ }
+ }
+ return cloudServicesDescConfig;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ac065d73/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/config/CloudServicesDescConfig.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/config/CloudServicesDescConfig.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/config/CloudServicesDescConfig.java
new file mode 100644
index 0000000..1bbd7aa
--- /dev/null
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/config/CloudServicesDescConfig.java
@@ -0,0 +1,61 @@
+/*
+ * 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.common.config;
+
+import org.apache.axiom.om.OMElement;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import javax.xml.namespace.QName;
+import java.util.*;
+
+public class CloudServicesDescConfig {
+ private static final Log log = LogFactory.getLog(CloudServicesDescConfig.class);
+ private static final String CONFIG_NS = "http://wso2.com/carbon/cloud/mgt/services";
+ private static final String CLOUD_SERVICE_ELEMENT_NAME = "cloudService";
+
+ Map<String, CloudServiceConfig> cloudServiceConfigs;
+
+ public CloudServicesDescConfig(OMElement configEle) {
+ // as the cloud service configs are kept in an order, we use an ordered map.
+ cloudServiceConfigs = new LinkedHashMap<String, CloudServiceConfig>();
+ serialize(configEle);
+ }
+
+ public void serialize(OMElement configEle) {
+ Iterator configChildIt = configEle.getChildElements();
+ while (configChildIt.hasNext()) {
+ Object configChildObj = configChildIt.next();
+ if (!( configChildObj instanceof OMElement)) {
+ continue;
+ }
+ OMElement configChildEle = (OMElement)configChildObj;
+ if (new QName(CONFIG_NS, CLOUD_SERVICE_ELEMENT_NAME, "").
+ equals(configChildEle.getQName())) {
+ CloudServiceConfig cloudServiceConfig = new CloudServiceConfig(configChildEle);
+ String name = cloudServiceConfig.getName();
+ cloudServiceConfigs.put(name, cloudServiceConfig);
+ }
+ }
+ }
+
+ public Map<String, CloudServiceConfig> getCloudServiceConfigs() {
+ return cloudServiceConfigs;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ac065d73/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/config/PermissionConfig.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/config/PermissionConfig.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/config/PermissionConfig.java
new file mode 100644
index 0000000..f4d4716
--- /dev/null
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/config/PermissionConfig.java
@@ -0,0 +1,71 @@
+/*
+ * 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.common.config;
+
+import org.apache.axiom.om.OMElement;
+
+import javax.xml.namespace.QName;
+import java.util.Iterator;
+
+public class PermissionConfig {
+ private static final String CONFIG_NS = "http://wso2.com/carbon/cloud/mgt/services";
+ private static final String PATH = "path";
+ private static final String NAME = "name";
+ String name;
+ String path;
+
+ public PermissionConfig(OMElement configEle) {
+ serialize(configEle);
+ }
+
+ public void serialize(OMElement configEle) {
+
+ Iterator configChildIt = configEle.getChildElements();
+ while (configChildIt.hasNext()) {
+ Object configChildObj = configChildIt.next();
+ if (!( configChildObj instanceof OMElement)) {
+ continue;
+ }
+ OMElement configChildEle = (OMElement)configChildObj;
+ if (new QName(CONFIG_NS, NAME, "").
+ equals(configChildEle.getQName())) {
+ name = configChildEle.getText();
+ } else if (new QName(CONFIG_NS, PATH, "").
+ equals(configChildEle.getQName())) {
+ path = configChildEle.getText();
+ }
+ }
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getPath() {
+ return path;
+ }
+
+ public void setPath(String path) {
+ this.path = path;
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ac065d73/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/constants/StratosConstants.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/constants/StratosConstants.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/constants/StratosConstants.java
new file mode 100644
index 0000000..800206a
--- /dev/null
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/constants/StratosConstants.java
@@ -0,0 +1,143 @@
+/*
+ * 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.common.constants;
+
+
+public class StratosConstants {
+
+ public static final String CLOUD_SERVICE_IS_ACTIVE_PROP_KEY = "active";
+
+ public static final String CLOUD_SERVICE_INFO_STORE_PATH =
+ "/repository/components/org.wso2.stratos/cloud-manager/cloud-services";
+
+ public static final String TENANT_USER_VALIDATION_STORE_PATH =
+ "/repository/components/org.wso2.carbon.validations";
+ public static final String ADMIN_EMAIL_VERIFICATION_FLAG_PATH =
+ "/repository/components/org.wso2.carbon.email-confirmation-flag";
+ public static final String TENANT_DOMAIN_VERIFICATION_FLAG_PATH =
+ "/repository/components/org.wso2.carbon.domain-confirmation-flag";
+
+ public static final String DOMAIN_VALIDATOR_INFO_PATH =
+ "/repository/components/org.wso2.carbon.domain-validator-info";
+
+ public static final String TENANT_CREATION_THEME_PAGE_TOKEN =
+ "/repository/components/org.wso2.carbon.theme-page-token";
+
+ public static final String TENANT_PACKAGE_INFO_PATH =
+ "/repository/components/org.wso2.carbon.package-info";
+
+ public static final String ALL_THEMES_PATH =
+ "/repository/components/org.wso2.carbon.all-themes";
+
+ public static final String THROTTLING_RULES_PATH =
+ "/repository/components/org.wso2.carbon.throttling-rules";
+
+ public static final String ORIGINATED_SERVICE_PATH =
+ "/repository/components/org.wso2.carbon.originated-service";
+
+ public static final String PATH_SEPARATOR = "/";
+
+ public static final String CLOUD_SERVICE_ICONS_STORE_PATH =
+ "/repository/components/org.wso2.carbon.cloud-manager/" +
+ "cloud-services-icons";
+
+ public static final String VALIDATION_KEY_RESOURCE_NAME = "validation-key";
+ public static final String INCOMING_PATH_DIR = "incoming";
+ public static final String OUTGOING_PATH_DIR = "outgoing";
+ public static final String MULTITENANCY_SCHEDULED_TASK_ID = "multitenancyScheduledTask";
+ public static final String MULTITENANCY_VIEWING_TASK_ID = "multitenancyViewingTask";
+
+ public static final String INVALID_TENANT = "invalidTenant";
+ public static final String INACTIVE_TENANT = "inactiveTenant";
+ public static final String ACTIVE_TENANT = "activeTenant";
+ public static final String IS_EMAIL_VALIDATED = "isEmailValidated";
+ public static final String IS_CREDENTIALS_ALREADY_RESET = "isCredentialsReset";
+ public static final String TENANT_ADMIN = "tenantAdminUsername";
+
+ public static final String CLOUD_MANAGER_SERVICE = "WSO2 Stratos Manager";
+ public static final String CLOUD_IDENTITY_SERVICE = "WSO2 Stratos Identity";
+ public static final String CLOUD_GOVERNANCE_SERVICE = "WSO2 Stratos Governance";
+ public static final String CLOUD_ESB_SERVICE = "WSO2 Stratos Enterprise Service Bus";
+
+ // keystore mgt related Constants
+ public static final String TENANT_KS = "/repository/security/key-stores/";
+ public static final String TENANT_PUB_KEY = "/repository/security/pub-key";
+ public static final String PROP_TENANT_KS_TYPE = "key-store-type";
+ public static final String PROP_TENANT_KS_PASSWD = "key-store-password";
+ public static final String PROP_TENANT_KS_PRIV_KEY_PASSWD = "priv-key-password";
+ public static final String PROP_TENANT_KS_ALIAS = "alias";
+
+ // constants related to redirection
+
+ public static final String UNVERIFIED_ACCOUNT_DOMAIN_SUFFIX = "-unverified";
+ public static final String TENANT_SPECIFIC_URL_RESOLVED = "tenant-sepcific-url-resolved";
+ public static final String SUFFIXED_UNVERIFIED_SESSION_FLAG = "temp-suffixed-unverified";
+
+ // metering constants
+ public static final String THROTTLING_ALL_ACTION = "all_actions";
+ public static final String THROTTLING_IN_DATA_ACTION = "in_data_action"; //this covers registry capacity + registry bandwidth
+ public static final String THROTTLING_OUT_DATA_ACTION = "out_data_action"; //this covers registry bandwidth
+ public static final String THROTTLING_ADD_USER_ACTION = "add_user_action";
+ public static final String THROTTLING_SERVICE_IN_BANDWIDTH_ACTION = "service_in_bandwith_action";
+ public static final String THROTTLING_SERVICE_OUT_BANDWIDTH_ACTION = "service_out_bandwith_action";
+ public static final String THROTTLING_WEBAPP_IN_BANDWIDTH_ACTION = "webapp_in_bandwith_action";
+ public static final String THROTTLING_WEBAPP_OUT_BANDWIDTH_ACTION = "webapp_out_bandwith_action";
+ public static final String THROTTLING_SERVICE_REQUEST_ACTION = "service_request_action";
+ public static final String THROTTLING_SERVICE_RESPONSE_ACTION = "service_response_action";
+
+ // the session attribute to keep track whether the registry action validated
+ // and the usage persisted
+ public static final String REGISTRY_ACTION_VALIDATED_SESSION_ATTR = "registryActionValidated";
+ public static final String REGISTRY_USAGE_PERSISTED_SESSION_ATTR = "usagePersited";
+
+ // Metering servlet attributes
+ public static final String SERVICE_NAME_SERVLET_ATTR = "meteringServiceName";
+ public static final String TENANT_ID_SERVLET_ATTR = "tenantId";
+ public static final String ADMIN_SERVICE_SERVLET_ATTR = "adminService";
+
+ // * as a Service impl related constants
+ public static final String ORIGINATED_SERVICE = "originatedService";
+
+ // Configuration file name
+ public static final String STRATOS_CONF_FILE = "stratos.xml";
+ //public static final String STRATOS_CONF_LOC = "repository/conf/";
+ //public static final String STRATOS_CONF_FILE_WITH_PATH = STRATOS_CONF_LOC + STRATOS_CONF_FILE;
+
+ // EULA location
+ public static final String STRATOS_EULA = "eula.xml";
+
+ // EULA default text.
+ public static final String STRATOS_EULA_DEFAULT_TEXT =
+ "Please refer to: " + StratosConstants.STRATOS_TERMS_OF_USAGE +
+ " for terms and usage and " + StratosConstants.STRATOS_PRIVACY_POLICY +
+ " for privacy policy of WSO2 Stratos.";
+
+ // Web location of Terms of Usage and privacy policy
+ public static final String STRATOS_TERMS_OF_USAGE =
+ "http://wso2.com/cloud/services/terms-of-use/";
+ public static final String STRATOS_PRIVACY_POLICY =
+ "http://wso2.com/cloud/services/privacy-policy/";
+ public static final String MULTITENANCY_FREE_PLAN = "Demo";
+ public static final String MULTITENANCY_SMALL_PLAN = "SMB";
+ public static final String MULTITENANCY_MEDIUM_PLAN = "Professional";
+ public static final String MULTITENANCY_LARGE_PLAN = "Enterprise";
+ public static final String EMAIL_CONFIG= "email";
+ public static final String MULTITENANCY_CONFIG_FOLDER = "multitenancy";
+
+}