Project

General

Profile

Download (14.6 KB) Statistics
| Branch: | Tag: | Revision:
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.IEntityValidationResultService;
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 IEntityValidationResultService getEntityValidationResultService() {
410
		return defaultApplicationConfiguration.getEntityValidationResultService();
411
	}
412
}
(2-2/10)