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