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