Project

General

Profile

1
package eu.dnetlib.goldoa.service;
2

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

    
11
import java.util.List;
12

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

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

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

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

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

    
36
        return publisher;
37
    }
38

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

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

    
46
        }
47
        return publisherDAO.savePublisher(publisher);
48
    }
49

    
50
    public PublisherDAO getPublisherDAO() {
51
        return publisherDAO;
52
    }
53

    
54
    public void setPublisherDAO(PublisherDAO publisherDAO) {
55
        this.publisherDAO = publisherDAO;
56
    }
57

    
58
}
(19-19/24)