Author: bago
Date: Sat Aug 20 17:51:57 2005
New Revision: 234137
URL: http://svn.apache.org/viewcvs?rev=234137&view=rev
Log:
Reduced the visibility of the SMTPServer from UserStore to the
LocalUsersRepository (a new block) (part of JAMES-412)
Added:
james/server/trunk/src/java/org/apache/james/smtpserver/LocalUsersRepository.java
james/server/trunk/src/java/org/apache/james/smtpserver/LocalUsersRepository.xinfo
Modified:
james/server/trunk/src/conf/james-assembly.xml
james/server/trunk/src/java/org/apache/james/smtpserver/SMTPServer.java
james/server/trunk/src/java/org/apache/james/smtpserver/SMTPServer.xinfo
Modified: james/server/trunk/src/conf/james-assembly.xml
URL:
http://svn.apache.org/viewcvs/james/server/trunk/src/conf/james-assembly.xml?rev=234137&r1=234136&r2=234137&view=diff
==============================================================================
--- james/server/trunk/src/conf/james-assembly.xml (original)
+++ james/server/trunk/src/conf/james-assembly.xml Sat Aug 20 17:51:57 2005
@@ -79,7 +79,7 @@
<!-- SMTP Server -->
<block name="smtpserver" class="org.apache.james.smtpserver.SMTPServer" >
<provide name="James" role="org.apache.mailet.MailetContext"/>
- <provide name="users-store" role="org.apache.james.services.UsersStore"/>
+ <provide name="localusersrepository"
role="org.apache.james.services.UsersRepository"/>
<provide name="sockets"
role="org.apache.avalon.cornerstone.services.sockets.SocketManager"/>
<provide name="connections"
@@ -136,7 +136,12 @@
role="org.apache.avalon.cornerstone.services.datasources.DataSourceSelector" />
</block>
-
+ <!-- This is needed to link the smtpserver to the local user repository -->
+ <block name="localusersrepository"
class="org.apache.james.smtpserver.LocalUsersRepository">
+ <provide name="users-store"
+ role="org.apache.james.services.UsersStore"/>
+ </block>
+
<!-- Configuration for Cornerstone Blocks only after here
NOTHING BELOW THIS SHOULD NEED CHANGING,
(unless you want secure sockets (TLS)) -->
Added:
james/server/trunk/src/java/org/apache/james/smtpserver/LocalUsersRepository.java
URL:
http://svn.apache.org/viewcvs/james/server/trunk/src/java/org/apache/james/smtpserver/LocalUsersRepository.java?rev=234137&view=auto
==============================================================================
---
james/server/trunk/src/java/org/apache/james/smtpserver/LocalUsersRepository.java
(added)
+++
james/server/trunk/src/java/org/apache/james/smtpserver/LocalUsersRepository.java
Sat Aug 20 17:51:57 2005
@@ -0,0 +1,103 @@
+/***********************************************************************
+ * Copyright (c) 1999-2005 The Apache Software Foundation. *
+ * All rights reserved. *
+ * ------------------------------------------------------------------- *
+ * Licensed 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.smtpserver;
+
+import org.apache.avalon.framework.activity.Initializable;
+import org.apache.avalon.framework.service.ServiceException;
+import org.apache.avalon.framework.service.ServiceManager;
+import org.apache.avalon.framework.service.Serviceable;
+import org.apache.james.services.User;
+import org.apache.james.services.UsersRepository;
+import org.apache.james.services.UsersStore;
+
+import java.util.Iterator;
+
+public class LocalUsersRepository implements UsersRepository, Serviceable,
Initializable {
+
+ private UsersStore usersStore;
+ private UsersRepository users;
+
+ public void service(ServiceManager serviceManager) throws ServiceException
{
+ usersStore =
+ (UsersStore)
serviceManager.lookup("org.apache.james.services.UsersStore");
+ }
+
+ public void initialize() throws Exception {
+ users = usersStore.getRepository("LocalUsers");
+ if (users == null) {
+ throw new ServiceException("","The user repository could not be
found.");
+ }
+ }
+
+ public boolean addUser(User user) {
+ return users.addUser(user);
+ }
+
+ public void addUser(String name, Object attributes) {
+ users.addUser(name,attributes);
+ }
+
+ public Object getAttributes(String name) {
+ return users.getAttributes(name);
+ }
+
+ public User getUserByName(String name) {
+ return users.getUserByName(name);
+ }
+
+ public User getUserByNameCaseInsensitive(String name) {
+ return users.getUserByNameCaseInsensitive(name);
+ }
+
+ public String getRealName(String name) {
+ return users.getRealName(name);
+ }
+
+ public boolean updateUser(User user) {
+ return users.updateUser(user);
+ }
+
+ public void removeUser(String name) {
+ users.removeUser(name);
+ }
+
+ public boolean contains(String name) {
+ return users.contains(name);
+ }
+
+ public boolean containsCaseInsensitive(String name) {
+ return users.containsCaseInsensitive(name);
+ }
+
+ public boolean test(String name, Object attributes) {
+ return users.test(name,attributes);
+ }
+
+ public boolean test(String name, String password) {
+ return users.test(name,password);
+ }
+
+ public int countUsers() {
+ return users.countUsers();
+ }
+
+ public Iterator list() {
+ return users.list();
+ }
+
+}
Added:
james/server/trunk/src/java/org/apache/james/smtpserver/LocalUsersRepository.xinfo
URL:
http://svn.apache.org/viewcvs/james/server/trunk/src/java/org/apache/james/smtpserver/LocalUsersRepository.xinfo?rev=234137&view=auto
==============================================================================
---
james/server/trunk/src/java/org/apache/james/smtpserver/LocalUsersRepository.xinfo
(added)
+++
james/server/trunk/src/java/org/apache/james/smtpserver/LocalUsersRepository.xinfo
Sat Aug 20 17:51:57 2005
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+
+<blockinfo>
+
+ <!-- section to describe block -->
+ <block>
+ <version>1.0</version>
+ </block>
+
+ <!-- services that are offered by this block -->
+ <services>
+ <service name="org.apache.james.services.UsersRepository" version="1.0" />
+ </services>
+
+ <dependencies>
+ <dependency>
+ <service name="org.apache.james.services.UsersStore" version="1.0"/>
+ </dependency>
+ </dependencies>
+</blockinfo>
Modified:
james/server/trunk/src/java/org/apache/james/smtpserver/SMTPServer.java
URL:
http://svn.apache.org/viewcvs/james/server/trunk/src/java/org/apache/james/smtpserver/SMTPServer.java?rev=234137&r1=234136&r2=234137&view=diff
==============================================================================
--- james/server/trunk/src/java/org/apache/james/smtpserver/SMTPServer.java
(original)
+++ james/server/trunk/src/java/org/apache/james/smtpserver/SMTPServer.java Sat
Aug 20 17:51:57 2005
@@ -34,7 +34,6 @@
import org.apache.james.core.AbstractJamesService;
import org.apache.james.services.MailServer;
import org.apache.james.services.UsersRepository;
-import org.apache.james.services.UsersStore;
import org.apache.james.util.NetMatcher;
import org.apache.james.util.watchdog.Watchdog;
import org.apache.james.util.watchdog.WatchdogFactory;
@@ -140,12 +139,7 @@
super.service( manager );
mailetcontext = (MailetContext)
manager.lookup("org.apache.mailet.MailetContext");
mailServer = (MailServer)
manager.lookup("org.apache.james.services.MailServer");
- UsersStore usersStore =
- (UsersStore)
manager.lookup("org.apache.james.services.UsersStore");
- users = usersStore.getRepository("LocalUsers");
- if (users == null) {
- throw new ServiceException("","The user repository could not be
found.");
- }
+ users = (UsersRepository)
manager.lookup("org.apache.james.services.UsersRepository");
}
/**
Modified:
james/server/trunk/src/java/org/apache/james/smtpserver/SMTPServer.xinfo
URL:
http://svn.apache.org/viewcvs/james/server/trunk/src/java/org/apache/james/smtpserver/SMTPServer.xinfo?rev=234137&r1=234136&r2=234137&view=diff
==============================================================================
--- james/server/trunk/src/java/org/apache/james/smtpserver/SMTPServer.xinfo
(original)
+++ james/server/trunk/src/java/org/apache/james/smtpserver/SMTPServer.xinfo
Sat Aug 20 17:51:57 2005
@@ -17,7 +17,7 @@
<service name="org.apache.mailet.MailetContext" version="1.0"/>
</dependency>
<dependency>
- <service name="org.apache.james.services.UsersStore" version="1.0"/>
+ <service name="org.apache.james.services.UsersRepository" version="1.0"/>
</dependency>
<dependency>
<service name="org.apache.james.services.JamesConnectionManager"
version="1.0"/>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]