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)