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/12 09:53:03 UTC
[10/18] applying 0001-Refactor-throttling-module.patch
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/767082e3/components/org.apache.stratos.throttling.manager/src/test/resources/carbon-home/repository/conf/user-mgt.xml
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.throttling.manager/src/test/resources/carbon-home/repository/conf/user-mgt.xml b/components/org.apache.stratos.throttling.manager/src/test/resources/carbon-home/repository/conf/user-mgt.xml
new file mode 100644
index 0000000..d190d87
--- /dev/null
+++ b/components/org.apache.stratos.throttling.manager/src/test/resources/carbon-home/repository/conf/user-mgt.xml
@@ -0,0 +1,117 @@
+<!--
+ ~ 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.
+ -->
+
+<UserManager>
+ <Realm>
+ <Configuration>
+ <AdminRole>admin</AdminRole>
+ <AdminUser>
+ <UserName>admin</UserName>
+ <Password>admin</Password>
+ </AdminUser>
+ <EveryOneRoleName>everyone</EveryOneRoleName> <!-- By default users in thsi role sees the registry root -->
+ <ReadOnly>false</ReadOnly>
+ <MaxUserNameListLength>500</MaxUserNameListLength>
+ <Property name="url">jdbc:h2:repository/database/WSO2CARBON_DB</Property>
+ <Property name="userName">wso2carbon</Property>
+ <Property name="password">wso2carbon</Property>
+ <Property name="driverName">org.h2.Driver</Property>
+ <Property name="maxActive">50</Property>
+ <Property name="maxWait">60000</Property>
+ <Property name="minIdle">5</Property>
+ </Configuration>
+ <UserStoreManager
+ class="org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager">
+ <!-- Readonly Properties -->
+ <Property name="IsEmailUserName">false</Property>
+ <Property name="DomainCalculation">default</Property>
+ <Property name="SelectUserSQL">SELECT * FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?</Property>
+ <Property name="GetRoleListSQL">SELECT UM_ROLE_NAME FROM UM_ROLE WHERE UM_TENANT_ID=?</Property>
+ <Property name="UserFilterSQL">SELECT UM_USER_NAME FROM UM_USER WHERE UM_USER_NAME LIKE ? AND UM_TENANT_ID=? ORDER BY UM_USER_NAME</Property>
+ <Property name="UserRoleSQL">SELECT UM_ROLE_NAME FROM UM_USER_ROLE, UM_ROLE, UM_USER WHERE UM_USER.UM_USER_NAME=? AND UM_USER.UM_ID=UM_USER_ROLE.UM_USER_ID AND UM_ROLE.UM_ID=UM_USER_ROLE.UM_ROLE_ID AND UM_USER_ROLE.UM_TENANT_ID=? AND UM_ROLE.UM_TENANT_ID=? AND UM_USER.UM_TENANT_ID=?</Property>
+ <Property name="IsRoleExistingSQL">SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND UM_TENANT_ID=?</Property>
+ <Property name="IsUserExistingSQL">SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?</Property>
+ <Property name="GetUserListOfRoleSQL">SELECT UM_USER_NAME FROM UM_USER_ROLE, UM_ROLE, UM_USER WHERE UM_ROLE.UM_ROLE_NAME=? AND UM_USER.UM_ID=UM_USER_ROLE.UM_USER_ID AND UM_ROLE.UM_ID=UM_USER_ROLE.UM_ROLE_ID AND UM_USER_ROLE.UM_TENANT_ID=? AND UM_ROLE.UM_TENANT_ID=? AND UM_USER.UM_TENANT_ID=?</Property>
+ <Property name="GetUserPropertyForProfileSQL">SELECT UM_ATTR_VALUE FROM UM_USER_ATTRIBUTE, UM_USER WHERE UM_USER.UM_ID = UM_USER_ATTRIBUTE.UM_USER_ID AND UM_USER.UM_USER_NAME=? AND UM_ATTR_NAME=? AND UM_PROFILE_ID=? AND UM_USER_ATTRIBUTE.UM_TENANT_ID=? AND UM_USER.UM_TENANT_ID=?</Property>
+ <Property name="GetUserPropertiesForProfileSQL">SELECT UM_ATTR_NAME, UM_ATTR_VALUE FROM UM_USER_ATTRIBUTE, UM_USER WHERE UM_USER.UM_ID = UM_USER_ATTRIBUTE.UM_USER_ID AND UM_USER.UM_USER_NAME=? AND UM_PROFILE_ID=? AND UM_USER_ATTRIBUTE.UM_TENANT_ID=? AND UM_USER.UM_TENANT_ID=?</Property>
+ <Property name="GetProfileNamesSQL">SELECT DISTINCT UM_PROFILE_ID FROM UM_USER_ATTRIBUTE WHERE UM_TENANT_ID=?</Property>
+ <Property name="GetUserProfileNamesSQL">SELECT DISTINCT UM_PROFILE_ID FROM UM_USER_ATTRIBUTE WHERE UM_USER_ID=(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?) AND UM_TENANT_ID=?</Property>
+ <Property name="GetUsersWithDefaultPasswordsSQL">SELECT UM_USER_NAME FROM UM_USER WHERE WHERE UM_USER_NAME=? AND UM_TENANT_ID=?</Property>
+ <Property name="UserNameUniqueAcrossTenantsSQL">SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=?</Property>
+ <Property name="GetUserIDFromUserNameSQL">SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?</Property>
+ <Property name="GetTenantIDFromUserNameSQL">SELECT UM_TENANT_ID FROM UM_USER WHERE UM_USER_NAME=?</Property>
+ <!-- writing sqls follow-->
+ <Property name="PasswordDigest">SHA-256</Property>
+ <Property name="StoreSaltedPassword">true</Property>
+ <Property name="UserNameUniqueAcrossTenants">false</Property>
+ <Property name="PasswordJavaRegEx">[\S]{5,30}$</Property>
+ <Property name="PasswordJavaScriptRegEx">[\\S]{5,30}</Property>
+ <Property name="AddUserSQL">INSERT INTO UM_USER (UM_USER_NAME, UM_USER_PASSWORD, UM_SALT_VALUE, UM_REQUIRE_CHANGE, UM_CHANGED_TIME, UM_TENANT_ID) VALUES (?, ?, ?, ?, ?, ?)</Property>
+ <Property name="AddRoleSQL">INSERT INTO UM_ROLE (UM_ROLE_NAME, UM_TENANT_ID) VALUES (?, ?)</Property>
+ <Property name="AddUserToRoleSQL">INSERT INTO UM_USER_ROLE (UM_USER_ID, UM_ROLE_ID, UM_TENANT_ID) VALUES ((SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?),(SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND UM_TENANT_ID=?), ?)</Property>
+ <Property name="AddUserToRoleSQL-mssql">INSERT INTO UM_USER_ROLE (UM_USER_ID, UM_ROLE_ID, UM_TENANT_ID) SELECT (SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?),(SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND UM_TENANT_ID=?),(?)</Property>
+ <Property name="RemoveUserFromRoleSQL">DELETE FROM UM_USER_ROLE WHERE UM_USER_ID=(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?) AND UM_ROLE_ID=(SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND UM_TENANT_ID=?) AND UM_TENANT_ID=?</Property>
+ <Property name="AddRoleToUserSQL">INSERT INTO UM_USER_ROLE (UM_ROLE_ID, UM_USER_ID, UM_TENANT_ID) VALUES ((SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND UM_TENANT_ID=?),(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?), ?)</Property>
+ <Property name="AddRoleToUserSQL-mssql">INSERT INTO UM_USER_ROLE (UM_ROLE_ID, UM_USER_ID, UM_TENANT_ID) SELECT (SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND UM_TENANT_ID=?),(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?), (?)</Property>
+ <Property name="RemoveRoleFromUserSQL">DELETE FROM UM_USER_ROLE WHERE UM_ROLE_ID=(SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND UM_TENANT_ID=?) AND UM_USER_ID=(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?) AND UM_TENANT_ID=?</Property>
+ <Property name="DeleteRoleSQL">DELETE FROM UM_ROLE WHERE UM_ROLE_NAME = ? AND UM_TENANT_ID=?</Property>
+ <Property name="OnDeleteRoleRemoveUserRoleMappingSQL">DELETE FROM UM_USER_ROLE WHERE UM_ROLE_ID=(SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND UM_TENANT_ID=?) AND UM_TENANT_ID=?</Property>
+ <Property name="OnDeleteUserRemoveUserRoleMappingSQL">DELETE FROM UM_USER_ROLE WHERE UM_USER_ID=(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?) AND UM_TENANT_ID=?</Property>
+ <Property name="OnDeleteUserRemoveUserAttributeSQL">DELETE FROM UM_USER_ATTRIBUTE WHERE UM_USER_ID=(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?) AND UM_TENANT_ID=?</Property>
+ <Property name="DeleteUserSQL">DELETE FROM UM_USER WHERE UM_USER_NAME = ? AND UM_TENANT_ID=?</Property>
+ <Property name="UpdateUserPasswordSQL">UPDATE UM_USER SET UM_USER_PASSWORD= ?, UM_SALT_VALUE=?, UM_REQUIRE_CHANGE=?, UM_CHANGED_TIME=? WHERE UM_USER_NAME= ? AND UM_TENANT_ID=?</Property>
+ <Property name="AddUserPropertySQL">INSERT INTO UM_USER_ATTRIBUTE (UM_USER_ID, UM_ATTR_NAME, UM_ATTR_VALUE, UM_PROFILE_ID, UM_TENANT_ID) VALUES ((SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?), ?, ?, ?, ?)</Property>
+ <Property name="AddUserPropertySQL-mssql">INSERT INTO UM_USER_ATTRIBUTE (UM_USER_ID, UM_ATTR_NAME, UM_ATTR_VALUE, UM_PROFILE_ID, UM_TENANT_ID) SELECT (SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?), (?), (?), (?), (?)</Property>
+ <Property name="UpdateUserPropertySQL">UPDATE UM_USER_ATTRIBUTE SET UM_ATTR_VALUE=? WHERE UM_USER_ID=(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?) AND UM_ATTR_NAME=? AND UM_PROFILE_ID=? AND UM_TENANT_ID=?</Property>
+ <Property name="DeleteUserPropertySQL">DELETE FROM UM_USER_ATTRIBUTE WHERE UM_USER_ID=(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?) AND UM_ATTR_NAME=? AND UM_PROFILE_ID=? AND UM_TENANT_ID=?</Property>
+ </UserStoreManager>
+ <!-- UserStoreManager
+ class="org.wso2.carbon.user.core.ldap.LDAPUserStoreManager">
+ <Property name="ConnectionURL">ldap://localhost:10389</Property>
+ <Property name="ConnectionName">uid=admin,ou=system</Property>
+ <Property name="ConnectionPassword">admin123</Property>
+ <Property name="UserSearchBase">ou=system</Property>
+ <Property name="UserNameListFilter">(objectClass=person)</Property>
+ <Property name="UserNameAttribute">uid</Property>
+ <Property name="ReadLDAPGroups">false</Property>
+ <Property name="GroupSearchBase">ou=system</Property>
+ <Property name="GroupSearchFilter">(objectClass=groupOfNames)</Property>
+ <Property name="GroupNameAttribute">cn</Property>
+ <Property name="MembershipAttribute">member</Property>
+ </UserStoreManager -->
+ <!-- Active directory configuration follows -->
+ <!-- UserStoreManager
+ class="org.wso2.carbon.user.core.ldap.LDAPUserStoreManager">
+ <Property name="ConnectionURL">ldap://10.100.1.211:389</Property>
+ <Property name="ConnectionName">cn=Administrator,cn=users,dc=wso2,dc=lk</Property>
+ <Property name="ConnectionPassword">admin123</Property>
+ <Property name="UserSearchBase">cn=users,dc=wso2,dc=lk</Property>
+ <Property name="UserNameListFilter">(objectClass=person)</Property>
+ <Property name="UserNameAttribute">sAMAccountName</Property>
+ <Property name="ReadLDAPGroups">true</Property>
+ <Property name="GroupSearchBase">cn=users,dc=wso2,dc=lk</Property>
+ <Property name="GroupSearchFilter">(objectcategory=group)</Property>
+ <Property name="GroupNameAttribute">cn</Property>
+ <Property name="MemberOfAttribute">memberOf</Property>
+ </UserStoreManager -->
+ <AuthorizationManager
+ class="org.wso2.carbon.user.core.authorization.JDBCAuthorizationManager">
+ </AuthorizationManager>
+ </Realm>
+</UserManager>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/767082e3/components/org.apache.stratos.throttling.manager/src/test/resources/carbon-home/repository/conf/wrapper.conf
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.throttling.manager/src/test/resources/carbon-home/repository/conf/wrapper.conf b/components/org.apache.stratos.throttling.manager/src/test/resources/carbon-home/repository/conf/wrapper.conf
new file mode 100644
index 0000000..e2f4715
--- /dev/null
+++ b/components/org.apache.stratos.throttling.manager/src/test/resources/carbon-home/repository/conf/wrapper.conf
@@ -0,0 +1,125 @@
+#********************************************************************
+# Wrapper Properties
+#********************************************************************
+# Java Application
+wrapper.java.command=%JAVA_HOME%/bin/java
+
+# set the working directory to the CARBON_HOME
+wrapper.working.dir=../..
+
+# Java Main class. This class must implement the WrapperListener interface
+# or guarantee that the WrapperManager class is initialized. Helper
+# classes are provided to do this for you. See the Integration section
+# of the documentation for details.
+wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
+
+# Java Classpath (include wrapper.jar) Add class path elements as
+# needed starting from 1
+wrapper.java.classpath.1=lib/wrapper-3.2.3.jar
+wrapper.java.classpath.2=lib
+wrapper.java.classpath.3=lib/*.jar
+wrapper.java.classpath.4=lib/patches
+wrapper.java.classpath.5=lib/patches/*.jar
+wrapper.java.classpath.8=repository/conf
+# Java Library Path (location of Wrapper.DLL or libwrapper.so)
+wrapper.java.library.path.1=bin/native
+
+# Java Additional Parameters
+wrapper.java.additional.1=-Xms256m
+wrapper.java.additional.2=-Xmx512m
+wrapper.java.additional.3=-XX:MaxPermSize=128m
+wrapper.java.additional.4=-Dcarbon.home=.
+wrapper.java.additional.5=-Djava.endorsed.dirs=lib/endorsed
+wrapper.java.additional.6=-Dcom.sun.management.jmxremote
+wrapper.java.additional.7=-Dwso2.server.standalone=true
+wrapper.java.additional.8=-Djava.io.tmpdir=tmp
+#wrapper.java.additional.9=-Dlog4j.configuration=repository/conf/log4j.properties
+wrapper.java.additional.9=-Dwso2.transports.xml=repository/conf/mgt-transports.xml
+wrapper.java.additional.10=-Dcarbon.registry.root=/
+
+# Initial Java Heap Size (in MB)
+wrapper.java.initmemory=256
+
+# Maximum Java Heap Size (in MB)
+wrapper.java.maxmemory=512
+
+# Application parameters. Add parameters as needed starting from 1
+wrapper.app.parameter.1=org.wso2.carbon.server.Main
+wrapper.app.parameter.2=RUN
+
+#********************************************************************
+# Wrapper Logging Properties
+#********************************************************************
+# Format of output for the console.
+# (See http://wrapper.tanukisoftware.org/doc/english/prop-console-format.html for formats)
+wrapper.console.format=M
+
+# Log Level for console output. (See docs for log levels)
+wrapper.console.loglevel=INFO
+
+# Log file to use for wrapper output logging.
+wrapper.logfile=./repository/logs/wrapper.log
+
+# Format of output for the log file. (See docs for formats)
+wrapper.logfile.format=LPTM
+
+# Log Level for log file output. (See docs for log levels)
+wrapper.logfile.loglevel=INFO
+
+# Maximum size that the log file will be allowed to grow to before
+# the log is rolled. Size is specified in bytes. The default value
+# of 0, disables log rolling. May abbreviate with the 'k' (kb) or
+# 'm' (mb) suffix. For example: 10m = 10 megabytes.
+wrapper.logfile.maxsize=5m
+
+# Maximum number of rolled log files which will be allowed before old
+# files are deleted. The default value of 0 implies no limit.
+wrapper.logfile.maxfiles=0
+
+# Log Level for sys/event log output. (See docs for log levels)
+wrapper.syslog.loglevel=NONE
+
+#********************************************************************
+# Wrapper Windows Properties
+#********************************************************************
+# Title to use when running as a console
+wrapper.console.title=WSO2 Carbon
+
+#********************************************************************
+# Wrapper Windows NT/2000/XP Service Properties
+#********************************************************************
+# WARNING - Do not modify any of these properties when an application
+# using this configuration file has been installed as a service.
+# Please uninstall the service before modifying this section. The
+# service can then be reinstalled.
+
+# Name of the service
+wrapper.ntservice.name=WSO2Carbon
+
+# Display name of the service
+wrapper.ntservice.displayname=WSO2 Carbon
+
+# Description of the service
+wrapper.ntservice.description=WSO2 Carbon
+
+
+# Service dependencies. Add dependencies as needed starting from 1
+wrapper.ntservice.dependency.1=
+
+# Mode in which the service is installed. AUTO_START or DEMAND_START
+wrapper.ntservice.starttype=AUTO_START
+
+# Allow the service to interact with the desktop.
+wrapper.ntservice.interactive=true
+
+#Setting this property will cause the Wrapper to allocate and display a console
+# window when running as an NT service. The console will only be visible if
+# the wrapper.ntservice.interactive property is also set to true. Defaults to false.
+wrapper.ntservice.console=false
+
+# Specifies the priority at which the Wrapper and its JVM will be run at when
+# run as an NT service or as a console application. Possible values are
+# LOW, BELOW_NORMAL, NORMAL, ABOVE_NORMAL, HIGH, and REALTIME.
+# Defaults to NORMAL. BELOW_NORMAL and ABOVE_NORMAL are not supported on Windows NT, 95 or 98.
+wrapper.ntservice.process_priority=HIGH
+
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/767082e3/components/org.apache.stratos.throttling.manager/src/test/resources/carbon-home/repository/logs/README
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.throttling.manager/src/test/resources/carbon-home/repository/logs/README b/components/org.apache.stratos.throttling.manager/src/test/resources/carbon-home/repository/logs/README
new file mode 100644
index 0000000..8871a93
--- /dev/null
+++ b/components/org.apache.stratos.throttling.manager/src/test/resources/carbon-home/repository/logs/README
@@ -0,0 +1 @@
+CARBON_HOME/repository/logs contains all log files created during execution
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/767082e3/components/org.apache.stratos.throttling.manager/src/test/resources/registry.xml
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.throttling.manager/src/test/resources/registry.xml b/components/org.apache.stratos.throttling.manager/src/test/resources/registry.xml
new file mode 100644
index 0000000..f8a374c
--- /dev/null
+++ b/components/org.apache.stratos.throttling.manager/src/test/resources/registry.xml
@@ -0,0 +1,250 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+ ~ 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.
+ -->
+<wso2registry>
+ <currentDBConfig>h2-db</currentDBConfig>
+
+ <readOnly>false</readOnly>
+ <enableCache>true</enableCache>
+ <registryRoot>/beep</registryRoot>
+
+ <dbConfig name="derby-embedded-db">
+ <url>jdbc:derby:databasetest/CARBON_TEST;create=true</url>
+ <!--userName>su</userName>
+ <password>su</password-->
+ <driverName>org.apache.derby.jdbc.EmbeddedDriver</driverName>
+ <maxActive>80</maxActive>
+ <maxWait>60000</maxWait>
+ <minIdle>5</minIdle>
+ </dbConfig>
+
+ <dbConfig name="in-memory">
+ <url>jdbc:hsqldb:mem:aname</url>
+ <userName>sa</userName>
+ <password/>
+ <driverName>org.hsqldb.jdbcDriver</driverName>
+ </dbConfig>
+
+ <dbConfig name="sample">
+ <url>jdbc:hsqldb:$basedir$/sample/sample-db;shutdown=true</url>
+ <userName>sa</userName>
+ <password/>
+ <driverName>org.hsqldb.jdbcDriver</driverName>
+ </dbConfig>
+
+ <dbConfig name="derby-db">
+ <url>jdbc:derby://localhost:1527/derbyDB;create=true</url>
+ <userName>userName</userName>
+ <password>password</password>
+ <driverName>org.apache.derby.jdbc.ClientDriver</driverName>
+ <maxActive>80</maxActive>
+ <maxWait>60000</maxWait>
+ <minIdle>5</minIdle>
+ </dbConfig>
+
+ <dbConfig name="mysql-db">
+ <url>jdbc:mysql://localhost:3306/regdb</url>
+ <userName>regadmin</userName>
+ <password>regadmin</password>
+ <driverName>com.mysql.jdbc.Driver</driverName>
+ <maxActive>80</maxActive>
+ <maxWait>60000</maxWait>
+ <minIdle>5</minIdle>
+ </dbConfig>
+
+ <dbConfig name="registry-datasource">
+ <dataSource>dataSourceName</dataSource>
+ </dbConfig>
+
+ <dbConfig name="oracle-db">
+ <url>jdbc:oracle:thin:@hostname:1521:registry</url>
+ <userName>username</userName>
+ <password>password</password>
+ <driverName>oracle.jdbc.driver.OracleDriver</driverName>
+ <maxActive>100</maxActive>
+ <maxWait>60000</maxWait>
+ <minIdle>5</minIdle>
+ </dbConfig>
+
+ <dbConfig name="mssql-db">
+ <url>jdbc:jtds:sqlserver://localhost:1433/registry</url>
+ <userName>registry</userName>
+ <password>registry</password>
+ <driverName>net.sourceforge.jtds.jdbc.Driver</driverName>
+ <maxActive>100</maxActive>
+ <maxWait>60000</maxWait>
+ <minIdle>5</minIdle>
+ </dbConfig>
+
+ <dbConfig name="h2-db">
+ <url>jdbc:h2:target/databasetest/CARBON_TEST</url>
+ <!--userName>sa</userName>
+ <password>sa</password-->
+ <driverName>org.h2.Driver</driverName>
+ <maxActive>80</maxActive>
+ <maxWait>60000</maxWait>
+ <minIdle>5</minIdle>
+ </dbConfig>
+
+ <handler class="org.wso2.carbon.registry.extensions.handlers.SynapseRepositoryHandler">
+ <filter class="org.wso2.carbon.registry.core.jdbc.handlers.filters.MediaTypeMatcher">
+ <property name="mediaType">application/vnd.apache.synapse</property>
+ </filter>
+ </handler>
+
+ <handler class="org.wso2.carbon.registry.extensions.handlers.SynapseRepositoryHandler">
+ <filter class="org.wso2.carbon.registry.core.jdbc.handlers.filters.MediaTypeMatcher">
+ <property name="mediaType">application/vnd.wso2.esb</property>
+ </filter>
+ </handler>
+
+ <handler class="org.wso2.carbon.registry.extensions.handlers.Axis2RepositoryHandler">
+ <filter class="org.wso2.carbon.registry.core.jdbc.handlers.filters.MediaTypeMatcher">
+ <property name="mediaType">application/vnd.apache.axis2</property>
+ </filter>
+ </handler>
+
+ <handler class="org.wso2.carbon.registry.extensions.handlers.Axis2RepositoryHandler">
+ <filter class="org.wso2.carbon.registry.core.jdbc.handlers.filters.MediaTypeMatcher">
+ <property name="mediaType">application/vnd.wso2.wsas</property>
+ </filter>
+ </handler>
+
+ <!--handler class="org.wso2.carbon.registry.extensions.handlers.IndexingHandler">
+ <filter class="org.wso2.carbon.registry.core.jdbc.handlers.filters.MediaTypeMatcher">
+ <property name="mediaType">text/plain</property>
+ </filter>
+ </handler>
+
+ <handler class="org.wso2.carbon.registry.extensions.handlers.XMLIndexingHandler">
+ <filter class="org.wso2.carbon.registry.core.jdbc.handlers.filters.MediaTypeMatcher">
+ <property name="mediaType">application/xml</property>
+ </filter>
+ </handler>
+
+ <handler class="org.wso2.carbon.registry.extensions.handlers.PDFIndexingHandler">
+ <filter class="org.wso2.carbon.registry.core.jdbc.handlers.filters.MediaTypeMatcher">
+ <property name="mediaType">application/pdf</property>
+ </filter>
+ </handler>
+
+ <handler class="org.wso2.carbon.registry.extensions.handlers.MSWordIndexingHandler">
+ <filter class="org.wso2.carbon.registry.core.jdbc.handlers.filters.MediaTypeMatcher">
+ <property name="mediaType">application/msword</property>
+ </filter>
+ </handler>
+
+ <handler class="org.wso2.carbon.registry.extensions.handlers.MSExcelIndexingHandler">
+ <filter class="org.wso2.carbon.registry.core.jdbc.handlers.filters.MediaTypeMatcher">
+ <property name="mediaType">application/vnd.ms-excel</property>
+ </filter>
+ </handler>
+
+ <handler class="org.wso2.carbon.registry.extensions.handlers.MSPowerpointIndexingHandler">
+ <filter class="org.wso2.carbon.registry.core.jdbc.handlers.filters.MediaTypeMatcher">
+ <property name="mediaType">application/vnd.ms-powerpoint</property>
+ </filter>
+ </handler-->
+
+ <handler class="org.wso2.carbon.registry.extensions.handlers.WSDLMediaTypeHandler">
+ <property name="schemaLocationConfiguration" type="xml">
+ <location>/test_schemas/</location>
+ </property>
+ <property name="wsdlLocationConfiguration" type="xml">
+ <location>/test_wsdls/</location>
+ </property>
+ <filter class="org.wso2.carbon.registry.core.jdbc.handlers.filters.MediaTypeMatcher">
+ <property name="mediaType">application/wsdl+xml</property>
+ </filter>
+ </handler>
+
+ <handler class="org.wso2.carbon.registry.extensions.handlers.ZipWSDLMediaTypeHandler">
+ <property name="wsdlMediaType">application/wsdl+xml</property>
+ <property name="schemaLocationConfiguration" type="xml">
+ <location>/test_schemas/</location>
+ </property>
+ <property name="wsdlLocationConfiguration" type="xml">
+ <location>/test_wsdls/</location>
+ </property>
+ <filter class="org.wso2.carbon.registry.core.jdbc.handlers.filters.MediaTypeMatcher">
+ <property name="mediaType">application/vnd.wso2.governance-archive</property>
+ </filter>
+ </handler>
+
+ <handler class="org.wso2.carbon.registry.extensions.handlers.ServiceMediaTypeHandler">
+ <filter class="org.wso2.carbon.registry.core.jdbc.handlers.filters.MediaTypeMatcher">
+ <property name="mediaType">application/vnd.wso2-service+xml</property>
+ </filter>
+ </handler>
+
+ <handler class="org.wso2.carbon.registry.extensions.handlers.PolicyMediaTypeHandler">
+ <property name="policyLocationConfiguration" type="xml">
+ <location>/test_policies/</location>
+ </property>
+ <filter class="org.wso2.carbon.registry.core.jdbc.handlers.filters.MediaTypeMatcher">
+ <property name="mediaType">application/policy+xml</property>
+ </filter>
+ </handler>
+
+ <handler class="org.wso2.carbon.registry.extensions.handlers.XSDMediaTypeHandler">
+ <property name="locationConfiguration" type="xml">
+ <locationType>absolute</locationType>
+ <location>/test_schemas/</location>
+ </property>
+ <filter class="org.wso2.carbon.registry.core.jdbc.handlers.filters.MediaTypeMatcher">
+ <property name="mediaType">application/x-xsd+xml</property>
+ </filter>
+ </handler>
+
+ <handler class="org.wso2.carbon.registry.extensions.handlers.EndpointMediaTypeHandler">
+ <property name="endpointMediaType">application/vnd.wso2.endpoint</property>
+ <property name="endpointLocationConfiguration" type="xml">
+ <location>/test_endpoints/</location>
+ </property>
+ <filter class="org.wso2.carbon.registry.extensions.filters.EndpointMediaTypeMatcher">
+ </filter>
+ </handler>
+
+
+ <handler class="org.wso2.carbon.registry.extensions.handlers.ExternalLinkHandler">
+ <filter class="org.wso2.carbon.registry.core.jdbc.handlers.filters.MediaTypeMatcher">
+ <property name="mediaType">application/vnd.wso2-hyperlink</property>
+ </filter>
+ </handler>
+
+ <!--remoteInstance url="https://host:port/registry">
+ <id>instanceid</id>
+ <username>username</username>
+ <password>password</password>
+ </remoteInstance-->
+
+ <staticConfiguration>
+ <versioningProperties>true</versioningProperties>
+ <versioningComments>true</versioningComments>
+ <versioningTags>true</versioningTags>
+ <versioningRatings>true</versioningRatings>
+ <!-- Location you want to add service and default location will be /governance/services/ -->
+ <servicePath>/test_services</servicePath>
+ </staticConfiguration>
+
+
+ <versionResourcesOnChange>true</versionResourcesOnChange>
+
+</wso2registry>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/767082e3/components/org.apache.stratos.throttling.manager/src/test/resources/user-test/adv-jdbc-readonly-test.xml
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.throttling.manager/src/test/resources/user-test/adv-jdbc-readonly-test.xml b/components/org.apache.stratos.throttling.manager/src/test/resources/user-test/adv-jdbc-readonly-test.xml
new file mode 100644
index 0000000..e8e4ebd
--- /dev/null
+++ b/components/org.apache.stratos.throttling.manager/src/test/resources/user-test/adv-jdbc-readonly-test.xml
@@ -0,0 +1,60 @@
+<!--
+ ~ 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.
+ -->
+<UserManager>
+ <Realm>
+ <Configuration>
+ <AdminRole>adminx</AdminRole>
+ <AdminUser>
+ <UserName>adminx</UserName>
+ <Password>adminy</Password>
+ </AdminUser>
+ <EveryOneRoleName>everyonex</EveryOneRoleName>
+ <ReadOnly>true</ReadOnly>
+ <MaxUserNameListLength>500</MaxUserNameListLength>
+ <Property name="url">jdbc:h2:target/advjdbcrotest/CARBON_TEST</Property>
+ <Property name="driverName">org.h2.Driver</Property>
+ <Property name="maxActive">50</Property>
+ <Property name="maxWait">60000</Property>
+ <Property name="minIdle">5</Property>
+ </Configuration>
+ <UserStoreManager
+ class="org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager">
+ <Property name="url">jdbc:h2:target/advjdbcrotest/CARBON_TEST</Property>
+ <Property name="driverName">org.h2.Driver</Property>
+ <Property name="maxActive">50</Property>
+ <Property name="maxWait">60000</Property>
+ <Property name="minIdle">5</Property>
+ <Property name="PasswordDigest">MD5</Property>
+ <Property name="GetPasswordSQL">SELECT * FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?</Property>
+ <Property name="GetRoleListSQL">SELECT UM_ROLE_NAME FROM UM_ROLE WHERE UM_TENANT_ID=?</Property>
+ <Property name="UserFilterSQL">SELECT UM_USER_NAME FROM UM_USER WHERE UM_USER_NAME LIKE ? AND UM_TENANT_ID=? ORDER BY UM_USER_NAME</Property>
+ <Property name="UserRoleSQL">SELECT UM_ROLE_NAME FROM UM_USER_ROLE, UM_ROLE, UM_USER WHERE UM_USER.UM_USER_NAME=? AND UM_USER.UM_ID=UM_USER_ROLE.UM_USER_ID AND UM_ROLE.UM_ID=UM_USER_ROLE.UM_ROLE_ID AND UM_USER_ROLE.UM_TENANT_ID=? AND UM_ROLE.UM_TENANT_ID=? AND UM_USER.UM_TENANT_ID=?</Property>
+ <Property name="IsRoleExistingSQL">SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND UM_TENANT_ID=?</Property>
+ <Property name="IsUserExistingSQL">SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?</Property>
+ <Property name="GetUserListOfRoleSQL">SELECT UM_USER_NAME FROM UM_USER_ROLE, UM_ROLE, UM_USER WHERE UM_ROLE.UM_ROLE_NAME=? AND UM_USER.UM_ID=UM_USER_ROLE.UM_USER_ID AND UM_ROLE.UM_ID=UM_USER_ROLE.UM_ROLE_ID AND UM_USER_ROLE.UM_TENANT_ID=? AND UM_ROLE.UM_TENANT_ID=? AND UM_USER.UM_TENANT_ID=?</Property>
+ <Property name="GetUserPropertyForProfileSQL">SELECT UM_ATTR_VALUE FROM UM_USER_ATTRIBUTE, UM_USER WHERE UM_USER.UM_ID = UM_USER_ATTRIBUTE.UM_USER_ID AND UM_USER.UM_USER_NAME=? AND UM_ATTR_NAME=? AND UM_PROFILE_ID=? AND UM_USER_ATTRIBUTE.UM_TENANT_ID=? AND UM_USER.UM_TENANT_ID=?</Property>
+ <Property name="GetUserPropertiesForProfileSQL">SELECT UM_ATTR_NAME, UM_ATTR_VALUE FROM UM_USER_ATTRIBUTE, UM_USER WHERE UM_USER.UM_ID = UM_USER_ATTRIBUTE.UM_USER_ID AND UM_USER.UM_USER_NAME=? AND UM_PROFILE_ID=? AND UM_USER_ATTRIBUTE.UM_TENANT_ID=? AND UM_USER.UM_TENANT_ID=?</Property>
+ <Property name="GetProfileNamesSQL">SELECT DISTINCT UM_PROFILE_ID FROM UM_USER_ATTRIBUTE WHERE UM_TENANT_ID=?</Property>
+ <Property name="PasswordDigest">MD5</Property>
+ </UserStoreManager>
+ <AuthorizationManager
+ class="org.wso2.carbon.user.core.authorization.JDBCAuthorizationManager"></AuthorizationManager>
+ </Realm>
+</UserManager>
+
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/767082e3/components/org.apache.stratos.throttling.manager/src/test/resources/user-test/jdbc-readonly-test.xml
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.throttling.manager/src/test/resources/user-test/jdbc-readonly-test.xml b/components/org.apache.stratos.throttling.manager/src/test/resources/user-test/jdbc-readonly-test.xml
new file mode 100644
index 0000000..d2f931c
--- /dev/null
+++ b/components/org.apache.stratos.throttling.manager/src/test/resources/user-test/jdbc-readonly-test.xml
@@ -0,0 +1,60 @@
+<!--
+ ~ 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.
+ -->
+<UserManager>
+ <Realm>
+ <Configuration>
+ <AdminRole>adminx</AdminRole>
+ <AdminUser>
+ <UserName>adminx</UserName>
+ <Password>adminy</Password>
+ </AdminUser>
+ <SystemUserName>system</SystemUserName>
+ <EveryOneRoleName>everyonex</EveryOneRoleName>
+ <ReadOnly>true</ReadOnly>
+ <MaxUserNameListLength>500</MaxUserNameListLength>
+ <Property name="url">jdbc:h2:target/ReadOnlyTest/CARBON_TEST</Property>
+ <Property name="driverName">org.h2.Driver</Property>
+ <Property name="maxActive">50</Property>
+ <Property name="maxWait">60000</Property>
+ <Property name="minIdle">5</Property>
+ </Configuration>
+ <UserStoreManager
+ class="org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager">
+ <Property name="url">jdbc:h2:target/ReadOnlyTest/CARBON_TEST</Property>
+ <Property name="driverName">org.h2.Driver</Property>
+ <Property name="maxActive">50</Property>
+ <Property name="maxWait">60000</Property>
+ <Property name="minIdle">5</Property>
+ <Property name="PasswordDigest">MD5</Property>
+ <Property name="GetPasswordSQL">SELECT * FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?</Property>
+ <Property name="GetRoleListSQL">SELECT UM_ROLE_NAME FROM UM_ROLE WHERE UM_TENANT_ID=?</Property>
+ <Property name="UserFilterSQL">SELECT UM_USER_NAME FROM UM_USER WHERE UM_USER_NAME LIKE ? AND UM_TENANT_ID=? ORDER BY UM_USER_NAME</Property>
+ <Property name="UserRoleSQL">SELECT UM_ROLE_NAME FROM UM_USER_ROLE, UM_ROLE, UM_USER WHERE UM_USER.UM_USER_NAME=? AND UM_USER.UM_ID=UM_USER_ROLE.UM_USER_ID AND UM_ROLE.UM_ID=UM_USER_ROLE.UM_ROLE_ID AND UM_USER_ROLE.UM_TENANT_ID=? AND UM_ROLE.UM_TENANT_ID=? AND UM_USER.UM_TENANT_ID=?</Property>
+ <Property name="IsRoleExistingSQL">SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND UM_TENANT_ID=?</Property>
+ <Property name="IsUserExistingSQL">SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?</Property>
+ <Property name="GetUserListOfRoleSQL">SELECT UM_USER_NAME FROM UM_USER_ROLE, UM_ROLE, UM_USER WHERE UM_ROLE.UM_ROLE_NAME=? AND UM_USER.UM_ID=UM_USER_ROLE.UM_USER_ID AND UM_ROLE.UM_ID=UM_USER_ROLE.UM_ROLE_ID AND UM_USER_ROLE.UM_TENANT_ID=? AND UM_ROLE.UM_TENANT_ID=? AND UM_USER.UM_TENANT_ID=?</Property>
+ <Property name="GetUserPropertyForProfileSQL">SELECT UM_ATTR_VALUE FROM UM_USER_ATTRIBUTE, UM_USER WHERE UM_USER.UM_ID = UM_USER_ATTRIBUTE.UM_USER_ID AND UM_USER.UM_USER_NAME=? AND UM_ATTR_NAME=? AND UM_PROFILE_ID=? AND UM_USER_ATTRIBUTE.UM_TENANT_ID=? AND UM_USER.UM_TENANT_ID=?</Property>
+ <Property name="GetUserPropertiesForProfileSQL">SELECT UM_ATTR_NAME, UM_ATTR_VALUE FROM UM_USER_ATTRIBUTE, UM_USER WHERE UM_USER.UM_ID = UM_USER_ATTRIBUTE.UM_USER_ID AND UM_USER.UM_USER_NAME=? AND UM_PROFILE_ID=? AND UM_USER_ATTRIBUTE.UM_TENANT_ID=? AND UM_USER.UM_TENANT_ID=?</Property>
+ <Property name="GetProfileNamesSQL">SELECT DISTINCT UM_PROFILE_ID FROM UM_USER_ATTRIBUTE WHERE UM_TENANT_ID=?</Property>
+ <Property name="PasswordDigest">SHA-256</Property>
+ </UserStoreManager>
+ <AuthorizationManager
+ class="org.wso2.carbon.user.core.authorization.JDBCAuthorizationManager"></AuthorizationManager>
+ </Realm>
+</UserManager>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/767082e3/components/org.apache.stratos.throttling.manager/src/test/resources/user-test/user-mgt-registry-test.xml
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.throttling.manager/src/test/resources/user-test/user-mgt-registry-test.xml b/components/org.apache.stratos.throttling.manager/src/test/resources/user-test/user-mgt-registry-test.xml
new file mode 100644
index 0000000..57f1973
--- /dev/null
+++ b/components/org.apache.stratos.throttling.manager/src/test/resources/user-test/user-mgt-registry-test.xml
@@ -0,0 +1,95 @@
+<!--
+ ~ 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.
+ -->
+<UserManager>
+ <Realm>
+ <Configuration>
+ <AdminRole>admin</AdminRole>
+ <AdminUser>
+ <UserName>admin</UserName>
+ <Password>admin</Password>
+ </AdminUser>
+ <EveryOneRoleName>everyone</EveryOneRoleName>
+ <ReadOnly>false</ReadOnly>
+ <MaxUserNameListLength>500</MaxUserNameListLength>
+ <Property name="url">jdbc:h2:target/databasetest/CARBON_TEST</Property>
+ <Property name="driverName">org.h2.Driver</Property>
+ <Property name="maxActive">50</Property>
+ <Property name="maxWait">60000</Property>
+ <Property name="minIdle">5</Property>
+ </Configuration>
+ <UserStoreManager
+ class="org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager">
+ <Property name="PasswordJavaRegEx">[\S]{5,30}$</Property>
+ <Property name="PasswordJavaScriptRegEx">[\\S]{5,30}</Property>
+ <Property name="SelectUserSQL">SELECT * FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?</Property>
+ <Property name="GetRoleListSQL">SELECT UM_ROLE_NAME FROM UM_ROLE WHERE UM_TENANT_ID=?</Property>
+ <Property name="UserFilterSQL">SELECT UM_USER_NAME FROM UM_USER WHERE UM_USER_NAME LIKE ? AND UM_TENANT_ID=? ORDER BY UM_USER_NAME</Property>
+ <Property name="UserRoleSQL">SELECT UM_ROLE_NAME FROM UM_USER_ROLE, UM_ROLE, UM_USER WHERE UM_USER.UM_USER_NAME=? AND UM_USER.UM_ID=UM_USER_ROLE.UM_USER_ID AND UM_ROLE.UM_ID=UM_USER_ROLE.UM_ROLE_ID AND UM_USER_ROLE.UM_TENANT_ID=? AND UM_ROLE.UM_TENANT_ID=? AND UM_USER.UM_TENANT_ID=?</Property>
+ <Property name="IsRoleExistingSQL">SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND UM_TENANT_ID=?</Property>
+ <Property name="IsUserExistingSQL">SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?</Property>
+ <Property name="GetUserListOfRoleSQL">SELECT UM_USER_NAME FROM UM_USER_ROLE, UM_ROLE, UM_USER WHERE UM_ROLE.UM_ROLE_NAME=? AND UM_USER.UM_ID=UM_USER_ROLE.UM_USER_ID AND UM_ROLE.UM_ID=UM_USER_ROLE.UM_ROLE_ID AND UM_USER_ROLE.UM_TENANT_ID=? AND UM_ROLE.UM_TENANT_ID=? AND UM_USER.UM_TENANT_ID=?</Property>
+ <Property name="GetUserPropertyForProfileSQL">SELECT UM_ATTR_VALUE FROM UM_USER_ATTRIBUTE, UM_USER WHERE UM_USER.UM_ID = UM_USER_ATTRIBUTE.UM_USER_ID AND UM_USER.UM_USER_NAME=? AND UM_ATTR_NAME=? AND UM_PROFILE_ID=? AND UM_USER_ATTRIBUTE.UM_TENANT_ID=? AND UM_USER.UM_TENANT_ID=?</Property>
+ <Property name="GetUserPropertiesForProfileSQL">SELECT UM_ATTR_NAME, UM_ATTR_VALUE FROM UM_USER_ATTRIBUTE, UM_USER WHERE UM_USER.UM_ID = UM_USER_ATTRIBUTE.UM_USER_ID AND UM_USER.UM_USER_NAME=? AND UM_PROFILE_ID=? AND UM_USER_ATTRIBUTE.UM_TENANT_ID=? AND UM_USER.UM_TENANT_ID=?</Property>
+ <Property name="GetProfileNamesSQL">SELECT DISTINCT UM_PROFILE_ID FROM UM_USER_ATTRIBUTE WHERE UM_TENANT_ID=?</Property>
+ <Property name="GetUserProfileNamesSQL">SELECT DISTINCT UM_PROFILE_ID FROM UM_USER_ATTRIBUTE WHERE UM_USER_ID=(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?) AND UM_TENANT_ID=?</Property>
+ <Property name="GetUsersWithDefaultPasswordsSQL">SELECT UM_USER_NAME FROM UM_USER WHERE WHERE UM_USER_NAME=? AND UM_TENANT_ID=?</Property>
+ <Property name="UserNameUniqueAcrossTenantsSQL">SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=?</Property>
+ <Property name="GetUserIDFromUserNameSQL">SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?</Property>
+ <Property name="GetTenantIDFromUserNameSQL">SELECT UM_TENANT_ID FROM UM_USER WHERE UM_USER_NAME=?</Property>
+ <Property name="PasswordDigest">SHA-256</Property>
+ <Property name="StoreSaltedPassword">true</Property>
+ <Property name="UserNameUniqueAcrossTenants">false</Property>
+ <Property name="IsEmailUserName">false</Property>
+ <Property name="SuperDomain">wso2.com</Property>
+ <Property name="IsUsersOfRoleListing">true</Property>
+ <!-- writing sqls follow-->
+ <Property name="AddUserSQL">INSERT INTO UM_USER (UM_USER_NAME, UM_USER_PASSWORD, UM_SALT_VALUE, UM_REQUIRE_CHANGE, UM_CHANGED_TIME, UM_TENANT_ID) VALUES (?, ?, ?, ?, ?, ?)</Property>
+ <Property name="AddRoleSQL">INSERT INTO UM_ROLE (UM_ROLE_NAME, UM_TENANT_ID) VALUES (?, ?)</Property>
+ <Property name="AddUserToRoleSQL">INSERT INTO UM_USER_ROLE (UM_USER_ID, UM_ROLE_ID, UM_TENANT_ID) VALUES ((SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?),(SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND UM_TENANT_ID=?), ?)</Property>
+ <Property name="AddUserToRoleSQL-mssql">INSERT INTO UM_USER_ROLE (UM_USER_ID, UM_ROLE_ID, UM_TENANT_ID) SELECT (SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?),(SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND UM_TENANT_ID=?),(?)</Property>
+ <Property name="RemoveUserFromRoleSQL">DELETE FROM UM_USER_ROLE WHERE UM_USER_ID=(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?) AND UM_ROLE_ID=(SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND UM_TENANT_ID=?) AND UM_TENANT_ID=?</Property>
+ <Property name="AddRoleToUserSQL">INSERT INTO UM_USER_ROLE (UM_ROLE_ID, UM_USER_ID, UM_TENANT_ID) VALUES ((SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND UM_TENANT_ID=?),(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?), ?)</Property>
+ <Property name="AddRoleToUserSQL-mssql">INSERT INTO UM_USER_ROLE (UM_ROLE_ID, UM_USER_ID, UM_TENANT_ID) SELECT (SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND UM_TENANT_ID=?),(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?), (?)</Property>
+ <Property name="RemoveRoleFromUserSQL">DELETE FROM UM_USER_ROLE WHERE UM_ROLE_ID=(SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND UM_TENANT_ID=?) AND UM_USER_ID=(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?) AND UM_TENANT_ID=?</Property>
+ <Property name="DeleteRoleSQL">DELETE FROM UM_ROLE WHERE UM_ROLE_NAME = ? AND UM_TENANT_ID=?</Property>
+ <Property name="OnDeleteRoleRemoveUserRoleMappingSQL">DELETE FROM UM_USER_ROLE WHERE UM_ROLE_ID=(SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND UM_TENANT_ID=?) AND UM_TENANT_ID=?</Property>
+ <Property name="OnDeleteUserRemoveUserRoleMappingSQL">DELETE FROM UM_USER_ROLE WHERE UM_USER_ID=(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?) AND UM_TENANT_ID=?</Property>
+ <Property name="OnDeleteUserRemoveUserAttributeSQL">DELETE FROM UM_USER_ATTRIBUTE WHERE UM_USER_ID=(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?) AND UM_TENANT_ID=?</Property>
+ <Property name="DeleteUserSQL">DELETE FROM UM_USER WHERE UM_USER_NAME = ? AND UM_TENANT_ID=?</Property>
+ <Property name="UpdateUserPasswordSQL">UPDATE UM_USER SET UM_USER_PASSWORD= ?, UM_SALT_VALUE=?, UM_REQUIRE_CHANGE=?, UM_CHANGED_TIME=? WHERE UM_USER_NAME= ? AND UM_TENANT_ID=?</Property>
+ <Property name="AddUserPropertySQL">INSERT INTO UM_USER_ATTRIBUTE (UM_USER_ID, UM_ATTR_NAME, UM_ATTR_VALUE, UM_PROFILE_ID, UM_TENANT_ID) VALUES ((SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?), ?, ?, ?, ?)</Property>
+ <Property name="AddUserPropertySQL-mssql">INSERT INTO UM_USER_ATTRIBUTE (UM_USER_ID, UM_ATTR_NAME, UM_ATTR_VALUE, UM_PROFILE_ID, UM_TENANT_ID) SELECT (SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?), (?), (?), (?), (?)</Property>
+ <Property name="UpdateUserPropertySQL">UPDATE UM_USER_ATTRIBUTE SET UM_ATTR_VALUE=? WHERE UM_USER_ID=(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?) AND UM_ATTR_NAME=? AND UM_PROFILE_ID=? AND UM_TENANT_ID=?</Property>
+ <Property name="DeleteUserPropertySQL">DELETE FROM UM_USER_ATTRIBUTE WHERE UM_USER_ID=(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?) AND UM_ATTR_NAME=? AND UM_PROFILE_ID=? AND UM_TENANT_ID=?</Property>
+ </UserStoreManager>
+ <AuthorizationManager
+ class="org.wso2.carbon.user.core.authorization.JDBCAuthorizationManager"></AuthorizationManager>
+ </Realm>
+ <SystemPermission>
+ <Permission>login</Permission>
+ <Permission>manage-configuration</Permission>
+ <Permission>manage-security</Permission>
+ <Permission>upload-services</Permission>
+ <Permission>manage-services</Permission>
+ <Permission>manage-lc-configuration</Permission>
+ <Permission>manage-mediation</Permission>
+ <Permission>monitor-system</Permission>
+ <Permission>delegate-identity</Permission>
+ </SystemPermission>
+</UserManager>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/767082e3/components/org.apache.stratos.throttling.manager/src/test/resources/user-test/user-mgt-test.xml
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.throttling.manager/src/test/resources/user-test/user-mgt-test.xml b/components/org.apache.stratos.throttling.manager/src/test/resources/user-test/user-mgt-test.xml
new file mode 100644
index 0000000..3663a7f
--- /dev/null
+++ b/components/org.apache.stratos.throttling.manager/src/test/resources/user-test/user-mgt-test.xml
@@ -0,0 +1,96 @@
+<!--
+ ~ 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.
+ -->
+<UserManager>
+ <Realm>
+ <Configuration>
+ <AdminRole>admin</AdminRole>
+ <AdminUser>
+ <UserName>admin</UserName>
+ <Password>admin</Password>
+ </AdminUser>
+ <EveryOneRoleName>everyone</EveryOneRoleName>
+ <ReadOnly>false</ReadOnly>
+ <MaxUserNameListLength>500</MaxUserNameListLength>
+ <!-- Property name="url"> Different test cases must have different urls.
+ Because creating the database in same directory while running TestCase after another gives errors in some architectures</Property-->
+ <Property name="driverName">org.h2.Driver</Property>
+ <Property name="maxActive">50</Property>
+ <Property name="maxWait">60000</Property>
+ <Property name="minIdle">5</Property>
+ </Configuration>
+ <UserStoreManager
+ class="org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager">
+ <Property name="PasswordJavaRegEx">[\S]{5,30}$</Property>
+ <Property name="PasswordJavaScriptRegEx">[\\S]{5,30}</Property>
+ <Property name="SelectUserSQL">SELECT * FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?</Property>
+ <Property name="GetRoleListSQL">SELECT UM_ROLE_NAME FROM UM_ROLE WHERE UM_TENANT_ID=?</Property>
+ <Property name="UserFilterSQL">SELECT UM_USER_NAME FROM UM_USER WHERE UM_USER_NAME LIKE ? AND UM_TENANT_ID=? ORDER BY UM_USER_NAME</Property>
+ <Property name="UserRoleSQL">SELECT UM_ROLE_NAME FROM UM_USER_ROLE, UM_ROLE, UM_USER WHERE UM_USER.UM_USER_NAME=? AND UM_USER.UM_ID=UM_USER_ROLE.UM_USER_ID AND UM_ROLE.UM_ID=UM_USER_ROLE.UM_ROLE_ID AND UM_USER_ROLE.UM_TENANT_ID=? AND UM_ROLE.UM_TENANT_ID=? AND UM_USER.UM_TENANT_ID=?</Property>
+ <Property name="IsRoleExistingSQL">SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND UM_TENANT_ID=?</Property>
+ <Property name="IsUserExistingSQL">SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?</Property>
+ <Property name="GetUserListOfRoleSQL">SELECT UM_USER_NAME FROM UM_USER_ROLE, UM_ROLE, UM_USER WHERE UM_ROLE.UM_ROLE_NAME=? AND UM_USER.UM_ID=UM_USER_ROLE.UM_USER_ID AND UM_ROLE.UM_ID=UM_USER_ROLE.UM_ROLE_ID AND UM_USER_ROLE.UM_TENANT_ID=? AND UM_ROLE.UM_TENANT_ID=? AND UM_USER.UM_TENANT_ID=?</Property>
+ <Property name="GetUserPropertyForProfileSQL">SELECT UM_ATTR_VALUE FROM UM_USER_ATTRIBUTE, UM_USER WHERE UM_USER.UM_ID = UM_USER_ATTRIBUTE.UM_USER_ID AND UM_USER.UM_USER_NAME=? AND UM_ATTR_NAME=? AND UM_PROFILE_ID=? AND UM_USER_ATTRIBUTE.UM_TENANT_ID=? AND UM_USER.UM_TENANT_ID=?</Property>
+ <Property name="GetUserPropertiesForProfileSQL">SELECT UM_ATTR_NAME, UM_ATTR_VALUE FROM UM_USER_ATTRIBUTE, UM_USER WHERE UM_USER.UM_ID = UM_USER_ATTRIBUTE.UM_USER_ID AND UM_USER.UM_USER_NAME=? AND UM_PROFILE_ID=? AND UM_USER_ATTRIBUTE.UM_TENANT_ID=? AND UM_USER.UM_TENANT_ID=?</Property>
+ <Property name="GetProfileNamesSQL">SELECT DISTINCT UM_PROFILE_ID FROM UM_USER_ATTRIBUTE WHERE UM_TENANT_ID=?</Property>
+ <Property name="GetUserProfileNamesSQL">SELECT DISTINCT UM_PROFILE_ID FROM UM_USER_ATTRIBUTE WHERE UM_USER_ID=(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?) AND UM_TENANT_ID=?</Property>
+ <Property name="GetUsersWithDefaultPasswordsSQL">SELECT UM_USER_NAME FROM UM_USER WHERE WHERE UM_USER_NAME=? AND UM_TENANT_ID=?</Property>
+ <Property name="UserNameUniqueAcrossTenantsSQL">SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=?</Property>
+ <Property name="GetUserIDFromUserNameSQL">SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?</Property>
+ <Property name="GetTenantIDFromUserNameSQL">SELECT UM_TENANT_ID FROM UM_USER WHERE UM_USER_NAME=?</Property>
+ <Property name="PasswordDigest">SHA-256</Property>
+ <Property name="StoreSaltedPassword">true</Property>
+ <Property name="UserNameUniqueAcrossTenants">false</Property>
+ <Property name="IsEmailUserName">false</Property>
+ <Property name="SuperDomain">wso2.com</Property>
+ <Property name="IsUsersOfRoleListing">true</Property>
+ <!-- writing sqls follow-->
+ <Property name="AddUserSQL">INSERT INTO UM_USER (UM_USER_NAME, UM_USER_PASSWORD, UM_SALT_VALUE, UM_REQUIRE_CHANGE, UM_CHANGED_TIME, UM_TENANT_ID) VALUES (?, ?, ?, ?, ?, ?)</Property>
+ <Property name="AddRoleSQL">INSERT INTO UM_ROLE (UM_ROLE_NAME, UM_TENANT_ID) VALUES (?, ?)</Property>
+ <Property name="AddUserToRoleSQL">INSERT INTO UM_USER_ROLE (UM_USER_ID, UM_ROLE_ID, UM_TENANT_ID) VALUES ((SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?),(SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND UM_TENANT_ID=?), ?)</Property>
+ <Property name="AddUserToRoleSQL-mssql">INSERT INTO UM_USER_ROLE (UM_USER_ID, UM_ROLE_ID, UM_TENANT_ID) SELECT (SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?),(SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND UM_TENANT_ID=?),(?)</Property>
+ <Property name="RemoveUserFromRoleSQL">DELETE FROM UM_USER_ROLE WHERE UM_USER_ID=(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?) AND UM_ROLE_ID=(SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND UM_TENANT_ID=?) AND UM_TENANT_ID=?</Property>
+ <Property name="AddRoleToUserSQL">INSERT INTO UM_USER_ROLE (UM_ROLE_ID, UM_USER_ID, UM_TENANT_ID) VALUES ((SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND UM_TENANT_ID=?),(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?), ?)</Property>
+ <Property name="AddRoleToUserSQL-mssql">INSERT INTO UM_USER_ROLE (UM_ROLE_ID, UM_USER_ID, UM_TENANT_ID) SELECT (SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND UM_TENANT_ID=?),(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?), (?)</Property>
+ <Property name="RemoveRoleFromUserSQL">DELETE FROM UM_USER_ROLE WHERE UM_ROLE_ID=(SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND UM_TENANT_ID=?) AND UM_USER_ID=(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?) AND UM_TENANT_ID=?</Property>
+ <Property name="DeleteRoleSQL">DELETE FROM UM_ROLE WHERE UM_ROLE_NAME = ? AND UM_TENANT_ID=?</Property>
+ <Property name="OnDeleteRoleRemoveUserRoleMappingSQL">DELETE FROM UM_USER_ROLE WHERE UM_ROLE_ID=(SELECT UM_ID FROM UM_ROLE WHERE UM_ROLE_NAME=? AND UM_TENANT_ID=?) AND UM_TENANT_ID=?</Property>
+ <Property name="OnDeleteUserRemoveUserRoleMappingSQL">DELETE FROM UM_USER_ROLE WHERE UM_USER_ID=(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?) AND UM_TENANT_ID=?</Property>
+ <Property name="OnDeleteUserRemoveUserAttributeSQL">DELETE FROM UM_USER_ATTRIBUTE WHERE UM_USER_ID=(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?) AND UM_TENANT_ID=?</Property>
+ <Property name="DeleteUserSQL">DELETE FROM UM_USER WHERE UM_USER_NAME = ? AND UM_TENANT_ID=?</Property>
+ <Property name="UpdateUserPasswordSQL">UPDATE UM_USER SET UM_USER_PASSWORD= ?, UM_SALT_VALUE=?, UM_REQUIRE_CHANGE=?, UM_CHANGED_TIME=? WHERE UM_USER_NAME= ? AND UM_TENANT_ID=?</Property>
+ <Property name="AddUserPropertySQL">INSERT INTO UM_USER_ATTRIBUTE (UM_USER_ID, UM_ATTR_NAME, UM_ATTR_VALUE, UM_PROFILE_ID, UM_TENANT_ID) VALUES ((SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?), ?, ?, ?, ?)</Property>
+ <Property name="AddUserPropertySQL-mssql">INSERT INTO UM_USER_ATTRIBUTE (UM_USER_ID, UM_ATTR_NAME, UM_ATTR_VALUE, UM_PROFILE_ID, UM_TENANT_ID) SELECT (SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?), (?), (?), (?), (?)</Property>
+ <Property name="UpdateUserPropertySQL">UPDATE UM_USER_ATTRIBUTE SET UM_ATTR_VALUE=? WHERE UM_USER_ID=(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?) AND UM_ATTR_NAME=? AND UM_PROFILE_ID=? AND UM_TENANT_ID=?</Property>
+ <Property name="DeleteUserPropertySQL">DELETE FROM UM_USER_ATTRIBUTE WHERE UM_USER_ID=(SELECT UM_ID FROM UM_USER WHERE UM_USER_NAME=? AND UM_TENANT_ID=?) AND UM_ATTR_NAME=? AND UM_PROFILE_ID=? AND UM_TENANT_ID=?</Property>
+ </UserStoreManager>
+ <AuthorizationManager
+ class="org.wso2.carbon.user.core.authorization.JDBCAuthorizationManager"></AuthorizationManager>
+ </Realm>
+ <SystemPermission>
+ <Permission>login</Permission>
+ <Permission>manage-configuration</Permission>
+ <Permission>manage-security</Permission>
+ <Permission>upload-services</Permission>
+ <Permission>manage-services</Permission>
+ <Permission>manage-lc-configuration</Permission>
+ <Permission>manage-mediation</Permission>
+ <Permission>monitor-system</Permission>
+ <Permission>delegate-identity</Permission>
+ </SystemPermission>
+</UserManager>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/767082e3/components/org.apache.stratos.throttling.ui/pom.xml
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.throttling.ui/pom.xml b/components/org.apache.stratos.throttling.ui/pom.xml
new file mode 100644
index 0000000..784042b
--- /dev/null
+++ b/components/org.apache.stratos.throttling.ui/pom.xml
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ # Licensed to the Apache Software Foundation (ASF) under one
+ # or more contributor license agreements. See the NOTICE file
+ # distributed with this work for additional information
+ # regarding copyright ownership. The ASF licenses this file
+ # to you under the Apache License, Version 2.0 (the
+ # "License"); you may not use this file except in compliance
+ # with the License. You may obtain a copy of the License at
+ #
+ # http://www.apache.org/licenses/LICENSE-2.0
+ #
+ # Unless required by applicable law or agreed to in writing,
+ # software distributed under the License is distributed on an
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ # KIND, either express or implied. See the License for the
+ # specific language governing permissions and limitations
+ # under the License.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.apache.stratos</groupId>
+ <artifactId>stratos-components-parent</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ </parent>
+
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>org.apache.stratos.throttling.ui</artifactId>
+ <packaging>bundle</packaging>
+ <name>Apache Stratos - Throttling - User Interface</name>
+
+ <build>
+ <plugins>
+ <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.throttling.ui.*,
+ </Export-Package>
+ <Import-Package>
+ org.wso2.carbon.throttling.stub.*; version="${carbon.platform.package.import.version.range}",
+ javax.servlet;version="${imp.pkg.version.javax.servlet}",
+ javax.servlet.http;version="${imp.pkg.version.javax.servlet}",
+ !javax.xml.namespace,
+ javax.xml.namespace; version=0.0.0,
+ org.apache.lucene.*,
+ *;resolution:=optional
+ </Import-Package>
+ <Carbon-Component>UIBundle</Carbon-Component>
+ </instructions>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-codec.wso2</groupId>
+ <artifactId>commons-codec</artifactId>
+ <version>1.4.0.wso2v1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.wso2.carbon</groupId>
+ <artifactId>org.wso2.carbon.registry.common.ui</artifactId>
+ <version>${carbon.platform.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.wso2.carbon</groupId>
+ <artifactId>org.wso2.carbon.registry.core</artifactId>
+ <version>${carbon.platform.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.eclipse.equinox</groupId>
+ <artifactId>javax.servlet</artifactId>
+ <version>3.0.0.v201112011016</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.axis2.wso2</groupId>
+ <artifactId>axis2</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.ws.commons.axiom.wso2</groupId>
+ <artifactId>axiom</artifactId>
+ <version>1.2.11.wso2v4</version>
+ </dependency>
+ <dependency>
+ <groupId>org.wso2.carbon</groupId>
+ <artifactId>org.wso2.carbon.ui</artifactId>
+ <version>${carbon.platform.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.wso2.carbon</groupId>
+ <artifactId>org.wso2.carbon.core</artifactId>
+ <version>${carbon.platform.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.stratos</groupId>
+ <artifactId>org.apache.stratos.common</artifactId>
+ <version>${apache.stratos.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.wso2.carbon</groupId>
+ <artifactId>org.wso2.carbon.throttling.stub</artifactId>
+ <version>${carbon.platform.version}</version>
+ </dependency>
+ </dependencies>
+
+</project>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/767082e3/components/org.apache.stratos.throttling.ui/src/main/java/org/apache/stratos/throttling/ui/clients/ThrottlingRuleEditorClient.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.throttling.ui/src/main/java/org/apache/stratos/throttling/ui/clients/ThrottlingRuleEditorClient.java b/components/org.apache.stratos.throttling.ui/src/main/java/org/apache/stratos/throttling/ui/clients/ThrottlingRuleEditorClient.java
new file mode 100644
index 0000000..5afc7cc
--- /dev/null
+++ b/components/org.apache.stratos.throttling.ui/src/main/java/org/apache/stratos/throttling/ui/clients/ThrottlingRuleEditorClient.java
@@ -0,0 +1,98 @@
+/*
+ * 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.throttling.ui.clients;
+
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.client.Options;
+import org.apache.axis2.client.ServiceClient;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.wso2.carbon.CarbonConstants;
+import org.wso2.carbon.registry.core.exceptions.RegistryException;
+import org.wso2.carbon.throttling.stub.services.ThrottlingRuleEditorServiceStub;
+import org.wso2.carbon.ui.CarbonUIUtil;
+import org.wso2.carbon.utils.ServerConstants;
+
+import javax.servlet.ServletConfig;
+import javax.servlet.http.HttpSession;
+
+public class ThrottlingRuleEditorClient {
+ private static final Log log = LogFactory.getLog(ThrottlingRuleEditorClient.class);
+
+ private ThrottlingRuleEditorServiceStub stub;
+ private String epr;
+
+ public ThrottlingRuleEditorClient(String cookie, String backendServerURL,
+ ConfigurationContext configContext) throws RegistryException {
+
+ epr = backendServerURL + "ThrottlingRuleEditorService";
+
+ try {
+ stub = new ThrottlingRuleEditorServiceStub(configContext, epr);
+
+ ServiceClient client = stub._getServiceClient();
+ Options option = client.getOptions();
+ option.setManageSession(true);
+ option.setProperty(org.apache.axis2.transport.http.HTTPConstants.COOKIE_STRING, cookie);
+
+ } catch (AxisFault axisFault) {
+ String msg =
+ "Failed to initiate throttling rule editor service client. " +
+ axisFault.getMessage();
+ log.error(msg, axisFault);
+ throw new RegistryException(msg, axisFault);
+ }
+ }
+
+ public ThrottlingRuleEditorClient(ServletConfig config, HttpSession session)
+ throws RegistryException {
+
+ String cookie = (String) session.getAttribute(ServerConstants.ADMIN_SERVICE_COOKIE);
+ String backendServerURL = CarbonUIUtil.getServerURL(config.getServletContext(), session);
+ ConfigurationContext configContext =
+ (ConfigurationContext) config.getServletContext().getAttribute(
+ CarbonConstants.CONFIGURATION_CONTEXT);
+ epr = backendServerURL + "ThrottlingRuleEditorService";
+
+ try {
+ stub = new ThrottlingRuleEditorServiceStub(configContext, epr);
+
+ ServiceClient client = stub._getServiceClient();
+ Options option = client.getOptions();
+ option.setManageSession(true);
+ option.setProperty(org.apache.axis2.transport.http.HTTPConstants.COOKIE_STRING, cookie);
+
+ } catch (AxisFault axisFault) {
+ String msg =
+ "Failed to initiate throttling rule editor service client. " +
+ axisFault.getMessage();
+ log.error(msg, axisFault);
+ throw new RegistryException(msg, axisFault);
+ }
+ }
+
+ public String retrieveThrottlingRules() throws Exception {
+ return stub.retrieveThrottlingRules();
+ }
+
+ public void updateThrottlingRules(String ruleContent) throws Exception {
+ stub.updateThrottlingRules(ruleContent);
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/767082e3/components/org.apache.stratos.throttling.ui/src/main/resources/META-INF/component.xml
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.throttling.ui/src/main/resources/META-INF/component.xml b/components/org.apache.stratos.throttling.ui/src/main/resources/META-INF/component.xml
new file mode 100644
index 0000000..47c20c1
--- /dev/null
+++ b/components/org.apache.stratos.throttling.ui/src/main/resources/META-INF/component.xml
@@ -0,0 +1,37 @@
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+<component xmlns="http://products.wso2.org/carbon">
+ <!-- sample menu configuration -->
+ <menus>
+ <menu>
+ <id>multitenancy_throttling_menu</id>
+ <i18n-key>throttling.menu.key</i18n-key>
+ <i18n-bundle>org.apache.stratos.throttling.ui.i18n.Resources</i18n-bundle>
+ <parent-menu>configure_menu</parent-menu>
+ <link>../mt-throttling/throttling.jsp</link>
+ <region>region1</region>
+ <order>8</order>
+ <style-class>manage</style-class>
+ <icon>../mt-throttling/images/throttling.gif</icon>
+ <require-permission>/permission/protected/configure/throttling-rules</require-permission>
+ <require-super-tenant>true</require-super-tenant>
+ </menu>
+ </menus>
+
+</component>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/767082e3/components/org.apache.stratos.throttling.ui/src/main/resources/ThrottlingRuleEditorService.wsdl
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.throttling.ui/src/main/resources/ThrottlingRuleEditorService.wsdl b/components/org.apache.stratos.throttling.ui/src/main/resources/ThrottlingRuleEditorService.wsdl
new file mode 100644
index 0000000..a9f511a
--- /dev/null
+++ b/components/org.apache.stratos.throttling.ui/src/main/resources/ThrottlingRuleEditorService.wsdl
@@ -0,0 +1,148 @@
+<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ns="http://services.manager.throttling.carbon.wso2.org" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://services.manager.throttling.carbon.wso2.org">
+ <wsdl:documentation>ThrottlingRuleEditorService</wsdl:documentation>
+ <wsdl:types>
+ <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://services.manager.throttling.carbon.wso2.org">
+ <xs:element name="updateThrottlingRulesException">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="updateThrottlingRulesException" nillable="true" type="ns:Exception" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="Exception">
+ <xs:sequence>
+ <xs:element minOccurs="0" name="Message" nillable="true" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="updateThrottlingRules">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="ruleContent" nillable="true" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="retrieveThrottlingRulesException">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="retrieveThrottlingRulesException" nillable="true" type="ns:Exception" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="retrieveThrottlingRules">
+ <xs:complexType>
+ <xs:sequence />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="retrieveThrottlingRulesResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="return" nillable="true" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:schema>
+ </wsdl:types>
+ <wsdl:message name="updateThrottlingRulesRequest">
+ <wsdl:part name="parameters" element="ns:updateThrottlingRules" />
+ </wsdl:message>
+ <wsdl:message name="updateThrottlingRulesException">
+ <wsdl:part name="parameters" element="ns:updateThrottlingRulesException" />
+ </wsdl:message>
+ <wsdl:message name="retrieveThrottlingRulesRequest">
+ <wsdl:part name="parameters" element="ns:retrieveThrottlingRules" />
+ </wsdl:message>
+ <wsdl:message name="retrieveThrottlingRulesResponse">
+ <wsdl:part name="parameters" element="ns:retrieveThrottlingRulesResponse" />
+ </wsdl:message>
+ <wsdl:message name="retrieveThrottlingRulesException">
+ <wsdl:part name="parameters" element="ns:retrieveThrottlingRulesException" />
+ </wsdl:message>
+ <wsdl:portType name="ThrottlingRuleEditorServicePortType">
+ <wsdl:operation name="updateThrottlingRules">
+ <wsdl:input message="ns:updateThrottlingRulesRequest" wsaw:Action="urn:updateThrottlingRules" />
+ <wsdl:fault message="ns:updateThrottlingRulesException" name="updateThrottlingRulesException" wsaw:Action="urn:updateThrottlingRulesupdateThrottlingRulesException" />
+ </wsdl:operation>
+ <wsdl:operation name="retrieveThrottlingRules">
+ <wsdl:input message="ns:retrieveThrottlingRulesRequest" wsaw:Action="urn:retrieveThrottlingRules" />
+ <wsdl:output message="ns:retrieveThrottlingRulesResponse" wsaw:Action="urn:retrieveThrottlingRulesResponse" />
+ <wsdl:fault message="ns:retrieveThrottlingRulesException" name="retrieveThrottlingRulesException" wsaw:Action="urn:retrieveThrottlingRulesretrieveThrottlingRulesException" />
+ </wsdl:operation>
+ </wsdl:portType>
+ <wsdl:binding name="ThrottlingRuleEditorServiceSoap11Binding" type="ns:ThrottlingRuleEditorServicePortType">
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
+ <wsdl:operation name="updateThrottlingRules">
+ <soap:operation soapAction="urn:updateThrottlingRules" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:fault name="updateThrottlingRulesException">
+ <soap:fault use="literal" name="updateThrottlingRulesException" />
+ </wsdl:fault>
+ </wsdl:operation>
+ <wsdl:operation name="retrieveThrottlingRules">
+ <soap:operation soapAction="urn:retrieveThrottlingRules" style="document" />
+ <wsdl:input>
+ <soap:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap:body use="literal" />
+ </wsdl:output>
+ <wsdl:fault name="retrieveThrottlingRulesException">
+ <soap:fault use="literal" name="retrieveThrottlingRulesException" />
+ </wsdl:fault>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:binding name="ThrottlingRuleEditorServiceSoap12Binding" type="ns:ThrottlingRuleEditorServicePortType">
+ <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
+ <wsdl:operation name="updateThrottlingRules">
+ <soap12:operation soapAction="urn:updateThrottlingRules" style="document" />
+ <wsdl:input>
+ <soap12:body use="literal" />
+ </wsdl:input>
+ <wsdl:fault name="updateThrottlingRulesException">
+ <soap12:fault use="literal" name="updateThrottlingRulesException" />
+ </wsdl:fault>
+ </wsdl:operation>
+ <wsdl:operation name="retrieveThrottlingRules">
+ <soap12:operation soapAction="urn:retrieveThrottlingRules" style="document" />
+ <wsdl:input>
+ <soap12:body use="literal" />
+ </wsdl:input>
+ <wsdl:output>
+ <soap12:body use="literal" />
+ </wsdl:output>
+ <wsdl:fault name="retrieveThrottlingRulesException">
+ <soap12:fault use="literal" name="retrieveThrottlingRulesException" />
+ </wsdl:fault>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:binding name="ThrottlingRuleEditorServiceHttpBinding" type="ns:ThrottlingRuleEditorServicePortType">
+ <http:binding verb="POST" />
+ <wsdl:operation name="updateThrottlingRules">
+ <http:operation location="updateThrottlingRules" />
+ <wsdl:input>
+ <mime:content type="text/xml" part="parameters" />
+ </wsdl:input>
+ </wsdl:operation>
+ <wsdl:operation name="retrieveThrottlingRules">
+ <http:operation location="retrieveThrottlingRules" />
+ <wsdl:input>
+ <mime:content type="text/xml" part="parameters" />
+ </wsdl:input>
+ <wsdl:output>
+ <mime:content type="text/xml" part="parameters" />
+ </wsdl:output>
+ </wsdl:operation>
+ </wsdl:binding>
+ <wsdl:service name="ThrottlingRuleEditorService">
+ <wsdl:port name="ThrottlingRuleEditorServiceHttpsSoap11Endpoint" binding="ns:ThrottlingRuleEditorServiceSoap11Binding">
+ <soap:address location="https://192.168.1.100:9443/services/ThrottlingRuleEditorService.ThrottlingRuleEditorServiceHttpsSoap11Endpoint/" />
+ </wsdl:port>
+ <wsdl:port name="ThrottlingRuleEditorServiceHttpsSoap12Endpoint" binding="ns:ThrottlingRuleEditorServiceSoap12Binding">
+ <soap12:address location="https://192.168.1.100:9443/services/ThrottlingRuleEditorService.ThrottlingRuleEditorServiceHttpsSoap12Endpoint/" />
+ </wsdl:port>
+ <wsdl:port name="ThrottlingRuleEditorServiceHttpsEndpoint" binding="ns:ThrottlingRuleEditorServiceHttpBinding">
+ <http:address location="https://192.168.1.100:9443/services/ThrottlingRuleEditorService.ThrottlingRuleEditorServiceHttpsEndpoint/" />
+ </wsdl:port>
+ </wsdl:service>
+</wsdl:definitions>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/767082e3/components/org.apache.stratos.throttling.ui/src/main/resources/org/apache/carbon/throttling/ui/i18n/JSResources.properties
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.throttling.ui/src/main/resources/org/apache/carbon/throttling/ui/i18n/JSResources.properties b/components/org.apache.stratos.throttling.ui/src/main/resources/org/apache/carbon/throttling/ui/i18n/JSResources.properties
new file mode 100644
index 0000000..bf90999
--- /dev/null
+++ b/components/org.apache.stratos.throttling.ui/src/main/resources/org/apache/carbon/throttling/ui/i18n/JSResources.properties
@@ -0,0 +1 @@
+empty=To make sure the js properties file is not empty
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/767082e3/components/org.apache.stratos.throttling.ui/src/main/resources/org/apache/carbon/throttling/ui/i18n/Resources.properties
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.throttling.ui/src/main/resources/org/apache/carbon/throttling/ui/i18n/Resources.properties b/components/org.apache.stratos.throttling.ui/src/main/resources/org/apache/carbon/throttling/ui/i18n/Resources.properties
new file mode 100644
index 0000000..d74f234
--- /dev/null
+++ b/components/org.apache.stratos.throttling.ui/src/main/resources/org/apache/carbon/throttling/ui/i18n/Resources.properties
@@ -0,0 +1,2 @@
+throttling.menu.key=Throttling
+throttling.rules=Throttling Rules
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/767082e3/components/org.apache.stratos.throttling.ui/src/main/resources/web/mt-throttling/docs/images/add-org.png
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.throttling.ui/src/main/resources/web/mt-throttling/docs/images/add-org.png b/components/org.apache.stratos.throttling.ui/src/main/resources/web/mt-throttling/docs/images/add-org.png
new file mode 100644
index 0000000..fc710f8
Binary files /dev/null and b/components/org.apache.stratos.throttling.ui/src/main/resources/web/mt-throttling/docs/images/add-org.png differ
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/767082e3/components/org.apache.stratos.throttling.ui/src/main/resources/web/mt-throttling/docs/userguide.html
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.throttling.ui/src/main/resources/web/mt-throttling/docs/userguide.html b/components/org.apache.stratos.throttling.ui/src/main/resources/web/mt-throttling/docs/userguide.html
new file mode 100644
index 0000000..c5fb241
--- /dev/null
+++ b/components/org.apache.stratos.throttling.ui/src/main/resources/web/mt-throttling/docs/userguide.html
@@ -0,0 +1,35 @@
+<!--
+ ~ Copyright (c) 2005-2010, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
+ ~
+ ~ WSO2 Inc. licenses this file to you under the Apache License,
+ ~ Version 2.0 (the "License"); you may not use this file except
+ ~ in compliance with the License.
+ ~ You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+ <title>Multitenancy Throttling Rules Editor - User Guide</title>
+ <link href="../../admin/css/documentation.css" rel="stylesheet" type="text/css" media="all" />
+</head>
+
+<body>
+<h1>Multitenancy Throttling Rules Editor</h1>
+
+<p>
+This editor allows you to edit the rules and update it. The changes to the rules get effected immediately
+after you press the 'Update' button.
+</p>
+
+</body>
+
+</html>
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/767082e3/components/org.apache.stratos.throttling.ui/src/main/resources/web/mt-throttling/images/throttling.gif
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.throttling.ui/src/main/resources/web/mt-throttling/images/throttling.gif b/components/org.apache.stratos.throttling.ui/src/main/resources/web/mt-throttling/images/throttling.gif
new file mode 100644
index 0000000..a9b04e2
Binary files /dev/null and b/components/org.apache.stratos.throttling.ui/src/main/resources/web/mt-throttling/images/throttling.gif differ