Revision 36081
Added by Antonis Lempesis about 9 years ago
OrganizationManagerImpl.java | ||
---|---|---|
6 | 6 |
import eu.dnetlib.goldoa.domain.Vocabulary; |
7 | 7 |
import eu.dnetlib.goldoa.service.dao.BudgetDAO; |
8 | 8 |
import eu.dnetlib.goldoa.service.dao.OrganizationDAO; |
9 |
import org.apache.commons.codec.digest.DigestUtils; |
|
9 | 10 |
import org.springframework.beans.factory.annotation.Autowired; |
10 | 11 |
import org.springframework.dao.EmptyResultDataAccessException; |
11 | 12 |
import org.springframework.jdbc.core.BatchPreparedStatementSetter; |
... | ... | |
79 | 80 |
@Override |
80 | 81 |
public String saveOrganization(final Organization organization) throws OrganizationManagerException { |
81 | 82 |
|
82 |
if (organization.getId() == null) |
|
83 |
organization.setId(UUID.randomUUID().toString()); |
|
83 |
if (organization.getId() == null) { |
|
84 |
organization.setId("portal::" + DigestUtils.md5Hex(organization.getName())); |
|
85 |
organization.setSource("portal"); |
|
86 |
} |
|
84 | 87 |
|
85 |
try { |
|
86 |
organizationDAO.getOrganization(organization.getId()); |
|
87 |
throw new OrganizationManagerException(OrganizationManagerException.ErrorCause.ALREADY_EXISTS); |
|
88 |
} catch (OrganizationManagerException e) { |
|
89 |
if (e.getErrorCause() == OrganizationManagerException.ErrorCause.ALREADY_EXISTS) |
|
90 |
throw e; |
|
91 |
} |
|
88 |
organizationDAO.saveOrganization(organization); |
|
89 |
organizationDAO.deleteOrganizationBudgets(organization); |
|
90 |
organizationDAO.insertOrganizationBudgets(organization); |
|
92 | 91 |
|
93 |
organizationDAO.insertOrganization(organization); |
|
94 |
organizationDAO.insertOrganizationBudget(organization); |
|
95 |
|
|
96 | 92 |
return organization.getId(); |
97 | 93 |
} |
98 |
|
|
99 |
public OrganizationDAO getOrganizationDAO() { |
|
100 |
return organizationDAO; |
|
101 |
} |
|
102 |
|
|
103 |
public void setOrganizationDAO(OrganizationDAO organizationDAO) { |
|
104 |
this.organizationDAO = organizationDAO; |
|
105 |
} |
|
106 | 94 |
} |
Also available in: Unified diff
changed organizationDAO save to updateorsave