Project

General

Profile

1

    
2
package eu.dnetlib.goldoa.service;
3

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

    
14
import java.util.List;
15

    
16

    
17
/**
18
 * Created by antleb on 3/11/15.
19
 */
20

    
21
@Transactional
22
@Service
23
public class PublisherManagerImpl implements PublisherManager, Searchable {
24

    
25
	@Autowired
26
	private PublisherDAO publisherDAO;
27
	@Autowired
28
	private UserDAO userDAO;
29

    
30
	@Override
31
	public List<Vocabulary> search(String term) {
32
		return publisherDAO.search(term);
33
	}
34

    
35
	@Override
36
	public Publisher getPublisher(String publisherId) {
37
		Publisher publisher = publisherDAO.getPublisher(publisherId);
38

    
39
		if (publisher.getContact() != null)
40
			publisher.setContact(userDAO.getUserById(publisher.getContact().getId()));
41

    
42
		return publisher;
43
	}
44

    
45
	@Override
46
	public Publisher savePublisher(Publisher publisher) {
47

    
48
		if (publisher.getId() == null) {
49
			publisher.setId("portal::" + DigestUtils.md5Hex(publisher.getName()));
50
			publisher.setSource("portal");
51

    
52
		}
53

    
54
		if (publisher.getCurrency() == null)
55
			publisher.setCurrency(Currency.EUR);
56

    
57
		return publisherDAO.savePublisher(publisher);
58
	}
59

    
60
	public PublisherDAO getPublisherDAO() {
61
		return publisherDAO;
62
	}
63

    
64
	public void setPublisherDAO(PublisherDAO publisherDAO) {
65
		this.publisherDAO = publisherDAO;
66
	}
67

    
68
}
69

    
(22-22/29)