Author: dimuthul
Date: Sat Jan 19 03:31:07 2008
New Revision: 12514
Log:
Changing the Hybrid realm.
Using inclusion instead of inheritence
Added:
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/WSASAuthenticator.java
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/WSASStrategyImpl.java
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/WSASUserStoreAdmin.java
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/WSASUserStoreReader.java
Removed:
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/HybridAccessControlAdmin.java
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/HybridAuthenticator.java
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/HybridAuthorizer.java
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/HybridSQLStorage.java
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/HybridUserStoreAdmin.java
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/HybridUserStoreReader.java
Modified:
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/WSASRegistryRealm.java
Added:
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/WSASAuthenticator.java
==============================================================================
--- (empty file)
+++
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/WSASAuthenticator.java
Sat Jan 19 03:31:07 2008
@@ -0,0 +1,15 @@
+package org.wso2.mashup.realm.wsas;
+
+import org.wso2.mashup.utils.MashupUtils;
+import org.wso2.usermanager.Authenticator;
+import org.wso2.usermanager.UserManagerException;
+
+public class WSASAuthenticator implements Authenticator {
+
+ public boolean authenticate(String userName, Object credentials)
+ throws UserManagerException {
+
+ return MashupUtils.authenticateUser(userName, (String) credentials);
+ }
+
+}
Modified:
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/WSASRegistryRealm.java
==============================================================================
---
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/WSASRegistryRealm.java
(original)
+++
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/WSASRegistryRealm.java
Sat Jan 19 03:31:07 2008
@@ -10,39 +10,30 @@
import org.wso2.usermanager.UserManagerException;
import org.wso2.usermanager.UserStoreAdmin;
import org.wso2.usermanager.UserStoreReader;
+import org.wso2.usermanager.readwrite.DefaultAccessControlAdmin;
+import org.wso2.usermanager.readwrite.DefaultAuthorizer;
import org.wso2.usermanager.readwrite.DefaultRealmConfig;
-import org.wso2.usermanager.readwrite.UUIDGenerator;
+import org.wso2.usermanager.readwrite.DefaultStrategy;
public class WSASRegistryRealm implements Realm {
- private HybridAuthenticator authenticator = null;
-
- private HybridAuthorizer authorizer = null;
- private HybridAccessControlAdmin aclAdmin = null;
-
- private HybridUserStoreAdmin usAdmin = null;
- private HybridUserStoreReader usReader = null;
+ private Authenticator authenticator = null;
+ private Authorizer authorizer = null;
+ private AccessControlAdmin aclAdmin = null;
+ private UserStoreAdmin usAdmin = null;
+ private UserStoreReader usReader = null;
+
private DefaultRealmConfig config = null;
private DataSource dataSource = null;
- public Object getRealmConfiguration() throws UserManagerException {
- DefaultRealmConfig retConfig;
- if (config == null) {
- retConfig = new DefaultRealmConfig();
- } else {
- retConfig = new DefaultRealmConfig(config);
- }
- return retConfig;
- }
-
+
public void init(Object configBean) throws UserManagerException {
if (!(configBean instanceof DefaultRealmConfig)) {
return;
}
- this.config = (DefaultRealmConfig) configBean;
- this.config = (DefaultRealmConfig) configBean;
-
+ DefaultRealmConfig config = (DefaultRealmConfig) configBean;
+
BasicDataSource basicDataSource = null;
if (config.getDataSource() == null) {
basicDataSource = new BasicDataSource();
@@ -51,16 +42,15 @@
basicDataSource.setUsername(config.getConnectionUserName());
basicDataSource.setPassword(config.getConnectionPassword());
}
-
- dataSource = (DataSource)basicDataSource;
-
- UUIDGenerator.getUUID();
-
- authenticator = new HybridAuthenticator();
- authorizer = new HybridAuthorizer(dataSource);
- aclAdmin = new HybridAccessControlAdmin(dataSource);
- usAdmin = new HybridUserStoreAdmin(dataSource);
- usReader = new HybridUserStoreReader(dataSource);
+ this.config = config;
+ dataSource = (DataSource) basicDataSource;
+
+ authenticator = new WSASAuthenticator();
+ authorizer = new DefaultAuthorizer(dataSource,
DefaultRealmConfig.PERMISSION_BLOCK_FIRST, (DefaultStrategy)new
WSASStrategyImpl());
+ aclAdmin = new DefaultAccessControlAdmin(dataSource,
+ (DefaultStrategy)new WSASStrategyImpl());
+ usAdmin = new WSASUserStoreAdmin(dataSource, new WSASStrategyImpl());
+ usReader = new WSASUserStoreReader(dataSource, new WSASStrategyImpl());
}
@@ -77,6 +67,16 @@
return authorizer;
}
+ public Object getRealmConfiguration() throws UserManagerException {
+ DefaultRealmConfig retConfig = null;
+ if (config == null) {
+ retConfig = new DefaultRealmConfig();
+ } else {
+ retConfig = new DefaultRealmConfig(config);
+ }
+ return retConfig;
+ }
+
public UserStoreAdmin getUserStoreAdmin() throws UserManagerException {
return usAdmin;
}
@@ -84,4 +84,5 @@
public UserStoreReader getUserStoreReader() throws UserManagerException {
return usReader;
}
+
}
\ No newline at end of file
Added:
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/WSASStrategyImpl.java
==============================================================================
--- (empty file)
+++
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/WSASStrategyImpl.java
Sat Jan 19 03:31:07 2008
@@ -0,0 +1,235 @@
+package org.wso2.mashup.realm.wsas;
+
+import org.apache.axis2.AxisFault;
+import org.wso2.usermanager.UserManagerException;
+import org.wso2.usermanager.readwrite.DefaultRealmConstants;
+import org.wso2.usermanager.readwrite.DefaultStrategy;
+import org.wso2.usermanager.readwrite.util.DefaultStrategyImpl;
+import org.wso2.wsas.admin.service.UserAdmin;
+import org.wso2.wsas.admin.service.util.RoleData;
+import org.wso2.wsas.admin.service.util.UserData;
+
+public class WSASStrategyImpl implements DefaultStrategy{
+
+ private DefaultStrategyImpl defaultStrategy = null;
+
+ public WSASStrategyImpl() {
+ defaultStrategy = new DefaultStrategyImpl();
+ }
+
+ public static final String GET_ROLE_AUTHORIZED_SQL = "select" +
+ " um_role_permissions.is_allowed" +
+ " from um_role_permissions, um_permissions" +
+ " where um_role_permissions.permission_id=um_permissions.id" +
+ " and um_permissions.resource_id=?" +
+ " and um_permissions.action=? and um_role_permissions.role_id=?";
+
+ public static final String GET_USER_AUTHORIZED_SQL = "select
um_user_permissions.is_allowed" +
+ " from um_user_permissions, um_permissions" +
+ " where um_user_permissions.permission_id=um_permissions.id" +
+ " and um_permissions.resource_id=?" +
+ " and um_permissions.action=?" +
+ " and um_user_permissions.user_id=?";
+
+ public static final String GET_ALLOWED_ROLES_FOR_RESOURCE_SQL = "select
um_role_permissions.role_id" +
+ " from um_role_permissions, um_permissions" +
+ " where um_permissions.resource_id=?" +
+ " and um_permissions.action=?" +
+ " and um_permissions.id=um_role_permissions.permission_id" +
+ " and um_role_permissions.is_allowed=1";
+
+ public static final String GET_DENIED_ROLES_FOR_RESOURCE_SQL = "select
um_role_permissions.role_id" +
+ " from um_role_permissions, um_permissions, um_roles" +
+ " where um_permissions.resource_id=?" +
+ " and um_permissions.action=?" +
+ " and um_permissions.id=um_role_permissions.permission_id" +
+ " and um_role_permissions.is_allowed=0";
+
+ public static final String GET_ALLOWED_USERS_ON_RESOURCE_SQL = "select
um_user_permissions.user_id" +
+ " from um_user_permissions, um_permissions" +
+ " where um_permissions.resource_id=?" +
+ " and um_permissions.action=?" +
+ " and um_permissions.id=um_user_permissions.permission_id" +
+ " and um_user_permissions.is_allowed=1";
+
+ public static final String GET_DENIED_USERS_ON_RESOURCE_SQL = "select
um_user_permissions.user_id" +
+ " from um_user_permissions, um_permissions" +
+ " where um_permissions.resource_id=?" +
+ " and um_permissions.action=?" +
+ " and um_permissions.id=um_user_permissions.permission_id" +
+ " and um_user_permissions.is_allowed=0";
+
+ public static final String DELETE_USER_PERMISSION = "delete from
um_user_permissions"+
+ " where um_user_permissions.user_id=?";
+
+ public static final String DELETE_ROLE_PERMISSION = "delete from
um_role_permissions"+
+ " where um_role_permissions.user_id=?";
+
+
+ public static final String GET_ROLE_ATTRIBUTES_SQL = "select *" +
+ " from um_role_attributes" +
+ " where um_role_attributes.role_id=?";
+
+ public static final String GET_USER_ATTRIBUTES_SQL = "select *" +
+ " from um_user_attributes" +
+ " where um_user_attributes.user_id=?";
+
+ public static final String GET_USERS_WITH_PROPERTY_SQL = "select user_id" +
+ " from um_user_attributes"+
+ " where um_user_attributes.attr_name=? and
um_user_attributes.attr_value=?";
+
+ public static final String GET_USERS_WITH_PROPERTY_VALUE_SQL = "select
user_id" +
+ " from um_user_attributes " +
+ " where um_user_attributes.attr_value=?";
+
+
+
+ public String getAccessControlAdminSQL(int sqlID) {
+ return defaultStrategy.getAccessControlAdminSQL(sqlID);
+ }
+
+ public String getAuthenticatorSQL(int sqlID) {
+ return null;
+ }
+
+
+ public String getAuthorizerSQL(int sqlID) {
+ String sqlString = null;
+ switch (sqlID) {
+
+ case DefaultRealmConstants.GET_PERMISSION:
+ sqlString = DefaultRealmConstants.GET_PERMISSION_SQL;
+ break;
+ case DefaultRealmConstants.GET_ROLE_AUTHORIZED:
+ sqlString = GET_ROLE_AUTHORIZED_SQL;
+ break;
+ case DefaultRealmConstants.GET_USER_AUTHORIZED:
+ sqlString = GET_USER_AUTHORIZED_SQL;
+ break;
+ case DefaultRealmConstants.GET_ALLOWED_ROLES_FOR_RESOURCE:
+ sqlString = GET_ALLOWED_ROLES_FOR_RESOURCE_SQL;
+ break;
+ case DefaultRealmConstants.GET_DENIED_ROLES_FOR_RESOURCE:
+ sqlString = GET_DENIED_ROLES_FOR_RESOURCE_SQL;
+ break;
+ case DefaultRealmConstants.GET_ALLOWED_USERS_ON_RESOURCE:
+ sqlString = GET_ALLOWED_USERS_ON_RESOURCE_SQL;
+ break;
+ case DefaultRealmConstants.GET_DENIED_USERS_ON_RESOURCE:
+ sqlString = GET_DENIED_USERS_ON_RESOURCE_SQL;
+ break;
+ case DefaultRealmConstants.GET_ROLE_PERMISSION:
+ sqlString = DefaultRealmConstants.GET_ROLE_PERMISSION_SQL;
+ break;
+ case DefaultRealmConstants.GET_USER_PERMISSION:
+ sqlString = DefaultRealmConstants.GET_USER_PERMISSION_SQL;
+ break;
+ case DefaultRealmConstants.GET_RESOURCE_PERMISSION:
+ sqlString = DefaultRealmConstants.GET_RESOURCE_PERMISSION_SQL;
+ break;
+ default:
+ break;
+ }
+ return sqlString;
+ }
+
+
+ public String getColumnName(int columnID) {
+ String colName = null;
+ if(columnID == DefaultRealmConstants.COLUMN_ID_USER_NAME){
+ colName = "USER_ID";
+ }else if(columnID == DefaultRealmConstants.COLUMN_ID_ROLE_NAME){
+ colName = "ROLE_ID";
+ }else{
+ colName = defaultStrategy.getColumnName(columnID);
+ }
+ return colName;
+ }
+
+
+ public String getUserStoreAdminSQL(int sqlID) {
+ String sqlString = null;
+ switch (sqlID) {
+ case DefaultRealmConstants.ADD_USER_ATTRIBUTE:
+ sqlString = DefaultRealmConstants.ADD_USER_ATTRIBUTE_SQL;
+ break;
+ case DefaultRealmConstants.ADD_ROLE_ATTRIBUTE:
+ sqlString = DefaultRealmConstants.ADD_ROLE_ATTRIBUTE_SQL;
+ break;
+ case DefaultRealmConstants.DELETE_ROLE_ATTRIBUTE:
+ sqlString = DefaultRealmConstants.DELETE_ROLE_ATTRIBUTE_SQL;
+ break;
+ case DefaultRealmConstants.DELETE_USER_ATTRIBUTE:
+ sqlString = DefaultRealmConstants.DELETE_USER_ATTRIBUTE_SQL;
+ break;
+ case DefaultRealmConstants.GET_ROLE:
+ sqlString = DefaultRealmConstants.GET_ROLE_SQL;
+ break;
+ default:
+ System.out.println("Null");
+ break;
+ }
+ return sqlString;
+ }
+
+
+ public String getUserStoreReaderSQL(int sqlID) {
+ String sqlString = null;
+ switch (sqlID) {
+ case DefaultRealmConstants.GET_ROLE_ATTRIBUTES:
+ sqlString = GET_ROLE_ATTRIBUTES_SQL;
+ break;
+ case DefaultRealmConstants.GET_USER_ATTRIBUTES:
+ sqlString = GET_USER_ATTRIBUTES_SQL;
+ break;
+ case DefaultRealmConstants.GET_ATTRIBUTE_NAMES:
+ sqlString = DefaultRealmConstants.GET_ATTRIBUTE_NAMES_SQL;
+ break;
+ case DefaultRealmConstants.GET_USERS_WITH_PROPERTY:
+ sqlString = GET_USERS_WITH_PROPERTY_SQL;
+ break;
+ case DefaultRealmConstants.GET_USERS_WITH_PROPERTY_VALUE:
+ sqlString = GET_USERS_WITH_PROPERTY_VALUE_SQL;
+ break;
+ default:
+ break;
+ }
+ return sqlString;
+ }
+
+ public String getRoleId(String roleName) throws UserManagerException {
+ return roleName;
+ }
+
+ public String getUserId(String userName) throws UserManagerException {
+ return userName;
+ }
+
+ public String getCommonSQL(int sqlID) {
+ return null;
+ }
+
+
+ public String[] getUserRoles(String userName) throws UserManagerException {
+ String[] names = new String[0];
+ try {
+ UserAdmin admin = new UserAdmin();
+ UserData[] data = admin.getUserNames();
+ for(int i=0;i<data.length;i++){
+ if(data[i].getUserName().equals(userName)){
+ RoleData[] roles = data[i].getRoles();
+ names = new String[roles.length];
+ for(int j=0; j<roles.length; j++){
+ names[j] = roles[j].getRole();
+ }
+ break;
+ }
+ }
+ } catch (AxisFault e) {
+ throw new UserManagerException(e.getMessage());
+ }
+ return names;
+ }
+
+
+}
Added:
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/WSASUserStoreAdmin.java
==============================================================================
--- (empty file)
+++
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/WSASUserStoreAdmin.java
Sat Jan 19 03:31:07 2008
@@ -0,0 +1,161 @@
+package org.wso2.mashup.realm.wsas;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.sql.DataSource;
+
+import org.apache.axis2.AxisFault;
+import org.wso2.mashup.MashupConstants;
+import org.wso2.usermanager.UserManagerException;
+import org.wso2.usermanager.UserStoreAdmin;
+import org.wso2.usermanager.readwrite.DefaultStrategy;
+import org.wso2.usermanager.readwrite.DefaultUserStoreAdmin;
+import org.wso2.wsas.admin.service.UserAdmin;
+
+public class WSASUserStoreAdmin
+ extends WSASUserStoreReader implements UserStoreAdmin {
+
+ private UserStoreAdmin defaultAdmin = null;
+
+ public WSASUserStoreAdmin(DataSource dSource, DefaultStrategy strategy)
throws UserManagerException {
+ super(dSource, strategy);
+ defaultAdmin = new DefaultUserStoreAdmin(dSource, strategy);
+ }
+
+ public void addRole(String roleName) throws UserManagerException {
+ try {
+ UserAdmin admin = new UserAdmin();
+ admin.addRole(roleName, "");
+ } catch (AxisFault e) {
+ throw new UserManagerException(e.getMessage());
+ }
+
+ }
+
+ public void addUser(String userName, Object credential)
+ throws UserManagerException {
+ try {
+ UserAdmin admin = new UserAdmin();
+ admin.addUser(userName, (String) credential,
+ MashupConstants.MASHUP_USER_ROLE, "");
+ } catch (AxisFault e) {
+ throw new UserManagerException(e.getMessage());
+ }
+
+ }
+
+ public void addUserToRole(String userName, String roleName)
+ throws UserManagerException {
+ try {
+ UserAdmin admin = new UserAdmin();
+ admin.assignRoleToUser(userName, roleName);
+ } catch (AxisFault e) {
+ throw new UserManagerException(e.getMessage());
+ }
+
+ }
+
+ public void deleteRole(String roleName) throws UserManagerException {
+ Connection dbConnection = null;
+ try {
+ UserAdmin admin = new UserAdmin();
+ admin.deleteRoleCompletely(roleName);
+ defaultAdmin.setRoleProperties(roleName, new HashMap());
+
+ dbConnection = dataSource.getConnection();
+ PreparedStatement deleteUserStmt = dbConnection
+ .prepareStatement(WSASStrategyImpl.DELETE_ROLE_PERMISSION);
+ deleteUserStmt.setString(1, roleName);
+ deleteUserStmt.executeUpdate();
+ dbConnection.commit();
+ deleteUserStmt.close();
+ } catch (SQLException e) {
+ throw new UserManagerException("errorModifyingUserStore", e);
+ } catch (AxisFault e) {
+ throw new UserManagerException(e.getMessage());
+ } finally {
+ try {
+ if (dbConnection != null) {
+ dbConnection.close();
+ }
+ } catch (SQLException e) {
+ throw new UserManagerException("errorClosingConnection", e);
+ }
+ }
+
+ }
+
+ public void deleteUser(String userName) throws UserManagerException {
+ Connection dbConnection = null;
+ try {
+ UserAdmin admin = new UserAdmin();
+ admin.deleteUser(userName);
+ defaultAdmin.setUserProperties(userName, new HashMap());
+ dbConnection = dataSource.getConnection();
+ PreparedStatement deleteUserStmt = dbConnection
+ .prepareStatement(WSASStrategyImpl.DELETE_USER_PERMISSION);
+ deleteUserStmt.setString(1, userName);
+ deleteUserStmt.executeUpdate();
+ dbConnection.commit();
+ deleteUserStmt.close();
+ } catch (SQLException e) {
+ throw new UserManagerException("errorModifyingUserStore", e);
+ } catch (AxisFault e) {
+ throw new UserManagerException(e.getMessage());
+ } finally {
+ try {
+ if (dbConnection != null) {
+ dbConnection.close();
+ }
+ } catch (SQLException e) {
+ throw new UserManagerException("errorClosingConnection", e);
+ }
+ }
+ }
+
+ public void removeUserFromRole(String userName, String roleName)
+ throws UserManagerException {
+
+ try {
+ UserAdmin admin = new UserAdmin();
+ admin.deleteRoleFromUser(userName, roleName);
+ } catch (Exception e) {
+ throw new UserManagerException(e.getMessage());
+ }
+
+ }
+
+ public void setRoleProperties(String roleName, Map properties)
+ throws UserManagerException {
+ UserAdmin admin = new UserAdmin();
+ defaultAdmin.setRoleProperties(roleName, properties);
+ }
+
+ public void setUserProperties(String userName, Map properties)
+ throws UserManagerException {
+ UserAdmin admin = new UserAdmin();
+ defaultAdmin.setUserProperties(userName, properties);
+ }
+
+ public void updateUser(String userName, Object newCredential,
+ Object oldCredential) throws UserManagerException {
+ try {
+ UserAdmin admin = new UserAdmin();
+ admin.editUserPassword((String) oldCredential, userName,
+ (String) newCredential);
+ } catch (Exception e) {
+ throw new UserManagerException(e.getMessage());
+ }
+
+ }
+
+ public void updateUser(String userName, Object newCredential)
+ throws UserManagerException {
+ throw new UserManagerException("Unsupported Operation for WSAS Realm");
+ }
+
+}
Added:
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/WSASUserStoreReader.java
==============================================================================
--- (empty file)
+++
trunk/mashup/java/modules/core/src/org/wso2/mashup/realm/wsas/WSASUserStoreReader.java
Sat Jan 19 03:31:07 2008
@@ -0,0 +1,125 @@
+package org.wso2.mashup.realm.wsas;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import javax.sql.DataSource;
+
+import org.apache.axis2.AxisFault;
+import org.wso2.usermanager.UserManagerException;
+import org.wso2.usermanager.UserStoreReader;
+import org.wso2.usermanager.readwrite.DefaultStrategy;
+import org.wso2.usermanager.readwrite.DefaultUserStoreReader;
+import org.wso2.wsas.admin.service.UserAdmin;
+import org.wso2.wsas.admin.service.util.RoleData;
+import org.wso2.wsas.admin.service.util.UserData;
+
+public class WSASUserStoreReader implements UserStoreReader {
+
+ private UserStoreReader defaultReader = null;
+ protected DataSource dataSource = null;
+ protected DefaultStrategy strategy = null;
+
+ public WSASUserStoreReader(DataSource dSource, DefaultStrategy
strategyObject) throws UserManagerException{
+ strategy = strategyObject;
+ defaultReader = new DefaultUserStoreReader(dSource, strategy);
+ dataSource = dSource;
+ }
+
+ public String[] getAllRoleNames() throws UserManagerException {
+ try {
+ UserAdmin admin = new UserAdmin();
+ return admin.getRoleNames();
+ } catch (AxisFault e) {
+ throw new UserManagerException(e.getMessage());
+ }
+ }
+
+ public String[] getAllUserNames() throws UserManagerException {
+ try {
+ UserAdmin admin = new UserAdmin();
+ return admin.getUsers();
+ } catch (AxisFault e) {
+ throw new UserManagerException(e.getMessage());
+ }
+ }
+
+ public Map getRoleProperties(String roleName) throws UserManagerException {
+ return defaultReader.getRoleProperties(roleName);
+ }
+
+ public String[] getUserNamesWithPropertyValue(String propertyName,
+ String propetyValue) throws UserManagerException {
+ return defaultReader.getUserNamesWithPropertyValue(propertyName,
propetyValue);
+ }
+
+ public Map getUserProperties(String userName) throws UserManagerException {
+ return defaultReader.getUserProperties(userName);
+ }
+
+ public String[] getUserPropertyNames() throws UserManagerException {
+ return defaultReader.getUserPropertyNames();
+ }
+
+ public String[] getUserRoles(String userName) throws UserManagerException {
+ String[] names = new String[0];
+ try {
+ UserAdmin admin = new UserAdmin();
+ UserData[] data = admin.getUserNames();
+ for(int i=0;i<data.length;i++){
+ if(data[i].getUserName().equals(userName)){
+ RoleData[] roles = data[i].getRoles();
+ names = new String[roles.length];
+ for(int j=0; j<roles.length; j++){
+ names[j] = roles[j].getRole();
+ }
+ break;
+ }
+ }
+ } catch (AxisFault e) {
+ throw new UserManagerException(e.getMessage());
+ }
+ return names;
+ }
+
+ public String[] getUsersInRole(String roleName) throws
UserManagerException {
+ String[] names = new String[0];
+ try {
+ List lst = new ArrayList();
+ UserAdmin admin = new UserAdmin();
+ UserData[] data = admin.getUserNames();
+ for(int i=0;i<data.length;i++){
+ RoleData[] roles = data[i].getRoles();
+ names = new String[roles.length];
+ for(int j=0; j<roles.length; j++){
+ if(roles[i].getRole().equals(roleName)){
+ lst.add(data[i].getUserName());
+ }
+ }
+ }
+ names = (String[])lst.toArray();
+ } catch (AxisFault e) {
+ throw new UserManagerException(e.getMessage());
+ }
+ return names;
+ }
+
+ public boolean isExistingUser(String userName) throws UserManagerException
{
+ boolean isExisting = false;
+ try {
+ UserAdmin admin = new UserAdmin();
+ UserData[] data = admin.getUserNames();
+ for(int i=0;i<data.length;i++){
+ if(data[i].getUserName().equals(userName)){
+ isExisting = true;
+ }
+ }
+ } catch (AxisFault e) {
+ throw new UserManagerException(e.getMessage());
+ }
+ return isExisting;
+ }
+
+
+}
_______________________________________________
Mashup-dev mailing list
[email protected]
http://www.wso2.org/cgi-bin/mailman/listinfo/mashup-dev