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
.springframework
.security
.access
.PermissionEvaluator
;
14 import org
.springframework
.security
.authentication
.ProviderManager
;
15 import org
.springframework
.transaction
.PlatformTransactionManager
;
16 import org
.springframework
.transaction
.TransactionStatus
;
18 import eu
.etaxonomy
.cdm
.api
.conversation
.ConversationHolder
;
19 import eu
.etaxonomy
.cdm
.api
.service
.IAgentService
;
20 import eu
.etaxonomy
.cdm
.api
.service
.IClassificationService
;
21 import eu
.etaxonomy
.cdm
.api
.service
.ICollectionService
;
22 import eu
.etaxonomy
.cdm
.api
.service
.ICommonService
;
23 import eu
.etaxonomy
.cdm
.api
.service
.IDatabaseService
;
24 import eu
.etaxonomy
.cdm
.api
.service
.IDescriptionService
;
25 import eu
.etaxonomy
.cdm
.api
.service
.IFeatureNodeService
;
26 import eu
.etaxonomy
.cdm
.api
.service
.IFeatureTreeService
;
27 import eu
.etaxonomy
.cdm
.api
.service
.IGrantedAuthorityService
;
28 import eu
.etaxonomy
.cdm
.api
.service
.IGroupService
;
29 import eu
.etaxonomy
.cdm
.api
.service
.IIdentificationKeyService
;
30 import eu
.etaxonomy
.cdm
.api
.service
.ILocationService
;
31 import eu
.etaxonomy
.cdm
.api
.service
.IMediaService
;
32 import eu
.etaxonomy
.cdm
.api
.service
.INameService
;
33 import eu
.etaxonomy
.cdm
.api
.service
.IOccurrenceService
;
34 import eu
.etaxonomy
.cdm
.api
.service
.IPolytomousKeyNodeService
;
35 import eu
.etaxonomy
.cdm
.api
.service
.IPolytomousKeyService
;
36 import eu
.etaxonomy
.cdm
.api
.service
.IReferenceService
;
37 import eu
.etaxonomy
.cdm
.api
.service
.IService
;
38 import eu
.etaxonomy
.cdm
.api
.service
.ITaxonNodeService
;
39 import eu
.etaxonomy
.cdm
.api
.service
.ITaxonService
;
40 import eu
.etaxonomy
.cdm
.api
.service
.ITermService
;
41 import eu
.etaxonomy
.cdm
.api
.service
.IUserService
;
42 import eu
.etaxonomy
.cdm
.api
.service
.IVocabularyService
;
43 import eu
.etaxonomy
.cdm
.api
.service
.IWorkingSetService
;
44 import eu
.etaxonomy
.cdm
.model
.common
.CdmBase
;
45 import eu
.etaxonomy
.cdm
.persistence
.hibernate
.permission
.CdmPermissionEvaluator
;
52 public interface ICdmApplicationConfiguration
{
54 public TransactionStatus
startTransaction();
56 public TransactionStatus
startTransaction(Boolean readOnly
);
58 public void commitTransaction(TransactionStatus tx
);
60 public Object
getBean(String string
);
67 public INameService
getNameService();
72 public ITaxonService
getTaxonService();
77 public IClassificationService
getClassificationService();
83 public ITaxonNodeService
getTaxonNodeService();
88 public IReferenceService
getReferenceService();
93 public IAgentService
getAgentService();
98 public IDescriptionService
getDescriptionService();
103 public IOccurrenceService
getOccurrenceService();
108 public IMediaService
getMediaService();
113 public IDatabaseService
getDatabaseService();
118 public ITermService
getTermService();
123 public ICommonService
getCommonService();
129 public ILocationService
getLocationService();
135 public IUserService
getUserService();
142 public IGroupService
getGroupService();
148 public IGrantedAuthorityService
getGrantedAuthorityService();
153 public IService
<CdmBase
> getMainService();
159 public IWorkingSetService
getWorkingSetService();
164 public PlatformTransactionManager
getTransactionManager();
171 public ProviderManager
getAuthenticationManager();
176 public ConversationHolder
NewConversation();
182 public ICollectionService
getCollectionService();
188 public IFeatureTreeService
getFeatureTreeService();
194 public IFeatureNodeService
getFeatureNodeService();
200 public IVocabularyService
getVocabularyService();
205 public IIdentificationKeyService
getIdentificationKeyService();
210 public IPolytomousKeyService
getPolytomousKeyService();
215 public IPolytomousKeyNodeService
getPolytomousKeyNodeService();
218 * @return the configured PermissionEvaluator, usually the {@link CdmPermissionEvaluator}
220 public PermissionEvaluator
getPermissionEvaluator();
222 void authenticate(String username
, String password
);