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