1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.james.user.impl.file;
21
22 import java.io.Serializable;
23
24 import org.apache.avalon.framework.activity.Initializable;
25 import org.apache.avalon.framework.configuration.Configurable;
26 import org.apache.avalon.framework.configuration.Configuration;
27 import org.apache.avalon.framework.configuration.ConfigurationException;
28 import org.apache.avalon.framework.logger.AbstractLogEnabled;
29 import org.apache.james.api.user.UserMetaDataRespository;
30 import org.apache.james.api.user.UserRepositoryException;
31 import org.apache.james.user.impl.file.FileUserMetaDataRepository;
32
33 public class FileUserMetaDataService extends AbstractLogEnabled
34 implements UserMetaDataRespository, Configurable, Initializable {
35
36 private UserMetaDataRespository repository;
37 private String baseDirectory;
38
39 public void clear(String username) throws UserRepositoryException {
40 repository.clear(username);
41 }
42
43 public Serializable getAttribute(String username, String key)
44 throws UserRepositoryException {
45 return repository.getAttribute(username, key);
46 }
47
48 public void setAttribute(String username, Serializable value, String key)
49 throws UserRepositoryException {
50 repository.setAttribute(username, value, key);
51 }
52
53 public void configure(final Configuration configuration) throws ConfigurationException {
54 baseDirectory = configuration.getAttribute("baseDir");
55 }
56
57 public void initialize() throws Exception {
58 repository = new FileUserMetaDataRepository(baseDirectory);
59 }
60
61 }