You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by la...@apache.org on 2013/07/19 12:59:53 UTC
[10/51] [partial] applied
0001-Refactor-stratos-controller-product.patch
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos2/stratos_controller/1.0.1/resources/cloud-services-icons/pom.xml
----------------------------------------------------------------------
diff --git a/products/stratos2/stratos_controller/1.0.1/resources/cloud-services-icons/pom.xml b/products/stratos2/stratos_controller/1.0.1/resources/cloud-services-icons/pom.xml
deleted file mode 100755
index 93c9596..0000000
--- a/products/stratos2/stratos_controller/1.0.1/resources/cloud-services-icons/pom.xml
+++ /dev/null
@@ -1,71 +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.
- -->
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
- <groupId>org.wso2.manager</groupId>
- <artifactId>cloud-services-icons</artifactId>
- <version>1.0.0</version>
- <packaging>pom</packaging>
- <name>cloud-services-icons</name>
- <description>WSO2 Manager - Cloud Services Icons</description>
-
- <licenses>
- <license>
- <name>Apache License Version 2.0</name>
- <url>http://www.apache.org/licenses/LICENSE-2.0</url>
- </license>
- </licenses>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-war-plugin</artifactId>
- <version>2.1.1</version>
- <executions>
- <execution>
- <id>war</id>
- <phase>package</phase>
- <goals>
- <goal>war</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <warName>cloud-services-icons</warName>
- <failOnMissingWebXml>false</failOnMissingWebXml>
- <webResources>
- <resource>
- <directory>.</directory>
- </resource>
- </webResources>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <organization>
- <name>WSO2 Inc</name>
- <url>http://wso2.com</url>
- </organization>
-
-
-</project>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos2/stratos_controller/1.0.1/resources/cloud-services-icons/ss.gif
----------------------------------------------------------------------
diff --git a/products/stratos2/stratos_controller/1.0.1/resources/cloud-services-icons/ss.gif b/products/stratos2/stratos_controller/1.0.1/resources/cloud-services-icons/ss.gif
deleted file mode 100755
index f2bcc75..0000000
Binary files a/products/stratos2/stratos_controller/1.0.1/resources/cloud-services-icons/ss.gif and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos2/stratos_controller/1.0.1/resources/cloud-services-icons/ts.gif
----------------------------------------------------------------------
diff --git a/products/stratos2/stratos_controller/1.0.1/resources/cloud-services-icons/ts.gif b/products/stratos2/stratos_controller/1.0.1/resources/cloud-services-icons/ts.gif
deleted file mode 100755
index a2f3ebc..0000000
Binary files a/products/stratos2/stratos_controller/1.0.1/resources/cloud-services-icons/ts.gif and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/appserver-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/appserver-logo.gif b/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/appserver-logo.gif
deleted file mode 100755
index 55e4751..0000000
Binary files a/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/appserver-logo.gif and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/bam-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/bam-logo.gif b/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/bam-logo.gif
deleted file mode 100755
index f8b6a74..0000000
Binary files a/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/bam-logo.gif and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/bps-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/bps-logo.gif b/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/bps-logo.gif
deleted file mode 100755
index 5dd2171..0000000
Binary files a/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/bps-logo.gif and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/brs-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/brs-logo.gif b/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/brs-logo.gif
deleted file mode 100755
index ccba887..0000000
Binary files a/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/brs-logo.gif and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/csg-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/csg-logo.gif b/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/csg-logo.gif
deleted file mode 100755
index e69aaa6..0000000
Binary files a/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/csg-logo.gif and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/ds-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/ds-logo.gif b/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/ds-logo.gif
deleted file mode 100755
index f70a205..0000000
Binary files a/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/ds-logo.gif and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/esb-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/esb-logo.gif b/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/esb-logo.gif
deleted file mode 100755
index 95cb5b3..0000000
Binary files a/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/esb-logo.gif and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/gadget-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/gadget-logo.gif b/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/gadget-logo.gif
deleted file mode 100755
index 8e89ef5..0000000
Binary files a/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/gadget-logo.gif and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/governance-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/governance-logo.gif b/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/governance-logo.gif
deleted file mode 100755
index af1ac45..0000000
Binary files a/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/governance-logo.gif and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/identity-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/identity-logo.gif b/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/identity-logo.gif
deleted file mode 100755
index a2447bc..0000000
Binary files a/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/identity-logo.gif and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/mashup-logo.gif
----------------------------------------------------------------------
diff --git a/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/mashup-logo.gif b/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/mashup-logo.gif
deleted file mode 100755
index f8ed9be..0000000
Binary files a/products/stratos2/stratos_controller/1.0.1/resources/powerded-by-logos/mashup-logo.gif and /dev/null differ
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/billing-script/billing-h2.sql
----------------------------------------------------------------------
diff --git a/products/stratos_controller/billing-script/billing-h2.sql b/products/stratos_controller/billing-script/billing-h2.sql
new file mode 100755
index 0000000..e70be14
--- /dev/null
+++ b/products/stratos_controller/billing-script/billing-h2.sql
@@ -0,0 +1,109 @@
+CREATE TABLE IF NOT EXISTS BC_CUSTOMER (
+ BC_ID INTEGER AUTO_INCREMENT,
+ BC_NAME VARCHAR (64),
+ BC_STARTED_DATE TIMESTAMP,
+ BC_EMAIL VARCHAR (64),
+ BC_ADDRESS VARCHAR (256),
+ CONSTRAINT PK_BC_CUSTOMER PRIMARY KEY (BC_ID)
+);
+
+CREATE HASH INDEX BC_CUSTOMER_IND_BY_BC_NAME ON BC_CUSTOMER(BC_NAME);
+CREATE HASH INDEX BC_CUSTOMER_IND_BY_BC_EMAIL ON BC_CUSTOMER(BC_EMAIL);
+
+CREATE TABLE IF NOT EXISTS BC_ITEM (
+ BC_ID INTEGER AUTO_INCREMENT,
+ BC_NAME VARCHAR (64),
+ BC_COST VARCHAR (64),
+ BC_DESCRIPTION VARCHAR(128),
+ BC_PARENT_ITEM_ID INTEGER,
+ CONSTRAINT PK_BC_ITEM PRIMARY KEY (BC_ID)
+);
+INSERT INTO BC_ITEM (BC_NAME,BC_COST,BC_DESCRIPTION,BC_PARENT_ITEM_ID) values ('Demo',NULL,NULL,NULL);
+INSERT INTO BC_ITEM (BC_NAME,BC_COST,BC_DESCRIPTION,BC_PARENT_ITEM_ID) values ('SMB',NULL,NULL,NULL);
+INSERT INTO BC_ITEM (BC_NAME,BC_COST,BC_DESCRIPTION,BC_PARENT_ITEM_ID) values ('Professional',NULL,NULL,NULL);
+INSERT INTO BC_ITEM (BC_NAME,BC_COST,BC_DESCRIPTION,BC_PARENT_ITEM_ID) values ('Enterprise',NULL,NULL,NULL);
+
+ALTER TABLE BC_ITEM ADD CONSTRAINT IF NOT EXISTS BC_ITEM_FK_BY_PARENT_ITEM_ID FOREIGN KEY (BC_PARENT_ITEM_ID) REFERENCES BC_ITEM (BC_ID);
+
+
+CREATE TABLE IF NOT EXISTS BC_SUBSCRIPTION (
+ BC_ID INTEGER AUTO_INCREMENT,
+ BC_FILTER VARCHAR (32),
+ BC_IS_ACTIVE INTEGER,
+ BC_ACTIVE_SINCE TIMESTAMP,
+ BC_ACTIVE_UNTIL TIMESTAMP,
+ BC_ITEM_ID INTEGER,
+ BC_TENANT_ID INTEGER,
+ CONSTRAINT PK_BC_SUBSCRIPTION PRIMARY KEY (BC_ID)
+);
+
+ALTER TABLE BC_SUBSCRIPTION ADD CONSTRAINT IF NOT EXISTS BC_SUBSCRIPTION_FK_BY_ITEM_ID FOREIGN KEY (BC_ITEM_ID) REFERENCES BC_ITEM (BC_ID);
+
+CREATE TABLE IF NOT EXISTS BC_INVOICE (
+ BC_ID INTEGER AUTO_INCREMENT,
+ BC_TENANT_ID INTEGER,
+ BC_DATE TIMESTAMP,
+ BC_START_DATE TIMESTAMP,
+ BC_END_DATE TIMESTAMP,
+ BC_BOUGHT_FORWARD VARCHAR (64),
+ BC_CARRIED_FORWARD VARCHAR (64),
+ BC_TOTAL_PAYMENTS VARCHAR (64),
+ BC_TOTAL_COST VARCHAR (64),
+ CONSTRAINT PK_BC_INVOICE PRIMARY KEY (BC_ID)
+);
+
+
+CREATE TABLE IF NOT EXISTS BC_PAYMENT (
+ BC_ID INTEGER AUTO_INCREMENT,
+ BC_DATE TIMESTAMP,
+ BC_AMOUNT VARCHAR (64),
+ BC_DESCRIPTION VARCHAR (128),
+ BC_INVOICE_ID INTEGER,
+ BC_TENANT_ID INTEGER,
+ CONSTRAINT PK_BC_PAYMENT PRIMARY KEY (BC_ID)
+);
+
+ALTER TABLE BC_PAYMENT ADD CONSTRAINT IF NOT EXISTS BC_PAYMENT_FK_BY_INVOICE_ID FOREIGN KEY (BC_INVOICE_ID) REFERENCES BC_INVOICE (BC_ID);
+
+-- this is n-n relationship
+CREATE TABLE IF NOT EXISTS BC_PAYMENT_SUBSCRIPTION (
+ BC_PAYMENT_ID INTEGER,
+ BC_SUBSCRIPTION_ID INTEGER,
+ CONSTRAINT PK_BC_SUBSCRIPTION_ORDER PRIMARY KEY (BC_PAYMENT_ID, BC_SUBSCRIPTION_ID)
+);
+
+ALTER TABLE BC_PAYMENT_SUBSCRIPTION ADD CONSTRAINT IF NOT EXISTS BC_PAYMENT_SUBSCRIPTION_FK_BY_PAYMENT_ID FOREIGN KEY (BC_PAYMENT_ID) REFERENCES BC_PAYMENT (BC_ID);
+ALTER TABLE BC_PAYMENT_SUBSCRIPTION ADD CONSTRAINT IF NOT EXISTS BC_PAYMENT_SUBSCRIPTION_FK_BY_SUBSCRIPTION_ID FOREIGN KEY (BC_SUBSCRIPTION_ID) REFERENCES BC_SUBSCRIPTION (BC_ID);
+
+CREATE TABLE IF NOT EXISTS BC_INVOICE_SUBSCRIPTION (
+ BC_ID INTEGER AUTO_INCREMENT,
+ BC_INVOICE_ID INTEGER,
+ BC_SUBSCRIPTION_ID INTEGER,
+ CONSTRAINT PK_BC_INVOICE_ITEM PRIMARY KEY (BC_ID)
+);
+
+ALTER TABLE BC_INVOICE_SUBSCRIPTION ADD CONSTRAINT IF NOT EXISTS BC_INVOICE_SUBSCRIPTION_FK_BY_INVOICE_ID FOREIGN KEY (BC_INVOICE_ID) REFERENCES BC_INVOICE (BC_ID);
+ALTER TABLE BC_INVOICE_SUBSCRIPTION ADD CONSTRAINT IF NOT EXISTS BC_INVOICE_SUBSCRIPTION_FK_BY_SUBSCRIPTION_ID FOREIGN KEY (BC_SUBSCRIPTION_ID) REFERENCES BC_SUBSCRIPTION (BC_ID);
+
+
+CREATE TABLE IF NOT EXISTS BC_INVOICE_SUBSCRIPTION_ITEM (
+ BC_INVOICE_SUBSCRIPTION_ID INTEGER,
+ BC_ITEM_ID INTEGER,
+ BC_COST VARCHAR (64),
+ BC_DESCRIPTION VARCHAR (64),
+ CONSTRAINT PK_BC_INVOICE_SUBSCRIPTION_ITEM PRIMARY KEY (BC_INVOICE_SUBSCRIPTION_ID, BC_ITEM_ID)
+);
+
+ALTER TABLE BC_INVOICE_SUBSCRIPTION_ITEM ADD CONSTRAINT IF NOT EXISTS BC_INVOICE_SUBSCRIPTION_ITEM_FK_BY_INVOICE_SUBSCRIPTION_ID FOREIGN KEY (BC_INVOICE_SUBSCRIPTION_ID) REFERENCES BC_INVOICE_SUBSCRIPTION (BC_ID);
+ALTER TABLE BC_INVOICE_SUBSCRIPTION_ITEM ADD CONSTRAINT IF NOT EXISTS BC_INVOICE_SUBSCRIPTION_ITEM_FK_BY_ITEM_ID FOREIGN KEY (BC_ITEM_ID) REFERENCES BC_ITEM(BC_ID);
+
+CREATE TABLE IF NOT EXISTS BC_DISCOUNT (
+ BC_ID INTEGER AUTO_INCREMENT,
+ BC_TENANT_ID INTEGER,
+ BC_PERCENTAGE FLOAT,
+ BC_AMOUNT FLOAT,
+ BC_START_DATE TIMESTAMP,
+ BC_END_DATE TIMESTAMP,
+ BC_PERCENTAGE_TYPE INTEGER,
+ CONSTRAINT PK_BC_DISCOUNT PRIMARY KEY (BC_ID)
+);
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/billing-script/billing-mysql.sql
----------------------------------------------------------------------
diff --git a/products/stratos_controller/billing-script/billing-mysql.sql b/products/stratos_controller/billing-script/billing-mysql.sql
new file mode 100755
index 0000000..55cab9a
--- /dev/null
+++ b/products/stratos_controller/billing-script/billing-mysql.sql
@@ -0,0 +1,120 @@
+CREATE TABLE IF NOT EXISTS BC_CUSTOMER (
+ BC_ID INTEGER AUTO_INCREMENT,
+ BC_NAME VARCHAR (64),
+ BC_STARTED_DATE TIMESTAMP,
+ BC_EMAIL VARCHAR (64),
+ BC_ADDRESS VARCHAR (256),
+ CONSTRAINT PK_BC_CUSTOMER PRIMARY KEY (BC_ID)
+)ENGINE INNODB;
+
+CREATE INDEX BC_CUSTOMER_IND_BY_BC_NAME USING HASH ON BC_CUSTOMER(BC_NAME);
+CREATE INDEX BC_CUSTOMER_IND_BY_BC_EMAIL USING HASH ON BC_CUSTOMER(BC_EMAIL);
+
+CREATE TABLE IF NOT EXISTS BC_ITEM (
+ BC_ID INTEGER AUTO_INCREMENT,
+ BC_NAME VARCHAR (64),
+ BC_COST VARCHAR (64),
+ BC_DESCRIPTION VARCHAR(128),
+ BC_PARENT_ITEM_ID INTEGER,
+ CONSTRAINT PK_BC_ITEM PRIMARY KEY (BC_ID)
+)ENGINE INNODB;
+INSERT INTO BC_ITEM (BC_NAME,BC_COST,BC_DESCRIPTION,BC_PARENT_ITEM_ID) values ("Demo",NULL,NULL,NULL);
+INSERT INTO BC_ITEM (BC_NAME,BC_COST,BC_DESCRIPTION,BC_PARENT_ITEM_ID) values ("SMB",NULL,NULL,NULL);
+INSERT INTO BC_ITEM (BC_NAME,BC_COST,BC_DESCRIPTION,BC_PARENT_ITEM_ID) values ("Professional",NULL,NULL,NULL);
+INSERT INTO BC_ITEM (BC_NAME,BC_COST,BC_DESCRIPTION,BC_PARENT_ITEM_ID) values ("Enterprise",NULL,NULL,NULL);
+
+ALTER TABLE BC_ITEM ADD CONSTRAINT BC_ITEM_FK_BY_PARENT_ITEM_ID FOREIGN KEY (BC_PARENT_ITEM_ID) REFERENCES BC_ITEM (BC_ID);
+
+
+CREATE TABLE IF NOT EXISTS BC_SUBSCRIPTION (
+ BC_ID INTEGER AUTO_INCREMENT,
+ BC_FILTER VARCHAR (32),
+ BC_IS_ACTIVE INTEGER,
+ BC_ACTIVE_SINCE TIMESTAMP,
+ BC_ACTIVE_UNTIL TIMESTAMP,
+ BC_ITEM_ID INTEGER,
+ BC_TENANT_ID INTEGER,
+ CONSTRAINT PK_BC_SUBSCRIPTION PRIMARY KEY (BC_ID)
+)ENGINE INNODB;
+
+ALTER TABLE BC_SUBSCRIPTION ADD CONSTRAINT BC_SUBSCRIPTION_FK_BY_ITEM_ID FOREIGN KEY (BC_ITEM_ID) REFERENCES BC_ITEM (BC_ID);
+
+CREATE TABLE IF NOT EXISTS BC_INVOICE (
+ BC_ID INTEGER AUTO_INCREMENT,
+ BC_TENANT_ID INTEGER,
+ BC_DATE TIMESTAMP,
+ BC_START_DATE TIMESTAMP,
+ BC_END_DATE TIMESTAMP,
+ BC_BOUGHT_FORWARD VARCHAR (64),
+ BC_CARRIED_FORWARD VARCHAR (64),
+ BC_TOTAL_PAYMENTS VARCHAR (64),
+ BC_TOTAL_COST VARCHAR (64),
+ CONSTRAINT PK_BC_INVOICE PRIMARY KEY (BC_ID)
+)ENGINE INNODB;
+
+
+CREATE TABLE IF NOT EXISTS BC_PAYMENT (
+ BC_ID INTEGER AUTO_INCREMENT,
+ BC_DATE TIMESTAMP,
+ BC_AMOUNT VARCHAR (64),
+ BC_DESCRIPTION VARCHAR (128),
+ BC_INVOICE_ID INTEGER,
+ BC_TENANT_ID INTEGER,
+ CONSTRAINT PK_BC_SUBSCRIPTION_ORDER PRIMARY KEY (BC_ID)
+)ENGINE INNODB;
+
+ALTER TABLE BC_PAYMENT ADD CONSTRAINT BC_PAYMENT_FK_BY_INVOICE_ID FOREIGN KEY (BC_INVOICE_ID) REFERENCES BC_INVOICE (BC_ID);
+
+CREATE TABLE IF NOT EXISTS BC_REGISTRATION_PAYMENT (
+ BC_ID INTEGER AUTO_INCREMENT,
+ BC_DATE TIMESTAMP,
+ BC_AMOUNT VARCHAR (64),
+ BC_DESCRIPTION VARCHAR (128),
+ BC_USAGE_PLAN VARCHAR (64),
+ BC_TENANT_ID INTEGER,
+ CONSTRAINT PK_BC_REGISTRATION_PAYMENT PRIMARY KEY (BC_ID)
+)ENGINE INNODB;
+
+-- this is n-n relationship
+CREATE TABLE IF NOT EXISTS BC_PAYMENT_SUBSCRIPTION (
+ BC_PAYMENT_ID INTEGER,
+ BC_SUBSCRIPTION_ID INTEGER,
+ CONSTRAINT PK_BC_SUBSCRIPTION_ORDER PRIMARY KEY (BC_PAYMENT_ID, BC_SUBSCRIPTION_ID)
+)ENGINE INNODB;
+
+ALTER TABLE BC_PAYMENT_SUBSCRIPTION ADD CONSTRAINT BC_PAYMENT_SUBSCRIPTION_FK_BY_PAYMENT_ID FOREIGN KEY (BC_PAYMENT_ID) REFERENCES BC_PAYMENT (BC_ID);
+ALTER TABLE BC_PAYMENT_SUBSCRIPTION ADD CONSTRAINT BC_PAYMENT_SUBSCRIPTION_FK_BY_SUBSCRIPTION_ID FOREIGN KEY (BC_SUBSCRIPTION_ID) REFERENCES BC_SUBSCRIPTION (BC_ID);
+
+CREATE TABLE IF NOT EXISTS BC_INVOICE_SUBSCRIPTION (
+ BC_ID INTEGER AUTO_INCREMENT,
+ BC_INVOICE_ID INTEGER,
+ BC_SUBSCRIPTION_ID INTEGER,
+ CONSTRAINT PK_BC_INVOICE_ITEM PRIMARY KEY (BC_ID)
+)ENGINE INNODB;
+
+ALTER TABLE BC_INVOICE_SUBSCRIPTION ADD CONSTRAINT BC_INVOICE_SUBSCRIPTION_FK_BY_INVOICE_ID FOREIGN KEY (BC_INVOICE_ID) REFERENCES BC_INVOICE (BC_ID);
+ALTER TABLE BC_INVOICE_SUBSCRIPTION ADD CONSTRAINT BC_INVOICE_SUBSCRIPTION_FK_BY_SUBSCRIPTION_ID FOREIGN KEY (BC_SUBSCRIPTION_ID) REFERENCES BC_SUBSCRIPTION (BC_ID);
+
+
+CREATE TABLE IF NOT EXISTS BC_INVOICE_SUBSCRIPTION_ITEM (
+ BC_INVOICE_SUBSCRIPTION_ID INTEGER,
+ BC_ITEM_ID INTEGER,
+ BC_COST VARCHAR (64),
+ BC_DESCRIPTION varchar (64),
+ CONSTRAINT PK_BC_INVOICE_SUBSCRIPTION_ITEM PRIMARY KEY (BC_INVOICE_SUBSCRIPTION_ID, BC_ITEM_ID)
+)ENGINE INNODB;
+
+ALTER TABLE BC_INVOICE_SUBSCRIPTION_ITEM ADD CONSTRAINT BC_INVOICE_SUBSCRIPTION_ITEM_FK_BY_INVOICE_SUBSCRIPTION_ID FOREIGN KEY (BC_INVOICE_SUBSCRIPTION_ID) REFERENCES BC_INVOICE_SUBSCRIPTION (BC_ID);
+ALTER TABLE BC_INVOICE_SUBSCRIPTION_ITEM ADD CONSTRAINT BC_INVOICE_SUBSCRIPTION_ITEM_FK_BY_ITEM_ID FOREIGN KEY (BC_ITEM_ID) REFERENCES BC_ITEM(BC_ID);
+
+CREATE TABLE IF NOT EXISTS BC_DISCOUNT (
+ BC_ID INTEGER AUTO_INCREMENT,
+ BC_TENANT_ID INTEGER,
+ BC_PERCENTAGE FLOAT,
+ BC_AMOUNT FLOAT,
+ BC_START_DATE TIMESTAMP,
+ BC_END_DATE TIMESTAMP,
+ BC_PERCENTAGE_TYPE INTEGER,
+ CONSTRAINT PK_BC_DISCOUNT PRIMARY KEY (BC_ID)
+)ENGINE INNODB;
+
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/billing-script/metering_h2.sql
----------------------------------------------------------------------
diff --git a/products/stratos_controller/billing-script/metering_h2.sql b/products/stratos_controller/billing-script/metering_h2.sql
new file mode 100755
index 0000000..0491b8e
--- /dev/null
+++ b/products/stratos_controller/billing-script/metering_h2.sql
@@ -0,0 +1,114 @@
+--
+-- TABLES
+--
+
+CREATE TABLE IF NOT EXISTS USAGE_HOURLY_ANALYTICS (
+ ID VARCHAR(200) NOT NULL,
+ HOUR_FACT TIMESTAMP,
+ SERVER_NAME VARCHAR(100),
+ TENANT_ID VARCHAR(50),
+ PAYLOAD_TYPE VARCHAR(50),
+ PAYLOAD_VALUE BIGINT,
+ PRIMARY KEY (ID)
+);
+
+CREATE TABLE IF NOT EXISTS USAGE_DAILY_ANALYTICS (
+ ID VARCHAR(200) NOT NULL,
+ DAY_FACT TIMESTAMP,
+ SERVER_NAME VARCHAR(100),
+ TENANT_ID VARCHAR(50),
+ PAYLOAD_TYPE VARCHAR(50),
+ PAYLOAD_VALUE BIGINT,
+ PRIMARY KEY (ID)
+);
+
+CREATE TABLE IF NOT EXISTS USAGE_MONTHLY_ANALYTICS (
+ ID VARCHAR(200) NOT NULL,
+ MONTH_FACT TIMESTAMP,
+ SERVER_NAME VARCHAR(100),
+ TENANT_ID VARCHAR(50),
+ PAYLOAD_TYPE VARCHAR(50),
+ PAYLOAD_VALUE BIGINT,
+ PRIMARY KEY (ID)
+);
+
+CREATE TABLE IF NOT EXISTS USAGE_LAST_HOURLY_TS (
+ ID VARCHAR(200) NOT NULL,
+ TIMESTMP TIMESTAMP,
+ PRIMARY KEY (ID)
+);
+
+CREATE TABLE IF NOT EXISTS USAGE_LAST_DAILY_TS (
+ ID VARCHAR(200) NOT NULL,
+ TIMESTMP TIMESTAMP,
+ PRIMARY KEY (ID)
+);
+
+CREATE TABLE IF NOT EXISTS USAGE_LAST_MONTHLY_TS (
+ ID VARCHAR(200) NOT NULL,
+ TIMESTMP TIMESTAMP,
+ PRIMARY KEY (ID)
+);
+
+CREATE TABLE IF NOT EXISTS SERVICE_STATS_HOURLY_ANALYTICS (
+ ID VARCHAR(200) NOT NULL,
+ HOUR_FACT TIMESTAMP,
+ SERVER_NAME VARCHAR(100),
+ TENANT_ID VARCHAR(50),
+ REQUEST_COUNT BIGINT,
+ RESPONSE_COUNT BIGINT,
+ FAULT_COUNT BIGINT,
+ PRIMARY KEY (ID)
+);
+
+CREATE TABLE IF NOT EXISTS SERVICE_STATS_DAILY_ANALYTICS (
+ ID VARCHAR(200) NOT NULL,
+ DAY_FACT TIMESTAMP,
+ SERVER_NAME VARCHAR(100),
+ TENANT_ID VARCHAR(50),
+ REQUEST_COUNT BIGINT,
+ RESPONSE_COUNT BIGINT,
+ FAULT_COUNT BIGINT,
+ PRIMARY KEY (ID)
+);
+
+CREATE TABLE IF NOT EXISTS SERVICE_STATS_MONTHLY_ANALYTICS (
+ ID VARCHAR(200) NOT NULL,
+ MONTH_FACT TIMESTAMP,
+ SERVER_NAME VARCHAR(100),
+ TENANT_ID VARCHAR(50),
+ REQUEST_COUNT BIGINT,
+ RESPONSE_COUNT BIGINT,
+ FAULT_COUNT BIGINT,
+ PRIMARY KEY (ID)
+);
+
+CREATE TABLE IF NOT EXISTS SERVICE_STATS_LAST_HOURLY_TS (
+ ID VARCHAR(200) NOT NULL,
+ TIMESTMP TIMESTAMP,
+ PRIMARY KEY (ID)
+);
+
+CREATE TABLE IF NOT EXISTS SERVICE_STATS_LAST_DAILY_TS (
+ ID VARCHAR(200) NOT NULL,
+ TIMESTMP TIMESTAMP,
+ PRIMARY KEY (ID)
+);
+
+CREATE TABLE IF NOT EXISTS SERVICE_STATS_LAST_MONTHLY_TS (
+ ID VARCHAR(200) NOT NULL,
+ TIMESTMP TIMESTAMP,
+ PRIMARY KEY (ID)
+);
+
+CREATE TABLE IF NOT EXISTS REGISTRY_USAGE_HOURLY_ANALYTICS (
+ ID VARCHAR(50),
+ TENANT_ID VARCHAR(50),
+ HISTORY_USAGE BIGINT,
+ CURRENT_USAGE BIGINT,
+ PRIMARY KEY (ID)
+);
+
+
+COMMIT;
+
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/billing-script/metering_mysql.sql
----------------------------------------------------------------------
diff --git a/products/stratos_controller/billing-script/metering_mysql.sql b/products/stratos_controller/billing-script/metering_mysql.sql
new file mode 100755
index 0000000..3ab4ee3
--- /dev/null
+++ b/products/stratos_controller/billing-script/metering_mysql.sql
@@ -0,0 +1,149 @@
+-- WSO2 METERING DATABASE SQL FOR MySQL
+
+SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
+
+SET AUTOCOMMIT=0;
+START TRANSACTION;
+
+--
+-- TABLES
+--
+
+CREATE TABLE IF NOT EXISTS USAGE_HOURLY_ANALYTICS (
+ ID VARCHAR(200) NOT NULL,
+ HOUR_FACT TIMESTAMP,
+ SERVER_NAME VARCHAR(100),
+ TENANT_ID VARCHAR(50),
+ PAYLOAD_TYPE VARCHAR(50),
+ PAYLOAD_VALUE BIGINT,
+ PRIMARY KEY (`ID`)
+) ENGINE=INNODB;
+
+CREATE TABLE IF NOT EXISTS USAGE_DAILY_ANALYTICS (
+ ID VARCHAR(200) NOT NULL,
+ DAY_FACT TIMESTAMP,
+ SERVER_NAME VARCHAR(100),
+ TENANT_ID VARCHAR(50),
+ PAYLOAD_TYPE VARCHAR(50),
+ PAYLOAD_VALUE BIGINT,
+ PRIMARY KEY (`ID`)
+) ENGINE=INNODB;
+
+CREATE TABLE IF NOT EXISTS USAGE_MONTHLY_ANALYTICS (
+ ID VARCHAR(200) NOT NULL,
+ MONTH_FACT TIMESTAMP,
+ SERVER_NAME VARCHAR(100),
+ TENANT_ID VARCHAR(50),
+ PAYLOAD_TYPE VARCHAR(50),
+ PAYLOAD_VALUE BIGINT,
+ PRIMARY KEY (`ID`)
+) ENGINE=INNODB;
+
+CREATE TABLE IF NOT EXISTS USAGE_LAST_HOURLY_TS (
+ ID VARCHAR(200) NOT NULL,
+ TIMESTMP TIMESTAMP,
+ PRIMARY KEY (`ID`)
+) ENGINE=INNODB;
+
+CREATE TABLE IF NOT EXISTS USAGE_LAST_DAILY_TS (
+ ID VARCHAR(200) NOT NULL,
+ TIMESTMP TIMESTAMP,
+ PRIMARY KEY (`ID`)
+) ENGINE=INNODB;
+
+CREATE TABLE IF NOT EXISTS USAGE_LAST_MONTHLY_TS (
+ ID VARCHAR(200) NOT NULL,
+ TIMESTMP TIMESTAMP,
+ PRIMARY KEY (`ID`)
+) ENGINE=INNODB;
+
+CREATE TABLE IF NOT EXISTS SERVICE_STATS_HOURLY_ANALYTICS (
+ ID VARCHAR(200) NOT NULL,
+ HOUR_FACT TIMESTAMP,
+ SERVER_NAME VARCHAR(100),
+ TENANT_ID VARCHAR(50),
+ REQUEST_COUNT BIGINT,
+ RESPONSE_COUNT BIGINT,
+ FAULT_COUNT BIGINT,
+ PRIMARY KEY (`ID`)
+) ENGINE=INNODB;
+
+CREATE TABLE IF NOT EXISTS SERVICE_STATS_DAILY_ANALYTICS (
+ ID VARCHAR(200) NOT NULL,
+ DAY_FACT TIMESTAMP,
+ SERVER_NAME VARCHAR(100),
+ TENANT_ID VARCHAR(50),
+ REQUEST_COUNT BIGINT,
+ RESPONSE_COUNT BIGINT,
+ FAULT_COUNT BIGINT,
+ PRIMARY KEY (`ID`)
+) ENGINE=INNODB;
+
+CREATE TABLE IF NOT EXISTS SERVICE_STATS_MONTHLY_ANALYTICS (
+ ID VARCHAR(200) NOT NULL,
+ MONTH_FACT TIMESTAMP,
+ SERVER_NAME VARCHAR(100),
+ TENANT_ID VARCHAR(50),
+ REQUEST_COUNT BIGINT,
+ RESPONSE_COUNT BIGINT,
+ FAULT_COUNT BIGINT,
+ PRIMARY KEY (`ID`)
+) ENGINE=INNODB;
+
+CREATE TABLE IF NOT EXISTS SERVICE_STATS_LAST_HOURLY_TS (
+ ID VARCHAR(200) NOT NULL,
+ TIMESTMP TIMESTAMP,
+ PRIMARY KEY (`ID`)
+) ENGINE=INNODB;
+
+CREATE TABLE IF NOT EXISTS SERVICE_STATS_LAST_DAILY_TS (
+ ID VARCHAR(200) NOT NULL,
+ TIMESTMP TIMESTAMP,
+ PRIMARY KEY (`ID`)
+) ENGINE=INNODB;
+
+CREATE TABLE IF NOT EXISTS SERVICE_STATS_LAST_MONTHLY_TS (
+ ID VARCHAR(200) NOT NULL,
+ TIMESTMP TIMESTAMP,
+ PRIMARY KEY (`ID`)
+) ENGINE=INNODB;
+
+CREATE TABLE IF NOT EXISTS REGISTRY_USAGE_HOURLY_ANALYTICS (
+ ID VARCHAR(50),
+ TENANT_ID VARCHAR(50),
+ HISTORY_USAGE BIGINT,
+ CURRENT_USAGE BIGINT,
+ PRIMARY KEY (`ID`)
+) ENGINE=INNODB;
+
+CREATE TABLE IF NOT EXISTS CARTRIDGE_STATS_HOURLY_ANALYTICS (
+ HOUR_FACT TIMESTAMP,
+ TENANT_ID VARCHAR(50),
+ CARTRIDGE_TYPE VARCHAR(20),
+ IMAGE_ID VARCHAR(100),
+ NODE_ID VARCHAR(100),
+ DURATION_HOURS INT(5),
+ PRIMARY KEY (`NODE_ID`)
+) ENGINE=INNODB;
+
+CREATE TABLE IF NOT EXISTS CARTRIDGE_STATS_LAST_HOURLY_TS (
+ ID VARCHAR(200) NOT NULL,
+ TIMESTMP TIMESTAMP,
+ PRIMARY KEY (`ID`)
+) ENGINE=INNODB;
+
+CREATE TABLE IF NOT EXISTS CARTRIDGE_STATS_LAST_DAILY_TS (
+ ID VARCHAR(200) NOT NULL,
+ TIMESTMP TIMESTAMP,
+ PRIMARY KEY (`ID`)
+) ENGINE=INNODB;
+
+CREATE TABLE IF NOT EXISTS CARTRIDGE_STATS_LAST_MONTHLY_TS (
+ ID VARCHAR(200) NOT NULL,
+ TIMESTMP TIMESTAMP,
+ PRIMARY KEY (`ID`)
+) ENGINE=INNODB;
+
+
+COMMIT;
+
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/billing-script/migration.sql
----------------------------------------------------------------------
diff --git a/products/stratos_controller/billing-script/migration.sql b/products/stratos_controller/billing-script/migration.sql
new file mode 100755
index 0000000..379e859
--- /dev/null
+++ b/products/stratos_controller/billing-script/migration.sql
@@ -0,0 +1,7 @@
+ALTER TABLE UM_TENANT ADD UM_CREATED_DATE TIMESTAMP NOT NULL DEFAULT '2010-06-01 00:00:01';
+ALTER TABLE UM_TENANT ADD UNIQUE INDEX INDEX_UM_TENANT_UM_DOMAIN_NAME (UM_DOMAIN_NAME);
+
+ALTER TABLE REG_ASSOCIATION ADD INDEX REG_ASSOCIATION_INDEX_SOURCEPATH (REG_SOURCEPATH, REG_TENANT_ID);
+ALTER TABLE REG_ASSOCIATION ADD INDEX REG_ASSOCIATION_INDEX_TARGETPATH (REG_TARGETPATH, REG_TENANT_ID);
+ALTER TABLE REG_ASSOCIATION ADD INDEX REG_ASSOCIATION_INDEX_ASSOCIATION_TYPE (REG_ASSOCIATION_TYPE, REG_TENANT_ID);
+
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/billing-script/s2_h2.sql
----------------------------------------------------------------------
diff --git a/products/stratos_controller/billing-script/s2_h2.sql b/products/stratos_controller/billing-script/s2_h2.sql
new file mode 100644
index 0000000..170c77b
--- /dev/null
+++ b/products/stratos_controller/billing-script/s2_h2.sql
@@ -0,0 +1,96 @@
+--
+-- Create schema s2_db
+--
+
+-- CREATE SCHEMA IF NOT EXISTS s2_db;
+-- SET SCHEMA s2_db;
+
+--
+-- Definition of table s2_db.CARTRIDGE_INSTANCE
+--
+
+DROP TABLE IF EXISTS CARTRIDGE_INSTANCE;
+CREATE TABLE CARTRIDGE_INSTANCE (
+ ID int(11) NOT NULL AUTO_INCREMENT,
+ INSTANCE_IP varchar(255) NOT NULL,
+ TENANT_ID int(11) DEFAULT NULL,
+ TENANT_DOMAIN varchar(255) DEFAULT NULL,
+ CARTRIDGE_TYPE varchar(255) NOT NULL,
+ STATE varchar(255) NOT NULL,
+ CLUSTER_DOMAIN varchar(255) NOT NULL,
+ CLUSTER_SUBDOMAIN varchar(255) NOT NULL,
+ PRIMARY KEY (ID)
+);
+
+--
+-- Definition of table CARTRIDGE_SUBSCRIPTION
+--
+
+DROP TABLE IF EXISTS CARTRIDGE_SUBSCRIPTION;
+CREATE TABLE CARTRIDGE_SUBSCRIPTION (
+ SUBSCRIPTION_ID int(11) NOT NULL AUTO_INCREMENT,
+ TENANT_ID int(11) NOT NULL,
+ CARTRIDGE varchar(30) NOT NULL,
+ PROVIDER varchar(30) NOT NULL,
+ HOSTNAME varchar(255) NOT NULL,
+ POLICY varchar(50) NULL,
+ CLUSTER_DOMAIN varchar(255) NOT NULL,
+ CLUSTER_SUBDOMAIN varchar(255) NOT NULL,
+ MGT_DOMAIN varchar(255) NOT NULL,
+ MGT_SUBDOMAIN varchar(255) NOT NULL,
+ STATE varchar(30) NOT NULL,
+ ALIAS varchar(255) NOT NULL,
+ TENANT_DOMAIN varchar(255) NOT NULL,
+ BASE_DIR varchar(255) NOT NULL,
+ REPO_ID int(11) DEFAULT NULL,
+ DATA_CARTRIDGE_ID int(11) DEFAULT NULL,
+ MAPPED_DOMAIN varchar(255),
+ PRIMARY KEY (SUBSCRIPTION_ID)
+);
+
+
+
+--
+-- Definition of table DATA_CARTRIDGE
+--
+
+DROP TABLE IF EXISTS DATA_CARTRIDGE;
+CREATE TABLE DATA_CARTRIDGE (
+ DATA_CART_ID int(11) NOT NULL AUTO_INCREMENT,
+ TYPE varchar(30) NOT NULL,
+ USER_NAME varchar(255) NOT NULL,
+ PASSWORD varchar(255) NOT NULL,
+ STATE varchar(255) NOT NULL,
+ PRIMARY KEY (DATA_CART_ID)
+);
+
+
+--
+-- Definition of table PORT_MAPPING
+--
+
+DROP TABLE IF EXISTS PORT_MAPPING;
+CREATE TABLE PORT_MAPPING (
+ PORT_MAPPING_ID int(11) NOT NULL AUTO_INCREMENT,
+ SUBSCRIPTION_ID int(11) NOT NULL,
+ TYPE varchar(30) NOT NULL,
+ PRIMARY_PORT varchar(30) NOT NULL,
+ PROXY_PORT varchar(30) NOT NULL,
+ STATE varchar(30) NOT NULL,
+ PRIMARY KEY (PORT_MAPPING_ID)
+);
+
+
+--
+-- Definition of table REPOSITORY
+--
+
+DROP TABLE IF EXISTS REPOSITORY;
+CREATE TABLE REPOSITORY (
+ REPO_ID int(11) NOT NULL AUTO_INCREMENT,
+ REPO_NAME varchar(255) NOT NULL,
+ STATE varchar(30) NOT NULL,
+ REPO_USER_NAME varchar(255) NOT NULL,
+ REPO_USER_PASSWORD varchar(255) NOT NULL,
+ PRIMARY KEY (REPO_ID)
+);
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/billing-script/wso2_rss.sql
----------------------------------------------------------------------
diff --git a/products/stratos_controller/billing-script/wso2_rss.sql b/products/stratos_controller/billing-script/wso2_rss.sql
new file mode 100755
index 0000000..411b1ce
--- /dev/null
+++ b/products/stratos_controller/billing-script/wso2_rss.sql
@@ -0,0 +1,81 @@
+
+CREATE TABLE RSS_INSTANCE (
+ rss_instance_id INTEGER AUTO_INCREMENT,
+ name VARCHAR(128) NOT NULL,
+ server_url VARCHAR(1024) NOT NULL,
+ dbms_type VARCHAR(128) NOT NULL,
+ instance_type VARCHAR(128) NOT NULL,
+ server_category VARCHAR(128) NOT NULL,
+ admin_username VARCHAR(128),
+ admin_password VARCHAR(128),
+ tenant_id INTEGER NOT NULL,
+ UNIQUE (name, tenant_id),
+ PRIMARY KEY (rss_instance_id)
+) ENGINE="InnoDB";
+
+CREATE TABLE DATABASE_INSTANCE (
+ database_instance_id INTEGER AUTO_INCREMENT,
+ name VARCHAR(128) NOT NULL,
+ rss_instance_id INTEGER,
+ tenant_id INTEGER,
+ UNIQUE (name, rss_instance_id),
+ PRIMARY KEY (database_instance_id),
+ FOREIGN KEY (rss_instance_id) REFERENCES RSS_INSTANCE (rss_instance_id)
+) ENGINE="InnoDB";
+
+CREATE TABLE DATABASE_USER (
+ user_id INTEGER AUTO_INCREMENT,
+ db_username VARCHAR(128) NOT NULL,
+ rss_instance_id INTEGER,
+ user_tenant_id INTEGER,
+ UNIQUE (db_username, rss_instance_id, user_tenant_id),
+ PRIMARY KEY (user_id),
+ FOREIGN KEY (rss_instance_id) REFERENCES RSS_INSTANCE (rss_instance_id)
+) ENGINE="InnoDB";
+
+CREATE TABLE DATABASE_INSTANCE_PROPERTY (
+ db_property_id INTEGER AUTO_INCREMENT,
+ prop_name VARCHAR(128) NOT NULL,
+ prop_value TEXT,
+ database_instance_id INTEGER,
+ UNIQUE (prop_name, database_instance_id),
+ PRIMARY KEY (db_property_id),
+ FOREIGN KEY (database_instance_id) REFERENCES DATABASE_INSTANCE (database_instance_id)
+) ENGINE="InnoDB";
+
+CREATE TABLE USER_DATABASE_ENTRY (
+ user_id INTEGER,
+ database_instance_id INTEGER,
+ PRIMARY KEY (user_id, database_instance_id),
+ FOREIGN KEY (user_id) REFERENCES DATABASE_USER (user_id),
+ FOREIGN KEY (database_instance_id) REFERENCES DATABASE_INSTANCE (database_instance_id)
+) ENGINE="InnoDB";
+
+CREATE TABLE USER_DATABASE_PERMISSION (
+ user_id INTEGER,
+ database_instance_id INTEGER,
+ perm_name VARCHAR(128) NOT NULL,
+ perm_value VARCHAR(128),
+ PRIMARY KEY (user_id, database_instance_id, perm_name),
+ FOREIGN KEY (user_id) REFERENCES DATABASE_USER (user_id),
+ FOREIGN KEY (database_instance_id) REFERENCES DATABASE_INSTANCE (database_instance_id)
+) ENGINE="InnoDB";
+
+CREATE TABLE WSO2_RSS_DATABASE_INSTANCE_COUNT (
+ instance_count INTEGER NOT NULL DEFAULT 0
+) ENGINE="InnoDB";
+
+CREATE TABLE USER_PRIVILEGE_GROUP (
+ priv_group_id INTEGER AUTO_INCREMENT,
+ priv_group_name VARCHAR(128),
+ tenant_id INTEGER,
+ PRIMARY KEY (priv_group_id, priv_group_name, tenant_id)
+) ENGINE="InnoDB";
+
+CREATE TABLE USER_PRIVILEGE_GROUP_ENTRY (
+ priv_group_id INTEGER,
+ perm_name VARCHAR(128),
+ perm_value CHAR(1),
+ PRIMARY KEY (priv_group_id, perm_name),
+ FOREIGN KEY (priv_group_id) REFERENCES USER_PRIVILEGE_GROUP (priv_group_id)
+) ENGINE="InnoDB";
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/conf/README-STRATOS
----------------------------------------------------------------------
diff --git a/products/stratos_controller/conf/README-STRATOS b/products/stratos_controller/conf/README-STRATOS
new file mode 100755
index 0000000..f41daf5
--- /dev/null
+++ b/products/stratos_controller/conf/README-STRATOS
@@ -0,0 +1,90 @@
+CARBON_HOME/repository/conf directory contains all the Stratos configuration files.
+carbon/products/manager/conf contains all the Stratos specific configuration files,
+ in the source tree structure.
+
+1. announcement.xml
+ Originally added to customize the announcement using the announcement module. Not used as of now.
+
+2. bam.xml
+ The configuration for billing and metering.
+
+3. billing-config.xml
+ Defines the database and the Task for billing. Multi-tenancy billing rules (by default, uses
+ multitenancy-billing-rules.drl) and email for billing notifications (by default, uses
+ email-billing-notifications.xml) are specified here.
+
+4. cloud-services-desc.xml
+ This has the configurations for the cloud services.
+ Label, link, icon, description, and the other similar information for each of the services are
+ given here.
+
+5. email-admin-config.xml
+ Contains the body of the mail that to be sent upon the tenant configuration request by the admin
+ of the tenant. This includes the password reset link, for the forgotten passwords.
+
+6. email-billing-notifications.xml
+ Contains the body of the mail that to be sent as the invoice of the tenant for the period.
+
+7. email-new-tenant-activation.xml
+ Contains the body of the mail that to be sent to the super admin or a given admin email address,
+ when a new tenant activates their unactivated account.
+
+8. email-new-tenant-registration.xml
+ Contains the body of the mail that to be sent to the super admin or a given admin email address,
+ when a new tenant registers for an account.
+
+9. email-password-reset.xml
+ Contains the body of the mail that to be sent when the tenant admin's password is reset, mostly
+ by a service administrator, known as the super-tenant in Stratos-world.
+
+10. email-registration.xml
+ Contains the body of the mail to be sent for the tenant registration validation.
+ This mail has the registration validation link to validate the email too.
+
+11. email-registration-complete.xml
+ Contains the mail that to be sent upon successful registration and the successful validation
+ of the email.
+
+12. email-update.xml
+ Contains the body of the mail that to be sent upon receiving an email change request from the
+ account management. The new email address will be notified of this change.
+
+13. eula.xml
+ Contains the End User License Agreement for Stratos. Will be displayed during the self-registration
+ of the tenant.
+
+14. identity.xml
+ Security, SSO store, Personal certificate stores of the user, authentication, and the other
+ identity related parameters can be configured from here.
+
+15. metering-config-non-manager.xml
+ This file contains configuration related to the metering.
+
+16. multitenancy-billing-rules
+ This file defines the rules for the billing for multiple tenants.
+
+17. multitenancy-packages.xml
+ This contains the subscription types and the respective limits of parameters for each of the
+ packages.
+
+18. README-STRATOS
+ This file. This has the information about the stratos specific configurations files.
+
+19. samples-desc.xml
+ This has the description of the platform sample (currently included, shopping cart sample).
+
+20. stratos.xml
+ This is the configuration file for Stratos specific constants.
+ Feel free to add your custom parameters and constants here.
+
+21. tenant-reg-agent.xml
+ tenantRegListenerServers configuration
+
+22. throttling-config.xml
+ Configuration file for throttling.
+
+23. throttling-rules.drl
+ Defines the throttling rules.
+
+24. user-mgt.xml
+ The User Manager configuration file used for configuring user management details.
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/conf/axis2.xml
----------------------------------------------------------------------
diff --git a/products/stratos_controller/conf/axis2.xml b/products/stratos_controller/conf/axis2.xml
new file mode 100755
index 0000000..f1dc859
--- /dev/null
+++ b/products/stratos_controller/conf/axis2.xml
@@ -0,0 +1,525 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+ ~ Copyright (c) 2005-2010, WSO2 Inc. (http://wso2.com) 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.
+ -->
+
+<axisconfig name="AxisJava2.0">
+
+ <!-- ================================================= -->
+ <!-- Parameters -->
+ <!-- ================================================= -->
+
+ <!-- This will give out the timout of the configuration contexts, in milliseconds -->
+ <parameter name="ConfigContextTimeoutInterval" locked="false">30000</parameter>
+
+ <!-- Synapse Configuration file location relative to CARBON_HOME -->
+ <parameter name="SynapseConfig.ConfigurationFile" locked="false">repository/deployment/server/synapse-configs</parameter>
+ <!-- Synapse Home parameter -->
+ <parameter name="SynapseConfig.HomeDirectory" locked="false">.</parameter>
+ <!-- Resolve root used to resolve synapse references like schemas inside a WSDL -->
+ <parameter name="SynapseConfig.ResolveRoot" locked="false">.</parameter>
+ <!-- Synapse Server name parameter -->
+ <parameter name="SynapseConfig.ServerName" locked="false">localhost</parameter>
+
+
+ <!-- ================================================= -->
+ <!-- Message Formatters -->
+ <!-- ================================================= -->
+
+ <!-- Following content type to message formatter mapping can be used to implement support -->
+ <!-- for different message format serializations in Axis2. These message formats are -->
+ <!-- expected to be resolved based on the content type. -->
+ <messageFormatters>
+ <!--messageFormatter contentType="application/xml"
+ class="org.apache.axis2.transport.http.ApplicationXMLFormatter"/>-->
+ <!--messageFormatter contentType="text/xml"
+ class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>-->
+ <!--messageFormatter contentType="application/soap+xml"
+ class="org.apache.axis2.transport.http.SOAPMessageFormatter"/>-->
+ <!--messageFormatter contentType="application/x-www-form-urlencoded"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/-->
+ <messageFormatter contentType="multipart/related"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+ <messageFormatter contentType="application/xml"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+ <messageFormatter contentType="application/txt"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+ <messageFormatter contentType="text/html"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+ <messageFormatter contentType="application/soap+xml"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+ <messageFormatter contentType="text/xml"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+ <!--messageFormatter contentType="x-application/hessian"
+ class="org.apache.synapse.format.hessian.HessianMessageFormatter"/-->
+ <!--messageFormatter contentType=""
+ class="org.apache.synapse.format.hessian.HessianMessageFormatter"/-->
+
+ <messageFormatter contentType="text/css"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+ <messageFormatter contentType="text/javascript"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+
+ <messageFormatter contentType="image/gif"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+ <messageFormatter contentType="img/gif"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+ <messageFormatter contentType="image/jpeg"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+ <messageFormatter contentType="image/png"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+ <messageFormatter contentType="image/ico"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+ <messageFormatter contentType="image/x-icon"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+
+ <messageFormatter contentType="application/x-javascript"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+ <messageFormatter contentType="application/x-shockwave-flash"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+ <messageFormatter contentType="application/atom+xml"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+ <messageFormatter contentType="application/x-www-form-urlencoded"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+ <messageFormatter contentType="application/xhtml+xml"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+ <messageFormatter contentType="application/octet-stream"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+ <messageFormatter contentType="application/javascript"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+
+ <messageFormatter contentType="multipart/form-data"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+ <messageFormatter contentType="application/soap+xml"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+
+ <!--JSON Message Formatters-->
+ <messageFormatter contentType="application/json"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+ <messageFormatter contentType="application/json/badgerfish"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+ <messageFormatter contentType="text/javascript"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+
+
+ <messageFormatter contentType=".*"
+ class="org.wso2.carbon.relay.ExpandingMessageFormatter"/>
+
+ </messageFormatters>
+
+ <!-- ================================================= -->
+ <!-- Message Builders -->
+ <!-- ================================================= -->
+
+ <!-- Following content type to builder mapping can be used to implement support for -->
+ <!-- different message formats in Axis2. These message formats are expected to be -->
+ <!-- resolved based on the content type. -->
+ <messageBuilders>
+ <messageBuilder contentType="application/xml"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+ <messageBuilder contentType="application/txt"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+ <!--messageBuilder contentType="application/xml"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/-->
+ <!--messageBuilder contentType="application/x-www-form-urlencoded"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/-->
+ <!--messageBuilder contentType="multipart/form-data"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/-->
+ <messageBuilder contentType="multipart/related"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+ <messageBuilder contentType="application/soap+xml"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+ <messageBuilder contentType="text/plain"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+ <messageBuilder contentType="text/xml"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+ <!--messageBuilder contentType="x-application/hessian"
+ class="org.apache.synapse.format.hessian.HessianMessageBuilder"/-->
+ <!--messageBuilder contentType=""
+ class="org.apache.synapse.format.hessian.HessianMessageBuilder"/-->
+
+ <!--JSON Message Builders-->
+ <messageBuilder contentType="application/json"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+ <messageBuilder contentType="application/json/badgerfish"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+ <messageBuilder contentType="text/javascript"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+
+
+ <messageBuilder contentType="text/html"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+ <messageBuilder contentType="text/css"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+ <messageBuilder contentType="text/javascript"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+
+ <messageBuilder contentType="image/gif"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+ <messageBuilder contentType="img/gif"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+ <messageBuilder contentType="image/jpeg"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+ <messageBuilder contentType="image/png"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+ <messageBuilder contentType="image/ico"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+ <messageBuilder contentType="image/x-icon"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+
+
+ <messageBuilder contentType="application/x-javascript"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+ <messageBuilder contentType="application/x-shockwave-flash"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+ <messageBuilder contentType="application/atom+xml"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+ <messageBuilder contentType="application/x-www-form-urlencoded"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+ <messageBuilder contentType="application/xhtml+xml"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+ <messageBuilder contentType="application/octet-stream"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+ <messageBuilder contentType="application/javascript"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+
+ <messageBuilder contentType="multipart/form-data"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+ <messageBuilder contentType="application/soap+xml"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+
+
+ <messageBuilder contentType=".*"
+ class="org.wso2.carbon.relay.BinaryRelayBuilder"/>
+
+ </messageBuilders>
+
+ <!-- ================================================= -->
+ <!-- Transport Ins (Listeners) -->
+ <!-- ================================================= -->
+ <!--Default trasnport will be passthrough if you need to change please add it here -->
+ <transportReceiver name="http" class="org.apache.synapse.transport.passthru.PassThroughHttpListener">
+ <parameter name="port">8280</parameter>
+ <parameter name="non-blocking"> true</parameter>
+ <parameter name="httpGetProcessor" locked="false">org.wso2.carbon.transport.nhttp.api.PassThroughNHttpGetProcessor</parameter>
+ </transportReceiver>
+ <transportReceiver name="https" class="org.apache.synapse.transport.passthru.PassThroughHttpSSLListener">
+ <parameter name="port" locked="false">8243</parameter>
+ <parameter name="non-blocking" locked="false">true</parameter>
+ <parameter name="httpGetProcessor" locked="false">org.wso2.carbon.transport.nhttp.api.PassThroughNHttpGetProcessor</parameter>
+ <!--parameter name="bind-address" locked="false">hostname or IP address</parameter-->
+ <!--parameter name="WSDLEPRPrefix" locked="false">https://apachehost:port/somepath</parameter-->
+ <parameter name="keystore" locked="false">
+ <KeyStore>
+ <Location>repository/resources/security/wso2carbon.jks</Location>
+ <Type>JKS</Type>
+ <Password>wso2carbon</Password>
+ <KeyPassword>wso2carbon</KeyPassword>
+ </KeyStore>
+ </parameter>
+ <parameter name="truststore" locked="false">
+ <TrustStore>
+ <Location>repository/resources/security/client-truststore.jks</Location>
+ <Type>JKS</Type>
+ <Password>wso2carbon</Password>
+ </TrustStore>
+ </parameter>
+ <!--<parameter name="SSLVerifyClient">require</parameter>
+ supports optional|require or defaults to none -->
+ </transportReceiver>
+
+ <!-- uncomment for non blocking http transport based on HttpCore + NIO extensions -->
+ <!--transportReceiver name="http" class="org.apache.synapse.transport.nhttp.HttpCoreNIOListener">
+ <parameter name="port" locked="false">8280</parameter>
+ <parameter name="non-blocking" locked="false">true</parameter-->
+ <!--parameter name="bind-address" locked="false">hostname or IP address</parameter-->
+ <!--parameter name="WSDLEPRPrefix" locked="false">https://apachehost:port/somepath</parameter-->
+ <!--parameter name="httpGetProcessor" locked="false">org.wso2.carbon.transport.nhttp.api.NHttpGetProcessor</parameter-->
+ <!--/transportReceiver-->
+
+ <!-- the non blocking https transport based on HttpCore + SSL-NIO extensions -->
+ <!--transportReceiver name="https" class="org.apache.synapse.transport.nhttp.HttpCoreNIOSSLListener">
+ <parameter name="port" locked="false">8243</parameter>
+ <parameter name="non-blocking" locked="false">true</parameter-->
+ <!--parameter name="bind-address" locked="false">hostname or IP address</parameter-->
+ <!--parameter name="WSDLEPRPrefix" locked="false">https://apachehost:port/somepath</parameter-->
+ <!--parameter name="httpGetProcessor" locked="false">org.wso2.carbon.transport.nhttp.api.NHttpGetProcessor</parameter-->
+ <!--parameter name="keystore" locked="false">
+ <KeyStore>
+ <Location>repository/resources/security/wso2carbon.jks</Location>
+ <Type>JKS</Type>
+ <Password>wso2carbon</Password>
+ <KeyPassword>wso2carbon</KeyPassword>
+ </KeyStore>
+ </parameter>
+ <parameter name="truststore" locked="false">
+ <TrustStore>
+ <Location>repository/resources/security/client-truststore.jks</Location>
+ <Type>JKS</Type>
+ <Password>wso2carbon</Password>
+ </TrustStore>
+ </parameter-->
+ <!--<parameter name="SSLVerifyClient">require</parameter>
+ supports optional|require or defaults to none -->
+ <!--/transportReceiver-->
+
+ <!-- ================================================= -->
+ <!-- Transport Outs (Senders) -->
+ <!-- ================================================= -->
+ <!--Default trasnport will be passthrough if you need to change please add it here -->
+ <transportSender name="http" class="org.apache.synapse.transport.passthru.PassThroughHttpSender">
+ <parameter name="non-blocking" locked="false">true</parameter>
+ <parameter name="warnOnHTTP500" locked="false">*</parameter>
+ <!--parameter name="http.proxyHost" locked="false">localhost</parameter>
+ <parameter name="http.proxyPort" locked="false">3128</parameter>
+ <parameter name="http.nonProxyHosts" locked="false">localhost|moon|sun</parameter-->
+ </transportSender>
+ <transportSender name="https" class="org.apache.synapse.transport.passthru.PassThroughHttpSSLSender">
+ <parameter name="non-blocking" locked="false">true</parameter>
+ <parameter name="keystore" locked="false">
+ <KeyStore>
+ <Location>repository/resources/security/wso2carbon.jks</Location>
+ <Type>JKS</Type>
+ <Password>wso2carbon</Password>
+ <KeyPassword>wso2carbon</KeyPassword>
+ </KeyStore>
+ </parameter>
+ <parameter name="truststore" locked="false">
+ <TrustStore>
+ <Location>repository/resources/security/client-truststore.jks</Location>
+ <Type>JKS</Type>
+ <Password>wso2carbon</Password>
+ </TrustStore>
+ </parameter>
+ <parameter name="HostnameVerifier">AllowAll</parameter>
+ <!--supports Strict|AllowAll|DefaultAndLocalhost or the default if none specified -->
+ </transportSender>
+ <!-- Uncomment for non-blocking http transport based on HttpCore + NIO extensions -->
+ <!--transportSender name="http" class="org.apache.synapse.transport.nhttp.HttpCoreNIOSender">
+ <parameter name="non-blocking" locked="false">true</parameter>
+ </transportSender>
+ <transportSender name="https" class="org.apache.synapse.transport.nhttp.HttpCoreNIOSSLSender">
+ <parameter name="non-blocking" locked="false">true</parameter>
+ <parameter name="keystore" locked="false">
+ <KeyStore>
+ <Location>repository/resources/security/wso2carbon.jks</Location>
+ <Type>JKS</Type>
+ <Password>wso2carbon</Password>
+ <KeyPassword>wso2carbon</KeyPassword>
+ </KeyStore>
+ </parameter>
+ <parameter name="truststore" locked="false">
+ <TrustStore>
+ <Location>repository/resources/security/client-truststore.jks</Location>
+ <Type>JKS</Type>
+ <Password>wso2carbon</Password>
+ </TrustStore>
+ </parameter>
+ <parameter name="HostnameVerifier">AllowAll</parameter-->
+ <!--supports Strict|AllowAll|DefaultAndLocalhost or the default if none specified -->
+ <!--/transportSender-->
+
+ <transportSender name="local" class="org.apache.axis2.transport.local.LocalTransportSender"/>
+
+ <!-- ================================================= -->
+ <!-- Clustering -->
+ <!-- ================================================= -->
+ <!--
+ To enable clustering for this node, set the value of "enable" attribute of the "clustering"
+ element to "true". The initialization of a node in the cluster is handled by the class
+ corresponding to the "class" attribute of the "clustering" element. It is also responsible for
+ getting this node to join the cluster.
+ -->
+ <clustering class="org.apache.axis2.clustering.tribes.TribesClusteringAgent" enable="true">
+
+ <!--
+ This parameter indicates whether the cluster has to be automatically initalized
+ when the AxisConfiguration is built. If set to "true" the initialization will not be
+ done at that stage, and some other party will have to explictly initialize the cluster.
+ -->
+ <parameter name="AvoidInitiation">true</parameter>
+
+ <!--
+ The membership scheme used in this setup. The only values supported at the moment are
+ "multicast" and "wka"
+
+ 1. multicast - membership is automatically discovered using multicasting
+ 2. wka - Well-Known Address based multicasting. Membership is discovered with the help
+ of one or more nodes running at a Well-Known Address. New members joining a
+ cluster will first connect to a well-known node, register with the well-known node
+ and get the membership list from it. When new members join, one of the well-known
+ nodes will notify the others in the group. When a member leaves the cluster or
+ is deemed to have left the cluster, it will be detected by the Group Membership
+ Service (GMS) using a TCP ping mechanism.
+ -->
+ <parameter name="membershipScheme">wka</parameter>
+
+ <!--
+ The clustering domain/group. Nodes in the same group will belong to the same multicast
+ domain. There will not be interference between nodes in different groups.
+ -->
+ <parameter name="domain">wso2.adc.domain</parameter>
+
+ <!--
+ When a Web service request is received, and processed, before the response is sent to the
+ client, should we update the states of all members in the cluster? If the value of
+ this parameter is set to "true", the response to the client will be sent only after
+ all the members have been updated. Obviously, this can be time consuming. In some cases,
+ such this overhead may not be acceptable, in which case the value of this parameter
+ should be set to "false"
+ -->
+ <parameter name="synchronizeAll">false</parameter>
+
+ <!--
+ The maximum number of times we need to retry to send a message to a particular node
+ before giving up and considering that node to be faulty
+ -->
+ <parameter name="maxRetries">10</parameter>
+
+ <!-- The multicast address to be used -->
+ <parameter name="mcastAddress">228.0.0.4</parameter>
+
+ <!-- The multicast port to be used -->
+ <parameter name="mcastPort">45564</parameter>
+
+ <!-- The frequency of sending membership multicast messages (in ms) -->
+ <parameter name="mcastFrequency">500</parameter>
+
+ <!-- The time interval within which if a member does not respond, the member will be
+ deemed to have left the group (in ms)
+ -->
+ <parameter name="memberDropTime">3000</parameter>
+
+ <!--
+ The IP address of the network interface to which the multicasting has to be bound to.
+ Multicasting would be done using this interface.
+ -->
+ <parameter name="mcastBindAddress">127.0.0.1</parameter>
+
+ <!-- The host name or IP address of this member -->
+
+ <!--parameter name="localMemberHost">127.0.0.1</parameter-->
+
+
+ <!--
+ The TCP port used by this member. This is the port through which other nodes will
+ contact this member
+ -->
+ <parameter name="localMemberPort">4000</parameter>
+
+ <!--
+ Preserve message ordering. This will be done according to sender order.
+ -->
+ <parameter name="preserveMessageOrder">false</parameter>
+
+ <!--
+ Maintain atmost-once message processing semantics
+ -->
+ <parameter name="atmostOnceMessageSemantics">false</parameter>
+
+ <!--
+ This interface is responsible for handling state replication. The property changes in
+ the Axis2 context hierarchy in this node, are propagated to all other nodes in the cluster.
+
+ The "excludes" patterns can be used to specify the prefixes (e.g. local_*) or
+ suffixes (e.g. *_local) of the properties to be excluded from replication. The pattern
+ "*" indicates that all properties in a particular context should not be replicated.
+
+ The "enable" attribute indicates whether context replication has been enabled
+ -->
+ <stateManager class="org.apache.axis2.clustering.state.DefaultStateManager"
+ enable="false">
+ <replication>
+ <defaults>
+ <exclude name="local_*"/>
+ <exclude name="LOCAL_*"/>
+ </defaults>
+ <context class="org.apache.axis2.context.ConfigurationContext">
+ <exclude name="local_*"/>
+ <exclude name="UseAsyncOperations"/>
+ <exclude name="SequencePropertyBeanMap"/>
+ </context>
+ <context class="org.apache.axis2.context.ServiceGroupContext">
+ <exclude name="local_*"/>
+ <exclude name="my.sandesha.*"/>
+ </context>
+ <context class="org.apache.axis2.context.ServiceContext">
+ <exclude name="local_*"/>
+ <exclude name="my.sandesha.*"/>
+ </context>
+ </replication>
+ </stateManager>
+ </clustering>
+
+ <!-- ================================================= -->
+ <!-- Phases -->
+ <!-- ================================================= -->
+
+ <phaseOrder type="InFlow">
+ <!-- System pre defined phases -->
+ <phase name="Transport"/>
+ <phase name="Addressing"/>
+ <phase name="Security"/>
+ <phase name="PreDispatch"/>
+ <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase"/>
+ <!-- System pre defined phases -->
+ <phase name="RMPhase"/>
+ <phase name="OpPhase"/>
+ </phaseOrder>
+
+ <phaseOrder type="OutFlow">
+ <!-- Handlers related to unified-endpoint component are added to the UEPPhase -->
+ <phase name="UEPPhase" />
+ <!-- user can add his own phases to this area -->
+ <phase name="RMPhase"/>
+ <phase name="MUPhase"/>
+ <phase name="OpPhase"/>
+ <phase name="OperationOutPhase"/>
+ <!--system predefined phase-->
+ <!--these phase will run irrespective of the service-->
+ <phase name="PolicyDetermination"/>
+ <phase name="MessageOut"/>
+ <phase name="Security"/>
+ </phaseOrder>
+
+ <phaseOrder type="InFaultFlow">
+ <phase name="Transport"/>
+ <phase name="Addressing"/>
+ <phase name="Security"/>
+ <phase name="PreDispatch"/>
+ <phase name="Dispatch" class="org.apache.axis2.engine.DispatchPhase"/>
+ <!-- user can add his own phases to this area -->
+ <phase name="RMPhase"/>
+ <phase name="OpPhase"/>
+ <phase name="MUPhase"/>
+ <phase name="OperationInFaultPhase"/>
+ </phaseOrder>
+
+ <phaseOrder type="OutFaultFlow">
+ <!-- Handlers related to unified-endpoint component are added to the UEPPhase -->
+ <phase name="UEPPhase" />
+ <!-- user can add his own phases to this area -->
+ <phase name="RMPhase"/>
+ <!-- Must Understand Header processing phase -->
+ <phase name="MUPhase"/>
+ <phase name="OperationOutFaultPhase"/>
+ <phase name="PolicyDetermination"/>
+ <phase name="MessageOut"/>
+ <phase name="Security"/>
+ </phaseOrder>
+
+</axisconfig>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/conf/bam.xml
----------------------------------------------------------------------
diff --git a/products/stratos_controller/conf/bam.xml b/products/stratos_controller/conf/bam.xml
new file mode 100755
index 0000000..e267a90
--- /dev/null
+++ b/products/stratos_controller/conf/bam.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bamServer>
+
+ <!--
+ Configuration for Billing and Metering.
+ -->
+
+ <!--Configuration for summary generation task.
+ 1. initial-delay = Time for first summary generation after the server start. (in seconds)
+ 2. interval = Periodic interval to run summary generation task. (in seconds)
+ -->
+ <summaryGeneration>
+ <initial-delay>600</initial-delay>
+ <interval>3600</interval>
+ </summaryGeneration>
+
+ <!--Configuration for data collection task for pull mode servers.
+ 1. initial-delay = Time for first data collection after the server start. (in seconds)
+ 2. interval = Periodic interval to run summary generation task. (in seconds)
+ -->
+ <dataCollection>
+ <initial-delay>60</initial-delay>
+ <interval>60</interval>
+ </dataCollection>
+
+</bamServer>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/conf/billing-config.xml
----------------------------------------------------------------------
diff --git a/products/stratos_controller/conf/billing-config.xml b/products/stratos_controller/conf/billing-config.xml
new file mode 100755
index 0000000..85c1605
--- /dev/null
+++ b/products/stratos_controller/conf/billing-config.xml
@@ -0,0 +1,67 @@
+<!--
+ ~ 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.
+ -->
+
+<!--
+ Defines the database and the Task for billing. Multi-tenancy billing rules (by default, uses
+ multitenancy-billing-rules.drl) and email for billing notifications (by default, uses
+ email-billing-notifications.xml) are specified here.
+ -->
+
+<billingConfig xmlns="http://wso2.com/carbon/multitenancy/billing/config">
+ <tasks>
+ <task id="multitenancyScheduledTask">
+ <schedule scheduleHelperClass="org.wso2.carbon.billing.core.scheduler.scheduleHelpers.MonthlyScheduleHelper">
+ <parameter name="timeZone">GMT-8:00</parameter>
+ <!--cron format: second minute hour dayOfTheMonth Month DayOfWeek-->
+ <parameter name="cron">0 0 0 1 * ?</parameter>
+ </schedule>
+ <handlers>
+ <handler service="org.wso2.carbon.billing.mgt.handlers.MultitenancySubscriptionFeedingHandler">
+ </handler>
+ <handler class="org.wso2.carbon.billing.core.handlers.SubscriptionTreeBuildingHandler">
+ </handler>
+ <handler class="org.wso2.carbon.billing.core.handlers.RuleHandler">
+ <parameter name="file">multitenancy-billing-rules.drl</parameter>
+ </handler>
+ <handler class="org.wso2.carbon.billing.core.handlers.InvoiceCalculationHandler">
+ </handler>
+ <handler class="org.wso2.carbon.billing.core.handlers.DefaultFinalizingHandler">
+ </handler>
+ <handler class="org.wso2.carbon.billing.core.handlers.EmailSendingHandler">
+ <parameter name="file">email-billing-notifications.xml</parameter>
+ </handler>
+ </handlers>
+ </task>
+ <task id="multitenancyViewingTask">
+ <handlers>
+ <handler service="org.wso2.carbon.billing.mgt.handlers.MultitenancySubscriptionFeedingHandler">
+ </handler>
+ <handler class="org.wso2.carbon.billing.core.handlers.SubscriptionTreeBuildingHandler">
+ </handler>
+ <handler class="org.wso2.carbon.billing.core.handlers.RuleHandler">
+ <parameter name="file">multitenancy-billing-rules.drl</parameter>
+ </handler>
+ <handler class="org.wso2.carbon.billing.core.handlers.InvoiceCalculationHandler">
+ </handler>
+ <!--
+ <handler class="org.wso2.carbon.billing.core.handlers.DefaultFinalizingHandler">
+ </handler>-->
+ </handlers>
+ </task>
+ </tasks>
+</billingConfig>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/conf/cipher-text.properties
----------------------------------------------------------------------
diff --git a/products/stratos_controller/conf/cipher-text.properties b/products/stratos_controller/conf/cipher-text.properties
new file mode 100644
index 0000000..9ad599b
--- /dev/null
+++ b/products/stratos_controller/conf/cipher-text.properties
@@ -0,0 +1,23 @@
+#
+# Copyright (c) 2005-2010, WSO2 Inc. (http://wso2.com) 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.
+#
+
+#aliases=esb
+#
+## configuration per each plaintext
+#esb.secret=M6U74dMVvRm4XFMczki2qZ6CsTvnUuRTjSditlACR5vTISSMI7F/mCTVJGOGdKJjij+VWVhBtmAOkElyvR9TwlUECnZ1o5DNsTK6l8je+9amc/ziTQLP3Q1tzm/Ex1pzHsG6jPGGrv3O0B9pZTfYFqRvlcNhM7Ve3WvA3ibs4Yk=
+#esb.secret.alias=wso2carbon
+#esb.secret.keystore=identity
+#
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/conf/cloud-services-desc.xml
----------------------------------------------------------------------
diff --git a/products/stratos_controller/conf/cloud-services-desc.xml b/products/stratos_controller/conf/cloud-services-desc.xml
new file mode 100644
index 0000000..2b8a2da
--- /dev/null
+++ b/products/stratos_controller/conf/cloud-services-desc.xml
@@ -0,0 +1,176 @@
+<!--
+ This has the configurations for the cloud services.
+ Label, link, icon, description, and the other similar information for each of the services are
+ given here.
+ -->
+<cloudServices xmlns="http://wso2.com/carbon/cloud/mgt/services">
+ <cloudService name="WSO2 Stratos Controller" default="true">
+ <key>SCC</key>
+ <label>WSO2 Stratos Controller</label>
+ <link>https://scc.cloud.wso2.com</link>
+ <!--icon>
+ https://localhost:9443/cloud-services-icons/esb.gif
+ </icon-->
+ <productPageURL>http://wso2.com/cloud/stratos</productPageURL>
+ <description>WSO2 stratos controller.</description>
+ </cloudService>
+ <cloudService name="WSO2 Cloud Controller" default="true">
+ <key>CC</key>
+ <label>WSO2 Cloud Controller</label>
+ <link>https://cc.cloud.wso2.com</link>
+ <!--icon>
+ https://localhost:9443/cloud-services-icons/esb.gif
+ </icon-->
+ <productPageURL>http://wso2.com/cloud/stratos</productPageURL>
+ <description>WSO2 Cloud Controller.</description>
+ </cloudService>
+ <cloudService name="WSO2 Stratos Agent" default="true">
+ <key>Agent</key>
+ <label>WSO2 Stratos Agent</label>
+ <link>https://cc.cloud.wso2.com</link>
+ <!--icon>
+ https://localhost:9443/cloud-services-icons/esb.gif
+ </icon-->
+ <productPageURL>http://wso2.com/cloud/stratos</productPageURL>
+ <description>WSO2 Stratos Agent.</description>
+ </cloudService>
+ <cloudService name="WSO2 Enterprise Service Bus" default="true">
+ <key>ESB</key>
+ <label>Enterprise Service Bus</label>
+ <link>https://esb.cloud.wso2.com</link>
+ <icon>
+ https://localhost:9443/cloud-services-icons/esb.gif
+ </icon>
+ <productPageURL>http://wso2.com/products/enterprise-service-bus/</productPageURL>
+ <description>Enterprise Service Bus in the cloud.</description>
+ </cloudService>
+ <cloudService name="Application Server" default="true">
+ <key>AS</key>
+ <label>Application Server</label>
+ <link>https://appserver.cloud.wso2.com</link>
+ <icon>
+ https://localhost:9443/cloud-services-icons/appserver.gif
+ </icon>
+ <productPageURL>http://wso2.com/products/application-server/</productPageURL>
+ <description>Application Server in the cloud.</description>
+ </cloudService>
+ <cloudService name="WSO2 Data Services Server" default="true">
+ <key>DSS</key>
+ <label>WSO2 Data Services Server</label>
+ <link>https://dss.cloud.wso2.com</link>
+ <icon>
+ https://localhost:9443/cloud-services-icons/ds.gif
+ </icon>
+ <productPageURL>http://wso2.com/products/data-services-server/</productPageURL>
+ <description>Data Services Server in the cloud.</description>
+ </cloudService>
+ <cloudService name="WSO2 Governance Registry" default="true">
+ <key>Greg</key>
+ <label>Governance</label>
+ <link>https://governance.cloud.wso2.com</link>
+ <description>Governance in the cloud.</description>
+ <icon>
+ https://localhost:9443/cloud-services-icons/governance.gif
+ </icon>
+ <productPageURL>http://wso2.com/products/governance-registry/</productPageURL>
+ </cloudService>
+ <cloudService name="WSO2 Identity Server" default="true">
+ <key>IS</key>
+ <label>WSO2 Identity Server</label>
+ <link>https://identity.cloud.wso2.com</link>
+ <icon>
+ https://localhost:9443/cloud-services-icons/identity.gif
+ </icon>
+ <description>Identity in the cloud.</description>
+ <productPageURL>http://wso2.com/products/identity-server/</productPageURL>
+ </cloudService>
+ <cloudService name="WSO2 Business Activity Monitor" default="true">
+ <label>Business Activity Monitor</label>
+ <link>https://bam.cloud.wso2.com</link>
+ <icon>
+ https://localhost:9443/cloud-services-icons/bam.gif
+ </icon>
+ <description>Business Activity Monitor in the cloud.</description>
+ <productPageURL>http://wso2.com/products/business-activity-monitor/</productPageURL>
+ </cloudService>
+ <cloudService name="WSO2 Business Process Server" default="true">
+ <key>BPS</key>
+ <label>Business Process Server</label>
+ <link>https://bps.cloud.wso2.com</link>
+ <icon>
+ https://localhost:9443/cloud-services-icons/bps.gif
+ </icon>
+ <description>Business Process Server in the cloud.</description>
+ <productPageURL>http://wso2.com/products/business-process-server/</productPageURL>
+ </cloudService>
+ <cloudService name="WSO2 Business Rule Server" default="true">
+ <key>BRS</key>
+ <label>Business Rule Server</label>
+ <link>https://brs.cloud.wso2.com</link>
+ <icon>
+ https://localhost:9443/cloud-services-icons/brs.gif
+ </icon>
+ <description>Business Rules Server in the cloud.</description>
+ <productPageURL>http://wso2.com/products/business-rules-server/</productPageURL>
+ </cloudService>
+ <cloudService name="WSO2 Mashup Server" default="true">
+ <key>MB</key>
+ <label>Mashup Server</label>
+ <link>https://mashup.cloud.wso2.com</link>
+ <icon>
+ https://localhost:9443/cloud-services-icons/mashup.gif
+ </icon>
+ <description>Mashup Server in the cloud.</description>
+ <productPageURL>http://wso2.com/products/mashup-server/</productPageURL>
+ </cloudService>
+ <cloudService name="WSO2 Gadget Server" default="true">
+ <key>GS</key>
+ <label>Gadget Server</label>
+ <link>https://gadget.cloud.wso2.com</link>
+ <icon>
+ https://localhost:9443/cloud-services-icons/gadget.gif
+ </icon>
+ <description>Gadgets in the cloud.</description>
+ <productPageURL>http://wso2.com/products/gadget-server/</productPageURL>
+ </cloudService>
+ <cloudService name="Cloud Gateway" default="true">
+ <key>CG</key>
+ <label>Cloud Gateway</label>
+ <link>https://cg.stratoslive.wso2.com</link>
+ <icon>
+ https://localhost:9443/cloud-services-icons/csg.gif
+ </icon>
+ <description>Cloud Gateway in the cloud.</description>
+ <productPageURL>http://wso2.com/products/cloud-services-gateway/</productPageURL> <!-- FIXME, put the correct project home -->
+ </cloudService>
+ <cloudService name="WSO2 Complex Event Processor" default="true">
+ <key>CEP</key>
+ <label>Complex Event Processor</label>
+ <link>https://cep.cloud.wso2.com</link>
+ <icon>
+ https://localhost:9443/cloud-services-icons/cep.gif
+ </icon>
+ <productPageURL>http://wso2.com/products/complex-event-processing-server/</productPageURL> <!-- FIXME, put the correct project home -->
+ <description>Complex Event Processor in the cloud.</description>
+ </cloudService>
+ <cloudService name="WSO2 Message Broker" default="true">
+ <key>MB</key>
+ <label>Message Broker</label>
+ <link>https://mb.cloud.wso2.com</link>
+ <icon>
+ https://localhost:9443/cloud-services-icons/mb.gif
+ </icon>
+ <productPageURL>http://wso2.com/products/message-broker/</productPageURL>
+ <description>Message Broker in the cloud.</description>
+ </cloudService>
+ <cloudService name="WSO2 Storage Server" default="true">
+ <key>SS</key>
+ <label>WSO2 Storage Server</label>
+ <link>https://ss.stratoslive.wso2.com</link>
+ <icon>
+ https://localhost:9443/cloud-services-icons/ss.gif
+ </icon>
+ <description>WSO2 Storage Server.</description>
+ <productPageURL>http://wso2.com/products/storage-server/</productPageURL>
+ </cloudService>
+</cloudServices>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/conf/datasources.properties
----------------------------------------------------------------------
diff --git a/products/stratos_controller/conf/datasources.properties b/products/stratos_controller/conf/datasources.properties
new file mode 100644
index 0000000..2ef0505
--- /dev/null
+++ b/products/stratos_controller/conf/datasources.properties
@@ -0,0 +1,55 @@
+#
+# Copyright (c) 2005-2010, WSO2 Inc. (http://wso2.com) 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.
+#
+
+################################################################################
+## DataSources Configuration
+################################################################################
+#synapse.datasources=lookupds,reportds
+#synapse.datasources.icFactory=com.sun.jndi.rmi.registry.RegistryContextFactory
+#synapse.datasources.providerPort=2199
+## If following property is present , then assumes that there is an external JNDI provider and will not start a RMI registry
+##synapse.datasources.providerUrl=rmi://localhost:2199
+#
+#synapse.datasources.lookupds.registry=Memory
+#synapse.datasources.lookupds.type=BasicDataSource
+#synapse.datasources.lookupds.driverClassName=org.apache.derby.jdbc.ClientDriver
+#synapse.datasources.lookupds.url=jdbc:derby://localhost:1527/lookupdb;create=false
+## Optionally you can specifiy a specific password provider implementation which overrides any globally configured provider
+#synapse.datasources.lookupds.secretProvider=org.apache.synapse.commons.security.secret.handler.SharedSecretCallbackHandler
+#synapse.datasources.lookupds.username=esb
+## Depending on the password provider used, you may have to use an encrypted password here!
+#synapse.datasources.lookupds.password=esb
+#synapse.datasources.lookupds.dsName=lookupdb
+#synapse.datasources.lookupds.maxActive=100
+#synapse.datasources.lookupds.maxIdle=20
+#synapse.datasources.lookupds.maxWait=10000
+#
+#synapse.datasources.reportds.registry=JNDI
+#synapse.datasources.reportds.type=PerUserPoolDataSource
+#synapse.datasources.reportds.cpdsadapter.factory=org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS
+#synapse.datasources.reportds.cpdsadapter.className=org.apache.commons.dbcp.cpdsadapter.DriverAdapterCPDS
+#synapse.datasources.reportds.cpdsadapter.name=cpds
+#synapse.datasources.reportds.dsName=reportdb
+#synapse.datasources.reportds.driverClassName=org.apache.derby.jdbc.ClientDriver
+#synapse.datasources.reportds.url=jdbc:derby://localhost:1527/reportdb;create=false
+## Optionally you can specifiy a specific password provider implementation which overrides any globally configured provider
+#synapse.datasources.reportds.secretProvider=org.apache.synapse.commons.security.secret.handler.SharedSecretCallbackHandler
+#synapse.datasources.reportds.username=esb
+## Depending on the password provider used, you may have to use an encrypted password here!
+#synapse.datasources.reportds.password=esb
+#synapse.datasources.reportds.maxActive=100
+#synapse.datasources.reportds.maxIdle=20
+#synapse.datasources.reportds.maxWait=10000
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/29f27ad9/products/stratos_controller/conf/email-bill-generated.xml
----------------------------------------------------------------------
diff --git a/products/stratos_controller/conf/email-bill-generated.xml b/products/stratos_controller/conf/email-bill-generated.xml
new file mode 100755
index 0000000..ff49b76
--- /dev/null
+++ b/products/stratos_controller/conf/email-bill-generated.xml
@@ -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.
+ -->
+
+<!--
+ Contains the body of the mail that to be sent when bill generation is completed.
+ -->
+
+<configuration>
+ <subject>[BillGeneration] Bill generation completed</subject>
+ <body>
+Hi ,
+
+Bill generation completed successfully on {date}. Following customers may need your attention.
+
+Customer Name Subscription Plan Carried Forward Balance
+===============================================
+{reported-customers}
+
+Best Regards,
+WSO2 Cloud Services
+http://stratoslive.wso2.com
+ </body>
+</configuration>