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