1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package net.sf.oxclient.service.client.impl;
17
18 import java.util.Map;
19
20 import net.sf.oval.constraint.NotNull;
21 import net.sf.oval.guard.Guarded;
22 import net.sf.oxclient.IUser;
23 import net.sf.oxclient.beans.Folder;
24 import net.sf.oxclient.service.AbsGroupwareModule;
25 import net.sf.oxclient.service.AbsGroupwareSession;
26 import net.sf.oxclient.service.AbsGroupwareSessionFactory;
27 import net.sf.oxclient.service.client.IOXSession;
28 import net.sf.oxclient.service.client.IOXSessionFactory;
29
30 import org.springframework.beans.BeansException;
31 import org.springframework.beans.factory.BeanFactory;
32 import org.springframework.beans.factory.BeanFactoryAware;
33
34
35
36
37
38 @Guarded
39 public class OXGroupwareSessionFactory extends
40 AbsGroupwareSessionFactory<Folder> implements IOXSessionFactory,
41 BeanFactoryAware {
42
43 private String moduleMapName = "moduleMap";
44 private String serverUrl;
45
46 private BeanFactory beanFactory = null;
47
48
49
50
51
52
53 @Override
54 public IOXSession login(final IUser user) {
55 return (IOXSession) super.login(user);
56 }
57
58
59
60
61
62
63 @SuppressWarnings("unchecked")
64 @Override
65 public Map<String, AbsGroupwareModule<?, Folder>> getModuleMap(
66 final IUser user) {
67 return (Map<String, AbsGroupwareModule<?, Folder>>) this.beanFactory
68 .getBean(this.moduleMapName);
69 }
70
71
72
73
74
75
76 @SuppressWarnings("unchecked")
77 @Override
78 public AbsGroupwareSession<Folder> getNewGourpwareSession(final IUser user) {
79 final AbsGroupwareSession<Folder> result =
80 (AbsGroupwareSession<Folder>) this.beanFactory
81 .getBean("groupwareSession");
82 result.getCommunicationManager().setOXServerURL(this.serverUrl);
83 return result;
84 }
85
86
87
88
89
90
91 public void setBeanFactory(@NotNull final BeanFactory beanFactory)
92 throws BeansException {
93 this.beanFactory = beanFactory;
94 }
95
96
97
98
99
100 public void setModuleMapName(final String moduleMapName) {
101 this.moduleMapName = moduleMapName;
102 }
103
104
105
106
107
108
109 public String getServerURL() {
110 return this.serverUrl;
111 }
112
113
114
115
116
117
118 public void setServerURL(final String server) {
119 this.serverUrl = server;
120 }
121 }