Author: norman
Date: Thu Oct 21 17:57:33 2010
New Revision: 1026085
URL: http://svn.apache.org/viewvc?rev=1026085&view=rev
Log:
Use StandardMBean for MBean + remove not used exception (JAMES-1076)
Removed:
james/server/trunk/user-api/src/main/java/org/apache/james/user/api/UserManagementException.java
james/server/trunk/user-api/src/main/java/org/apache/james/user/api/UsersRepositoryException.java
Modified:
james/server/trunk/user-api/src/main/java/org/apache/james/user/api/UserManagementMBean.java
james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/UserManagement.java
james/server/trunk/user-library/src/test/java/org/apache/james/user/lib/UserManagementTest.java
Modified:
james/server/trunk/user-api/src/main/java/org/apache/james/user/api/UserManagementMBean.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/user-api/src/main/java/org/apache/james/user/api/UserManagementMBean.java?rev=1026085&r1=1026084&r2=1026085&view=diff
==============================================================================
---
james/server/trunk/user-api/src/main/java/org/apache/james/user/api/UserManagementMBean.java
(original)
+++
james/server/trunk/user-api/src/main/java/org/apache/james/user/api/UserManagementMBean.java
Thu Oct 21 17:57:33 2010
@@ -26,79 +26,66 @@ import java.util.List;
/**
* Expose user account management functionality through JMX.
*
- * @phoenix:mx-topic name="UserAdministration"
*/
public interface UserManagementMBean {
/**
* Adds a user to this mail server.
*
- * @phoenix:mx-operation
- * @phoenix:mx-description Add a new user
*
* @param userName The name of the user being added
* @param password The password of the user being added
* @param repositoryName The user repository, to which the operation
should be applied. If NULL, the LocalUsers
* repository is used.
- * @return if the operation was successfull
+ * @return if the operation was successful
*/
- boolean addUser(String userName, String password, String repositoryName)
throws UserManagementException;
+ boolean addUser(String userName, String password, String repositoryName);
/**
* Deletes a user from this mail server.
*
- * @phoenix:mx-operation
- * @phoenix:mx-description Delete an existing user
*
* @param userName The name of the user being deleted
* @param repositoryName The user repository, to which the operation
should be applied. If NULL, the LocalUsers
* repository is used.
- * @return if the operation was successfull
+ * @return if the operation was successful
*/
- boolean deleteUser(String userName, String repositoryName) throws
UserManagementException;
+ boolean deleteUser(String userName, String repositoryName);
/**
* Check if a user exists with the given name.
*
- * @phoenix:mx-operation
- * @phoenix:mx-description Check for existing user name
*
* @param userName The name of the user
* @param repositoryName The user repository, to which the operation
should be applied. If NULL, the LocalUsers
* repository is used.
* @return TRUE, if the user exists
*/
- boolean verifyExists(String userName, String repositoryName) throws
UserManagementException;
+ boolean verifyExists(String userName, String repositoryName);
/**
* Total count of existing users
*
- * @phoenix:mx-operation
- * @phoenix:mx-description Total count of existing users
*
* @param repositoryName The user repository, to which the operation
should be applied. If NULL, the LocalUsers
* repository is used.
* @return Total count of existing users
*/
- long countUsers(String repositoryName) throws UserManagementException;
+ long countUsers(String repositoryName);
/**
* List the names of all users
*
- * @phoenix:mx-operation
- * @phoenix:mx-description List all existing users
*
* @param repositoryName The user repository, to which the operation
should be applied. If NULL, the LocalUsers
* repository is used.
* @return List of all user names
*/
- String[] listAllUsers(String repositoryName) throws
UserManagementException;
+ String[] listAllUsers(String repositoryName);
/**
* Set a user's password
*
- * @phoenix:mx-operation
- * @phoenix:mx-description Set a user's password
*
* @param userName The name of the user whose password will be changed
* @param password The new password
@@ -106,13 +93,11 @@ public interface UserManagementMBean {
* repository is used.
* @return if the user has been found and the password was changed
successfully
*/
- boolean setPassword(String userName, String password, String
repositoryName) throws UserManagementException;
+ boolean setPassword(String userName, String password, String
repositoryName);
/**
* Removes a user's alias which terminates local mail forwarding
*
- * @phoenix:mx-operation
- * @phoenix:mx-description Removes a user's alias which terminates local
mail forwarding
*
* @param userName The name of the user whose alias is unset
* @param repositoryName The user repository, to which the operation
should be applied. If NULL, the LocalUsers
@@ -120,26 +105,22 @@ public interface UserManagementMBean {
* @return if the user has been found and the alias was removed
*/
@Deprecated
- boolean unsetAlias(String userName, String repositoryName) throws
UserManagementException;
+ boolean unsetAlias(String userName, String repositoryName);
/**
* Retrieves the user's alias, if set
*
- * @phoenix:mx-operation
- * @phoenix:mx-description Retrieves the user's alias, if set
*
* @param repositoryName The user repository, to which the operation
should be applied. If NULL, the LocalUsers
* repository is used.
* @return User's alias, or NULL, if no alias is set
*/
@Deprecated
- String getAlias(String userName, String repositoryName) throws
UserManagementException;
+ String getAlias(String userName, String repositoryName) ;
/**
* Removes a user's forward email address which terminates remote mail
forwarding
*
- * @phoenix:mx-operation
- * @phoenix:mx-description Removes a user's forward email address which
terminates remote mail forwarding
*
* @param userName The name of the user whose forward is unset
* @param repositoryName The user repository, to which the operation
should be applied. If NULL, the LocalUsers
@@ -147,13 +128,11 @@ public interface UserManagementMBean {
* @return if the user has been found and the forward was removed
*/
@Deprecated
- boolean unsetForwardAddress(String userName, String repositoryName) throws
UserManagementException;
+ boolean unsetForwardAddress(String userName, String repositoryName);
/**
* Retrieves the user's forward, if set
*
- * @phoenix:mx-operation
- * @phoenix:mx-description Retrieves the user's forward, if set
*
* @param userName The name of the user whose forward is set
* @param repositoryName The user repository, to which the operation
should be applied. If NULL, the LocalUsers
@@ -161,13 +140,11 @@ public interface UserManagementMBean {
* @return User's forward email address, or NULL, if no forward is set
*/
@Deprecated
- String getForwardAddress(String userName, String repositoryName) throws
UserManagementException;
+ String getForwardAddress(String userName, String repositoryName);
/**
* Retrieves a list of the names of all available user repositories
*
- * @phoenix:mx-operation
- * @phoenix:mx-description Retrieves a list of the names of all available
user repositories
*
* @return List<String> of repository names
*/
Modified:
james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/UserManagement.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/UserManagement.java?rev=1026085&r1=1026084&r2=1026085&view=diff
==============================================================================
---
james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/UserManagement.java
(original)
+++
james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/UserManagement.java
Thu Oct 21 17:57:33 2010
@@ -27,15 +27,16 @@ import java.util.Iterator;
import java.util.List;
import javax.annotation.Resource;
+import javax.management.NotCompliantMBeanException;
+import javax.management.StandardMBean;
import org.apache.james.user.api.JamesUser;
import org.apache.james.user.api.User;
-import org.apache.james.user.api.UserManagementException;
import org.apache.james.user.api.UserManagementMBean;
import org.apache.james.user.api.UsersRepository;
import org.apache.james.user.api.UsersStore;
-public class UserManagement implements UserManagementMBean {
+public class UserManagement extends StandardMBean implements
UserManagementMBean {
/**
* The administered UsersRepository
@@ -53,23 +54,27 @@ public class UserManagement implements U
this.usersStore = usersStore;
}
+
+ public UserManagement() throws NotCompliantMBeanException {
+ super(UserManagementMBean.class);
+ }
- private JamesUser getJamesUser(String userName, String repositoryName)
throws UserManagementException {
+ private JamesUser getJamesUser(String userName, String repositoryName) {
User baseuser =
getUserRepository(repositoryName).getUserByName(userName);
- if (baseuser == null) throw new UserManagementException("user not
found: " + userName);
- if (! (baseuser instanceof JamesUser ) ) throw new
UserManagementException("user is not of type JamesUser: " + userName);
+ if (baseuser == null) throw new IllegalArgumentException("user not
found: " + userName);
+ if (! (baseuser instanceof JamesUser ) ) throw new
IllegalArgumentException("user is not of type JamesUser: " + userName);
return (JamesUser) baseuser;
}
- private UsersRepository getUserRepository(String repositoryName) throws
UserManagementException {
+ private UsersRepository getUserRepository(String repositoryName) {
if (repositoryName == null) return localUsers; // return default
- if (usersStore == null) throw new UserManagementException("cannot
access user repository named " + repositoryName);
+ if (usersStore == null) throw new IllegalArgumentException("cannot
access user repository named " + repositoryName);
UsersRepository repository = usersStore.getRepository(repositoryName);
- if (repository == null) throw new UserManagementException("user
repository does not exist: " + repositoryName);
+ if (repository == null) throw new IllegalArgumentException("user
repository does not exist: " + repositoryName);
return repository;
}
@@ -77,14 +82,14 @@ public class UserManagement implements U
/**
* @see
org.apache.james.user.api.UserManagementMBean#addUser(java.lang.String,
java.lang.String, java.lang.String)
*/
- public boolean addUser(String userName, String password, String
repositoryName) throws UserManagementException {
+ public boolean addUser(String userName, String password, String
repositoryName) {
return getUserRepository(repositoryName).addUser(userName, password);
}
/**
* @see
org.apache.james.user.api.UserManagementMBean#deleteUser(java.lang.String,
java.lang.String)
*/
- public boolean deleteUser(String userName, String repositoryName) throws
UserManagementException {
+ public boolean deleteUser(String userName, String repositoryName) {
UsersRepository users = getUserRepository(repositoryName);
if (!users.contains(userName)) return false;
users.removeUser(userName);
@@ -94,7 +99,7 @@ public class UserManagement implements U
/**
* @see
org.apache.james.user.api.UserManagementMBean#verifyExists(java.lang.String,
java.lang.String)
*/
- public boolean verifyExists(String userName, String repositoryName) throws
UserManagementException {
+ public boolean verifyExists(String userName, String repositoryName) {
UsersRepository users = getUserRepository(repositoryName);
return users.contains(userName);
}
@@ -102,7 +107,7 @@ public class UserManagement implements U
/**
* @see
org.apache.james.user.api.UserManagementMBean#countUsers(java.lang.String)
*/
- public long countUsers(String repositoryName) throws
UserManagementException {
+ public long countUsers(String repositoryName) {
UsersRepository users = getUserRepository(repositoryName);
return users.countUsers();
}
@@ -110,7 +115,7 @@ public class UserManagement implements U
/**
* @see
org.apache.james.user.api.UserManagementMBean#listAllUsers(java.lang.String)
*/
- public String[] listAllUsers(String repositoryName) throws
UserManagementException {
+ public String[] listAllUsers(String repositoryName) {
List<String> userNames = new ArrayList<String>();
UsersRepository users = getUserRepository(repositoryName);
for (Iterator<String> it = users.list(); it.hasNext();) {
@@ -122,17 +127,17 @@ public class UserManagement implements U
/**
* @see
org.apache.james.user.api.UserManagementMBean#setPassword(java.lang.String,
java.lang.String, java.lang.String)
*/
- public boolean setPassword(String userName, String password, String
repositoryName) throws UserManagementException {
+ public boolean setPassword(String userName, String password, String
repositoryName) {
UsersRepository users = getUserRepository(repositoryName);
User user = users.getUserByName(userName);
- if (user == null) throw new UserManagementException("user not found: "
+ userName);
+ if (user == null) throw new IllegalArgumentException("user not found:
" + userName);
return user.setPassword(password);
}
/**
* @see
org.apache.james.user.api.UserManagementMBean#unsetAlias(java.lang.String,
java.lang.String)
*/
- public boolean unsetAlias(String userName, String repositoryName) throws
UserManagementException {
+ public boolean unsetAlias(String userName, String repositoryName) {
JamesUser user = getJamesUser(userName, null);
if (!user.getAliasing()) return false;
@@ -144,7 +149,7 @@ public class UserManagement implements U
/**
* @see
org.apache.james.user.api.UserManagementMBean#getAlias(java.lang.String,
java.lang.String)
*/
- public String getAlias(String userName, String repositoryName) throws
UserManagementException {
+ public String getAlias(String userName, String repositoryName) {
JamesUser user = getJamesUser(userName, null);
if (!user.getAliasing()) return null;
return user.getAlias();
@@ -153,7 +158,7 @@ public class UserManagement implements U
/**
* @see
org.apache.james.user.api.UserManagementMBean#unsetForwardAddress(java.lang.String,
java.lang.String)
*/
- public boolean unsetForwardAddress(String userName, String repositoryName)
throws UserManagementException {
+ public boolean unsetForwardAddress(String userName, String repositoryName)
{
JamesUser user = getJamesUser(userName, null);
if (!user.getForwarding()) return false;
@@ -166,7 +171,7 @@ public class UserManagement implements U
/**
* @see
org.apache.james.user.api.UserManagementMBean#getForwardAddress(java.lang.String,
java.lang.String)
*/
- public String getForwardAddress(String userName, String repositoryName)
throws UserManagementException {
+ public String getForwardAddress(String userName, String repositoryName) {
JamesUser user = getJamesUser(userName, null);
if (!user.getForwarding()) return null;
return user.getForwardingDestination().toString();
Modified:
james/server/trunk/user-library/src/test/java/org/apache/james/user/lib/UserManagementTest.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/user-library/src/test/java/org/apache/james/user/lib/UserManagementTest.java?rev=1026085&r1=1026084&r2=1026085&view=diff
==============================================================================
---
james/server/trunk/user-library/src/test/java/org/apache/james/user/lib/UserManagementTest.java
(original)
+++
james/server/trunk/user-library/src/test/java/org/apache/james/user/lib/UserManagementTest.java
Thu Oct 21 17:57:33 2010
@@ -26,7 +26,6 @@ import java.util.List;
import junit.framework.TestCase;
-import org.apache.james.user.api.UserManagementException;
import org.apache.james.user.lib.UserManagement;
/**
@@ -47,7 +46,7 @@ public class UserManagementTest extends
- public void testUserCount() throws UserManagementException {
+ public void testUserCount() {
assertEquals("no user yet", 0, m_userManagement.countUsers(null));
m_mockUsersRepository.addUser("testCount1", "testCount");
assertEquals("1 user", 1, m_userManagement.countUsers(null));
@@ -57,7 +56,7 @@ public class UserManagementTest extends
assertEquals("1 user", 1, m_userManagement.countUsers(null));
}
- public void testDefaultRepositoryIsLocalUsers() throws
UserManagementException {
+ public void testDefaultRepositoryIsLocalUsers() {
m_userManagement.addUser("testCount1", "testCount", null);
m_userManagement.addUser("testCount2", "testCount", "LocalUsers");
@@ -65,16 +64,16 @@ public class UserManagementTest extends
assertEquals("2 users", 2, m_userManagement.countUsers("LocalUsers"));
}
- public void testNonExistingRepository() throws UserManagementException {
+ public void testNonExistingRepository() {
try {
m_userManagement.addUser("testCount1", "testCount", "NonExisting");
fail("retrieved non-existing repository");
- } catch (UserManagementException e) {
+ } catch (IllegalArgumentException e) {
// success
}
}
- public void testAddUserAndVerify() throws UserManagementException {
+ public void testAddUserAndVerify() {
assertTrue("user added", m_mockUsersRepository.addUser("testCount1",
"testCount"));
assertFalse("user not there",
m_userManagement.verifyExists("testNotAdded", null));
assertTrue("user is there",
m_userManagement.verifyExists("testCount1", null));
@@ -82,7 +81,7 @@ public class UserManagementTest extends
assertFalse("user not there",
m_userManagement.verifyExists("testCount1", null));
}
- public void testDelUser() throws UserManagementException {
+ public void testDelUser() {
assertTrue("user added", m_mockUsersRepository.addUser("testDel",
"test"));
assertFalse("user not there",
m_userManagement.verifyExists("testNotDeletable", null));
assertTrue("user is there", m_userManagement.verifyExists("testDel",
null));
@@ -90,7 +89,7 @@ public class UserManagementTest extends
assertFalse("user no longer there",
m_userManagement.verifyExists("testDel", null));
}
- public void testListUsers() throws UserManagementException {
+ public void testListUsers() {
String[] usersArray = new String[] {"ccc", "aaa", "dddd", "bbbbb"};
List<String> users = Arrays.asList(usersArray);
@@ -110,7 +109,7 @@ public class UserManagementTest extends
}
- public void testSetPassword() throws UserManagementException {
+ public void testSetPassword() {
assertTrue("user added", m_userManagement.addUser("testPwdUser",
"pwd1", null));
@@ -131,7 +130,7 @@ public class UserManagementTest extends
}
- public void testListRepositories() throws UserManagementException {
+ public void testListRepositories() {
List<String> userRepositoryNames =
m_userManagement.getUserRepositoryNames();
assertTrue("default is there",
userRepositoryNames.contains("LocalUsers"));
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]