Adding new and modifying existing classes / resources for remoting.
[taxeditor.git] / eu.etaxonomy.taxeditor.cdmlib / src / main / java / eu / etaxonomy / cdm / remote / api / application / CdmApplicationRemoteDefaultConfiguration.java
1 // $Id: CdmApplicationDefaultConfiguration.java 11680 2011-04-04 17:07:39Z a.mueller $
2 /**
3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
6 *
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
9 */
10
11 package eu.etaxonomy.cdm.remote.api.application;
12
13 import org.apache.log4j.Logger;
14 import org.springframework.beans.BeansException;
15 import org.springframework.beans.factory.annotation.Autowired;
16 import org.springframework.context.ApplicationContext;
17 import org.springframework.context.ApplicationContextAware;
18 import org.springframework.security.access.PermissionEvaluator;
19 import org.springframework.security.authentication.ProviderManager;
20 import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
21 import org.springframework.security.core.Authentication;
22 import org.springframework.security.core.context.SecurityContext;
23 import org.springframework.security.core.context.SecurityContextHolder;
24 import org.springframework.stereotype.Component;
25
26 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
27 import eu.etaxonomy.cdm.api.conversation.ConversationHolderMock;
28 import eu.etaxonomy.cdm.api.service.IAgentService;
29 import eu.etaxonomy.cdm.api.service.IClassificationService;
30 import eu.etaxonomy.cdm.api.service.ICollectionService;
31 import eu.etaxonomy.cdm.api.service.ICommonService;
32 import eu.etaxonomy.cdm.api.service.IDatabaseService;
33 import eu.etaxonomy.cdm.api.service.IDescriptionService;
34 import eu.etaxonomy.cdm.api.service.IFeatureNodeService;
35 import eu.etaxonomy.cdm.api.service.IFeatureTreeService;
36 import eu.etaxonomy.cdm.api.service.IGrantedAuthorityService;
37 import eu.etaxonomy.cdm.api.service.IGroupService;
38 import eu.etaxonomy.cdm.api.service.IIdentificationKeyService;
39 import eu.etaxonomy.cdm.api.service.ILocationService;
40 import eu.etaxonomy.cdm.api.service.IMediaService;
41 import eu.etaxonomy.cdm.api.service.INameService;
42 import eu.etaxonomy.cdm.api.service.IOccurrenceService;
43 import eu.etaxonomy.cdm.api.service.IPolytomousKeyNodeService;
44 import eu.etaxonomy.cdm.api.service.IPolytomousKeyService;
45 import eu.etaxonomy.cdm.api.service.IReferenceService;
46 import eu.etaxonomy.cdm.api.service.IService;
47 import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
48 import eu.etaxonomy.cdm.api.service.ITaxonService;
49 import eu.etaxonomy.cdm.api.service.ITermService;
50 import eu.etaxonomy.cdm.api.service.IUserService;
51 import eu.etaxonomy.cdm.api.service.IVocabularyService;
52 import eu.etaxonomy.cdm.api.service.IWorkingSetService;
53 import eu.etaxonomy.cdm.model.common.CdmBase;
54
55 /**
56 * @author a.mueller
57 * @created 21.05.2008
58 * @version 1.0
59 */
60 /**
61 * @author a.mueller
62 * @author j.koch
63 */
64 @Component
65 public class CdmApplicationRemoteDefaultConfiguration implements ICdmApplicationRemoteConfiguration, ApplicationContextAware {
66 @SuppressWarnings("unused")
67 private static final Logger logger = Logger.getLogger(CdmApplicationRemoteDefaultConfiguration.class);
68
69 @Autowired
70 //@Qualifier("nameService")
71 private INameService nameService;
72 @Autowired
73 //@Qualifier("taxonService")
74 private ITaxonService taxonService;
75 @Autowired
76 //@Qualifier("classificationService")
77 private IClassificationService classificationService;
78 @Autowired
79 //@Qualifier("referenceService")
80 private IReferenceService referenceService;
81 @Autowired
82 //@Qualifier("agentService")
83 private IAgentService agentService;
84 @Autowired
85 //@Qualifier("termService")
86 private ITermService termService;
87 @Autowired
88 //@Qualifier("descriptionService")
89 private IDescriptionService descriptionService;
90 @Autowired
91 //@Qualifier("occurrenceService")
92 private IOccurrenceService occurrenceService;
93 @Autowired
94 //@Qualifier("mediaService")
95 private IMediaService mediaService;
96 @Autowired
97 //@Qualifier("commonService")
98 private ICommonService commonService;
99 @Autowired
100 private ILocationService locationService;
101 @Autowired
102 private IUserService userService;
103 @Autowired
104 private IGroupService groupService;
105 @Autowired
106 private ICollectionService collectionService;
107 @Autowired
108 private IFeatureTreeService featureTreeService;
109 @Autowired
110 private IFeatureNodeService featureNodeService;
111 @Autowired
112 private IVocabularyService vocabularyService;
113 @Autowired
114 private ITaxonNodeService taxonNodeService;
115 @Autowired
116 private IIdentificationKeyService identificationKeyService;
117 @Autowired
118 private IPolytomousKeyService polytomousKeyService;
119 @Autowired
120 private IPolytomousKeyNodeService polytomousKeyNodeService;
121 @Autowired
122 private IGrantedAuthorityService grantedAuthorityService;
123 // @Autowired
124 //@Qualifier("mainService")
125 private IService<CdmBase> mainService;
126
127 @Autowired
128 private IWorkingSetService workingSetService;
129 @Autowired
130 private ProviderManager authenticationManager;
131 @Autowired
132 private PermissionEvaluator permissionEvaluator;
133
134 protected ApplicationContext applicationContext;
135
136 /**
137 *
138 */
139 public CdmApplicationRemoteDefaultConfiguration() {
140 }
141
142 /* (non-Javadoc)
143 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getAgentService()
144 */
145 public IAgentService getAgentService() {
146 return this.agentService;
147 }
148
149 /* (non-Javadoc)
150 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getNameService()
151 */
152 public INameService getNameService() {
153 return this.nameService;
154 }
155
156 /* (non-Javadoc)
157 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getReferenceService()
158 */
159 public IReferenceService getReferenceService() {
160 return this.referenceService;
161 }
162
163 /* (non-Javadoc)
164 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getTaxonService()
165 */
166 public ITaxonService getTaxonService() {
167 return this.taxonService;
168 }
169
170
171 /* (non-Javadoc)
172 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getClassificationService()
173 */
174 public IClassificationService getClassificationService() {
175 return this.classificationService;
176 }
177
178 public ITaxonNodeService getTaxonNodeService(){
179 return this.taxonNodeService;
180 }
181
182 /* (non-Javadoc)
183 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getDescriptionService()
184 */
185 public IDescriptionService getDescriptionService(){
186 return this.descriptionService;
187 }
188
189 /*
190 * (non-Javadoc)
191 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getOccurrenceService()
192 */
193 public IOccurrenceService getOccurrenceService(){
194 return this.occurrenceService;
195 }
196
197 /*
198 * (non-Javadoc)
199 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getMediaService()
200 */
201 public IMediaService getMediaService(){
202 return this.mediaService;
203 }
204
205 /* (non-Javadoc)
206 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getTermService()
207 */
208 public ITermService getTermService() {
209 return this.termService;
210 }
211
212 /* (non-Javadoc)
213 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getCommonService()
214 */
215 public ICommonService getCommonService(){
216 return this.commonService;
217 }
218
219 /* (non-Javadoc)
220 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getLocationService()
221 */
222 public ILocationService getLocationService() {
223 return this.locationService;
224 }
225
226 /* (non-Javadoc)
227 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getUserService()
228 */
229 public IUserService getUserService() {
230 return this.userService;
231 }
232
233 /* (non-Javadoc)
234 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getCommonService()
235 */
236 public IService<CdmBase> getMainService(){
237 return this.mainService;
238 }
239
240 /*
241 * (non-Javadoc)
242 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getCollectionService()
243 */
244 public ICollectionService getCollectionService() {
245 return collectionService;
246 }
247
248 /*
249 * (non-Javadoc)
250 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getFeatureTreeService()
251 */
252 public IFeatureTreeService getFeatureTreeService() {
253 return featureTreeService;
254 }
255
256 /*
257 * (non-Javadoc)
258 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getFeatureNodeService()
259 */
260 public IFeatureNodeService getFeatureNodeService(){
261 return featureNodeService;
262 }
263
264 /*
265 * (non-Javadoc)
266 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getVocabularyService()
267 */
268 public IVocabularyService getVocabularyService() {
269 return vocabularyService;
270 }
271
272 /* (non-Javadoc)
273 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getIdentificationKeyService()
274 */
275 public IIdentificationKeyService getIdentificationKeyService(){
276 return identificationKeyService;
277 }
278
279 /* (non-Javadoc)
280 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getPolytomousKeyService()
281 */
282 public IPolytomousKeyService getPolytomousKeyService(){
283 return polytomousKeyService;
284 }
285
286 public IPolytomousKeyNodeService getPolytomousKeyNodeService(){
287 return polytomousKeyNodeService;
288 }
289
290 /* (non-Javadoc)
291 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getWorkingSetService()
292 */
293 @Override
294 public IWorkingSetService getWorkingSetService() {
295 return workingSetService;
296 }
297
298 /* (non-Javadoc)
299 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getGroupService()
300 */
301 @Override
302 public IGroupService getGroupService() {
303 return groupService;
304 }
305
306 @Override
307 public IDatabaseService getDatabaseService() {
308 // TODO Auto-generated method stub
309 return null;
310 }
311
312 @Override
313 public ProviderManager getAuthenticationManager() {
314 return authenticationManager;
315 }
316
317 /* (non-Javadoc)
318 * @see org.springframework.context.ApplicationContextAware#setApplicationContext(org.springframework.context.ApplicationContext)
319 */
320 @Override
321 public void setApplicationContext(ApplicationContext applicationContext)
322 throws BeansException {
323 this.applicationContext = applicationContext;
324 }
325
326
327 @Override
328 public final Object getBean(String name){
329 return this.applicationContext.getBean(name);
330 }
331
332 @Override
333 public ConversationHolder NewConversation() {
334 return new ConversationHolderMock();
335 }
336
337 /* (non-Javadoc)
338 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#authenticate(java.lang.String, java.lang.String)
339 */
340 @Override
341 public void authenticate(String username, String password){
342 UsernamePasswordAuthenticationToken tokenForUser = new UsernamePasswordAuthenticationToken(username, password);
343 Authentication authentication = this.getAuthenticationManager().authenticate(tokenForUser);
344 SecurityContext context = SecurityContextHolder.getContext();
345 context.setAuthentication(authentication);
346 }
347
348 @Override
349 public IGrantedAuthorityService getGrantedAuthorityService() {
350 return this.grantedAuthorityService;
351 }
352
353 /* (non-Javadoc)
354 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getPermissionEvaluator()
355 */
356 @Override
357 public PermissionEvaluator getPermissionEvaluator() {
358 return permissionEvaluator;
359 }
360
361 }