1 // $Id: CdmApplicationDefaultConfiguration.java 19705 2013-12-12 14:38:11Z c.mathew $
3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
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.
11 package eu
.etaxonomy
.cdm
.api
.application
;
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
.authentication
.ProviderManager
;
19 import org
.springframework
.security
.authentication
.UsernamePasswordAuthenticationToken
;
20 import org
.springframework
.security
.core
.Authentication
;
21 import org
.springframework
.security
.core
.context
.SecurityContext
;
22 import org
.springframework
.security
.core
.context
.SecurityContextHolder
;
23 import org
.springframework
.stereotype
.Component
;
25 import eu
.etaxonomy
.cdm
.api
.conversation
.ConversationHolder
;
26 import eu
.etaxonomy
.cdm
.api
.conversation
.ConversationHolderMock
;
27 import eu
.etaxonomy
.cdm
.api
.service
.IAgentService
;
28 import eu
.etaxonomy
.cdm
.api
.service
.IClassificationService
;
29 import eu
.etaxonomy
.cdm
.api
.service
.ICollectionService
;
30 import eu
.etaxonomy
.cdm
.api
.service
.ICommonService
;
31 import eu
.etaxonomy
.cdm
.api
.service
.IDatabaseService
;
32 import eu
.etaxonomy
.cdm
.api
.service
.IDescriptionService
;
33 import eu
.etaxonomy
.cdm
.api
.service
.IFeatureNodeService
;
34 import eu
.etaxonomy
.cdm
.api
.service
.IFeatureTreeService
;
35 import eu
.etaxonomy
.cdm
.api
.service
.IGrantedAuthorityService
;
36 import eu
.etaxonomy
.cdm
.api
.service
.IGroupService
;
37 import eu
.etaxonomy
.cdm
.api
.service
.IIdentificationKeyService
;
38 import eu
.etaxonomy
.cdm
.api
.service
.ILocationService
;
39 import eu
.etaxonomy
.cdm
.api
.service
.IMediaService
;
40 import eu
.etaxonomy
.cdm
.api
.service
.INameService
;
41 import eu
.etaxonomy
.cdm
.api
.service
.IOccurrenceService
;
42 import eu
.etaxonomy
.cdm
.api
.service
.IPolytomousKeyNodeService
;
43 import eu
.etaxonomy
.cdm
.api
.service
.IPolytomousKeyService
;
44 import eu
.etaxonomy
.cdm
.api
.service
.IReferenceService
;
45 import eu
.etaxonomy
.cdm
.api
.service
.IService
;
46 import eu
.etaxonomy
.cdm
.api
.service
.ITaxonNodeService
;
47 import eu
.etaxonomy
.cdm
.api
.service
.ITaxonService
;
48 import eu
.etaxonomy
.cdm
.api
.service
.ITermService
;
49 import eu
.etaxonomy
.cdm
.api
.service
.IUserService
;
50 import eu
.etaxonomy
.cdm
.api
.service
.IVocabularyService
;
51 import eu
.etaxonomy
.cdm
.api
.service
.IWorkingSetService
;
52 import eu
.etaxonomy
.cdm
.model
.common
.CdmBase
;
53 import eu
.etaxonomy
.cdm
.persistence
.hibernate
.permission
.ICdmPermissionEvaluator
;
62 public class CdmApplicationConfiguration
implements ICdmApplicationConfiguration
, ApplicationContextAware
{
63 @SuppressWarnings("unused")
64 private static final Logger logger
= Logger
.getLogger(CdmApplicationConfiguration
.class);
67 private INameService nameService
;
69 private ITaxonService taxonService
;
71 private IClassificationService classificationService
;
73 private IReferenceService referenceService
;
75 private IAgentService agentService
;
77 private ITermService termService
;
79 private IDescriptionService descriptionService
;
81 private IOccurrenceService occurrenceService
;
83 private IMediaService mediaService
;
85 private ICommonService commonService
;
87 private ILocationService locationService
;
89 private IUserService userService
;
91 private IGroupService groupService
;
93 private ICollectionService collectionService
;
95 private IFeatureTreeService featureTreeService
;
97 private IFeatureNodeService featureNodeService
;
99 private IVocabularyService vocabularyService
;
101 private ITaxonNodeService taxonNodeService
;
103 private IIdentificationKeyService identificationKeyService
;
105 private IPolytomousKeyService polytomousKeyService
;
107 private IPolytomousKeyNodeService polytomousKeyNodeService
;
109 private IGrantedAuthorityService grantedAuthorityService
;
111 private IService
<CdmBase
> mainService
;
114 private IWorkingSetService workingSetService
;
116 private ProviderManager authenticationManager
;
118 private ICdmPermissionEvaluator permissionEvaluator
;
120 protected ApplicationContext applicationContext
;
125 public CdmApplicationConfiguration() {
129 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getAgentService()
131 public IAgentService
getAgentService() {
132 return this.agentService
;
136 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getNameService()
138 public INameService
getNameService() {
139 return this.nameService
;
143 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getReferenceService()
145 public IReferenceService
getReferenceService() {
146 return this.referenceService
;
150 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getTaxonService()
152 public ITaxonService
getTaxonService() {
153 return this.taxonService
;
158 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getClassificationService()
160 public IClassificationService
getClassificationService() {
161 return this.classificationService
;
164 public ITaxonNodeService
getTaxonNodeService(){
165 return this.taxonNodeService
;
169 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getDescriptionService()
171 public IDescriptionService
getDescriptionService(){
172 return this.descriptionService
;
177 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getOccurrenceService()
179 public IOccurrenceService
getOccurrenceService(){
180 return this.occurrenceService
;
185 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getMediaService()
187 public IMediaService
getMediaService(){
188 return this.mediaService
;
192 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getTermService()
194 public ITermService
getTermService() {
195 return this.termService
;
199 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getCommonService()
201 public ICommonService
getCommonService(){
202 return this.commonService
;
206 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getLocationService()
208 public ILocationService
getLocationService() {
209 return this.locationService
;
213 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getUserService()
215 public IUserService
getUserService() {
216 return this.userService
;
220 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getCommonService()
222 public IService
<CdmBase
> getMainService(){
223 return this.mainService
;
228 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getCollectionService()
230 public ICollectionService
getCollectionService() {
231 return collectionService
;
236 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getFeatureTreeService()
238 public IFeatureTreeService
getFeatureTreeService() {
239 return featureTreeService
;
244 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getFeatureNodeService()
246 public IFeatureNodeService
getFeatureNodeService(){
247 return featureNodeService
;
252 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getVocabularyService()
254 public IVocabularyService
getVocabularyService() {
255 return vocabularyService
;
259 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getIdentificationKeyService()
261 public IIdentificationKeyService
getIdentificationKeyService(){
262 return identificationKeyService
;
266 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getPolytomousKeyService()
268 public IPolytomousKeyService
getPolytomousKeyService(){
269 return polytomousKeyService
;
272 public IPolytomousKeyNodeService
getPolytomousKeyNodeService(){
273 return polytomousKeyNodeService
;
277 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getWorkingSetService()
280 public IWorkingSetService
getWorkingSetService() {
281 return workingSetService
;
285 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationRemoteConfiguration#getGroupService()
288 public IGroupService
getGroupService() {
294 public ProviderManager
getAuthenticationManager() {
295 return authenticationManager
;
299 * @see org.springframework.context.ApplicationContextAware#setApplicationContext(org.springframework.context.ApplicationContext)
302 public void setApplicationContext(ApplicationContext applicationContext
)
303 throws BeansException
{
304 this.applicationContext
= applicationContext
;
309 public final Object
getBean(String name
){
310 return this.applicationContext
.getBean(name
);
314 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#authenticate(java.lang.String, java.lang.String)
317 public void authenticate(String username
, String password
){
318 UsernamePasswordAuthenticationToken tokenForUser
= new UsernamePasswordAuthenticationToken(username
, password
);
319 Authentication authentication
= this.getAuthenticationManager().authenticate(tokenForUser
);
320 SecurityContext context
= SecurityContextHolder
.getContext();
321 context
.setAuthentication(authentication
);
325 public IGrantedAuthorityService
getGrantedAuthorityService() {
326 return this.grantedAuthorityService
;
330 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getPermissionEvaluator()
333 public ICdmPermissionEvaluator
getPermissionEvaluator() {
334 return permissionEvaluator
;
338 public ConversationHolder
NewConversation() {
339 // TODO Auto-generated method stub