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.service.dao.PublisherDAO;
7
import eu.dnetlib.goldoa.service.dao.UserDAO;
8
import org.apache.commons.codec.digest.DigestUtils;
9
import org.apache.commons.logging.Log;
10
import org.apache.commons.logging.LogFactory;
11
import org.springframework.beans.factory.annotation.Autowired;
12
import org.springframework.stereotype.Service;
13
import org.springframework.transaction.annotation.Transactional;
14

    
15
import java.math.BigInteger;
16
import java.util.List;
17

    
18

    
19
/**
20
 * Created by antleb on 3/11/15.
21
 */
22

    
23
@Transactional
24
@Service("publisherManager")
25
public class PublisherManagerImpl implements PublisherManager, Searchable {
26

    
27
	@Autowired
28
	private PublisherDAO publisherDAO;
29
	@Autowired
30
	private UserDAO userDAO;
31
	private Log logger = LogFactory.getLog(PublicationManagerImpl.class);
32
	@Override
33
	public List<Object> search(String term) {
34
		return publisherDAO.search(term);
35
	}
36

    
37
	@Override
38
	public Publisher getPublisher(String publisherId) {
39
		Publisher publisher = publisherDAO.getPublisher(publisherId);
40
		if(publisher == null)
41
			return null;
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
		if (publisher.getApcCurrency() == null)
54
			publisher.setApcCurrency((Currency.EUR));
55

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

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

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

    
67
	public BigInteger getBankAddress() {
68
		return publisherDAO.getBankAddress();
69
	}
70

    
71
	@Override
72
	public Publisher getPublisherByName(String name) {
73
		return publisherDAO.getPublisherByName(name);
74
	}
75

    
76
	@Override
77
	public Publisher generateId(Publisher publisher){
78
		publisher.setId("portal::" + DigestUtils.md5Hex(publisher.getName()));
79
		publisher.setSource("portal");
80
		return publisher;
81
	}
82

    
83
	@Override
84
	public BigInteger getBankId() {
85
		return publisherDAO.getBankId();
86
	}
87

    
88
}
89

    
(22-22/29)