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