Project

General

Profile

Download (2.18 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
 * Copyright (C) 2007 EDIT
3
 * European Distributed Institute of Taxonomy
4
 * http://www.e-taxonomy.eu
5
 *
6
 * The contents of this file are subject to the Mozilla Public License Version 1.1
7
 * See LICENSE.TXT at the top of this package for the full license terms.
8
 */
9
package eu.etaxonomy.cdm.api.service;
10

    
11
import java.util.ArrayList;
12
import java.util.List;
13
import java.util.UUID;
14

    
15
import org.joda.time.DateTime;
16
import org.springframework.beans.factory.annotation.Autowired;
17
import org.springframework.stereotype.Service;
18
import org.springframework.transaction.annotation.Transactional;
19

    
20
import eu.etaxonomy.cdm.api.service.pager.Pager;
21
import eu.etaxonomy.cdm.api.service.pager.impl.DefaultPagerImpl;
22
import eu.etaxonomy.cdm.model.view.AuditEvent;
23
import eu.etaxonomy.cdm.persistence.dao.common.AuditEventSort;
24
import eu.etaxonomy.cdm.persistence.view.IAuditEventDao;
25

    
26
@Service
27
@Transactional(readOnly = true)
28
public class AuditEventService implements IAuditEventService {
29

    
30
	IAuditEventDao dao;
31

    
32
	@Autowired
33
	public void setDao(IAuditEventDao dao) {
34
		this.dao = dao;
35
	}
36

    
37
	@Override
38
    public boolean exists(UUID uuid) {
39
		return dao.exists(uuid);
40
	}
41

    
42
	@Override
43
    public AuditEvent find(Integer id) {
44
		return dao.findById(id);
45
	}
46

    
47
	@Override
48
    public AuditEvent find(UUID uuid) {
49
		return dao.findByUuid(uuid);
50
	}
51

    
52
	@Override
53
    public AuditEvent getNextAuditEvent(AuditEvent auditEvent) {
54
		return dao.getNextAuditEvent(auditEvent);
55
	}
56

    
57
	@Override
58
    public AuditEvent getPreviousAuditEvent(AuditEvent auditEvent) {
59
		return dao.getPreviousAuditEvent(auditEvent);
60
	}
61

    
62
	@Override
63
    public Pager<AuditEvent> list(Integer pageNumber, Integer pageSize,	AuditEventSort sort) {
64
		long numberOfResults = dao.count();
65

    
66
		List<AuditEvent> results = new ArrayList<>();
67
		if(numberOfResults > 0) { // no point checking again //TODO use AbstractPagerImpl.hasResultsInRange(numberOfResults, pageNumber, pageSize)
68
			results = dao.list(pageNumber, pageSize, sort);
69
		}
70

    
71
		return new DefaultPagerImpl<>(pageNumber, numberOfResults, pageSize, results);
72
	}
73

    
74
	@Override
75
    public AuditEvent find(DateTime dateTime) {
76
		return dao.findByDate(dateTime);
77
	}
78
}
(6-6/103)