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/10/25 13:42:33 UTC
svn commit: r1027073 [1/2] - in /james/server/trunk:
container-spring/src/main/config/james/
mailets/src/main/java/org/apache/james/transport/mailets/
mailets/src/test/java/org/apache/james/transport/mailets/
remotemanager/src/main/java/org/apache/jame...
Author: norman
Date: Mon Oct 25 11:42:31 2010
New Revision: 1027073
URL: http://svn.apache.org/viewvc?rev=1027073&view=rev
Log:
Merge MangeableVirtualUserTable and VirtualUserTable (JAMES-1088)
Added:
james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/AbstractJamesUsersRepository.java
- copied, changed from r1026947, james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java
james/server/trunk/user-library/src/main/java/org/apache/james/vut/lib/AbstractReadOnlyVirtualUserTable.java
Removed:
james/server/trunk/user-api/src/main/java/org/apache/james/vut/api/ErrorMappingException.java
james/server/trunk/user-api/src/main/java/org/apache/james/vut/api/ManageableVirtualUserTable.java
james/server/trunk/user-api/src/main/java/org/apache/james/vut/api/ManageableVirtualUserTableException.java
james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java
Modified:
james/server/trunk/container-spring/src/main/config/james/spring-beans.xml
james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/UsersRepositoryAliasingForwarding.java
james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/VirtualUserTable.java
james/server/trunk/mailets/src/test/java/org/apache/james/transport/mailets/VirtualUserTableTest.java
james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/AbstractMappingCmdHandler.java
james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/AddMappingCmdHandler.java
james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/ListAllMappingsCmdHandler.java
james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/ListMappingCmdHandler.java
james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/RemoveMappingCmdHandler.java
james/server/trunk/remotemanager/src/test/java/org/apache/james/remotemanager/AbstractRemoteManagerTest.java
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptHandler.java
james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/AbstractSMTPServerTest.java
james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/ValidRcptHandlerTest.java
james/server/trunk/user-api/src/main/java/org/apache/james/vut/api/VirtualUserTable.java
james/server/trunk/user-file/src/main/java/org/apache/james/user/file/UsersFileRepository.java
james/server/trunk/user-file/src/test/java/org/apache/james/vut/file/XMLVirtualUserTableTest.java
james/server/trunk/user-jdbc/src/main/java/org/apache/james/user/jdbc/AbstractJdbcUsersRepository.java
james/server/trunk/user-jdbc/src/main/java/org/apache/james/user/jdbc/ListUsersJdbcRepository.java
james/server/trunk/user-jdbc/src/main/java/org/apache/james/vut/jdbc/JDBCVirtualUserTable.java
james/server/trunk/user-jdbc/src/test/java/org/apache/james/vut/jdbc/JDBCVirtualUserTableTest.java
james/server/trunk/user-jpa/src/main/java/org/apache/james/vut/jpa/JPAVirtualUserTable.java
james/server/trunk/user-jpa/src/test/java/org/apache/james/vut/jpa/JPAVirtualUserTableTest.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/vut/lib/AbstractVirtualUserTable.java
james/server/trunk/user-library/src/main/java/org/apache/james/vut/lib/JamesVirtualUserTable.java
james/server/trunk/user-library/src/main/java/org/apache/james/vut/lib/VirtualUserTableManagement.java
james/server/trunk/user-library/src/test/java/org/apache/james/user/lib/MockUsersRepository.java
james/server/trunk/user-library/src/test/java/org/apache/james/vut/lib/AbstractVirtualUserTableTest.java
james/server/trunk/user-library/src/test/java/org/apache/james/vut/lib/MockVirtualUserTableManagementImpl.java
Modified: james/server/trunk/container-spring/src/main/config/james/spring-beans.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/container-spring/src/main/config/james/spring-beans.xml?rev=1027073&r1=1027072&r2=1027073&view=diff
==============================================================================
--- james/server/trunk/container-spring/src/main/config/james/spring-beans.xml (original)
+++ james/server/trunk/container-spring/src/main/config/james/spring-beans.xml Mon Oct 25 11:42:31 2010
@@ -241,7 +241,7 @@
<!-- The context FileSystem implementation -->
<bean id="filesystem" class="org.apache.james.container.spring.SpringFileSystem" />
- <bean id="virtualusertable" name="manageablevirtualusertable" class="org.apache.james.vut.lib.JamesVirtualUserTable" />
+ <bean id="virtualusertable" class="org.apache.james.vut.lib.JamesVirtualUserTable" />
<!-- The context domainlist implementation -->
<bean id="domainlist" class="org.apache.james.domainlist.lib.JamesDomainList" />
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=1027073&r1=1027072&r2=1027073&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 Mon Oct 25 11:42:31 2010
@@ -30,8 +30,8 @@ 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.ErrorMappingException;
import org.apache.james.vut.api.VirtualUserTable;
+import org.apache.james.vut.api.VirtualUserTable.ErrorMappingException;
import org.apache.mailet.MailAddress;
/**
Modified: james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/VirtualUserTable.java
URL: http://svn.apache.org/viewvc/james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/VirtualUserTable.java?rev=1027073&r1=1027072&r2=1027073&view=diff
==============================================================================
--- james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/VirtualUserTable.java (original)
+++ james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/VirtualUserTable.java Mon Oct 25 11:42:31 2010
@@ -26,7 +26,7 @@ import javax.annotation.Resource;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
-import org.apache.james.vut.api.ErrorMappingException;
+import org.apache.james.vut.api.VirtualUserTable.ErrorMappingException;
import org.apache.mailet.MailAddress;
/**
Modified: james/server/trunk/mailets/src/test/java/org/apache/james/transport/mailets/VirtualUserTableTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/mailets/src/test/java/org/apache/james/transport/mailets/VirtualUserTableTest.java?rev=1027073&r1=1027072&r2=1027073&view=diff
==============================================================================
--- james/server/trunk/mailets/src/test/java/org/apache/james/transport/mailets/VirtualUserTableTest.java (original)
+++ james/server/trunk/mailets/src/test/java/org/apache/james/transport/mailets/VirtualUserTableTest.java Mon Oct 25 11:42:31 2010
@@ -23,13 +23,13 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Iterator;
+import java.util.Map;
import java.util.Properties;
import javax.mail.MessagingException;
import junit.framework.TestCase;
-import org.apache.james.vut.api.ErrorMappingException;
import org.apache.mailet.Mail;
import org.apache.mailet.MailAddress;
import org.apache.mailet.base.test.FakeMail;
@@ -69,6 +69,66 @@ public class VirtualUserTableTest extend
return null;
}
+ public boolean addAddressMapping(String user, String domain, String address) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean addAliasDomainMapping(String aliasDomain, String realDomain) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean addErrorMapping(String user, String domain, String error) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean addMapping(String user, String domain, String mapping) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean addRegexMapping(String user, String domain, String regex) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public Map<String, Collection<String>> getAllMappings() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Collection<String> getUserDomainMappings(String user, String domain) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public boolean removeAddressMapping(String user, String domain, String address) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean removeAliasDomainMapping(String aliasDomain, String realDomain) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean removeErrorMapping(String user, String domain, String error) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean removeMapping(String user, String domain, String mapping) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean removeRegexMapping(String user, String domain, String regex) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
});
table.init(mockMailetConfig);
Modified: james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/AbstractMappingCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/AbstractMappingCmdHandler.java?rev=1027073&r1=1027072&r2=1027073&view=diff
==============================================================================
--- james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/AbstractMappingCmdHandler.java (original)
+++ james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/AbstractMappingCmdHandler.java Mon Oct 25 11:42:31 2010
@@ -22,23 +22,22 @@ package org.apache.james.remotemanager.c
import javax.annotation.Resource;
import org.apache.james.remotemanager.CommandHandler;
-import org.apache.james.vut.api.ManageableVirtualUserTable;
-import org.apache.james.vut.api.ManageableVirtualUserTableException;
+import org.apache.james.vut.api.VirtualUserTable;
public abstract class AbstractMappingCmdHandler implements CommandHandler {
protected final static String ADD_MAPPING_ACTION = "ADDMAPPING";
protected final static String REMOVE_MAPPING_ACTION = "REMOVEMAPPING";
- protected ManageableVirtualUserTable vutManagement;
+ protected VirtualUserTable vutManagement;
- @Resource(name="manageablevirtualusertable")
- public void setManageableVirtualUserTable(org.apache.james.vut.api.ManageableVirtualUserTable vut) {
+ @Resource(name="virtualusertable")
+ public void setVirtualUserTable(VirtualUserTable vut) {
this.vutManagement = vut;
}
- protected boolean mappingAction(String[] args, String action) throws IllegalArgumentException, ManageableVirtualUserTableException {
+ protected boolean mappingAction(String[] args, String action) throws IllegalArgumentException {
String user = null;
String domain = null;
String mapping = null;
Modified: james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/AddMappingCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/AddMappingCmdHandler.java?rev=1027073&r1=1027072&r2=1027073&view=diff
==============================================================================
--- james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/AddMappingCmdHandler.java (original)
+++ james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/AddMappingCmdHandler.java Mon Oct 25 11:42:31 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.vut.api.ManageableVirtualUserTableException;
public class AddMappingCmdHandler extends AbstractMappingCmdHandler {
@@ -51,9 +50,6 @@ public class AddMappingCmdHandler extend
} else {
try {
response = new RemoteManagerResponse("Adding mapping successful: " + mappingAction(args, ADD_MAPPING_ACTION));
- } catch (ManageableVirtualUserTableException e) {
- session.getLogger().error("Error on adding mapping: " + e);
- response = new RemoteManagerResponse("Error on adding mapping: " + e);
} catch (IllegalArgumentException e) {
session.getLogger().error("Error on adding mapping: " + e);
response = new RemoteManagerResponse("Error on adding mapping: " + e);
Modified: james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/ListAllMappingsCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/ListAllMappingsCmdHandler.java?rev=1027073&r1=1027072&r2=1027073&view=diff
==============================================================================
--- james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/ListAllMappingsCmdHandler.java (original)
+++ james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/ListAllMappingsCmdHandler.java Mon Oct 25 11:42:31 2010
@@ -33,18 +33,18 @@ import org.apache.james.remotemanager.Co
import org.apache.james.remotemanager.CommandHelp;
import org.apache.james.remotemanager.RemoteManagerResponse;
import org.apache.james.remotemanager.RemoteManagerSession;
-import org.apache.james.vut.api.ManageableVirtualUserTable;
+import org.apache.james.vut.api.VirtualUserTable;
public class ListAllMappingsCmdHandler implements CommandHandler {
private CommandHelp help = new CommandHelp("listallmappings","list all mappings");
public final static String COMMAND_NAME = "LISTALLMAPPINGS";
- protected ManageableVirtualUserTable vutManagement;
+ protected VirtualUserTable vutManagement;
- @Resource(name="manageablevirtualusertable")
- public void setManageableVirtualUserTable(org.apache.james.vut.api.ManageableVirtualUserTable vut) {
+ @Resource(name="virtualusertable")
+ public void setManageableVirtualUserTable(VirtualUserTable vut) {
this.vutManagement = vut;
}
Modified: james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/ListMappingCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/ListMappingCmdHandler.java?rev=1027073&r1=1027072&r2=1027073&view=diff
==============================================================================
--- james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/ListMappingCmdHandler.java (original)
+++ james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/ListMappingCmdHandler.java Mon Oct 25 11:42:31 2010
@@ -29,8 +29,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.vut.api.ManageableVirtualUserTable;
-import org.apache.james.vut.api.ManageableVirtualUserTableException;
public class ListMappingCmdHandler extends AbstractMappingCmdHandler {
private CommandHelp help = new CommandHelp("listmapping [user@domain]","list all mappings for the given emailaddress");
@@ -68,25 +66,19 @@ public class ListMappingCmdHandler exten
}
try {
- if (vutManagement instanceof ManageableVirtualUserTable) {
- Collection<String> mappings = ((ManageableVirtualUserTable)vutManagement).getUserDomainMappings(user, domain);
- if (mappings == null) {
- response = new RemoteManagerResponse("No mappings found");
- } else {
- response = new RemoteManagerResponse("Mappings:");
-
- Iterator<String> m = mappings.iterator();
- while (m.hasNext()) {
- response.appendLine(m.next());
- }
- }
- } else {
- response = new RemoteManagerResponse("Listing mappings not supported");
- }
-
- } catch (ManageableVirtualUserTableException e) {
- session.getLogger().error("Error on listing mapping: " + e);
- response = new RemoteManagerResponse("Error on listing mapping: " + e);
+ Collection<String> mappings = vutManagement.getUserDomainMappings(user, domain);
+ if (mappings == null) {
+ response = new RemoteManagerResponse("No mappings found");
+ } else {
+ response = new RemoteManagerResponse("Mappings:");
+
+ Iterator<String> m = mappings.iterator();
+ while (m.hasNext()) {
+ response.appendLine(m.next());
+ }
+ }
+
+
} catch (IllegalArgumentException e) {
session.getLogger().error("Error on listing mapping: " + e);
response = new RemoteManagerResponse("Error on listing mapping: " + e);
Modified: james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/RemoveMappingCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/RemoveMappingCmdHandler.java?rev=1027073&r1=1027072&r2=1027073&view=diff
==============================================================================
--- james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/RemoveMappingCmdHandler.java (original)
+++ james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/core/RemoveMappingCmdHandler.java Mon Oct 25 11:42:31 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.vut.api.ManageableVirtualUserTableException;
public class RemoveMappingCmdHandler extends AbstractMappingCmdHandler {
private CommandHelp help = new CommandHelp("removemapping [toUser@toDomain] [fromMapping]","remove mapping for the given emailaddress");
@@ -51,9 +50,6 @@ public class RemoveMappingCmdHandler ext
} else {
try {
response = new RemoteManagerResponse("Removing mapping successful: " + mappingAction(args, REMOVE_MAPPING_ACTION));
- } catch (ManageableVirtualUserTableException e) {
- session.getLogger().error("Error on removing mapping: " + e);
- response = new RemoteManagerResponse("Error on removing mapping: " + e);
} catch (IllegalArgumentException e) {
session.getLogger().error("Error on removing mapping: " + e);
response = new RemoteManagerResponse("Error on removing mapping: " + e);
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=1027073&r1=1027072&r2=1027073&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 Mon Oct 25 11:42:31 2010
@@ -186,7 +186,7 @@ public abstract class AbstractRemoteMana
serviceManager.put("dnsservice", dnsservice);
vutManagement = new MockVirtualUserTableManagementImpl();
- serviceManager.put("manageablevirtualusertable", vutManagement);
+ serviceManager.put("virtualusertable", vutManagement);
DomainList xml = new SimpleDomainList();
Modified: james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptHandler.java?rev=1027073&r1=1027072&r2=1027073&view=diff
==============================================================================
--- james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptHandler.java (original)
+++ james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptHandler.java Mon Oct 25 11:42:31 2010
@@ -30,8 +30,8 @@ import org.apache.james.protocols.smtp.S
import org.apache.james.protocols.smtp.core.fastfail.AbstractValidRcptHandler;
import org.apache.james.services.MailServer;
import org.apache.james.user.api.UsersRepository;
-import org.apache.james.vut.api.ErrorMappingException;
import org.apache.james.vut.api.VirtualUserTable;
+import org.apache.james.vut.api.VirtualUserTable.ErrorMappingException;
import org.apache.mailet.MailAddress;
/**
Modified: james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/AbstractSMTPServerTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/AbstractSMTPServerTest.java?rev=1027073&r1=1027072&r2=1027073&view=diff
==============================================================================
--- james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/AbstractSMTPServerTest.java (original)
+++ james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/AbstractSMTPServerTest.java Mon Oct 25 11:42:31 2010
@@ -32,6 +32,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
+import java.util.Map;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
@@ -51,7 +52,6 @@ import org.apache.james.socket.JamesProt
import org.apache.james.user.lib.MockUsersRepository;
import org.apache.james.util.TestUtil;
import org.apache.james.util.codec.Base64;
-import org.apache.james.vut.api.ErrorMappingException;
import org.apache.james.vut.api.VirtualUserTable;
import org.apache.mailet.HostAddress;
import org.apache.mailet.Mail;
@@ -224,11 +224,70 @@ public abstract class AbstractSMTPServer
m_serviceManager.put("org.apache.james.smtpserver.protocol.DNSService", dnsAdapter);
m_serviceManager.put("virtualusertable", new VirtualUserTable() {
- public Collection<String> getMappings(String user, String domain)
- throws ErrorMappingException {
- return null;
- }
-
+ public boolean addAddressMapping(String user, String domain, String address) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean addAliasDomainMapping(String aliasDomain, String realDomain) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean addErrorMapping(String user, String domain, String error) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean addMapping(String user, String domain, String mapping) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean addRegexMapping(String user, String domain, String regex) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public Map<String, Collection<String>> getAllMappings() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Collection<String> getMappings(String user, String domain) throws ErrorMappingException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Collection<String> getUserDomainMappings(String user, String domain) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public boolean removeAddressMapping(String user, String domain, String address) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean removeAliasDomainMapping(String aliasDomain, String realDomain) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean removeErrorMapping(String user, String domain, String error) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean removeMapping(String user, String domain, String mapping) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean removeRegexMapping(String user, String domain, String regex) {
+ // TODO Auto-generated method stub
+ return false;
+ }
});
m_serviceManager.put("org.apache.james.smtpserver.protocol.DNSService", dnsAdapter);
Modified: james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/ValidRcptHandlerTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/ValidRcptHandlerTest.java?rev=1027073&r1=1027072&r2=1027073&view=diff
==============================================================================
--- james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/ValidRcptHandlerTest.java (original)
+++ james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/ValidRcptHandlerTest.java Mon Oct 25 11:42:31 2010
@@ -39,7 +39,6 @@ import org.apache.james.services.MailSer
import org.apache.james.smtpserver.fastfail.ValidRcptHandler;
import org.apache.james.user.api.UsersRepository;
import org.apache.james.user.lib.MockUsersRepository;
-import org.apache.james.vut.api.ErrorMappingException;
import org.apache.james.vut.api.VirtualUserTable;
import org.apache.mailet.Mail;
import org.apache.mailet.MailAddress;
@@ -134,6 +133,66 @@ public class ValidRcptHandlerTest extend
}
return mappings;
}
+
+ public boolean addAddressMapping(String user, String domain, String address) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean addAliasDomainMapping(String aliasDomain, String realDomain) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean addErrorMapping(String user, String domain, String error) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean addMapping(String user, String domain, String mapping) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean addRegexMapping(String user, String domain, String regex) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public Map<String, Collection<String>> getAllMappings() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Collection<String> getUserDomainMappings(String user, String domain) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public boolean removeAddressMapping(String user, String domain, String address) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean removeAliasDomainMapping(String aliasDomain, String realDomain) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean removeErrorMapping(String user, String domain, String error) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean removeMapping(String user, String domain, String mapping) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean removeRegexMapping(String user, String domain, String regex) {
+ // TODO Auto-generated method stub
+ return false;
+ }
};
return table;
}
Modified: james/server/trunk/user-api/src/main/java/org/apache/james/vut/api/VirtualUserTable.java
URL: http://svn.apache.org/viewvc/james/server/trunk/user-api/src/main/java/org/apache/james/vut/api/VirtualUserTable.java?rev=1027073&r1=1027072&r2=1027073&view=diff
==============================================================================
--- james/server/trunk/user-api/src/main/java/org/apache/james/vut/api/VirtualUserTable.java (original)
+++ james/server/trunk/user-api/src/main/java/org/apache/james/vut/api/VirtualUserTable.java Mon Oct 25 11:42:31 2010
@@ -19,17 +19,13 @@
package org.apache.james.vut.api;
import java.util.Collection;
+import java.util.Map;
/**
* Interface which should be implemented of classes which map recipients.
*/
public interface VirtualUserTable {
-
- /**
- * The component role used by components implementing this service
- */
- public static final String ROLE = VirtualUserTable.class.getName();
-
+
/**
* The prefix which is used for error mappings
*/
@@ -59,5 +55,133 @@ public interface VirtualUserTable {
* @throws ErrorMappingException get thrown if an error mapping was found
*/
public Collection<String> getMappings(String user, String domain) throws ErrorMappingException;
+
+
+ /**
+ * Add regex mapping
+ *
+ * @param user the username. Null if no username should be used
+ * @param domain the domain. Null if no domain should be used
+ * @param regex the regex.
+ * @return true if successfully
+ */
+ public boolean addRegexMapping(String user, String domain, String regex);
+
+ /**
+ * Remove regex mapping
+ *
+ * @param user the username. Null if no username should be used
+ * @param domain the domain. Null if no domain should be used
+ * @param regex the regex.
+ * @return true if successfully
+ */
+ public boolean removeRegexMapping(String user,String domain, String regex);
+
+ /***
+ * Add address mapping
+ *
+ * @param user the username. Null if no username should be used
+ * @param domain the domain. Null if no domain should be used
+ * @param address
+ * @return true if successfully
+ */
+ public boolean addAddressMapping(String user, String domain, String address);
+
+ /**
+ * Remove address mapping
+ *
+ * @param user the username. Null if no username should be used
+ * @param domain the domain. Null if no domain should be used
+ * @param address
+ * @return true if successfully
+ */
+ public boolean removeAddressMapping(String user,String domain, String address);
+
+ /**
+ * Add error mapping
+ *
+ * @param user the username. Null if no username should be used
+ * @param domain the domain. Null if no domain should be used
+ * @param error the regex.
+ * @return true if successfully
+ */
+ public boolean addErrorMapping(String user, String domain, String error);
+
+ /**
+ * Remove error mapping
+ *
+ * @param user the username. Null if no username should be used
+ * @param domain the domain. Null if no domain should be used
+ * @param error
+ * @return true if successfully
+ * @throws ManageableVirtualUserTableException get thrown if an invalid argument was given
+ */
+ public boolean removeErrorMapping(String user,String domain, String error);
+
+ /**
+ * Return the explicit mapping stored for the given user and domain. Return null
+ * if no mapping was found
+ *
+ * @param user the username
+ * @param domain the domain
+ * @return the collection which holds the mappings.
+ */
+ public Collection<String> getUserDomainMappings(String user, String domain);
+
+ /**
+ * Add mapping
+ *
+ * @param user the username. Null if no username should be used
+ * @param domain the domain. Null if no domain should be used
+ * @param mapping the mapping
+ * @return true if successfully
+ */
+ public boolean addMapping(String user, String domain, String mapping);
+
+ /**
+ * Remove mapping
+ *
+ * @param user the username. Null if no username should be used
+ * @param domain the domain. Null if no domain should be used
+ * @param mapping the mapping
+ * @return true if successfully
+ */
+ public boolean removeMapping(String user, String domain, String mapping);
+
+
+ /**
+ * Return a Map which holds all mappings. The key is the user@domain and the value is a Collection
+ * which holds all mappings
+ *
+ * @return Map which holds all mappings
+ */
+ public Map<String,Collection<String>> getAllMappings();
+
+ /**
+ * Add aliasDomain mapping
+ *
+ * @param aliasDomain the aliasdomain which should be mapped to the realDomain
+ * @param realDomain the realDomain
+ * @return true if successfully
+ */
+ public boolean addAliasDomainMapping(String aliasDomain, String realDomain);
+
+ /**
+ * Remove aliasDomain mapping
+ *
+ * @param aliasDomain the aliasdomain which should be mapped to the realDomain
+ * @param realDomain the realDomain
+ * @return true if successfully
+ */
+ public boolean removeAliasDomainMapping(String aliasDomain, String realDomain);
+
+ public class ErrorMappingException extends Exception {
+
+ private static final long serialVersionUID = 2348752938798L;
+
+ public ErrorMappingException(String string) {
+ super(string);
+ }
+ }
}
Modified: james/server/trunk/user-file/src/main/java/org/apache/james/user/file/UsersFileRepository.java
URL: http://svn.apache.org/viewvc/james/server/trunk/user-file/src/main/java/org/apache/james/user/file/UsersFileRepository.java?rev=1027073&r1=1027072&r2=1027073&view=diff
==============================================================================
--- james/server/trunk/user-file/src/main/java/org/apache/james/user/file/UsersFileRepository.java (original)
+++ james/server/trunk/user-file/src/main/java/org/apache/james/user/file/UsersFileRepository.java Mon Oct 25 11:42:31 2010
@@ -27,7 +27,7 @@ import org.apache.commons.configuration.
import org.apache.james.mailstore.api.MailStore;
import org.apache.james.repository.ObjectRepository;
import org.apache.james.user.api.User;
-import org.apache.james.user.lib.AbstractUsersRepository;
+import org.apache.james.user.lib.AbstractJamesUsersRepository;
import org.apache.james.user.lib.DefaultJamesUser;
@@ -50,7 +50,7 @@ import javax.annotation.Resource;
*
*/
public class UsersFileRepository
- extends AbstractUsersRepository {
+ extends AbstractJamesUsersRepository {
/**
* Whether 'deep debugging' is turned on.
@@ -78,7 +78,7 @@ public class UsersFileRepository
/**
- * @see org.apache.james.user.lib.AbstractUsersRepository#doConfigure(org.apache.commons.configuration.HierarchicalConfiguration)
+ * @see org.apache.james.user.lib.AbstractJamesUsersRepository#doConfigure(org.apache.commons.configuration.HierarchicalConfiguration)
*/
protected void doConfigure( final HierarchicalConfiguration configuration )
throws ConfigurationException {
@@ -128,7 +128,7 @@ public class UsersFileRepository
}
/**
- * @see org.apache.james.user.lib.AbstractUsersRepository#doAddUser(org.apache.james.user.api.User)
+ * @see org.apache.james.user.lib.AbstractJamesUsersRepository#doAddUser(org.apache.james.user.api.User)
*/
protected void doAddUser(User user) {
try {
@@ -206,7 +206,7 @@ public class UsersFileRepository
}
/**
- * @see org.apache.james.user.lib.AbstractUsersRepository#doUpdateUser(org.apache.james.user.api.User)
+ * @see org.apache.james.user.lib.AbstractJamesUsersRepository#doUpdateUser(org.apache.james.user.api.User)
*/
public void doUpdateUser(User user) {
try {
Modified: james/server/trunk/user-file/src/test/java/org/apache/james/vut/file/XMLVirtualUserTableTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/user-file/src/test/java/org/apache/james/vut/file/XMLVirtualUserTableTest.java?rev=1027073&r1=1027072&r2=1027073&view=diff
==============================================================================
--- james/server/trunk/user-file/src/test/java/org/apache/james/vut/file/XMLVirtualUserTableTest.java (original)
+++ james/server/trunk/user-file/src/test/java/org/apache/james/vut/file/XMLVirtualUserTableTest.java Mon Oct 25 11:42:31 2010
@@ -24,7 +24,6 @@ import java.util.List;
import org.apache.commons.configuration.DefaultConfigurationBuilder;
import org.apache.commons.logging.impl.SimpleLog;
-import org.apache.james.vut.api.ManageableVirtualUserTableException;
import org.apache.james.vut.api.VirtualUserTable;
import org.apache.james.vut.file.XMLVirtualUserTable;
import org.apache.james.vut.lib.AbstractVirtualUserTable;
@@ -53,7 +52,7 @@ public class XMLVirtualUserTableTest ext
/**
* @see org.apache.james.vut.lib.AbstractVirtualUserTableTest#addMapping(java.lang.String, java.lang.String, java.lang.String, int)
*/
- protected boolean addMapping(String user, String domain, String mapping, int type) throws ManageableVirtualUserTableException {
+ protected boolean addMapping(String user, String domain, String mapping, int type) {
Collection<String> mappings = virtualUserTable.getUserDomainMappings(user, domain);
@@ -94,7 +93,7 @@ public class XMLVirtualUserTableTest ext
/**
* @see org.apache.james.vut.lib.AbstractVirtualUserTableTest#removeMapping(java.lang.String, java.lang.String, java.lang.String, int)
*/
- protected boolean removeMapping(String user, String domain, String mapping, int type) throws ManageableVirtualUserTableException {
+ protected boolean removeMapping(String user, String domain, String mapping, int type) {
Collection<String> mappings = virtualUserTable.getUserDomainMappings(user, domain);
Modified: james/server/trunk/user-jdbc/src/main/java/org/apache/james/user/jdbc/AbstractJdbcUsersRepository.java
URL: http://svn.apache.org/viewvc/james/server/trunk/user-jdbc/src/main/java/org/apache/james/user/jdbc/AbstractJdbcUsersRepository.java?rev=1027073&r1=1027072&r2=1027073&view=diff
==============================================================================
--- james/server/trunk/user-jdbc/src/main/java/org/apache/james/user/jdbc/AbstractJdbcUsersRepository.java (original)
+++ james/server/trunk/user-jdbc/src/main/java/org/apache/james/user/jdbc/AbstractJdbcUsersRepository.java Mon Oct 25 11:42:31 2010
@@ -23,7 +23,7 @@ import org.apache.commons.configuration.
import org.apache.commons.configuration.HierarchicalConfiguration;
import org.apache.james.services.FileSystem;
import org.apache.james.user.api.User;
-import org.apache.james.user.lib.AbstractUsersRepository;
+import org.apache.james.user.lib.AbstractJamesUsersRepository;
import org.apache.james.util.sql.JDBCUtil;
import org.apache.james.util.sql.SqlResources;
@@ -68,7 +68,7 @@ import javax.sql.DataSource;
*
*/
public abstract class AbstractJdbcUsersRepository extends
- AbstractUsersRepository {
+ AbstractJamesUsersRepository {
protected Map<String,String> m_sqlParameters;
@@ -379,7 +379,7 @@ public abstract class AbstractJdbcUsersR
* </repository>
* </pre>
*
- * @see org.apache.james.user.lib.AbstractUsersRepository#doConfigure(org.apache.commons.configuration.HierarchicalConfiguration)
+ * @see org.apache.james.user.lib.AbstractJamesUsersRepository#doConfigure(org.apache.commons.configuration.HierarchicalConfiguration)
*/
@SuppressWarnings("unchecked")
protected void doConfigure(HierarchicalConfiguration configuration)
@@ -619,7 +619,7 @@ public abstract class AbstractJdbcUsersR
/**
* Gets a user by name, ignoring case if specified. If the specified SQL
* statement has been defined, this method overrides the basic
- * implementation in AbstractUsersRepository to increase performance.
+ * implementation in AbstractJamesUsersRepository to increase performance.
*
* @param name
* the name of the user being retrieved
Modified: james/server/trunk/user-jdbc/src/main/java/org/apache/james/user/jdbc/ListUsersJdbcRepository.java
URL: http://svn.apache.org/viewvc/james/server/trunk/user-jdbc/src/main/java/org/apache/james/user/jdbc/ListUsersJdbcRepository.java?rev=1027073&r1=1027072&r2=1027073&view=diff
==============================================================================
--- james/server/trunk/user-jdbc/src/main/java/org/apache/james/user/jdbc/ListUsersJdbcRepository.java (original)
+++ james/server/trunk/user-jdbc/src/main/java/org/apache/james/user/jdbc/ListUsersJdbcRepository.java Mon Oct 25 11:42:31 2010
@@ -40,7 +40,7 @@ public class ListUsersJdbcRepository ext
/**
- * @see org.apache.james.user.lib.AbstractUsersRepository#test(java.lang.String, java.lang.String)
+ * @see org.apache.james.user.lib.AbstractJamesUsersRepository#test(java.lang.String, java.lang.String)
*/
public boolean test(String name, String password) {
// list repository does not store passwords so we always return false!
Modified: james/server/trunk/user-jdbc/src/main/java/org/apache/james/vut/jdbc/JDBCVirtualUserTable.java
URL: http://svn.apache.org/viewvc/james/server/trunk/user-jdbc/src/main/java/org/apache/james/vut/jdbc/JDBCVirtualUserTable.java?rev=1027073&r1=1027072&r2=1027073&view=diff
==============================================================================
--- james/server/trunk/user-jdbc/src/main/java/org/apache/james/vut/jdbc/JDBCVirtualUserTable.java (original)
+++ james/server/trunk/user-jdbc/src/main/java/org/apache/james/vut/jdbc/JDBCVirtualUserTable.java Mon Oct 25 11:42:31 2010
@@ -39,7 +39,6 @@ import org.apache.commons.configuration.
import org.apache.james.services.FileSystem;
import org.apache.james.util.sql.JDBCUtil;
import org.apache.james.util.sql.SqlResources;
-import org.apache.james.vut.api.ManageableVirtualUserTableException;
import org.apache.james.vut.lib.AbstractVirtualUserTable;
import org.apache.james.vut.lib.VirtualUserTableUtil;
@@ -221,7 +220,7 @@ public class JDBCVirtualUserTable extend
/**
* @see org.apache.james.vut.lib.AbstractVirtualUserTable#addMappingInternal(String, String, String)
*/
- protected boolean addMappingInternal(String user, String domain, String regex) throws ManageableVirtualUserTableException {
+ protected boolean addMappingInternal(String user, String domain, String regex) {
String newUser = getUserString(user);
String newDomain = getDomainString(domain);
@@ -332,7 +331,7 @@ public class JDBCVirtualUserTable extend
/**
* @see org.apache.james.vut.lib.AbstractVirtualUserTable#removeMappingInternal(String, String, String)
*/
- protected boolean removeMappingInternal(String user, String domain, String mapping) throws ManageableVirtualUserTableException {
+ protected boolean removeMappingInternal(String user, String domain, String mapping) {
String newUser = getUserString(user);
String newDomain = getDomainString(domain);
Collection<String> map = getUserDomainMappings(newUser,newDomain);
@@ -467,14 +466,13 @@ public class JDBCVirtualUserTable extend
*
* @param user the given user String
* @return user the user String
- * @throws InvalidMappingException get thrown on invalid argument
*/
- private String getUserString(String user) throws ManageableVirtualUserTableException {
+ private String getUserString(String user) {
if (user != null) {
if(user.equals(WILDCARD) || user.indexOf("@") < 0) {
return user;
} else {
- throw new ManageableVirtualUserTableException("Invalid user: " + user);
+ throw new IllegalArgumentException("Invalid user: " + user);
}
} else {
return WILDCARD;
@@ -486,14 +484,13 @@ public class JDBCVirtualUserTable extend
*
* @param domain the given domain String
* @return domainString the domain String
- * @throws InvalidMappingException get thrown on invalid argument
*/
- private String getDomainString(String domain) throws ManageableVirtualUserTableException {
+ private String getDomainString(String domain) {
if(domain != null) {
if (domain.equals(WILDCARD) || domain.indexOf("@") < 0) {
return domain;
} else {
- throw new ManageableVirtualUserTableException("Invalid domain: " + domain);
+ throw new IllegalArgumentException("Invalid domain: " + domain);
}
} else {
return WILDCARD;
Modified: james/server/trunk/user-jdbc/src/test/java/org/apache/james/vut/jdbc/JDBCVirtualUserTableTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/user-jdbc/src/test/java/org/apache/james/vut/jdbc/JDBCVirtualUserTableTest.java?rev=1027073&r1=1027072&r2=1027073&view=diff
==============================================================================
--- james/server/trunk/user-jdbc/src/test/java/org/apache/james/vut/jdbc/JDBCVirtualUserTableTest.java (original)
+++ james/server/trunk/user-jdbc/src/test/java/org/apache/james/vut/jdbc/JDBCVirtualUserTableTest.java Mon Oct 25 11:42:31 2010
@@ -22,7 +22,6 @@ import org.apache.commons.configuration.
import org.apache.commons.logging.impl.SimpleLog;
import org.apache.james.services.MockFileSystem;
import org.apache.james.util.TestUtil;
-import org.apache.james.vut.api.ManageableVirtualUserTableException;
import org.apache.james.vut.jdbc.JDBCVirtualUserTable;
import org.apache.james.vut.lib.AbstractVirtualUserTable;
import org.apache.james.vut.lib.AbstractVirtualUserTableTest;
@@ -51,7 +50,7 @@ public class JDBCVirtualUserTableTest ex
/**
* @see org.apache.james.vut.lib.AbstractVirtualUserTableTest#addMapping(java.lang.String, java.lang.String, java.lang.String, int)
*/
- protected boolean addMapping(String user, String domain, String mapping, int type) throws ManageableVirtualUserTableException {
+ protected boolean addMapping(String user, String domain, String mapping, int type) {
if (type == ERROR_TYPE) {
return virtualUserTable.addErrorMapping(user, domain, mapping);
} else if (type == REGEX_TYPE) {
@@ -68,7 +67,7 @@ public class JDBCVirtualUserTableTest ex
/**
* @see org.apache.james.vut.lib.AbstractVirtualUserTableTest#removeMapping(java.lang.String, java.lang.String, java.lang.String, int)
*/
- protected boolean removeMapping(String user, String domain, String mapping, int type) throws ManageableVirtualUserTableException {
+ protected boolean removeMapping(String user, String domain, String mapping, int type) {
if (type == ERROR_TYPE) {
return virtualUserTable.removeErrorMapping(user, domain, mapping);
} else if (type == REGEX_TYPE) {
Modified: james/server/trunk/user-jpa/src/main/java/org/apache/james/vut/jpa/JPAVirtualUserTable.java
URL: http://svn.apache.org/viewvc/james/server/trunk/user-jpa/src/main/java/org/apache/james/vut/jpa/JPAVirtualUserTable.java?rev=1027073&r1=1027072&r2=1027073&view=diff
==============================================================================
--- james/server/trunk/user-jpa/src/main/java/org/apache/james/vut/jpa/JPAVirtualUserTable.java (original)
+++ james/server/trunk/user-jpa/src/main/java/org/apache/james/vut/jpa/JPAVirtualUserTable.java Mon Oct 25 11:42:31 2010
@@ -29,7 +29,6 @@ import javax.persistence.EntityTransacti
import javax.persistence.PersistenceException;
import javax.persistence.PersistenceUnit;
-import org.apache.james.vut.api.ManageableVirtualUserTableException;
import org.apache.james.vut.jpa.model.JPAVirtualUser;
import org.apache.james.vut.lib.AbstractVirtualUserTable;
import org.apache.james.vut.lib.VirtualUserTableUtil;
@@ -57,7 +56,7 @@ public class JPAVirtualUserTable extends
/**
* @see org.apache.james.vut.lib.AbstractVirtualUserTable#addMappingInternal(String, String, String)
*/
- protected boolean addMappingInternal(String user, String domain, String regex) throws ManageableVirtualUserTableException {
+ protected boolean addMappingInternal(String user, String domain, String regex) {
String newUser = getUserString(user);
String newDomain = getDomainString(domain);
@@ -153,7 +152,7 @@ public class JPAVirtualUserTable extends
/**
* @see org.apache.james.vut.lib.AbstractVirtualUserTable#removeMappingInternal(String, String, String)
*/
- protected boolean removeMappingInternal(String user, String domain, String mapping) throws ManageableVirtualUserTableException {
+ protected boolean removeMappingInternal(String user, String domain, String mapping) {
String newUser = getUserString(user);
String newDomain = getDomainString(domain);
Collection<String> map = getUserDomainMappings(newUser,newDomain);
@@ -265,12 +264,12 @@ public class JPAVirtualUserTable extends
* @return user the user String
* @throws InvalidMappingException get thrown on invalid argument
*/
- private String getUserString(String user) throws ManageableVirtualUserTableException {
+ private String getUserString(String user) {
if (user != null) {
if(user.equals(WILDCARD) || user.indexOf("@") < 0) {
return user;
} else {
- throw new ManageableVirtualUserTableException("Invalid user: " + user);
+ throw new IllegalArgumentException("Invalid user: " + user);
}
} else {
return WILDCARD;
@@ -284,12 +283,12 @@ public class JPAVirtualUserTable extends
* @return domainString the domain String
* @throws InvalidMappingException get thrown on invalid argument
*/
- private String getDomainString(String domain) throws ManageableVirtualUserTableException {
+ private String getDomainString(String domain) {
if(domain != null) {
if (domain.equals(WILDCARD) || domain.indexOf("@") < 0) {
return domain;
} else {
- throw new ManageableVirtualUserTableException("Invalid domain: " + domain);
+ throw new IllegalArgumentException("Invalid domain: " + domain);
}
} else {
return WILDCARD;
Modified: james/server/trunk/user-jpa/src/test/java/org/apache/james/vut/jpa/JPAVirtualUserTableTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/user-jpa/src/test/java/org/apache/james/vut/jpa/JPAVirtualUserTableTest.java?rev=1027073&r1=1027072&r2=1027073&view=diff
==============================================================================
--- james/server/trunk/user-jpa/src/test/java/org/apache/james/vut/jpa/JPAVirtualUserTableTest.java (original)
+++ james/server/trunk/user-jpa/src/test/java/org/apache/james/vut/jpa/JPAVirtualUserTableTest.java Mon Oct 25 11:42:31 2010
@@ -22,7 +22,6 @@ import java.util.HashMap;
import org.apache.commons.configuration.DefaultConfigurationBuilder;
import org.apache.commons.logging.impl.SimpleLog;
-import org.apache.james.vut.api.ManageableVirtualUserTableException;
import org.apache.james.vut.jpa.JPAVirtualUserTable;
import org.apache.james.vut.jpa.model.JPAVirtualUser;
import org.apache.james.vut.lib.AbstractVirtualUserTable;
@@ -78,7 +77,7 @@ public class JPAVirtualUserTableTest ext
/**
* @see org.apache.james.vut.lib.AbstractVirtualUserTableTest#addMapping(java.lang.String, java.lang.String, java.lang.String, int)
*/
- protected boolean addMapping(String user, String domain, String mapping, int type) throws ManageableVirtualUserTableException {
+ protected boolean addMapping(String user, String domain, String mapping, int type) {
if (type == ERROR_TYPE) {
return virtualUserTable.addErrorMapping(user, domain, mapping);
} else if (type == REGEX_TYPE) {
@@ -95,7 +94,7 @@ public class JPAVirtualUserTableTest ext
/**
* @see org.apache.james.vut.lib.AbstractVirtualUserTableTest#removeMapping(java.lang.String, java.lang.String, java.lang.String, int)
*/
- protected boolean removeMapping(String user, String domain, String mapping, int type) throws ManageableVirtualUserTableException {
+ protected boolean removeMapping(String user, String domain, String mapping, int type) {
if (type == ERROR_TYPE) {
return virtualUserTable.removeErrorMapping(user, domain, mapping);
} else if (type == REGEX_TYPE) {
Copied: james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/AbstractJamesUsersRepository.java (from r1026947, james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java)
URL: http://svn.apache.org/viewvc/james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/AbstractJamesUsersRepository.java?p2=james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/AbstractJamesUsersRepository.java&p1=james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java&r1=1026947&r2=1027073&rev=1027073&view=diff
==============================================================================
--- james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java (original)
+++ james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/AbstractJamesUsersRepository.java Mon Oct 25 11:42:31 2010
@@ -29,10 +29,14 @@ import org.apache.james.lifecycle.LogEna
import org.apache.james.user.api.JamesUser;
import org.apache.james.user.api.JamesUsersRepository;
import org.apache.james.user.api.User;
-import org.apache.james.vut.api.ErrorMappingException;
+import org.apache.james.user.api.UsersRepository;
+import org.apache.james.vut.lib.AbstractReadOnlyVirtualUserTable;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
@@ -42,8 +46,10 @@ import javax.annotation.Resource;
* <p>This implements common functionality found in different UsersRespository
* implementations, and makes it easier to create new User repositories.</p>
*
+ *@deprecated Please implement {@link UsersRepository}
*/
-public abstract class AbstractUsersRepository implements JamesUsersRepository, LogEnabled, Configurable {
+@Deprecated
+public abstract class AbstractJamesUsersRepository extends AbstractReadOnlyVirtualUserTable implements JamesUsersRepository, LogEnabled, Configurable {
/**
* Ignore case in usernames
@@ -229,4 +235,43 @@ public abstract class AbstractUsersRepos
this.ignoreCase = ignoreCase;
}
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.vut.api.VirtualUserTable#getAllMappings()
+ */
+ public Map<String, Collection<String>> getAllMappings() {
+ Map<String, Collection<String>> mappings = new HashMap<String, Collection<String>>();
+ if (enableAliases == true || enableForwarding == true) {
+ Iterator<String> users = list();
+ while(users.hasNext()) {
+ String user = users.next();
+ int index = user.indexOf("@");
+ String username;
+ String domain;
+ if (index != -1) {
+ username = user.substring(0, index);
+ domain = user.substring(index +1, user.length());
+ } else {
+ username = user;
+ domain = "localhost";
+ }
+ try {
+ mappings.put(user, getMappings(username, domain));
+ } catch (ErrorMappingException e) {
+ // shold never happen here
+ }
+ }
+ }
+
+ return mappings;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.vut.api.VirtualUserTable#getUserDomainMappings(java.lang.String, java.lang.String)
+ */
+ public Collection<String> getUserDomainMappings(String user, String domain) {
+ return new ArrayList<String>();
+ }
+
}
Modified: james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/LocalJamesUsersRepository.java
URL: http://svn.apache.org/viewvc/james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/LocalJamesUsersRepository.java?rev=1027073&r1=1027072&r2=1027073&view=diff
==============================================================================
--- james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/LocalJamesUsersRepository.java (original)
+++ james/server/trunk/user-library/src/main/java/org/apache/james/user/lib/LocalJamesUsersRepository.java Mon Oct 25 11:42:31 2010
@@ -19,10 +19,11 @@
package org.apache.james.user.lib;
+import org.apache.commons.configuration.ConfigurationException;
import org.apache.james.user.api.JamesUsersRepository;
-import org.apache.james.vut.api.ErrorMappingException;
import java.util.Collection;
+import java.util.Map;
/**
* This is a wrapper that provide access to the "LocalUsers" repository
@@ -35,50 +36,98 @@ import java.util.Collection;
public class LocalJamesUsersRepository extends LocalUsersRepository implements JamesUsersRepository{
+ private JamesUsersRepository getUsersRepository() {
+ if (users instanceof JamesUsersRepository) {
+ return (JamesUsersRepository) users;
+ }
+ throw new UnsupportedOperationException("No supported by this implementation");
+ }
+
+
+ @Override
+ public void init() throws Exception {
+ super.init();
+
+ if ((users instanceof JamesUsersRepository) == false) {
+ throw new ConfigurationException("Please use the LocalUsersRepository for this UsersRepository");
+ }
+ }
/**
* @see org.apache.james.user.api.JamesUsersRepository#setEnableAliases(boolean)
*/
public void setEnableAliases(boolean enableAliases) {
- if (users instanceof JamesUsersRepository) {
- ((JamesUsersRepository) users).setEnableAliases(enableAliases);
- } else {
- throw new UnsupportedOperationException("Not supported by this implementation");
- }
+ getUsersRepository().setEnableAliases(enableAliases);
}
/**
* @see org.apache.james.user.api.JamesUsersRepository#setEnableForwarding(boolean)
*/
public void setEnableForwarding(boolean enableForwarding) {
- if (users instanceof JamesUsersRepository) {
- ((JamesUsersRepository) users).setEnableForwarding(enableForwarding);
- } else {
- throw new UnsupportedOperationException("Not supported by this implementation");
- }
+ getUsersRepository().setEnableForwarding(enableForwarding);
}
/**
* @see org.apache.james.user.api.JamesUsersRepository#setIgnoreCase(boolean)
*/
public void setIgnoreCase(boolean ignoreCase) {
- if (users instanceof JamesUsersRepository) {
- ((JamesUsersRepository) users).setIgnoreCase(ignoreCase);
- } else {
- throw new UnsupportedOperationException("Not supported by this implementation");
- }
+ getUsersRepository().setIgnoreCase(ignoreCase);
}
/**
* @see org.apache.james.vut.api.VirtualUserTable#getMappings(java.lang.String, java.lang.String)
*/
public Collection<String> getMappings(String user, String domain) throws ErrorMappingException {
- if (users instanceof JamesUsersRepository) {
- return ((JamesUsersRepository) users).getMappings(user, domain);
-
- }
- return null;
+ return getUsersRepository().getMappings(user, domain);
+ }
+
+ public boolean addAddressMapping(String user, String domain, String address) {
+ return getUsersRepository().addAddressMapping(user, domain, address);
+ }
+
+ public boolean addAliasDomainMapping(String aliasDomain, String realDomain) {
+ return getUsersRepository().addAliasDomainMapping(aliasDomain, realDomain);
+ }
+
+ public boolean addErrorMapping(String user, String domain, String error) {
+ return getUsersRepository().addErrorMapping(user, domain, error);
+ }
+
+ public boolean addMapping(String user, String domain, String mapping) {
+ return getUsersRepository().addMapping(user, domain, mapping);
+ }
+
+ public boolean addRegexMapping(String user, String domain, String regex) {
+ return getUsersRepository().addRegexMapping(user, domain, regex);
+ }
+
+ public Map<String, Collection<String>> getAllMappings() {
+ return getUsersRepository().getAllMappings();
+ }
+
+ public Collection<String> getUserDomainMappings(String user, String domain) {
+ return getUsersRepository().getUserDomainMappings(user, domain);
+ }
+
+ public boolean removeAddressMapping(String user, String domain, String address) {
+ return getUsersRepository().removeAddressMapping(user, domain, address);
+ }
+
+ public boolean removeAliasDomainMapping(String aliasDomain, String realDomain) {
+ return getUsersRepository().removeAliasDomainMapping(aliasDomain, realDomain);
+ }
+
+ public boolean removeErrorMapping(String user, String domain, String error) {
+ return getUsersRepository().removeErrorMapping(user, domain, error);
+ }
+
+ public boolean removeMapping(String user, String domain, String mapping) {
+ return getUsersRepository().removeMapping(user, domain, mapping);
+ }
+
+ public boolean removeRegexMapping(String user, String domain, String regex) {
+ return getUsersRepository().removeRegexMapping(user, domain, regex);
}
}
Added: james/server/trunk/user-library/src/main/java/org/apache/james/vut/lib/AbstractReadOnlyVirtualUserTable.java
URL: http://svn.apache.org/viewvc/james/server/trunk/user-library/src/main/java/org/apache/james/vut/lib/AbstractReadOnlyVirtualUserTable.java?rev=1027073&view=auto
==============================================================================
--- james/server/trunk/user-library/src/main/java/org/apache/james/vut/lib/AbstractReadOnlyVirtualUserTable.java (added)
+++ james/server/trunk/user-library/src/main/java/org/apache/james/vut/lib/AbstractReadOnlyVirtualUserTable.java Mon Oct 25 11:42:31 2010
@@ -0,0 +1,101 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+package org.apache.james.vut.lib;
+
+
+import org.apache.james.vut.api.VirtualUserTable;
+
+/**
+ * Abstract base class which can be used by {@link VirtualUserTable} implementations which are read-only
+ *
+ *
+ */
+public abstract class AbstractReadOnlyVirtualUserTable implements VirtualUserTable{
+
+ /**
+ * Do nothing and return false
+ */
+ public boolean addAddressMapping(String user, String domain, String address) {
+ return false;
+ }
+
+ /**
+ * Do nothing and return false
+ */
+ public boolean addAliasDomainMapping(String aliasDomain, String realDomain) {
+ return false;
+ }
+
+ /**
+ * Do nothing and return false
+ */
+ public boolean addErrorMapping(String user, String domain, String error) {
+ return false;
+ }
+
+ /**
+ * Do nothing and return false
+ */
+ public boolean addMapping(String user, String domain, String mapping) {
+ return false;
+ }
+
+ /**
+ * Do nothing and return false
+ */
+ public boolean addRegexMapping(String user, String domain, String regex) {
+ return false;
+ }
+
+ /**
+ * Do nothing and return false
+ */
+ public boolean removeAddressMapping(String user, String domain, String address) {
+ return false;
+ }
+
+ /**
+ * Do nothing and return false
+ */
+ public boolean removeAliasDomainMapping(String aliasDomain, String realDomain) {
+ return false;
+ }
+
+ /**
+ * Do nothing and return false
+ */
+ public boolean removeErrorMapping(String user, String domain, String error) {
+ return false;
+ }
+
+ /**
+ * Do nothing and return false
+ */
+ public boolean removeMapping(String user, String domain, String mapping) {
+ return false;
+ }
+
+ /**
+ * Do nothing and return false
+ */
+ public boolean removeRegexMapping(String user, String domain, String regex) {
+ return false;
+ }
+
+}
Modified: james/server/trunk/user-library/src/main/java/org/apache/james/vut/lib/AbstractVirtualUserTable.java
URL: http://svn.apache.org/viewvc/james/server/trunk/user-library/src/main/java/org/apache/james/vut/lib/AbstractVirtualUserTable.java?rev=1027073&r1=1027072&r2=1027073&view=diff
==============================================================================
--- james/server/trunk/user-library/src/main/java/org/apache/james/vut/lib/AbstractVirtualUserTable.java (original)
+++ james/server/trunk/user-library/src/main/java/org/apache/james/vut/lib/AbstractVirtualUserTable.java Mon Oct 25 11:42:31 2010
@@ -31,9 +31,6 @@ import org.apache.commons.configuration.
import org.apache.commons.logging.Log;
import org.apache.james.lifecycle.Configurable;
import org.apache.james.lifecycle.LogEnabled;
-import org.apache.james.vut.api.ErrorMappingException;
-import org.apache.james.vut.api.ManageableVirtualUserTable;
-import org.apache.james.vut.api.ManageableVirtualUserTableException;
import org.apache.james.vut.api.VirtualUserTable;
import org.apache.mailet.MailAddress;
import org.apache.oro.text.regex.MalformedPatternException;
@@ -42,7 +39,7 @@ import org.apache.oro.text.regex.Perl5Co
/**
*
*/
-public abstract class AbstractVirtualUserTable implements VirtualUserTable, ManageableVirtualUserTable, LogEnabled, Configurable {
+public abstract class AbstractVirtualUserTable implements VirtualUserTable, LogEnabled, Configurable {
// The maximum mappings which will process before throwing exception
private int mappingLimit = 10;
@@ -186,11 +183,11 @@ public abstract class AbstractVirtualUse
/**
* @see org.apache.james.vut.api.ManageableVirtualUserTable#addRegexMapping(java.lang.String, java.lang.String, java.lang.String)
*/
- public boolean addRegexMapping(String user, String domain, String regex) throws ManageableVirtualUserTableException {
+ public boolean addRegexMapping(String user, String domain, String regex){
try {
new Perl5Compiler().compile(regex);
} catch (MalformedPatternException e) {
- throw new ManageableVirtualUserTableException("Invalid regex: " + regex);
+ throw new IllegalArgumentException("Invalid regex: " + regex);
}
if (checkMapping(user,domain,regex) == true) {
@@ -205,7 +202,7 @@ public abstract class AbstractVirtualUse
/**
* @see org.apache.james.vut.api.ManageableVirtualUserTable#removeRegexMapping(java.lang.String, java.lang.String, java.lang.String)
*/
- public boolean removeRegexMapping(String user, String domain, String regex) throws ManageableVirtualUserTableException {
+ public boolean removeRegexMapping(String user, String domain, String regex) {
getLogger().info("Remove regex mapping => " + regex + " for user: " + user + " domain: " + domain);
return removeMappingInternal(user,domain,VirtualUserTable.REGEX_PREFIX + regex);
}
@@ -213,14 +210,14 @@ public abstract class AbstractVirtualUse
/**
* @see org.apache.james.vut.api.ManageableVirtualUserTable#addAddressMapping(java.lang.String, java.lang.String, java.lang.String)
*/
- public boolean addAddressMapping(String user, String domain, String address) throws ManageableVirtualUserTableException {
+ public boolean addAddressMapping(String user, String domain, String address) {
if (address.indexOf('@') < 0) {
address = address + "@localhost";
}
try {
new MailAddress(address);
} catch (ParseException e) {
- throw new ManageableVirtualUserTableException("Invalid emailAddress: " + address);
+ throw new IllegalArgumentException("Invalid emailAddress: " + address);
}
if (checkMapping(user,domain,address) == true) {
getLogger().info("Add address mapping => " + address + " for user: " + user + " domain: " + domain);
@@ -233,7 +230,7 @@ public abstract class AbstractVirtualUse
/**
* @see org.apache.james.vut.api.ManageableVirtualUserTable#removeAddressMapping(java.lang.String, java.lang.String, java.lang.String)
*/
- public boolean removeAddressMapping(String user, String domain, String address) throws ManageableVirtualUserTableException {
+ public boolean removeAddressMapping(String user, String domain, String address) {
if (address.indexOf('@') < 0) {
address = address + "@localhost";
}
@@ -244,7 +241,7 @@ public abstract class AbstractVirtualUse
/**
* @see org.apache.james.vut.api.ManageableVirtualUserTable#addErrorMapping(java.lang.String, java.lang.String, java.lang.String)
*/
- public boolean addErrorMapping(String user, String domain, String error) throws ManageableVirtualUserTableException {
+ public boolean addErrorMapping(String user, String domain, String error) {
if (checkMapping(user,domain,error) == true) {
getLogger().info("Add error mapping => " + error + " for user: " + user + " domain: " + domain);
return addMappingInternal(user,domain, VirtualUserTable.ERROR_PREFIX + error);
@@ -256,7 +253,7 @@ public abstract class AbstractVirtualUse
/**
* @see org.apache.james.vut.api.ManageableVirtualUserTable#removeErrorMapping(java.lang.String, java.lang.String, java.lang.String)
*/
- public boolean removeErrorMapping(String user, String domain, String error) throws ManageableVirtualUserTableException {
+ public boolean removeErrorMapping(String user, String domain, String error) {
getLogger().info("Remove error mapping => " + error + " for user: " + user + " domain: " + domain);
return removeMappingInternal(user,domain,VirtualUserTable.ERROR_PREFIX + error);
}
@@ -265,7 +262,7 @@ public abstract class AbstractVirtualUse
/**
* @see org.apache.james.vut.api.ManageableVirtualUserTable#addMapping(java.lang.String, java.lang.String, java.lang.String)
*/
- public boolean addMapping(String user, String domain, String mapping) throws ManageableVirtualUserTableException {
+ public boolean addMapping(String user, String domain, String mapping) {
String map = mapping.toLowerCase();
@@ -274,7 +271,7 @@ public abstract class AbstractVirtualUse
} else if (map.startsWith(VirtualUserTable.REGEX_PREFIX)) {
return addRegexMapping(user,domain,map.substring(VirtualUserTable.REGEX_PREFIX.length()));
} else if (map.startsWith(VirtualUserTable.ALIASDOMAIN_PREFIX)) {
- if (user != null) throw new ManageableVirtualUserTableException("User must be null for aliasDomain mappings");
+ if (user != null) throw new IllegalArgumentException("User must be null for aliasDomain mappings");
return addAliasDomainMapping(domain,map.substring(VirtualUserTable.ALIASDOMAIN_PREFIX.length()));
} else {
return addAddressMapping(user,domain,map);
@@ -285,7 +282,7 @@ public abstract class AbstractVirtualUse
/**
* @see org.apache.james.vut.api.ManageableVirtualUserTable#removeMapping(java.lang.String, java.lang.String, java.lang.String)
*/
- public boolean removeMapping(String user, String domain, String mapping) throws ManageableVirtualUserTableException {
+ public boolean removeMapping(String user, String domain, String mapping) {
String map = mapping.toLowerCase();
@@ -294,7 +291,7 @@ public abstract class AbstractVirtualUse
} else if (map.startsWith(VirtualUserTable.REGEX_PREFIX)) {
return removeRegexMapping(user,domain,map.substring(VirtualUserTable.REGEX_PREFIX.length()));
} else if (map.startsWith(VirtualUserTable.ALIASDOMAIN_PREFIX)) {
- if (user != null) throw new ManageableVirtualUserTableException("User must be null for aliasDomain mappings");
+ if (user != null) throw new IllegalArgumentException("User must be null for aliasDomain mappings");
return removeAliasDomainMapping(domain,map.substring(VirtualUserTable.ALIASDOMAIN_PREFIX.length()));
} else {
return removeAddressMapping(user,domain,map);
@@ -326,7 +323,7 @@ public abstract class AbstractVirtualUse
/**
* @see org.apache.james.vut.api.ManageableVirtualUserTable#addAliasDomainMapping(java.lang.String, java.lang.String)
*/
- public synchronized boolean addAliasDomainMapping(String aliasDomain, String realDomain) throws ManageableVirtualUserTableException {
+ public boolean addAliasDomainMapping(String aliasDomain, String realDomain) {
getLogger().info("Add domain mapping: " + aliasDomain + " => " + realDomain);
return addMappingInternal(null, aliasDomain, VirtualUserTable.ALIASDOMAIN_PREFIX + realDomain);
}
@@ -334,7 +331,7 @@ public abstract class AbstractVirtualUse
/**
* @see org.apache.james.vut.api.ManageableVirtualUserTable#removeAliasDomainMapping(java.lang.String, java.lang.String)
*/
- public synchronized boolean removeAliasDomainMapping(String aliasDomain, String realDomain) throws ManageableVirtualUserTableException {
+ public boolean removeAliasDomainMapping(String aliasDomain, String realDomain) {
getLogger().info("Remove domain mapping: " + aliasDomain + " => " + realDomain);
return removeMappingInternal(null, aliasDomain, VirtualUserTable.ALIASDOMAIN_PREFIX + realDomain);
}
@@ -352,7 +349,7 @@ public abstract class AbstractVirtualUse
* @return true if successfully
* @throws InvalidMappingException
*/
- protected abstract boolean addMappingInternal(String user, String domain, String mapping) throws ManageableVirtualUserTableException;
+ protected abstract boolean addMappingInternal(String user, String domain, String mapping);
/**
* Remove mapping
@@ -363,7 +360,7 @@ public abstract class AbstractVirtualUse
* @return true if successfully
* @throws InvalidMappingException
*/
- protected abstract boolean removeMappingInternal(String user, String domain, String mapping) throws ManageableVirtualUserTableException;
+ protected abstract boolean removeMappingInternal(String user, String domain, String mapping);
/**
* Return Collection of all mappings for the given username and domain
Modified: james/server/trunk/user-library/src/main/java/org/apache/james/vut/lib/JamesVirtualUserTable.java
URL: http://svn.apache.org/viewvc/james/server/trunk/user-library/src/main/java/org/apache/james/vut/lib/JamesVirtualUserTable.java?rev=1027073&r1=1027072&r2=1027073&view=diff
==============================================================================
--- james/server/trunk/user-library/src/main/java/org/apache/james/vut/lib/JamesVirtualUserTable.java (original)
+++ james/server/trunk/user-library/src/main/java/org/apache/james/vut/lib/JamesVirtualUserTable.java Mon Oct 25 11:42:31 2010
@@ -19,7 +19,6 @@
package org.apache.james.vut.lib;
import java.util.Collection;
-import java.util.HashMap;
import java.util.Map;
import javax.annotation.PostConstruct;
@@ -33,12 +32,9 @@ import org.apache.james.lifecycle.Config
import org.apache.james.lifecycle.Disposable;
import org.apache.james.lifecycle.LogEnabled;
import org.apache.james.services.InstanceFactory;
-import org.apache.james.vut.api.ErrorMappingException;
-import org.apache.james.vut.api.ManageableVirtualUserTable;
-import org.apache.james.vut.api.ManageableVirtualUserTableException;
import org.apache.james.vut.api.VirtualUserTable;
-public class JamesVirtualUserTable implements ManageableVirtualUserTable, Configurable, LogEnabled{
+public class JamesVirtualUserTable implements VirtualUserTable, Configurable, LogEnabled{
private HierarchicalConfiguration config;
private Log log;
@@ -100,76 +96,56 @@ public class JamesVirtualUserTable imple
}
}
- public boolean addAddressMapping(String user, String domain, String address)
- throws ManageableVirtualUserTableException {
- return getManagement().addAddressMapping(user, domain, address);
+ public boolean addAddressMapping(String user, String domain, String address) {
+ return vut.addAddressMapping(user, domain, address);
}
- public boolean addAliasDomainMapping(String aliasDomain, String realDomain)
- throws ManageableVirtualUserTableException {
- return getManagement().addAliasDomainMapping(aliasDomain, realDomain);
+ public boolean addAliasDomainMapping(String aliasDomain, String realDomain) {
+ return vut.addAliasDomainMapping(aliasDomain, realDomain);
}
- public boolean addErrorMapping(String user, String domain, String error)
- throws ManageableVirtualUserTableException {
- return getManagement().addErrorMapping(user, domain, error);
+ public boolean addErrorMapping(String user, String domain, String error) {
+ return vut.addErrorMapping(user, domain, error);
}
- public boolean addMapping(String user, String domain, String mapping)
- throws ManageableVirtualUserTableException {
- return getManagement().addMapping(user, domain, mapping);
+ public boolean addMapping(String user, String domain, String mapping) {
+ return vut.addMapping(user, domain, mapping);
}
- public boolean addRegexMapping(String user, String domain, String regex)
- throws ManageableVirtualUserTableException {
- return getManagement().addRegexMapping(user, domain, regex);
+ public boolean addRegexMapping(String user, String domain, String regex) {
+ return vut.addRegexMapping(user, domain, regex);
}
public Map<String, Collection<String>> getAllMappings() {
- try {
- return getManagement().getAllMappings();
- } catch (ManageableVirtualUserTableException e) {
- return new HashMap<String, Collection<String>>();
- }
+ return vut.getAllMappings();
}
- public Collection<String> getUserDomainMappings(String user, String domain)
- throws ManageableVirtualUserTableException {
- return getManagement().getUserDomainMappings(user, domain);
+ public Collection<String> getUserDomainMappings(String user, String domain) {
+ return vut.getUserDomainMappings(user, domain);
}
public boolean removeAddressMapping(String user, String domain,
- String address) throws ManageableVirtualUserTableException {
- return getManagement().removeAddressMapping(user, domain, address);
+ String address) {
+ return vut.removeAddressMapping(user, domain, address);
}
public boolean removeAliasDomainMapping(String aliasDomain,
- String realDomain) throws ManageableVirtualUserTableException {
- return getManagement().removeAliasDomainMapping(aliasDomain, realDomain);
+ String realDomain) {
+ return vut.removeAliasDomainMapping(aliasDomain, realDomain);
}
- public boolean removeErrorMapping(String user, String domain, String error)
- throws ManageableVirtualUserTableException {
- return getManagement().removeErrorMapping(user, domain, error);
+ public boolean removeErrorMapping(String user, String domain, String error) {
+ return vut.removeErrorMapping(user, domain, error);
}
- public boolean removeMapping(String user, String domain, String mapping)
- throws ManageableVirtualUserTableException {
- return getManagement().removeMapping(user, domain, mapping);
+ public boolean removeMapping(String user, String domain, String mapping) {
+ return vut.removeMapping(user, domain, mapping);
}
- public boolean removeRegexMapping(String user, String domain, String regex)
- throws ManageableVirtualUserTableException {
- return getManagement().removeRegexMapping(user, domain, regex);
+ public boolean removeRegexMapping(String user, String domain, String regex) {
+ return vut.removeRegexMapping(user, domain, regex);
}
- private ManageableVirtualUserTable getManagement() throws ManageableVirtualUserTableException{
- if (vut instanceof ManageableVirtualUserTable) {
- return (ManageableVirtualUserTable) vut;
- } else {
- throw new ManageableVirtualUserTableException("VirtualUserTable implementation is not managable");
- }
- }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org