Project

General

Profile

1

    
2
package eu.dnetlib.goldoa.service;
3

    
4
import eu.dnetlib.goldoa.domain.Organization;
5
import eu.dnetlib.goldoa.domain.OrganizationManagerException;
6
import eu.dnetlib.goldoa.service.dao.OrganizationDAO;
7
import org.apache.commons.codec.digest.DigestUtils;
8
import org.springframework.beans.factory.annotation.Autowired;
9
import org.springframework.dao.EmptyResultDataAccessException;
10
import org.springframework.stereotype.Service;
11
import org.springframework.transaction.annotation.Transactional;
12

    
13
import java.util.List;
14

    
15
//import eu.dnetlib.goldoa.service.dao.BudgetDAO;
16

    
17

    
18
/**
19
 * Created by antleb on 3/3/15.
20
 */
21
@Service("organizationManager")
22
@Transactional
23
public class OrganizationManagerImpl implements OrganizationManager {
24

    
25
	@Autowired
26
	private OrganizationDAO organizationDAO;
27

    
28
	/*@Autowired
29
	BudgetDAO budgetDAO;*/
30

    
31
	@Override
32
	public List<Object> search(String term) {
33
		return organizationDAO.search(term);
34
	}
35

    
36
	@Override
37
	public Organization getById(String organizationId) throws OrganizationManagerException {
38
		try {
39
			return organizationDAO.getOrganization(organizationId);
40
		} catch (EmptyResultDataAccessException e) {
41
			throw new OrganizationManagerException(OrganizationManagerException.ErrorCause.NOT_EXISTS);
42
		}
43
	}
44

    
45
	@Override
46
	public List<Organization> getAffiliatedWithUser(String userId) {
47
		return organizationDAO.getAffiliatedWithUser(userId);
48
	}
49

    
50
	@Override
51
	public String saveOrganization(final Organization organization) throws OrganizationManagerException {
52
		if (organization.getId() == null) {
53
			organization.setId("portal::" + DigestUtils.md5Hex(organization.getName()));
54
			organization.setSource("portal");
55
		}
56
		organizationDAO.saveOrganization(organization);
57
		/*
58
		organizationDAO.deleteOrganizationBudgets(organization);
59
		organizationDAO.insertOrganizationBudgets(organization);
60
        */
61
		return organization.getId();
62
	}
63
}
64

    
(16-16/29)