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]

Reply via email to