3 * Copyright (C) 2013 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.
10 package eu
.etaxonomy
.taxeditor
.editor
.view
.dataimport
.transientServices
;
12 import java
.util
.Collection
;
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
.application
.ICdmApplicationConfiguration
;
19 import eu
.etaxonomy
.cdm
.api
.conversation
.ConversationHolder
;
20 import eu
.etaxonomy
.cdm
.api
.service
.IAgentService
;
21 import eu
.etaxonomy
.cdm
.api
.service
.IAnnotationService
;
22 import eu
.etaxonomy
.cdm
.api
.service
.IClassificationService
;
23 import eu
.etaxonomy
.cdm
.api
.service
.ICollectionService
;
24 import eu
.etaxonomy
.cdm
.api
.service
.ICommonService
;
25 import eu
.etaxonomy
.cdm
.api
.service
.IDatabaseService
;
26 import eu
.etaxonomy
.cdm
.api
.service
.IDescriptionService
;
27 import eu
.etaxonomy
.cdm
.api
.service
.IEntityConstraintViolationService
;
28 import eu
.etaxonomy
.cdm
.api
.service
.IEntityValidationService
;
29 import eu
.etaxonomy
.cdm
.api
.service
.IEventBaseService
;
30 import eu
.etaxonomy
.cdm
.api
.service
.IFeatureNodeService
;
31 import eu
.etaxonomy
.cdm
.api
.service
.IFeatureTreeService
;
32 import eu
.etaxonomy
.cdm
.api
.service
.IGrantedAuthorityService
;
33 import eu
.etaxonomy
.cdm
.api
.service
.IGroupService
;
34 import eu
.etaxonomy
.cdm
.api
.service
.IIdentificationKeyService
;
35 import eu
.etaxonomy
.cdm
.api
.service
.ILocationService
;
36 import eu
.etaxonomy
.cdm
.api
.service
.IMediaService
;
37 import eu
.etaxonomy
.cdm
.api
.service
.IMetadataService
;
38 import eu
.etaxonomy
.cdm
.api
.service
.INameService
;
39 import eu
.etaxonomy
.cdm
.api
.service
.IOccurrenceService
;
40 import eu
.etaxonomy
.cdm
.api
.service
.IPolytomousKeyNodeService
;
41 import eu
.etaxonomy
.cdm
.api
.service
.IPolytomousKeyService
;
42 import eu
.etaxonomy
.cdm
.api
.service
.IProgressMonitorService
;
43 import eu
.etaxonomy
.cdm
.api
.service
.IReferenceService
;
44 import eu
.etaxonomy
.cdm
.api
.service
.IService
;
45 import eu
.etaxonomy
.cdm
.api
.service
.ITaxonNodeService
;
46 import eu
.etaxonomy
.cdm
.api
.service
.ITaxonService
;
47 import eu
.etaxonomy
.cdm
.api
.service
.ITermService
;
48 import eu
.etaxonomy
.cdm
.api
.service
.IUserService
;
49 import eu
.etaxonomy
.cdm
.api
.service
.IVocabularyService
;
50 import eu
.etaxonomy
.cdm
.api
.service
.IWorkingSetService
;
51 import eu
.etaxonomy
.cdm
.api
.service
.molecular
.IAmplificationService
;
52 import eu
.etaxonomy
.cdm
.api
.service
.molecular
.IPrimerService
;
53 import eu
.etaxonomy
.cdm
.api
.service
.molecular
.ISequenceService
;
54 import eu
.etaxonomy
.cdm
.model
.common
.CdmBase
;
55 import eu
.etaxonomy
.cdm
.model
.occurrence
.SpecimenOrObservationBase
;
56 import eu
.etaxonomy
.cdm
.persistence
.hibernate
.permission
.ICdmPermissionEvaluator
;
63 public class TransientCdmRepository
implements ICdmApplicationConfiguration
{
65 private final ICdmApplicationConfiguration defaultApplicationConfiguration
;
66 private TransientOccurenceService occurenceService
;
68 public Collection
<SpecimenOrObservationBase
<?
>> getUnits(){
69 return occurenceService
.getUnits();
73 * @param defaultApplicationConfiguration
75 public TransientCdmRepository(ICdmApplicationConfiguration defaultApplicationConfiguration
) {
76 this.defaultApplicationConfiguration
= defaultApplicationConfiguration
;
77 this.occurenceService
= (TransientOccurenceService
) getOccurrenceService();
82 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#NewConversation()
85 public ConversationHolder
NewConversation() {
86 return defaultApplicationConfiguration
.NewConversation();
92 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#authenticate(java.lang.String, java.lang.String)
95 public void authenticate(String arg0
, String arg1
) {
96 defaultApplicationConfiguration
.authenticate(arg0
, arg1
);
101 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#commitTransaction(org.springframework.transaction.TransactionStatus)
104 public void commitTransaction(TransactionStatus arg0
) {
105 defaultApplicationConfiguration
.commitTransaction(arg0
);
110 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getAgentService()
113 public IAgentService
getAgentService() {
114 return new TransientAgentService(defaultApplicationConfiguration
.getAgentService());
119 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getAuthenticationManager()
122 public ProviderManager
getAuthenticationManager() {
123 return defaultApplicationConfiguration
.getAuthenticationManager();
129 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getBean(java.lang.String)
132 public Object
getBean(String arg0
) {
133 return defaultApplicationConfiguration
.getBean(arg0
);
138 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getClassificationService()
141 public IClassificationService
getClassificationService() {
142 return new TransientClassificationService(defaultApplicationConfiguration
.getClassificationService());
147 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getCollectionService()
150 public ICollectionService
getCollectionService() {
151 return new TransientCollectionService(defaultApplicationConfiguration
.getCollectionService());
156 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getCommonService()
159 public ICommonService
getCommonService() {
160 return defaultApplicationConfiguration
.getCommonService();
161 // return new TransientCommonService(defaultApplicationConfiguration.getCommonService());
166 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getDatabaseService()
169 public IDatabaseService
getDatabaseService() {
170 return defaultApplicationConfiguration
.getDatabaseService();
171 // return new TransientDatabaseService(defaultApplicationConfiguration.getDatabaseService());
176 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getDescriptionService()
179 public IDescriptionService
getDescriptionService() {
180 return new TransientDescriptionService(defaultApplicationConfiguration
.getDescriptionService());
185 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getFeatureNodeService()
188 public IFeatureNodeService
getFeatureNodeService() {
189 return defaultApplicationConfiguration
.getFeatureNodeService();
190 // return new TransientFeatureNodeService(defaultApplicationConfiguration.getFeatureNodeService());
195 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getFeatureTreeService()
198 public IFeatureTreeService
getFeatureTreeService() {
199 return defaultApplicationConfiguration
.getFeatureTreeService();
200 // return new TransientFeatureTreeService(defaultApplicationConfiguration.getFeatureTreeService());
205 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getGrantedAuthorityService()
208 public IGrantedAuthorityService
getGrantedAuthorityService() {
209 return defaultApplicationConfiguration
.getGrantedAuthorityService();
210 // return new TransientGrantedAuthorityService(defaultApplicationConfiguration.getGrantedAuthorityService());
215 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getGroupService()
218 public IGroupService
getGroupService() {
219 return defaultApplicationConfiguration
.getGroupService();
220 // return new TransientGroupService(defaultApplicationConfiguration.getGroupService());
225 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getIdentificationKeyService()
228 public IIdentificationKeyService
getIdentificationKeyService() {
229 return defaultApplicationConfiguration
.getIdentificationKeyService();
230 // return new TransientIdentificationService(defaultApplicationConfiguration.getIdentificationKeyService());
235 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getLocationService()
238 public ILocationService
getLocationService() {
239 return defaultApplicationConfiguration
.getLocationService();
240 // return new TransientLocationService(defaultApplicationConfiguration.getLocationService());
245 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getMainService()
248 public IService
<CdmBase
> getMainService() {
249 return defaultApplicationConfiguration
.getMainService();
250 // return new TransientMainService(defaultApplicationConfiguration.getMainService());
255 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getMediaService()
258 public IMediaService
getMediaService() {
259 return defaultApplicationConfiguration
.getMediaService();
260 // return new TransientMediaService(defaultApplicationConfiguration.getMediaService());
265 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getNameService()
268 public INameService
getNameService() {
269 return new TransientNameService(defaultApplicationConfiguration
.getNameService());
274 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getOccurrenceService()
277 public IOccurrenceService
getOccurrenceService() {
278 if(occurenceService
==null){
279 occurenceService
= new TransientOccurenceService(defaultApplicationConfiguration
.getOccurrenceService());
281 return occurenceService
;
286 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getPermissionEvaluator()
289 public ICdmPermissionEvaluator
getPermissionEvaluator() {
290 return defaultApplicationConfiguration
.getPermissionEvaluator();
295 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getPolytomousKeyNodeService()
298 public IPolytomousKeyNodeService
getPolytomousKeyNodeService() {
299 return defaultApplicationConfiguration
.getPolytomousKeyNodeService();
300 // return new TransientPolytomousKeyNodeService(defaultApplicationConfiguration.getPolytomousKeyNodeService());
305 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getPolytomousKeyService()
308 public IPolytomousKeyService
getPolytomousKeyService() {
309 return defaultApplicationConfiguration
.getPolytomousKeyService();
310 // return new TransientPolytomousKeyService(defaultApplicationConfiguration.getPolytomousKeyService());
315 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getReferenceService()
318 public IReferenceService
getReferenceService() {
319 return new TransientReferenceService(defaultApplicationConfiguration
.getReferenceService());
324 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getTaxonNodeService()
327 public ITaxonNodeService
getTaxonNodeService() {
328 return defaultApplicationConfiguration
.getTaxonNodeService();
329 // return new TransientTaxonNodeService(defaultApplicationConfiguration.getTaxonNodeService());
334 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getTaxonService()
337 public ITaxonService
getTaxonService() {
338 return new TransientTaxonService(defaultApplicationConfiguration
.getTaxonService());
343 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getTermService()
346 public ITermService
getTermService() {
347 return new TransientTermService(defaultApplicationConfiguration
.getTermService());
352 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getTransactionManager()
355 public PlatformTransactionManager
getTransactionManager() {
356 return defaultApplicationConfiguration
.getTransactionManager();
360 public IUserService
getUserService() {
361 return defaultApplicationConfiguration
.getUserService();
362 // return new TransientUserService(defaultApplicationConfiguration.getUserService());
367 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getVocabularyService()
370 public IVocabularyService
getVocabularyService() {
371 return defaultApplicationConfiguration
.getVocabularyService();
372 // return new TransientVocabularyService(defaultApplicationConfiguration.getVocabularyService());
376 public IWorkingSetService
getWorkingSetService() {
377 return defaultApplicationConfiguration
.getWorkingSetService();
378 // return new TransientWorkingSetService(defaultApplicationConfiguration.getWorkingSetService());
382 public TransactionStatus
startTransaction() {
383 return defaultApplicationConfiguration
.startTransaction();
388 public TransactionStatus
startTransaction(Boolean arg0
) {
389 return defaultApplicationConfiguration
.startTransaction(arg0
);
393 public IPrimerService
getPrimerService() {
394 return defaultApplicationConfiguration
.getPrimerService();
398 public IAmplificationService
getAmplificationService() {
399 return defaultApplicationConfiguration
.getAmplificationService();
403 public ISequenceService
getSequenceService() {
404 return defaultApplicationConfiguration
.getSequenceService();
408 public IEventBaseService
getEventBaseService() {
409 return defaultApplicationConfiguration
.getEventBaseService();
413 public IEntityConstraintViolationService
getEntityConstraintViolationService() {
414 return defaultApplicationConfiguration
.getEntityConstraintViolationService();
418 public IEntityValidationService
getEntityValidationService() {
419 return defaultApplicationConfiguration
.getEntityValidationService();
423 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getAnnotationService()
426 public IAnnotationService
getAnnotationService() {
427 return defaultApplicationConfiguration
.getAnnotationService();
434 public IProgressMonitorService
getProgressMonitorService() {
435 return defaultApplicationConfiguration
.getProgressMonitorService();
442 public IMetadataService
getMetadataService() {
443 return defaultApplicationConfiguration
.getMetadataService();