use of org.orcid.persistence.jpa.entities.EmailEntity in project ORCID-Source by ORCID.
the class ProfileEntityManagerImpl method deactivateRecord.
@Override
@Transactional
public boolean deactivateRecord(String orcid) {
//Clear the record
ProfileEntity toClear = profileDao.find(orcid);
toClear.setLastModified(new Date());
toClear.setDeactivationDate(new Date());
toClear.setActivitiesVisibilityDefault(Visibility.PRIVATE);
toClear.setIndexingStatus(IndexingStatus.REINDEX);
// Remove works
workManager.removeAllWorks(orcid);
// Remove funding
if (toClear.getProfileFunding() != null) {
toClear.getProfileFunding().clear();
}
// Remove affiliations
if (toClear.getOrgAffiliationRelations() != null) {
toClear.getOrgAffiliationRelations().clear();
}
// Remove external identifiers
if (toClear.getExternalIdentifiers() != null) {
toClear.getExternalIdentifiers().clear();
}
// Remove researcher urls
if (toClear.getResearcherUrls() != null) {
toClear.getResearcherUrls().clear();
}
// Remove other names
if (toClear.getOtherNames() != null) {
toClear.getOtherNames().clear();
}
// Remove keywords
if (toClear.getKeywords() != null) {
toClear.getKeywords().clear();
}
// Remove address
if (toClear.getAddresses() != null) {
toClear.getAddresses().clear();
}
BiographyEntity bioEntity = toClear.getBiographyEntity();
if (bioEntity != null) {
bioEntity.setBiography("");
bioEntity.setVisibility(Visibility.PRIVATE);
}
//Set the deactivated names
RecordNameEntity recordName = toClear.getRecordNameEntity();
if (recordName != null) {
recordName.setCreditName(null);
recordName.setGivenNames("Given Names Deactivated");
recordName.setFamilyName("Family Name Deactivated");
recordName.setVisibility(org.orcid.jaxb.model.common_v2.Visibility.PUBLIC);
}
Set<EmailEntity> emails = toClear.getEmails();
if (emails != null) {
// For each email in the deprecated profile
for (EmailEntity email : emails) {
email.setVisibility(org.orcid.jaxb.model.common_v2.Visibility.PRIVATE);
}
}
profileDao.merge(toClear);
profileDao.flush();
//Delete all connections
userConnectionDao.deleteByOrcid(orcid);
notificationManager.sendAmendEmail(orcid, AmendedSection.UNKNOWN, null);
return true;
}
use of org.orcid.persistence.jpa.entities.EmailEntity in project ORCID-Source by ORCID.
the class JpaJaxbEmailAdapterTest method getEmailEntity.
private EmailEntity getEmailEntity() {
EmailEntity result = new EmailEntity();
result.setId("email@test.orcid.org");
result.setCurrent(true);
result.setPrimary(true);
result.setProfile(new ProfileEntity("0000-0000-0000-0000"));
result.setVerified(true);
result.setDateCreated(new Date());
result.setLastModified(new Date());
result.setVisibility(org.orcid.jaxb.model.common_v2.Visibility.PRIVATE);
result.setClientSourceId("APP-000000001");
return result;
}
use of org.orcid.persistence.jpa.entities.EmailEntity in project ORCID-Source by ORCID.
the class EmailDaoTest method testFindPrimaryEmail.
@Test
public void testFindPrimaryEmail() {
EmailEntity email = emailDao.findPrimaryEmail("0000-0000-0000-0003");
assertNotNull(email);
assertEquals("public_0000-0000-0000-0003@test.orcid.org", email.getId());
email = emailDao.findPrimaryEmail("0000-0000-0000-0004");
assertNotNull(email);
assertEquals("private_0000-0000-0000-0004@test.orcid.org", email.getId());
}
use of org.orcid.persistence.jpa.entities.EmailEntity in project ORCID-Source by ORCID.
the class EmailDaoTest method testVerify.
@Test
public void testVerify() {
EmailEntity email = emailDao.find("teddybass2@semantico.com");
assertNotNull(email);
assertFalse(email.getVerified());
emailDao.verifyEmail("teddybass2@semantico.com");
email = emailDao.find("teddybass2@semantico.com");
assertNotNull(email);
assertTrue(email.getVerified());
}
use of org.orcid.persistence.jpa.entities.EmailEntity in project ORCID-Source by ORCID.
the class ManageConsortiumController method addContactByEmail.
@RequestMapping(value = "/add-contact-by-email.json")
@ResponseBody
public Contact addContactByEmail(@RequestBody Contact contact) {
EmailEntity emailEntity = emailManager.findCaseInsensitive(contact.getEmail());
contact.setOrcid(emailEntity.getProfile().getId());
RecordNameEntity recordNameEntity = emailEntity.getProfile().getRecordNameEntity();
if (Visibility.PUBLIC.equals(recordNameEntity.getVisibility())) {
contact.setFirstName(recordNameEntity.getGivenNames());
contact.setLastName(recordNameEntity.getFamilyName());
} else {
contact.setFirstName(NOT_PUBLIC);
contact.setLastName(NOT_PUBLIC);
}
salesForceManager.createContact(contact);
return contact;
}
Aggregations