Project

General

Profile

1
package eu.dnetlib.goldoa.service;
2

    
3
import eu.dnetlib.goldoa.domain.Currency;
4
import eu.dnetlib.goldoa.domain.Publisher;
5
import eu.dnetlib.goldoa.domain.Vocabulary;
6
import eu.dnetlib.goldoa.service.dao.PersonDAO;
7
import eu.dnetlib.goldoa.service.dao.PublisherDAO;
8
import org.apache.commons.codec.digest.DigestUtils;
9
import org.springframework.beans.factory.annotation.Autowired;
10
import org.springframework.transaction.annotation.Transactional;
11

    
12
import java.util.List;
13

    
14
/**
15
 * Created by antleb on 3/11/15.
16
 */
17
@Transactional
18
public class PublisherManagerImpl implements PublisherManager, Searchable {
19

    
20
	@Autowired
21
	private PublisherDAO publisherDAO;
22
	@Autowired
23
	private PersonDAO personDAO;
24

    
25
	@Override
26
	public List<Vocabulary> search(String term) {
27
		return publisherDAO.search(term);
28
	}
29

    
30
	@Override
31
	public Publisher getPublisher(String publisherId) {
32
		Publisher publisher = publisherDAO.getPublisher(publisherId);
33

    
34
		if (publisher.getContact() != null)
35
			publisher.setContact(personDAO.getPersonById(publisher.getContact().getId()));
36

    
37
		return publisher;
38
	}
39

    
40
	@Override
41
	public Publisher savePublisher(Publisher publisher) {
42

    
43
		if (publisher.getId() == null) {
44
			publisher.setId("portal::" + DigestUtils.md5Hex(publisher.getName()));
45
			publisher.setSource("portal");
46

    
47
		}
48

    
49
		if (publisher.getCurrency() == null)
50
			publisher.setCurrency(Currency.EUR);
51

    
52
		return publisherDAO.savePublisher(publisher);
53
	}
54

    
55
	public PublisherDAO getPublisherDAO() {
56
		return publisherDAO;
57
	}
58

    
59
	public void setPublisherDAO(PublisherDAO publisherDAO) {
60
		this.publisherDAO = publisherDAO;
61
	}
62

    
63
}
(24-24/29)