Add IEventBaseService to application controller #5403
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / view / dataimport / transientServices / TransientCdmRepository.java
1 // $Id$
2 /**
3 * Copyright (C) 2013 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 package eu.etaxonomy.taxeditor.editor.view.dataimport.transientServices;
11
12 import java.util.Collection;
13
14 import org.springframework.security.authentication.ProviderManager;
15 import org.springframework.transaction.PlatformTransactionManager;
16 import org.springframework.transaction.TransactionStatus;
17
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;
57
58 /**
59 * @author pplitzner
60 * @date 26.09.2013
61 *
62 */
63 public class TransientCdmRepository implements ICdmApplicationConfiguration {
64
65 private final ICdmApplicationConfiguration defaultApplicationConfiguration;
66 private TransientOccurenceService occurenceService;
67
68 public Collection<SpecimenOrObservationBase<?>> getUnits(){
69 return occurenceService.getUnits();
70 }
71
72 /**
73 * @param defaultApplicationConfiguration
74 */
75 public TransientCdmRepository(ICdmApplicationConfiguration defaultApplicationConfiguration) {
76 this.defaultApplicationConfiguration = defaultApplicationConfiguration;
77 this.occurenceService = (TransientOccurenceService) getOccurrenceService();
78 }
79
80 /**
81 * @return
82 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#NewConversation()
83 */
84 @Override
85 public ConversationHolder NewConversation() {
86 return defaultApplicationConfiguration.NewConversation();
87 }
88
89 /**
90 * @param arg0
91 * @param arg1
92 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#authenticate(java.lang.String, java.lang.String)
93 */
94 @Override
95 public void authenticate(String arg0, String arg1) {
96 defaultApplicationConfiguration.authenticate(arg0, arg1);
97 }
98
99 /**
100 * @param arg0
101 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#commitTransaction(org.springframework.transaction.TransactionStatus)
102 */
103 @Override
104 public void commitTransaction(TransactionStatus arg0) {
105 defaultApplicationConfiguration.commitTransaction(arg0);
106 }
107
108 /**
109 * @return
110 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getAgentService()
111 */
112 @Override
113 public IAgentService getAgentService() {
114 return new TransientAgentService(defaultApplicationConfiguration.getAgentService());
115 }
116
117 /**
118 * @return
119 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getAuthenticationManager()
120 */
121 @Override
122 public ProviderManager getAuthenticationManager() {
123 return defaultApplicationConfiguration.getAuthenticationManager();
124 }
125
126 /**
127 * @param arg0
128 * @return
129 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getBean(java.lang.String)
130 */
131 @Override
132 public Object getBean(String arg0) {
133 return defaultApplicationConfiguration.getBean(arg0);
134 }
135
136 /**
137 * @return
138 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getClassificationService()
139 */
140 @Override
141 public IClassificationService getClassificationService() {
142 return new TransientClassificationService(defaultApplicationConfiguration.getClassificationService());
143 }
144
145 /**
146 * @return
147 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getCollectionService()
148 */
149 @Override
150 public ICollectionService getCollectionService() {
151 return new TransientCollectionService(defaultApplicationConfiguration.getCollectionService());
152 }
153
154 /**
155 * @return
156 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getCommonService()
157 */
158 @Override
159 public ICommonService getCommonService() {
160 return defaultApplicationConfiguration.getCommonService();
161 // return new TransientCommonService(defaultApplicationConfiguration.getCommonService());
162 }
163
164 /**
165 * @return
166 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getDatabaseService()
167 */
168 @Override
169 public IDatabaseService getDatabaseService() {
170 return defaultApplicationConfiguration.getDatabaseService();
171 // return new TransientDatabaseService(defaultApplicationConfiguration.getDatabaseService());
172 }
173
174 /**
175 * @return
176 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getDescriptionService()
177 */
178 @Override
179 public IDescriptionService getDescriptionService() {
180 return new TransientDescriptionService(defaultApplicationConfiguration.getDescriptionService());
181 }
182
183 /**
184 * @return
185 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getFeatureNodeService()
186 */
187 @Override
188 public IFeatureNodeService getFeatureNodeService() {
189 return defaultApplicationConfiguration.getFeatureNodeService();
190 // return new TransientFeatureNodeService(defaultApplicationConfiguration.getFeatureNodeService());
191 }
192
193 /**
194 * @return
195 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getFeatureTreeService()
196 */
197 @Override
198 public IFeatureTreeService getFeatureTreeService() {
199 return defaultApplicationConfiguration.getFeatureTreeService();
200 // return new TransientFeatureTreeService(defaultApplicationConfiguration.getFeatureTreeService());
201 }
202
203 /**
204 * @return
205 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getGrantedAuthorityService()
206 */
207 @Override
208 public IGrantedAuthorityService getGrantedAuthorityService() {
209 return defaultApplicationConfiguration.getGrantedAuthorityService();
210 // return new TransientGrantedAuthorityService(defaultApplicationConfiguration.getGrantedAuthorityService());
211 }
212
213 /**
214 * @return
215 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getGroupService()
216 */
217 @Override
218 public IGroupService getGroupService() {
219 return defaultApplicationConfiguration.getGroupService();
220 // return new TransientGroupService(defaultApplicationConfiguration.getGroupService());
221 }
222
223 /**
224 * @return
225 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getIdentificationKeyService()
226 */
227 @Override
228 public IIdentificationKeyService getIdentificationKeyService() {
229 return defaultApplicationConfiguration.getIdentificationKeyService();
230 // return new TransientIdentificationService(defaultApplicationConfiguration.getIdentificationKeyService());
231 }
232
233 /**
234 * @return
235 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getLocationService()
236 */
237 @Override
238 public ILocationService getLocationService() {
239 return defaultApplicationConfiguration.getLocationService();
240 // return new TransientLocationService(defaultApplicationConfiguration.getLocationService());
241 }
242
243 /**
244 * @return
245 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getMainService()
246 */
247 @Override
248 public IService<CdmBase> getMainService() {
249 return defaultApplicationConfiguration.getMainService();
250 // return new TransientMainService(defaultApplicationConfiguration.getMainService());
251 }
252
253 /**
254 * @return
255 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getMediaService()
256 */
257 @Override
258 public IMediaService getMediaService() {
259 return defaultApplicationConfiguration.getMediaService();
260 // return new TransientMediaService(defaultApplicationConfiguration.getMediaService());
261 }
262
263 /**
264 * @return
265 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getNameService()
266 */
267 @Override
268 public INameService getNameService() {
269 return new TransientNameService(defaultApplicationConfiguration.getNameService());
270 }
271
272 /**
273 * @return
274 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getOccurrenceService()
275 */
276 @Override
277 public IOccurrenceService getOccurrenceService() {
278 if(occurenceService==null){
279 occurenceService = new TransientOccurenceService(defaultApplicationConfiguration.getOccurrenceService());
280 }
281 return occurenceService;
282 }
283
284 /**
285 * @return
286 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getPermissionEvaluator()
287 */
288 @Override
289 public ICdmPermissionEvaluator getPermissionEvaluator() {
290 return defaultApplicationConfiguration.getPermissionEvaluator();
291 }
292
293 /**
294 * @return
295 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getPolytomousKeyNodeService()
296 */
297 @Override
298 public IPolytomousKeyNodeService getPolytomousKeyNodeService() {
299 return defaultApplicationConfiguration.getPolytomousKeyNodeService();
300 // return new TransientPolytomousKeyNodeService(defaultApplicationConfiguration.getPolytomousKeyNodeService());
301 }
302
303 /**
304 * @return
305 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getPolytomousKeyService()
306 */
307 @Override
308 public IPolytomousKeyService getPolytomousKeyService() {
309 return defaultApplicationConfiguration.getPolytomousKeyService();
310 // return new TransientPolytomousKeyService(defaultApplicationConfiguration.getPolytomousKeyService());
311 }
312
313 /**
314 * @return
315 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getReferenceService()
316 */
317 @Override
318 public IReferenceService getReferenceService() {
319 return new TransientReferenceService(defaultApplicationConfiguration.getReferenceService());
320 }
321
322 /**
323 * @return
324 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getTaxonNodeService()
325 */
326 @Override
327 public ITaxonNodeService getTaxonNodeService() {
328 return defaultApplicationConfiguration.getTaxonNodeService();
329 // return new TransientTaxonNodeService(defaultApplicationConfiguration.getTaxonNodeService());
330 }
331
332 /**
333 * @return
334 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getTaxonService()
335 */
336 @Override
337 public ITaxonService getTaxonService() {
338 return new TransientTaxonService(defaultApplicationConfiguration.getTaxonService());
339 }
340
341 /**
342 * @return
343 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getTermService()
344 */
345 @Override
346 public ITermService getTermService() {
347 return new TransientTermService(defaultApplicationConfiguration.getTermService());
348 }
349
350 /**
351 * @return
352 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getTransactionManager()
353 */
354 @Override
355 public PlatformTransactionManager getTransactionManager() {
356 return defaultApplicationConfiguration.getTransactionManager();
357 }
358
359 @Override
360 public IUserService getUserService() {
361 return defaultApplicationConfiguration.getUserService();
362 // return new TransientUserService(defaultApplicationConfiguration.getUserService());
363 }
364
365 /**
366 * @return
367 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getVocabularyService()
368 */
369 @Override
370 public IVocabularyService getVocabularyService() {
371 return defaultApplicationConfiguration.getVocabularyService();
372 // return new TransientVocabularyService(defaultApplicationConfiguration.getVocabularyService());
373 }
374
375 @Override
376 public IWorkingSetService getWorkingSetService() {
377 return defaultApplicationConfiguration.getWorkingSetService();
378 // return new TransientWorkingSetService(defaultApplicationConfiguration.getWorkingSetService());
379 }
380
381 @Override
382 public TransactionStatus startTransaction() {
383 return defaultApplicationConfiguration.startTransaction();
384 }
385
386
387 @Override
388 public TransactionStatus startTransaction(Boolean arg0) {
389 return defaultApplicationConfiguration.startTransaction(arg0);
390 }
391
392 @Override
393 public IPrimerService getPrimerService() {
394 return defaultApplicationConfiguration.getPrimerService();
395 }
396
397 @Override
398 public IAmplificationService getAmplificationService() {
399 return defaultApplicationConfiguration.getAmplificationService();
400 }
401
402 @Override
403 public ISequenceService getSequenceService() {
404 return defaultApplicationConfiguration.getSequenceService();
405 }
406
407 @Override
408 public IEventBaseService getEventBaseService() {
409 return defaultApplicationConfiguration.getEventBaseService();
410 }
411
412 @Override
413 public IEntityConstraintViolationService getEntityConstraintViolationService() {
414 return defaultApplicationConfiguration.getEntityConstraintViolationService();
415 }
416
417 @Override
418 public IEntityValidationService getEntityValidationService() {
419 return defaultApplicationConfiguration.getEntityValidationService();
420 }
421
422 /* (non-Javadoc)
423 * @see eu.etaxonomy.cdm.api.application.ICdmApplicationConfiguration#getAnnotationService()
424 */
425 @Override
426 public IAnnotationService getAnnotationService() {
427 return defaultApplicationConfiguration.getAnnotationService();
428 }
429
430 /**
431 * {@inheritDoc}
432 */
433 @Override
434 public IProgressMonitorService getProgressMonitorService() {
435 return defaultApplicationConfiguration.getProgressMonitorService();
436 }
437
438 /**
439 * {@inheritDoc}
440 */
441 @Override
442 public IMetadataService getMetadataService() {
443 return defaultApplicationConfiguration.getMetadataService();
444 }
445 }