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