You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2010/12/16 13:09:51 UTC
svn commit: r1049943 - in /james/server/trunk:
container-spring/src/main/config/examples/
container-spring/src/main/config/james/
container-spring/src/main/config/james/context/
mailets/src/main/java/org/apache/james/transport/mailets/ mailets/src/main...
Author: norman
Date: Thu Dec 16 12:09:50 2010
New Revision: 1049943
URL: http://svn.apache.org/viewvc?rev=1049943&view=rev
Log:
Remove UsersStore, this also means we remove the mailinglist support for now. See JAMES-1150
Added:
james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/JamesUsersRepository.java
- copied, changed from r1049797, james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/JamesUsersStore.java
Removed:
james/server/trunk/container-spring/src/main/config/examples/james-listmanager.xml
james/server/trunk/container-spring/src/main/config/examples/miResources.xml
james/server/trunk/container-spring/src/main/config/james/james-listmanager.xml
james/server/trunk/container-spring/src/main/config/james/miResources.xml
james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/AvalonListserv.java
james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/AvalonListservManager.java
james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/CommandListservFooter.java
james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/CommandListservManager.java
james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/CommandListservProcessor.java
james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/GenericListserv.java
james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/GenericListservManager.java
james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/ICommandListservManager.java
james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/JDBCListserv.java
james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/listservcommands/
james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/UserCmdHandler.java
james/server/trunk/user-api/src/main/java/org/apache/james/user/api/UsersStore.java
james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/JamesUsersStore.java
james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/LocalJamesUsersRepository.java
james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/LocalUsersRepository.java
james/server/trunk/user-library/src/test/java/org/apache/james/user/lib/MockUsersStore.java
Modified:
james/server/trunk/container-spring/src/main/config/james/context/james-server-context.xml
james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/LocalDelivery.java
james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/UsersRepositoryAliasingForwarding.java
james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/AddUserCmdHandler.java
james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/CoreCmdHandlerLoader.java
james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/CountUsersCmdHandler.java
james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/DelUserCmdHandler.java
james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/ListUsersCmdHandler.java
james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/SetPasswordCmdHandler.java
james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/ShowAliasCmdHandler.java
james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/ShowForwardingCmdHandler.java
james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/UnsetAliasCmdHandler.java
james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/UnsetForwardingCmdHandler.java
james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/VerifyCmdHandler.java
james/server/trunk/remotemanager/src/test/java/org/apache/james/remotemanager/AbstractRemoteManagerTest.java
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/container-spring/src/main/config/james/context/james-server-context.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/container-spring/src/main/config/james/context/james-server-context.xml?rev=1049943&r1=1049942&r2=1049943&view=diff
==============================================================================
--- james/server/trunk/container-spring/src/main/config/james/context/james-server-context.xml (original)
+++ james/server/trunk/container-spring/src/main/config/james/context/james-server-context.xml Thu Dec 16 12:09:50 2010
@@ -54,7 +54,6 @@
<entry key="mailetloader" value="mailetcontainer"/>
<entry key="matcherloader" value="mailetcontainer"/>
<entry key="mailetcontext" value="mailetcontainer"/>
- <entry key="usersstore" value="usersrepository"/>
</map>
</property>
</bean>
@@ -77,7 +76,6 @@
<entry key="mailspooler" value="mailetcontainer"/>
<entry key="mailetloader" value="mailetcontainer"/>
<entry key="matcherloader" value="mailetcontainer"/>
- <entry key="usersstore" value="usersrepository"/>
</map>
</property>
</bean>
@@ -219,10 +217,7 @@
<!--
Users
-->
- <bean id="usersstore" class="org.apache.james.user.lib.JamesUsersStore" >
- <property name="defaultRepository" value="LocalUsers"/>
- </bean>
- <bean id="localusersrepository" class="org.apache.james.user.lib.LocalUsersRepository" />
+ <bean id="usersrepository" name="localusersrepository" class="org.apache.james.user.lib.JamesUsersRepository"/>
<bean id="virtualusertable" class="org.apache.james.vut.lib.JamesVirtualUserTable" />
<!--
@@ -236,11 +231,6 @@
<bean id="mailstore" class="org.apache.james.mailstore.lib.JamesMailStore" />
<!--
- Mailstore Import 2.3
- INFO: This sections still needs to be completed with beans responsible to import James 2.3 mailstore.
- -->
-
- <!--
Mailbox
-->
<bean id="mailboxmanager" parent="jpa-mailboxmanager" />
Modified: james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/LocalDelivery.java
URL: http://svn.apache.org/viewvc/james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/LocalDelivery.java?rev=1049943&r1=1049942&r2=1049943&view=diff
==============================================================================
--- james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/LocalDelivery.java (original)
+++ james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/LocalDelivery.java Thu Dec 16 12:09:50 2010
@@ -23,7 +23,6 @@ package org.apache.james.transport.maile
import org.apache.james.mailbox.MailboxManager;
import org.apache.james.user.api.UsersRepository;
-import org.apache.james.user.api.UsersStore;
import org.apache.mailet.base.GenericMailet;
import org.apache.mailet.Mail;
import org.apache.mailet.MailetConfig;
@@ -57,8 +56,6 @@ public class LocalDelivery extends Gener
private UsersRepository usersRepository;
- private UsersStore usersStore;
-
private MailboxManager mailboxManager;
@@ -70,11 +67,6 @@ public class LocalDelivery extends Gener
}
- @Resource(name="usersstore")
- public void setUsersStore(UsersStore usersStore) {
- this.usersStore = usersStore;
- }
-
@Resource(name="mailboxmanager")
@@ -115,7 +107,6 @@ public class LocalDelivery extends Gener
aliasingMailet = new UsersRepositoryAliasingForwarding();
aliasingMailet.setUsersRepository(usersRepository);
- aliasingMailet.setUsersStore(usersStore);
aliasingMailet.init(getMailetConfig());
sieveMailet = new SieveMailet();
MailetConfig m = new MailetConfig() {
Modified: james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/UsersRepositoryAliasingForwarding.java
URL: http://svn.apache.org/viewvc/james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/UsersRepositoryAliasingForwarding.java?rev=1049943&r1=1049942&r2=1049943&view=diff
==============================================================================
--- james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/UsersRepositoryAliasingForwarding.java (original)
+++ james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/UsersRepositoryAliasingForwarding.java Thu Dec 16 12:09:50 2010
@@ -29,7 +29,6 @@ import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import org.apache.james.user.api.UsersRepository;
-import org.apache.james.user.api.UsersStore;
import org.apache.james.vut.api.VirtualUserTable;
import org.apache.james.vut.api.VirtualUserTable.ErrorMappingException;
import org.apache.mailet.MailAddress;
@@ -46,8 +45,6 @@ import org.apache.mailet.MailAddress;
* <enableForwarding>true</enableForwarding>: enable the forwarding. Default to
* false.
*
- * <usersRepository>LocalAdmins</usersRepository>: specific users repository
- * name. Default to empty. If empty does lookup the default userRepository.
*
* @deprecated use org.apache.james.transport.mailets.VirtualUserTable
*
@@ -60,7 +57,6 @@ public class UsersRepositoryAliasingForw
* inboxes on this server.
*/
private UsersRepository usersRepository;
- private UsersStore usersStore;
/**
* Return a string describing this mailet.
@@ -75,12 +71,7 @@ public class UsersRepositoryAliasingForw
public void setUsersRepository(UsersRepository usersRepository) {
this.usersRepository = usersRepository;
}
-
- @Resource(name="usersstore")
- public void setUsersStore(UsersStore usersStore) {
- this.usersStore = usersStore;
- }
-
+
/**
* Return null when the mail should be GHOSTed, the username string when it
* should be changed due to the ignoreUser configuration.
@@ -131,16 +122,4 @@ public class UsersRepositoryAliasingForw
}
- /**
- * @see org.apache.mailet.GenericMailet#init()
- */
- public void init() throws MessagingException {
- super.init();
- String userRep = getInitParameter("usersRepository");
- if (userRep != null && userRep.length() > 0) {
- usersRepository = usersStore.getRepository(userRep);
- }
-
- }
-
}
Modified: james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/AddUserCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/AddUserCmdHandler.java?rev=1049943&r1=1049942&r2=1049943&view=diff
==============================================================================
--- james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/AddUserCmdHandler.java (original)
+++ james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/AddUserCmdHandler.java Thu Dec 16 12:09:50 2010
@@ -34,7 +34,6 @@ import org.apache.james.remotemanager.Co
import org.apache.james.remotemanager.RemoteManagerResponse;
import org.apache.james.remotemanager.RemoteManagerSession;
import org.apache.james.user.api.UsersRepository;
-import org.apache.james.user.api.UsersStore;
/**
* Handler method called upon receipt of an ADDUSER command.
@@ -44,8 +43,6 @@ public class AddUserCmdHandler implement
private final static String COMMAND_NAME = "ADDUSER";
private CommandHelp help = new CommandHelp("adduser [username] [password]","add a new user");
- private UsersStore uStore;
-
private DomainList domList;
@Resource(name="domainlist")
@@ -53,13 +50,17 @@ public class AddUserCmdHandler implement
this.domList = domList;
}
+ private UsersRepository users;
+
/**
- * Sets the users store.
- * @param users the users to set
+ * Sets the users repository.
+ *
+ * @param users
+ * the users to set
*/
- @Resource(name="usersstore")
- public final void setUsers(UsersStore uStore) {
- this.uStore = uStore;
+ @Resource(name = "localusersrepository")
+ public final void setUsers(UsersRepository users) {
+ this.users = users;
}
@@ -90,8 +91,6 @@ public class AddUserCmdHandler implement
response = new RemoteManagerResponse("Usage: " + getHelp().getSyntax());
return response;
}
- UsersRepository users = uStore.getRepository((String)session.getState().get(RemoteManagerSession.CURRENT_USERREPOSITORY));
-
boolean success = false;
if (users.contains(username)) {
StringBuilder responseBuffer =
Modified: james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/CoreCmdHandlerLoader.java
URL: http://svn.apache.org/viewvc/james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/CoreCmdHandlerLoader.java?rev=1049943&r1=1049942&r2=1049943&view=diff
==============================================================================
--- james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/CoreCmdHandlerLoader.java (original)
+++ james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/CoreCmdHandlerLoader.java Thu Dec 16 12:09:50 2010
@@ -47,7 +47,6 @@ public class CoreCmdHandlerLoader implem
private final static String UNKNOWNCMDHANDLER = UnknownCmdHandler.class.getName();
private final static String UNSETALIASCMDHANDLER = UnsetAliasCmdHandler.class.getName();
private final static String UNSETFORWARDINGCMDHANDLER = UnsetForwardingCmdHandler.class.getName();
- private final static String USERCMDHANDLER = UserCmdHandler.class.getName();
private final static String VERIFYCMDHANDLER = VerifyCmdHandler.class.getName();
private final static String COMMANDDISPATCHER = RemoteManagerCommandDispatcherLineHandler.class.getName();
private final static String AUTHORIZATIONHANDLER = AuthorizationHandler.class.getName();
@@ -78,7 +77,6 @@ public class CoreCmdHandlerLoader implem
commands.add(UNKNOWNCMDHANDLER);
commands.add(UNSETALIASCMDHANDLER);
commands.add(UNSETFORWARDINGCMDHANDLER);
- commands.add(USERCMDHANDLER);
commands.add(VERIFYCMDHANDLER);
Modified: james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/CountUsersCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/CountUsersCmdHandler.java?rev=1049943&r1=1049942&r2=1049943&view=diff
==============================================================================
--- james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/CountUsersCmdHandler.java (original)
+++ james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/CountUsersCmdHandler.java Thu Dec 16 12:09:50 2010
@@ -28,7 +28,6 @@ import org.apache.james.protocols.api.Re
import org.apache.james.remotemanager.CommandHelp;
import org.apache.james.remotemanager.RemoteManagerResponse;
import org.apache.james.remotemanager.RemoteManagerSession;
-import org.apache.james.user.api.UsersRepository;
public class CountUsersCmdHandler extends ListUsersCmdHandler{
@@ -51,7 +50,6 @@ public class CountUsersCmdHandler extend
public Response onCommand(RemoteManagerSession session, Request request) {
RemoteManagerResponse response;
String parameters = request.getArgument();
- UsersRepository users = uStore.getRepository(((String) session.getState().get(RemoteManagerSession.CURRENT_USERREPOSITORY)));
System.out.println("users " +users);
if (parameters == null) {
response = new RemoteManagerResponse("Existing accounts " + users.countUsers());
Modified: james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/DelUserCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/DelUserCmdHandler.java?rev=1049943&r1=1049942&r2=1049943&view=diff
==============================================================================
--- james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/DelUserCmdHandler.java (original)
+++ james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/DelUserCmdHandler.java Thu Dec 16 12:09:50 2010
@@ -33,7 +33,6 @@ import org.apache.james.remotemanager.Co
import org.apache.james.remotemanager.RemoteManagerResponse;
import org.apache.james.remotemanager.RemoteManagerSession;
import org.apache.james.user.api.UsersRepository;
-import org.apache.james.user.api.UsersStore;
/**
* Handler called upon receipt of an DELUSER command.
@@ -42,20 +41,19 @@ public class DelUserCmdHandler implement
private final static String COMMAND_NAME = "DELUSER";
private CommandHelp help = new CommandHelp("deluser [username]", "delete existing user");
-
- private UsersStore uStore;
+
+ private UsersRepository users;
/**
- * Sets the users store.
+ * Sets the users repository.
*
* @param users
* the users to set
*/
- @Resource(name = "usersstore")
- public final void setUsers(UsersStore uStore) {
- this.uStore = uStore;
+ @Resource(name = "localusersrepository")
+ public final void setUsers(UsersRepository users) {
+ this.users = users;
}
-
/**
* @see org.apache.james.remotemanager.CommandHandler#getHelp()
*/
@@ -76,7 +74,6 @@ public class DelUserCmdHandler implement
response = new RemoteManagerResponse("Usage: " + help.getSyntax());
return response;
} else {
- UsersRepository users = uStore.getRepository(((String) session.getState().get(RemoteManagerSession.CURRENT_USERREPOSITORY)));
if (users.contains(user)) {
try {
users.removeUser(user);
Modified: james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/ListUsersCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/ListUsersCmdHandler.java?rev=1049943&r1=1049942&r2=1049943&view=diff
==============================================================================
--- james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/ListUsersCmdHandler.java (original)
+++ james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/ListUsersCmdHandler.java Thu Dec 16 12:09:50 2010
@@ -33,26 +33,24 @@ import org.apache.james.remotemanager.Co
import org.apache.james.remotemanager.RemoteManagerResponse;
import org.apache.james.remotemanager.RemoteManagerSession;
import org.apache.james.user.api.UsersRepository;
-import org.apache.james.user.api.UsersStore;
public class ListUsersCmdHandler implements CommandHandler{
private final static String COMMAND_NAME = "LISTUSERS";
private CommandHelp help = new CommandHelp("listusers","display existing accounts");
- protected UsersStore uStore;
+ protected UsersRepository users;
/**
- * Sets the users store.
+ * Sets the users repository.
*
* @param users
* the users to set
*/
- @Resource(name = "usersstore")
- public final void setUsers(UsersStore uStore) {
- this.uStore = uStore;
+ @Resource(name = "localusersrepository")
+ public final void setUsers(UsersRepository users) {
+ this.users = users;
}
-
/**
@@ -70,7 +68,6 @@ public class ListUsersCmdHandler impleme
public Response onCommand(RemoteManagerSession session, Request request) {
RemoteManagerResponse response;
String parameters = request.getArgument();
- UsersRepository users = uStore.getRepository(((String) session.getState().get(RemoteManagerSession.CURRENT_USERREPOSITORY)));
if (parameters == null) {
response = new RemoteManagerResponse("Existing accounts " + users.countUsers());
Modified: james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/SetPasswordCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/SetPasswordCmdHandler.java?rev=1049943&r1=1049942&r2=1049943&view=diff
==============================================================================
--- james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/SetPasswordCmdHandler.java (original)
+++ james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/SetPasswordCmdHandler.java Thu Dec 16 12:09:50 2010
@@ -34,7 +34,6 @@ import org.apache.james.remotemanager.Re
import org.apache.james.remotemanager.RemoteManagerSession;
import org.apache.james.user.api.User;
import org.apache.james.user.api.UsersRepository;
-import org.apache.james.user.api.UsersStore;
/**
@@ -45,19 +44,19 @@ public class SetPasswordCmdHandler imple
private final static String COMMAND_NAME = "SETPASSWORD";
private CommandHelp help = new CommandHelp("setpassword [username] [password]","sets a user's password");
- private UsersStore uStore;
+ private UsersRepository users;
-
/**
- * Sets the users store.
- * @param users the users to set
+ * Sets the users repository.
+ *
+ * @param users
+ * the users to set
*/
- @Resource(name="usersstore")
- public final void setUsers(UsersStore uStore) {
- this.uStore = uStore;
+ @Resource(name = "localusersrepository")
+ public final void setUsers(UsersRepository users) {
+ this.users = users;
}
-
/**
* @see org.apache.james.remotemanager.CommandHandler#getHelp()
*/
@@ -87,7 +86,6 @@ public class SetPasswordCmdHandler imple
return response;
}
- UsersRepository users = uStore.getRepository((String)session.getState().get(RemoteManagerSession.CURRENT_USERREPOSITORY));
User user = users.getUserByName(username);
Modified: james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/ShowAliasCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/ShowAliasCmdHandler.java?rev=1049943&r1=1049942&r2=1049943&view=diff
==============================================================================
--- james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/ShowAliasCmdHandler.java (original)
+++ james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/ShowAliasCmdHandler.java Thu Dec 16 12:09:50 2010
@@ -34,7 +34,6 @@ import org.apache.james.remotemanager.Re
import org.apache.james.user.api.JamesUser;
import org.apache.james.user.api.User;
import org.apache.james.user.api.UsersRepository;
-import org.apache.james.user.api.UsersStore;
/**
* Handler called upon receipt of an SHOWALIAS command.
@@ -45,17 +44,17 @@ public class ShowAliasCmdHandler impleme
private final static String COMMAND_NAME = "SHOWALIAS";
private CommandHelp help = new CommandHelp("showalias [username]","shows a user's current email alias");
- private UsersStore uStore;
+ private UsersRepository users;
/**
- * Sets the users store.
+ * Sets the users repository.
*
* @param users
* the users to set
*/
- @Resource(name = "usersstore")
- public final void setUsers(UsersStore uStore) {
- this.uStore = uStore;
+ @Resource(name = "localusersrepository")
+ public final void setUsers(UsersRepository users) {
+ this.users = users;
}
/**
@@ -77,8 +76,6 @@ public class ShowAliasCmdHandler impleme
return response;
}
- UsersRepository users = uStore.getRepository((String) session.getState().get(RemoteManagerSession.CURRENT_USERREPOSITORY));
-
User baseuser = users.getUserByName(parameters);
if (baseuser == null) {
response = new RemoteManagerResponse("No such user " + parameters);
Modified: james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/ShowForwardingCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/ShowForwardingCmdHandler.java?rev=1049943&r1=1049942&r2=1049943&view=diff
==============================================================================
--- james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/ShowForwardingCmdHandler.java (original)
+++ james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/ShowForwardingCmdHandler.java Thu Dec 16 12:09:50 2010
@@ -34,7 +34,6 @@ import org.apache.james.remotemanager.Re
import org.apache.james.user.api.JamesUser;
import org.apache.james.user.api.User;
import org.apache.james.user.api.UsersRepository;
-import org.apache.james.user.api.UsersStore;
import org.apache.mailet.MailAddress;
/**
@@ -46,19 +45,18 @@ public class ShowForwardingCmdHandler im
private final static String COMMAND_NAME = "SHOWFORWARDING";
private CommandHelp help = new CommandHelp("showforwarding [username]","shows a user's current email forwarding");
- private UsersStore uStore;
+ private UsersRepository users;
/**
- * Sets the users store.
+ * Sets the users repository.
*
* @param users
* the users to set
*/
- @Resource(name = "usersstore")
- public final void setUsers(UsersStore uStore) {
- this.uStore = uStore;
+ @Resource(name = "localusersrepository")
+ public final void setUsers(UsersRepository users) {
+ this.users = users;
}
-
/**
* @see org.apache.james.remotemanager.CommandHandler#getHelp()
*/
@@ -78,8 +76,6 @@ public class ShowForwardingCmdHandler im
return response;
}
- UsersRepository users = uStore.getRepository((String) session.getState().get(RemoteManagerSession.CURRENT_USERREPOSITORY));
-
// Verify user exists
User baseuser = users.getUserByName(parameters);
Modified: james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/UnsetAliasCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/UnsetAliasCmdHandler.java?rev=1049943&r1=1049942&r2=1049943&view=diff
==============================================================================
--- james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/UnsetAliasCmdHandler.java (original)
+++ james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/UnsetAliasCmdHandler.java Thu Dec 16 12:09:50 2010
@@ -33,7 +33,6 @@ import org.apache.james.remotemanager.Re
import org.apache.james.remotemanager.RemoteManagerSession;
import org.apache.james.user.api.JamesUser;
import org.apache.james.user.api.UsersRepository;
-import org.apache.james.user.api.UsersStore;
/**
* Handler called upon receipt of an UNSETALIAS command.
@@ -42,19 +41,18 @@ public class UnsetAliasCmdHandler implem
public final static String COMMAND_NAME = "UNSETALIAS";
private CommandHelp help = new CommandHelp("unsetalias [user]","unsets an alias for 'user'");
- private UsersStore uStore;
+ private UsersRepository users;
/**
- * Sets the users store.
+ * Sets the users repository.
*
* @param users
* the users to set
*/
- @Resource(name = "usersstore")
- public final void setUsers(UsersStore uStore) {
- this.uStore = uStore;
+ @Resource(name = "localusersrepository")
+ public final void setUsers(UsersRepository users) {
+ this.users = users;
}
-
/**
* @see org.apache.james.remotemanager.CommandHandler#getHelp()
*/
@@ -74,8 +72,6 @@ public class UnsetAliasCmdHandler implem
response = new RemoteManagerResponse("Usage: " + help.getSyntax());
return response;
}
- UsersRepository users = uStore.getRepository((String) session.getState().get(RemoteManagerSession.CURRENT_USERREPOSITORY));
-
String username = parameters;
JamesUser user = (JamesUser) users.getUserByName(username);
if (user == null) {
Modified: james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/UnsetForwardingCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/UnsetForwardingCmdHandler.java?rev=1049943&r1=1049942&r2=1049943&view=diff
==============================================================================
--- james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/UnsetForwardingCmdHandler.java (original)
+++ james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/UnsetForwardingCmdHandler.java Thu Dec 16 12:09:50 2010
@@ -33,7 +33,6 @@ import org.apache.james.remotemanager.Re
import org.apache.james.remotemanager.RemoteManagerSession;
import org.apache.james.user.api.JamesUser;
import org.apache.james.user.api.UsersRepository;
-import org.apache.james.user.api.UsersStore;
/**
* Handler called upon receipt of an UNSETFORWARDING command.
@@ -43,19 +42,18 @@ public class UnsetForwardingCmdHandler i
private final static String COMMAND_NAME = "UNSETFORWARDING";
private CommandHelp help = new CommandHelp("unsetforwarding [username]","removes a forward");
- private UsersStore uStore;
+ private UsersRepository users;
/**
- * Sets the users store.
+ * Sets the users repository.
*
* @param users
* the users to set
*/
- @Resource(name = "usersstore")
- public final void setUsers(UsersStore uStore) {
- this.uStore = uStore;
+ @Resource(name = "localusersrepository")
+ public final void setUsers(UsersRepository users) {
+ this.users = users;
}
-
/**
* @see org.apache.james.remotemanager.CommandHandler#getHelp()
*/
@@ -74,7 +72,6 @@ public class UnsetForwardingCmdHandler i
response = new RemoteManagerResponse("Usage: " + help.getSyntax());
return response;
}
- UsersRepository users = uStore.getRepository((String) session.getState().get(RemoteManagerSession.CURRENT_USERREPOSITORY));
String username = parameters;
JamesUser user = (JamesUser) users.getUserByName(username);
if (user == null) {
Modified: james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/VerifyCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/VerifyCmdHandler.java?rev=1049943&r1=1049942&r2=1049943&view=diff
==============================================================================
--- james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/VerifyCmdHandler.java (original)
+++ james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/VerifyCmdHandler.java Thu Dec 16 12:09:50 2010
@@ -32,7 +32,6 @@ import org.apache.james.remotemanager.Co
import org.apache.james.remotemanager.RemoteManagerResponse;
import org.apache.james.remotemanager.RemoteManagerSession;
import org.apache.james.user.api.UsersRepository;
-import org.apache.james.user.api.UsersStore;
/**
* Handler method called upon receipt of an VERIFY command.
@@ -40,20 +39,19 @@ import org.apache.james.user.api.UsersSt
public class VerifyCmdHandler implements CommandHandler{
private final static String COMMAND_NAME = "VERIFY";
private CommandHelp help = new CommandHelp("verify [username]","verify if specified user exist");
-
- private UsersStore uStore;
+ private UsersRepository users;
/**
- * Sets the users store.
+ * Sets the users repository.
*
* @param users
* the users to set
*/
- @Resource(name = "usersstore")
- public final void setUsers(UsersStore uStore) {
- this.uStore = uStore;
+ @Resource(name = "localusersrepository")
+ public final void setUsers(UsersRepository users) {
+ this.users = users;
}
-
+
/**
* @see org.apache.james.remotemanager.CommandHandler#getHelp()
*/
@@ -72,7 +70,6 @@ public class VerifyCmdHandler implements
response = new RemoteManagerResponse("Usage: verify [username]");
return response;
}
- UsersRepository users = uStore.getRepository((String) session.getState().get(RemoteManagerSession.CURRENT_USERREPOSITORY));
if (users.contains(user)) {
StringBuilder responseBuffer =
new StringBuilder(64)
Modified: james/server/trunk/remotemanager/src/test/java/org/apache/james/remotemanager/AbstractRemoteManagerTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/remotemanager/src/test/java/org/apache/james/remotemanager/AbstractRemoteManagerTest.java?rev=1049943&r1=1049942&r2=1049943&view=diff
==============================================================================
--- james/server/trunk/remotemanager/src/test/java/org/apache/james/remotemanager/AbstractRemoteManagerTest.java (original)
+++ james/server/trunk/remotemanager/src/test/java/org/apache/james/remotemanager/AbstractRemoteManagerTest.java Thu Dec 16 12:09:50 2010
@@ -46,7 +46,6 @@ import org.apache.james.domainlist.api.S
import org.apache.james.lifecycle.LifecycleUtil;
import org.apache.james.mailstore.MockMailStore;
import org.apache.james.user.lib.MockUsersRepository;
-import org.apache.james.user.lib.MockUsersStore;
import org.apache.james.util.InternetPrintWriter;
import org.apache.james.util.TestUtil;
import org.apache.james.vut.lib.MockVirtualUserTableManagementImpl;
@@ -60,7 +59,6 @@ public abstract class AbstractRemoteMana
private TelnetClient m_telnetClient;
private MockUsersRepository m_mockUsersRepository;
private MockJSR250Loader serviceManager;
- private MockUsersStore usersStore;
protected DNSService dnsservice;
protected MockFileSystem filesystem;
private MockVirtualUserTableManagementImpl vutManagement;
@@ -165,10 +163,6 @@ public abstract class AbstractRemoteMana
m_mockUsersRepository = new MockUsersRepository();
serviceManager.put("localusersrepository", m_mockUsersRepository);
-
- usersStore = new MockUsersStore(m_mockUsersRepository);
- serviceManager.put("usersstore", usersStore);
-
filesystem = new MockFileSystem();
serviceManager.put("filesystem", filesystem);
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=1049943&r1=1049942&r2=1049943&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 Dec 16 12:09:50 2010
@@ -35,53 +35,44 @@ public interface UserManagementMBean {
*
* @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 successful
*/
- boolean addUser(String userName, String password, String repositoryName);
+ boolean addUser(String userName, String password);
/**
* Deletes a user from this mail server.
*
*
* @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 successful
*/
- boolean deleteUser(String userName, String repositoryName);
+ boolean deleteUser(String userName);
/**
* Check if a user exists with the given 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);
+ boolean verifyExists(String userName);
/**
* 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);
+ long countUsers();
/**
* List the names of all 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);
+ String[] listAllUsers();
/**
* Set a user's password
@@ -89,73 +80,54 @@ public interface UserManagementMBean {
*
* @param userName The name of the user whose password will be changed
* @param password The new password
- * @param repositoryName The user repository, to which the operation should be applied. If NULL, the LocalUsers
- * repository is used.
* @return if the user has been found and the password was changed successfully
*/
- boolean setPassword(String userName, String password, String repositoryName);
+ boolean setPassword(String userName, String password);
/**
* 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
- * repository is used.
* @return if the user has been found and the alias was removed
*/
@Deprecated
- boolean unsetAlias(String userName, String repositoryName);
+ boolean unsetAlias(String userName);
/**
* 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) ;
+ String getAlias(String userName) ;
/**
* 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
- * repository is used.
* @return if the user has been found and the forward was removed
*/
@Deprecated
- boolean unsetForwardAddress(String userName, String repositoryName);
+ boolean unsetForwardAddress(String userName);
/**
* 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
- * repository is used.
* @return User's forward email address, or NULL, if no forward is set
*/
@Deprecated
- String getForwardAddress(String userName, String repositoryName);
+ String getForwardAddress(String userName);
+
- /**
- * Retrieves a list of the names of all available user repositories
- *
- *
- * @return List<String> of repository names
- */
- List<String> getUserRepositoryNames();
-
/**
* Return true if the UserRepository has VirtualHosting enabled
*
- * @param repositoryName The user repository, to which the operation should be applied. If NULL, the LocalUsers
- * repository is used.
* @return virtual
*/
- public boolean getVirtualHostingEnabled(String repositoryName);
+ public boolean getVirtualHostingEnabled();
}
Copied: james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/JamesUsersRepository.java (from r1049797, james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/JamesUsersStore.java)
URL: http://svn.apache.org/viewvc/james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/JamesUsersRepository.java?p2=james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/JamesUsersRepository.java&p1=james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/JamesUsersStore.java&r1=1049797&r2=1049943&rev=1049943&view=diff
==============================================================================
--- james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/JamesUsersStore.java (original)
+++ james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/JamesUsersRepository.java Thu Dec 16 12:09:50 2010
@@ -18,10 +18,9 @@
****************************************************************/
package org.apache.james.user.lib;
-import java.util.Collections;
+import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
-import java.util.List;
import java.util.Map;
import javax.annotation.PostConstruct;
@@ -33,23 +32,22 @@ import org.apache.commons.logging.Log;
import org.apache.james.lifecycle.Configurable;
import org.apache.james.lifecycle.LogEnabled;
import org.apache.james.services.InstanceFactory;
+import org.apache.james.user.api.User;
import org.apache.james.user.api.UsersRepository;
-import org.apache.james.user.api.UsersStore;
/**
* UsersStore implementation which will parse the configuration file for users-store and add every configured repository
*
*/
-public class JamesUsersStore implements UsersStore ,Configurable, LogEnabled{
-
- private String defaultName;
+public class JamesUsersRepository implements UsersRepository ,org.apache.james.user.api.JamesUsersRepository, Configurable, LogEnabled{
protected Log log;
- protected final Map<String, UsersRepository> objects = Collections.synchronizedMap(new HashMap<String, UsersRepository>());
private InstanceFactory factory;
private HierarchicalConfiguration config;
+ private UsersRepository repos;
+
@Resource(name="instanceFactory")
public void setInstanceFactory(InstanceFactory factory) {
@@ -68,61 +66,192 @@ public class JamesUsersStore implements
@SuppressWarnings("unchecked")
public void init() throws Exception {
ClassLoader loader = Thread.currentThread().getContextClassLoader();
- List<HierarchicalConfiguration> repConfs = config.configurationsAt("repository");
- for (int i = 0; i < repConfs.size(); i++) {
- final HierarchicalConfiguration repConf = repConfs.get(i);
- String repName = repConf.getString("[@name]", null);
- String repClass = repConf.getString("[@class]");
-
- if (repName == null) {
- repName = repClass;
- }
-
- if (log.isDebugEnabled()) {
- log.debug("Starting " + repClass);
- }
-
-
- objects.put(repName, (UsersRepository) factory.newInstance(loader.loadClass(repClass), log, repConf));
-
- if (log.isInfoEnabled()) {
- StringBuffer logBuffer = new StringBuffer(64).append("Bean ").append(repName).append(" started.");
- log.info(logBuffer.toString());
- }
+ HierarchicalConfiguration repConf = config.configurationAt("repository");
+ String repName = repConf.getString("[@name]", null);
+ String repClass = repConf.getString("[@class]");
+
+ if (repName == null) {
+ repName = repClass;
+ }
+
+ if (log.isDebugEnabled()) {
+ log.debug("Starting " + repClass);
+ }
+
+ repos = (UsersRepository)factory.newInstance(loader.loadClass(repClass), log, repConf);
+
+ if (log.isInfoEnabled()) {
+ StringBuffer logBuffer = new StringBuffer(64).append("Bean ").append(repName).append(" started.");
+ log.info(logBuffer.toString());
}
}
-
- /*
- * (non-Javadoc)
- *
- * @see org.apache.james.api.user.UsersStore#getRepository(java.lang.String)
- */
- public UsersRepository getRepository(String name) {
- if (name == null || name.trim().equals("")) {
- name = defaultName;
- }
+ public boolean addUser(User user) {
+ return repos.addUser(user);
+ }
+
+ public void addUser(String name, Object attributes) {
+ repos.addUser(name, attributes);
+ }
+
+ public boolean addUser(String username, String password) {
+ return repos.addUser(username, password);
+ }
+
+ public User getUserByName(String name) {
+ return repos.getUserByName(name);
+ }
+
+ public User getUserByNameCaseInsensitive(String name) {
+ return repos.getUserByNameCaseInsensitive(name);
+ }
+
+ public String getRealName(String name) {
+ return repos.getRealName(name);
+ }
+
+ public boolean updateUser(User user) {
+ return repos.updateUser(user);
+ }
+
+ public void removeUser(String name) {
+ repos.removeUser(name);
+ }
+
+ public boolean contains(String name) {
+ return repos.contains(name);
+ }
+
+ public boolean containsCaseInsensitive(String name) {
+ return repos.containsCaseInsensitive(name);
+ }
+
+ public boolean test(String name, String password) {
+ return repos.test(name, password);
+
+ }
- UsersRepository response = objects.get(name);
+ public int countUsers() {
+ return repos.countUsers();
- if ((response == null) && (log.isWarnEnabled())) {
- log.warn("No users repository called: " + name);
+ }
+
+ public Iterator<String> list() {
+ return repos.list();
+ }
+
+ public boolean supportVirtualHosting() {
+ return repos.supportVirtualHosting();
+ }
+
+ public Collection<String> getMappings(String user, String domain) throws ErrorMappingException {
+ if (repos instanceof JamesUsersRepository) {
+ return ((org.apache.james.user.api.JamesUsersRepository) repos).getMappings(user, domain);
}
- return response;
+ return null;
+ }
+
+ public boolean addRegexMapping(String user, String domain, String regex) {
+ if (repos instanceof JamesUsersRepository) {
+ return ((org.apache.james.user.api.JamesUsersRepository) repos).addRegexMapping(user, domain,regex);
+ }
+ return false;
+ }
+
+ public boolean removeRegexMapping(String user, String domain, String regex) {
+ if (repos instanceof JamesUsersRepository) {
+ return ((org.apache.james.user.api.JamesUsersRepository) repos).removeRegexMapping(user, domain,regex);
+ }
+ return false;
+ }
+
+ public boolean addAddressMapping(String user, String domain, String address) {
+ if (repos instanceof JamesUsersRepository) {
+ return ((org.apache.james.user.api.JamesUsersRepository) repos).addAddressMapping(user, domain, address);
+ }
+ return false;
+ }
+
+ public boolean removeAddressMapping(String user, String domain, String address) {
+ if (repos instanceof JamesUsersRepository) {
+ return ((org.apache.james.user.api.JamesUsersRepository) repos).removeAddressMapping(user, domain, address);
+ }
+ return false;
+ }
+
+ public boolean addErrorMapping(String user, String domain, String error) {
+ if (repos instanceof JamesUsersRepository) {
+ return ((org.apache.james.user.api.JamesUsersRepository) repos).addErrorMapping(user, domain, error);
+ }
+ return false;
+ }
+
+ public boolean removeErrorMapping(String user, String domain, String error) {
+ if (repos instanceof JamesUsersRepository) {
+ return ((org.apache.james.user.api.JamesUsersRepository) repos).removeErrorMapping(user, domain, error);
+ }
+ return false;
+ }
+
+ public Collection<String> getUserDomainMappings(String user, String domain) {
+ if (repos instanceof JamesUsersRepository) {
+ return ((org.apache.james.user.api.JamesUsersRepository) repos).getUserDomainMappings(user, domain);
+ }
+ return null;
+ }
+
+ public boolean addMapping(String user, String domain, String mapping) {
+ if (repos instanceof JamesUsersRepository) {
+ return ((org.apache.james.user.api.JamesUsersRepository) repos).addMapping(user, domain, mapping);
+ }
+ return false;
+ }
+
+ public boolean removeMapping(String user, String domain, String mapping) {
+ if (repos instanceof JamesUsersRepository) {
+ return ((org.apache.james.user.api.JamesUsersRepository) repos).removeMapping(user, domain, mapping);
+ }
+ return false;
+ }
+
+ public Map<String, Collection<String>> getAllMappings() {
+ if (repos instanceof JamesUsersRepository) {
+ return ((org.apache.james.user.api.JamesUsersRepository) repos).getAllMappings();
+ }
+ return new HashMap<String, Collection<String>>();
+ }
+
+ public boolean addAliasDomainMapping(String aliasDomain, String realDomain) {
+ if (repos instanceof JamesUsersRepository) {
+ return ((org.apache.james.user.api.JamesUsersRepository) repos).addAliasDomainMapping(aliasDomain, realDomain);
+ }
+ return false;
+ }
+
+ public boolean removeAliasDomainMapping(String aliasDomain, String realDomain) {
+ if (repos instanceof JamesUsersRepository) {
+ return ((org.apache.james.user.api.JamesUsersRepository) repos).removeAliasDomainMapping(aliasDomain, realDomain);
+ }
+ return false;
+ }
+
+ public void setEnableAliases(boolean enableAliases) {
+ if (repos instanceof JamesUsersRepository) {
+ ((org.apache.james.user.api.JamesUsersRepository) repos).setEnableAliases(enableAliases);
+ }
}
- public void setDefaultRepository(String defaultName) {
- this.defaultName = defaultName;
+ public void setEnableForwarding(boolean enableForwarding) {
+ if (repos instanceof JamesUsersRepository) {
+ ((org.apache.james.user.api.JamesUsersRepository) repos).setEnableForwarding(enableForwarding);
+ }
}
- /*
- * (non-Javadoc)
- *
- * @see org.apache.james.api.user.UsersStore#getRepositoryNames()
- */
- public Iterator<String> getRepositoryNames() {
- return objects.keySet().iterator();
+ public void setIgnoreCase(boolean ignoreCase) {
+ if (repos instanceof JamesUsersRepository) {
+ ((org.apache.james.user.api.JamesUsersRepository) repos).setIgnoreCase(ignoreCase);
+ }
}
}
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=1049943&r1=1049942&r2=1049943&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 Dec 16 12:09:50 2010
@@ -34,7 +34,6 @@ import org.apache.james.user.api.JamesUs
import org.apache.james.user.api.User;
import org.apache.james.user.api.UserManagementMBean;
import org.apache.james.user.api.UsersRepository;
-import org.apache.james.user.api.UsersStore;
public class UserManagement extends StandardMBean implements UserManagementMBean {
@@ -42,162 +41,142 @@ public class UserManagement extends Stan
* The administered UsersRepository
*/
private UsersRepository localUsers;
- private UsersStore usersStore;
@Resource(name="localusersrepository")
public void setUsersRepository(UsersRepository localUsers) {
this.localUsers = localUsers;
}
- @Resource(name="usersstore")
- public void setUsersStore(UsersStore usersStore) {
- this.usersStore = usersStore;
- }
-
public UserManagement() throws NotCompliantMBeanException {
super(UserManagementMBean.class);
}
- private JamesUser getJamesUser(String userName, String repositoryName) {
- User baseuser = getUserRepository(repositoryName).getUserByName(userName);
+ private JamesUser getJamesUser(String userName) {
+ User baseuser = localUsers.getUserByName(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) {
- if (repositoryName == null) return localUsers; // return default
-
- if (usersStore == null) throw new IllegalArgumentException("cannot access user repository named " + repositoryName);
-
- UsersRepository repository = usersStore.getRepository(repositoryName);
- if (repository == null) throw new IllegalArgumentException("user repository does not exist: " + repositoryName);
-
- return repository;
- }
- /**
- * @see org.apache.james.user.api.UserManagementMBean#addUser(java.lang.String, java.lang.String, java.lang.String)
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.user.api.UserManagementMBean#addUser(java.lang.String, java.lang.String)
*/
- public boolean addUser(String userName, String password, String repositoryName) {
- return getUserRepository(repositoryName).addUser(userName, password);
+ public boolean addUser(String userName, String password) {
+ return localUsers.addUser(userName, password);
}
- /**
- * @see org.apache.james.user.api.UserManagementMBean#deleteUser(java.lang.String, java.lang.String)
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.user.api.UserManagementMBean#deleteUser(java.lang.String)
*/
- public boolean deleteUser(String userName, String repositoryName) {
- UsersRepository users = getUserRepository(repositoryName);
- if (!users.contains(userName)) return false;
- users.removeUser(userName);
+ public boolean deleteUser(String userName) {
+ if (!localUsers.contains(userName)) return false;
+ localUsers.removeUser(userName);
return true;
}
- /**
- * @see org.apache.james.user.api.UserManagementMBean#verifyExists(java.lang.String, java.lang.String)
+ /*
+ * /(non-Javadoc)
+ * @see org.apache.james.user.api.UserManagementMBean#verifyExists(java.lang.String)
*/
- public boolean verifyExists(String userName, String repositoryName) {
- UsersRepository users = getUserRepository(repositoryName);
- return users.contains(userName);
+ public boolean verifyExists(String userName) {
+ return localUsers.contains(userName);
}
- /**
- * @see org.apache.james.user.api.UserManagementMBean#countUsers(java.lang.String)
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.user.api.UserManagementMBean#countUsers()
*/
- public long countUsers(String repositoryName) {
- UsersRepository users = getUserRepository(repositoryName);
- return users.countUsers();
+ public long countUsers() {
+ return localUsers.countUsers();
}
- /**
- * @see org.apache.james.user.api.UserManagementMBean#listAllUsers(java.lang.String)
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.user.api.UserManagementMBean#listAllUsers()
*/
- public String[] listAllUsers(String repositoryName) {
+ public String[] listAllUsers() {
List<String> userNames = new ArrayList<String>();
- UsersRepository users = getUserRepository(repositoryName);
- for (Iterator<String> it = users.list(); it.hasNext();) {
+ for (Iterator<String> it = localUsers.list(); it.hasNext();) {
userNames.add(it.next());
}
return (String[])userNames.toArray(new String[]{});
}
- /**
- * @see org.apache.james.user.api.UserManagementMBean#setPassword(java.lang.String, java.lang.String, java.lang.String)
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.user.api.UserManagementMBean#setPassword(java.lang.String, java.lang.String)
*/
- public boolean setPassword(String userName, String password, String repositoryName) {
- UsersRepository users = getUserRepository(repositoryName);
- User user = users.getUserByName(userName);
+ public boolean setPassword(String userName, String password) {
+ User user = localUsers.getUserByName(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)
+
+ /*
+ *
+ * (non-Javadoc)
+ * @see org.apache.james.user.api.UserManagementMBean#unsetAlias(java.lang.String)
*/
- public boolean unsetAlias(String userName, String repositoryName) {
- JamesUser user = getJamesUser(userName, null);
+ public boolean unsetAlias(String userName) {
+ JamesUser user = getJamesUser(userName);
if (!user.getAliasing()) return false;
user.setAliasing(false);
- getUserRepository(repositoryName).updateUser(user);
+ localUsers.updateUser(user);
return true;
}
- /**
- * @see org.apache.james.user.api.UserManagementMBean#getAlias(java.lang.String, java.lang.String)
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.user.api.UserManagementMBean#getAlias(java.lang.String)
*/
- public String getAlias(String userName, String repositoryName) {
- JamesUser user = getJamesUser(userName, null);
+ public String getAlias(String userName) {
+ JamesUser user = getJamesUser(userName);
if (!user.getAliasing()) return null;
return user.getAlias();
}
- /**
- * @see org.apache.james.user.api.UserManagementMBean#unsetForwardAddress(java.lang.String, java.lang.String)
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.user.api.UserManagementMBean#unsetForwardAddress(java.lang.String)
*/
- public boolean unsetForwardAddress(String userName, String repositoryName) {
- JamesUser user = getJamesUser(userName, null);
+ public boolean unsetForwardAddress(String userName) {
+ JamesUser user = getJamesUser(userName);
if (!user.getForwarding()) return false;
user.setForwarding(false);
- getUserRepository(repositoryName).updateUser(user);
+ localUsers.updateUser(user);
return true;
}
- /**
- * @see org.apache.james.user.api.UserManagementMBean#getForwardAddress(java.lang.String, java.lang.String)
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.user.api.UserManagementMBean#getForwardAddress(java.lang.String)
*/
- public String getForwardAddress(String userName, String repositoryName) {
- JamesUser user = getJamesUser(userName, null);
+ public String getForwardAddress(String userName) {
+ JamesUser user = getJamesUser(userName);
if (!user.getForwarding()) return null;
return user.getForwardingDestination().toString();
}
- /**
- * @see org.apache.james.user.api.UserManagementMBean#getUserRepositoryNames()
- */
- public List<String> getUserRepositoryNames() {
- List<String> result = new ArrayList<String>();
- if (usersStore == null) return result;
-
- Iterator<String> repositoryNames = usersStore.getRepositoryNames();
- while (repositoryNames.hasNext()) {
- String name = repositoryNames.next();
- result.add(name);
- }
- return result;
- }
-
/*
* (non-Javadoc)
- * @see org.apache.james.user.api.UserManagementMBean#getVirtualHostingEnabled(java.lang.String)
+ * @see org.apache.james.user.api.UserManagementMBean#getVirtualHostingEnabled()
*/
- public boolean getVirtualHostingEnabled(String repositoryName) {
- return getUserRepository(repositoryName).supportVirtualHosting();
+ public boolean getVirtualHostingEnabled() {
+ return localUsers.supportVirtualHosting();
}
}
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=1049943&r1=1049942&r2=1049943&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 Dec 16 12:09:50 2010
@@ -41,52 +41,36 @@ public class UserManagementTest extends
m_userManagement = new UserManagement();
m_userManagement.setUsersRepository(m_mockUsersRepository);
- m_userManagement.setUsersStore(new MockUsersStore(m_mockUsersRepository));
}
public void testUserCount() {
- assertEquals("no user yet", 0, m_userManagement.countUsers(null));
+ assertEquals("no user yet", 0, m_userManagement.countUsers());
m_mockUsersRepository.addUser("testCount1", "testCount");
- assertEquals("1 user", 1, m_userManagement.countUsers(null));
+ assertEquals("1 user", 1, m_userManagement.countUsers());
m_mockUsersRepository.addUser("testCount2", "testCount");
- assertEquals("2 users", 2, m_userManagement.countUsers(null));
+ assertEquals("2 users", 2, m_userManagement.countUsers());
m_mockUsersRepository.removeUser("testCount1");
- assertEquals("1 user", 1, m_userManagement.countUsers(null));
+ assertEquals("1 user", 1, m_userManagement.countUsers());
}
- public void testDefaultRepositoryIsLocalUsers() {
- m_userManagement.addUser("testCount1", "testCount", null);
- m_userManagement.addUser("testCount2", "testCount", "LocalUsers");
- assertEquals("2 users", 2, m_userManagement.countUsers(null));
- assertEquals("2 users", 2, m_userManagement.countUsers("LocalUsers"));
- }
-
- public void testNonExistingRepository() {
- try {
- m_userManagement.addUser("testCount1", "testCount", "NonExisting");
- fail("retrieved non-existing repository");
- } catch (IllegalArgumentException e) {
- // success
- }
- }
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));
+ assertFalse("user not there", m_userManagement.verifyExists("testNotAdded"));
+ assertTrue("user is there", m_userManagement.verifyExists("testCount1"));
m_mockUsersRepository.removeUser("testCount1");
- assertFalse("user not there", m_userManagement.verifyExists("testCount1", null));
+ assertFalse("user not there", m_userManagement.verifyExists("testCount1"));
}
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));
+ assertFalse("user not there", m_userManagement.verifyExists("testNotDeletable"));
+ assertTrue("user is there", m_userManagement.verifyExists("testDel"));
m_mockUsersRepository.removeUser("testDel");
- assertFalse("user no longer there", m_userManagement.verifyExists("testDel", null));
+ assertFalse("user no longer there", m_userManagement.verifyExists("testDel"));
}
public void testListUsers() {
@@ -99,7 +83,7 @@ public class UserManagementTest extends
assertTrue("user added", m_mockUsersRepository.addUser(user, "test"));
}
- String[] userNames = m_userManagement.listAllUsers(null);
+ String[] userNames = m_userManagement.listAllUsers();
assertEquals("user count", users.size(), userNames.length);
for (int i = 0; i < userNames.length; i++) {
@@ -111,27 +95,23 @@ public class UserManagementTest extends
public void testSetPassword() {
- assertTrue("user added", m_userManagement.addUser("testPwdUser", "pwd1", null));
+ assertTrue("user added", m_userManagement.addUser("testPwdUser", "pwd1"));
assertTrue("initial password", m_mockUsersRepository.test("testPwdUser", "pwd1"));
// set empty pwd
- assertTrue("changed to empty password", m_userManagement.setPassword("testPwdUser", "", null));
+ assertTrue("changed to empty password", m_userManagement.setPassword("testPwdUser", ""));
assertTrue("password changed to empty", m_mockUsersRepository.test("testPwdUser", ""));
// change pwd
- assertTrue("changed password", m_userManagement.setPassword("testPwdUser", "pwd2", null));
+ assertTrue("changed password", m_userManagement.setPassword("testPwdUser", "pwd2"));
assertTrue("password not changed to pwd2", m_mockUsersRepository.test("testPwdUser", "pwd2"));
// assure case sensitivity
- assertTrue("changed password", m_userManagement.setPassword("testPwdUser", "pWD2", null));
+ assertTrue("changed password", m_userManagement.setPassword("testPwdUser", "pWD2"));
assertFalse("password no longer pwd2", m_mockUsersRepository.test("testPwdUser", "pwd2"));
assertTrue("password changed to pWD2", m_mockUsersRepository.test("testPwdUser", "pWD2"));
}
- public void testListRepositories() {
- List<String> userRepositoryNames = m_userManagement.getUserRepositoryNames();
- assertTrue("default is there", userRepositoryNames.contains("LocalUsers"));
- }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org