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