Project

General

Profile

Download (2.11 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
	public boolean exists(UUID uuid) {
38
		return dao.exists(uuid);
39
	}
40

    
41
	public AuditEvent find(Integer id) {
42
		return dao.findById(id);
43
	}
44

    
45
	public AuditEvent find(UUID uuid) {
46
		return dao.findByUuid(uuid);
47
	}
48

    
49
	public AuditEvent getNextAuditEvent(AuditEvent auditEvent) {
50
		return dao.getNextAuditEvent(auditEvent);
51
	}
52

    
53
	public AuditEvent getPreviousAuditEvent(AuditEvent auditEvent) {
54
		return dao.getPreviousAuditEvent(auditEvent);
55
	}
56

    
57
	public Pager<AuditEvent> list(Integer pageNumber, Integer pageSize,	AuditEventSort sort) {
58
		 Integer numberOfResults = dao.count();
59
			
60
		List<AuditEvent> results = new ArrayList<AuditEvent>();
61
		if(numberOfResults > 0) { // no point checking again //TODO use AbstractPagerImpl.hasResultsInRange(numberOfResults, pageNumber, pageSize)
62
			results = dao.list(pageNumber, pageSize, sort); 
63
		}
64
			
65
		return new DefaultPagerImpl<AuditEvent>(pageNumber, numberOfResults, pageSize, results);
66
	}
67

    
68
	public AuditEvent find(DateTime dateTime) {
69
		return dao.findByDate(dateTime);
70
	}
71
}
(6-6/105)