use of org.orcid.persistence.jpa.entities.RecordNameEntity in project ORCID-Source by ORCID.
the class Jaxb2JpaAdapterImpl method setGivenNames.
private void setGivenNames(ProfileEntity profileEntity, GivenNames givenNames) {
if (givenNames != null && StringUtils.isNotBlank(givenNames.getContent())) {
if (profileEntity.getRecordNameEntity() == null) {
profileEntity.setRecordNameEntity(new RecordNameEntity());
profileEntity.getRecordNameEntity().setProfile(profileEntity);
}
profileEntity.getRecordNameEntity().setGivenNames(givenNames.getContent());
}
}
use of org.orcid.persistence.jpa.entities.RecordNameEntity in project ORCID-Source by ORCID.
the class SourceNameCacheManagerImpl method getProfileSourceNameFromDb.
private String getProfileSourceNameFromDb(String orcid) {
RecordNameEntity recordName = null;
try {
recordName = recordNameDao.getRecordName(orcid);
if (recordName == null) {
throw new IllegalArgumentException("Unable to find source name for: " + orcid);
}
} catch (Exception e) {
LOGGER.warn("Cannot find source name from profile matching " + orcid, e);
throw new IllegalArgumentException("Unable to find source name for: " + orcid);
}
String name = RecordNameUtils.getPublicName(recordName);
ServletRequestAttributes sra = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
if (sra != null) {
sra.setAttribute(getProfileNameSRAKey(orcid), name != null ? name : StringUtils.EMPTY, ServletRequestAttributes.SCOPE_REQUEST);
}
return name;
}
use of org.orcid.persistence.jpa.entities.RecordNameEntity in project ORCID-Source by ORCID.
the class NotificationManagerTest method testAddedDelegatesSentCorrectEmail.
@Test
public void testAddedDelegatesSentCorrectEmail() throws JAXBException, IOException, URISyntaxException {
TargetProxyHelper.injectIntoProxy(notificationManager, "profileEntityCacheManager", mockProfileEntityCacheManager);
TargetProxyHelper.injectIntoProxy(notificationManager, "emailManager", mockEmailManager);
TargetProxyHelper.injectIntoProxy(notificationManager, "profileDao", mockProfileDao);
TargetProxyHelper.injectIntoProxy(notificationManager, "notificationDao", mockNotificationDao);
TargetProxyHelper.injectIntoProxy(notificationManager, "notificationAdapter", mockNotificationAdapter);
final String orcid = "0000-0000-0000-0003";
String delegateOrcid = "1234-5678-1234-5678";
ProfileEntity profile = new ProfileEntity();
RecordNameEntity recordName = new RecordNameEntity();
recordName.setCreditName("My credit name");
recordName.setVisibility(Visibility.PUBLIC);
profile.setRecordNameEntity(recordName);
profile.setSendAdministrativeChangeNotifications(true);
profile.setSendChangeNotifications(true);
profile.setSendMemberUpdateRequests(true);
profile.setSendOrcidNews(true);
EmailEntity emailEntity = new EmailEntity();
emailEntity.setId("test@email.com");
emailEntity.setPrimary(true);
emailEntity.setCurrent(true);
Set<EmailEntity> emails = new HashSet<EmailEntity>();
emails.add(emailEntity);
profile.setEmails(emails);
SourceEntity sourceEntity = new SourceEntity(new ClientDetailsEntity("APP-5555555555555555"));
when(sourceManager.retrieveSourceEntity()).thenReturn(sourceEntity);
when(sourceManager.retrieveSourceOrcid()).thenReturn("APP-5555555555555555");
when(mockNotificationAdapter.toNotificationEntity(Mockito.any(Notification.class))).thenReturn(new NotificationCustomEntity());
Email email = new Email();
email.setEmail("test@email.com");
when(mockProfileEntityCacheManager.retrieve(Mockito.anyString())).thenAnswer(new Answer<ProfileEntity>() {
@Override
public ProfileEntity answer(InvocationOnMock invocation) throws Throwable {
profile.setId(invocation.getArgument(0));
return profile;
}
});
when(mockProfileDao.find(Mockito.anyString())).thenAnswer(new Answer<ProfileEntity>() {
@Override
public ProfileEntity answer(InvocationOnMock invocation) throws Throwable {
profile.setId(invocation.getArgument(0));
return profile;
}
});
when(mockEmailManager.findPrimaryEmail(orcid)).thenReturn(email);
DelegationDetails firstNewDelegate = new DelegationDetails();
DelegateSummary firstNewDelegateSummary = new DelegateSummary();
firstNewDelegateSummary.setCreditName(new CreditName("Jimmy Dove"));
firstNewDelegate.setDelegateSummary(firstNewDelegateSummary);
firstNewDelegateSummary.setOrcidIdentifier(new OrcidIdentifier(delegateOrcid));
for (org.orcid.jaxb.model.common_v2.Locale locale : org.orcid.jaxb.model.common_v2.Locale.values()) {
profile.setLocale(locale);
notificationManager.sendNotificationToAddedDelegate("0000-0000-0000-0003", firstNewDelegate);
}
}
use of org.orcid.persistence.jpa.entities.RecordNameEntity in project ORCID-Source by ORCID.
the class Jpa2JaxbAdapterTest method testProfileEntityToOrcidMessage.
@Test
public void testProfileEntityToOrcidMessage() {
String userOrcid = "0000-0000-0000-1234";
String clientId = "APP-5555555555555555";
ProfileEntity profile = new ProfileEntity(userOrcid);
// Set default visibility
profile.setActivitiesVisibilityDefault(org.orcid.jaxb.model.common_v2.Visibility.LIMITED);
// Set name
RecordNameEntity name = new RecordNameEntity();
name.setCreditName("My credit name");
name.setFamilyName("My family name");
name.setGivenNames("My given names");
name.setVisibility(org.orcid.jaxb.model.common_v2.Visibility.PUBLIC);
profile.setRecordNameEntity(name);
// Set biography
BiographyEntity bio = new BiographyEntity();
bio.setBiography("This is my biography");
bio.setVisibility(org.orcid.jaxb.model.common_v2.Visibility.PUBLIC);
profile.setBiographyEntity(bio);
// Set other names
TreeSet<OtherNameEntity> otherNames = new TreeSet<OtherNameEntity>();
OtherNameEntity otherName = new OtherNameEntity();
otherName.setDisplayName("My other name");
otherName.setVisibility(org.orcid.jaxb.model.common_v2.Visibility.PUBLIC);
otherName.setDisplayIndex(20000L);
otherName.setClientSourceId(clientId);
otherName.setId(24816L);
otherNames.add(otherName);
profile.setOtherNames(otherNames);
// Set address
Set<AddressEntity> addresses = new HashSet<AddressEntity>();
AddressEntity address = new AddressEntity();
address.setIso2Country(Iso3166Country.US);
address.setVisibility(org.orcid.jaxb.model.common_v2.Visibility.PUBLIC);
address.setDisplayIndex(20000L);
address.setClientSourceId(clientId);
address.setId(24816L);
addresses.add(address);
profile.setAddresses(addresses);
// Set keywords
TreeSet<ProfileKeywordEntity> keywords = new TreeSet<ProfileKeywordEntity>();
ProfileKeywordEntity keyword = new ProfileKeywordEntity();
keyword.setKeywordName("My keyword");
keyword.setVisibility(org.orcid.jaxb.model.common_v2.Visibility.PUBLIC);
keyword.setDisplayIndex(20000L);
keyword.setClientSourceId(clientId);
keyword.setId(24816L);
keywords.add(keyword);
profile.setKeywords(keywords);
// Set researcher urls
TreeSet<ResearcherUrlEntity> rUrls = new TreeSet<ResearcherUrlEntity>();
ResearcherUrlEntity rUrl = new ResearcherUrlEntity();
rUrl.setUrl("http://orcid.org");
rUrl.setUrlName("My rUrl");
rUrl.setVisibility(org.orcid.jaxb.model.common_v2.Visibility.PUBLIC);
rUrl.setDisplayIndex(20000L);
rUrl.setClientSourceId(clientId);
rUrl.setId(24816L);
rUrls.add(rUrl);
profile.setResearcherUrls(rUrls);
// Set external identifiers
Set<ExternalIdentifierEntity> extIds = new HashSet<ExternalIdentifierEntity>();
ExternalIdentifierEntity extId = new ExternalIdentifierEntity();
extId.setExternalIdCommonName("My common name");
extId.setExternalIdReference("My refrence");
extId.setExternalIdUrl("http://orcid.org");
extId.setVisibility(org.orcid.jaxb.model.common_v2.Visibility.PUBLIC);
extId.setDisplayIndex(20000L);
extId.setClientSourceId(clientId);
extId.setId(24816L);
extIds.add(extId);
profile.setExternalIdentifiers(extIds);
// Set works
TreeSet<WorkEntity> works = new TreeSet<WorkEntity>();
WorkEntity work = new WorkEntity();
work.setWorkType(WorkType.OTHER);
work.setTitle("My work title");
work.setVisibility(org.orcid.jaxb.model.common_v2.Visibility.PUBLIC);
work.setDisplayIndex(20000L);
work.setClientSourceId(clientId);
work.setId(24816L);
works.add(work);
profile.setWorks(works);
when(mockWorkEntityCacheManager.retrieveFullWorks(userOrcid, 0)).thenReturn(new ArrayList<>(works));
// Existing org
OrgEntity newOrg = new OrgEntity();
newOrg.setId(1234L);
newOrg.setCity("San Jose");
newOrg.setCountry(org.orcid.jaxb.model.message.Iso3166Country.CR);
newOrg.setName("My org name");
// Set funding
TreeSet<ProfileFundingEntity> fundings = new TreeSet<ProfileFundingEntity>();
ProfileFundingEntity funding = new ProfileFundingEntity();
funding.setOrg(newOrg);
funding.setTitle("My funding title");
funding.setVisibility(org.orcid.jaxb.model.common_v2.Visibility.PUBLIC);
funding.setDisplayIndex(20000L);
funding.setClientSourceId(clientId);
funding.setId(24816L);
fundings.add(funding);
profile.setProfileFunding(fundings);
// Set affiliations
TreeSet<OrgAffiliationRelationEntity> affiliations = new TreeSet<OrgAffiliationRelationEntity>();
OrgAffiliationRelationEntity affiliation = new OrgAffiliationRelationEntity();
affiliation.setAffiliationType(org.orcid.jaxb.model.record_v2.AffiliationType.EDUCATION);
affiliation.setOrg(newOrg);
affiliation.setVisibility(org.orcid.jaxb.model.common_v2.Visibility.PUBLIC);
affiliation.setClientSourceId(clientId);
affiliation.setId(24816L);
affiliations.add(affiliation);
profile.setOrgAffiliationRelations(affiliations);
OrcidProfile orcidProfile = adapter.toOrcidProfile(profile);
// Check profile
assertNotNull(orcidProfile);
assertNotNull(orcidProfile.getOrcidIdentifier());
assertEquals("http://orcid.org/" + userOrcid, orcidProfile.getOrcidIdentifier().getUri());
assertEquals("orcid.org", orcidProfile.getOrcidIdentifier().getHost());
assertEquals(userOrcid, orcidProfile.getOrcidIdentifier().getPath());
// Check activities
assertNotNull(orcidProfile.getOrcidActivities());
// Check works
assertNotNull(orcidProfile.getOrcidActivities().getOrcidWorks());
assertNotNull(orcidProfile.getOrcidActivities().getOrcidWorks().getOrcidWork());
assertEquals(1, orcidProfile.getOrcidActivities().getOrcidWorks().getOrcidWork().size());
assertEquals("My work title", orcidProfile.getOrcidActivities().getOrcidWorks().getOrcidWork().get(0).getWorkTitle().getTitle().getContent());
assertEquals("24816", orcidProfile.getOrcidActivities().getOrcidWorks().getOrcidWork().get(0).getPutCode());
assertEquals(org.orcid.jaxb.model.message.Visibility.PUBLIC, orcidProfile.getOrcidActivities().getOrcidWorks().getOrcidWork().get(0).getVisibility());
checkSource(orcidProfile.getOrcidActivities().getOrcidWorks().getOrcidWork().get(0).getSource(), clientId);
// Check fundings
assertNotNull(orcidProfile.getOrcidActivities().getFundings());
assertNotNull(orcidProfile.getOrcidActivities().getFundings().getFundings());
assertEquals(1, orcidProfile.getOrcidActivities().getFundings().getFundings().size());
assertEquals("My funding title", orcidProfile.getOrcidActivities().getFundings().getFundings().get(0).getTitle().getTitle().getContent());
assertEquals("24816", orcidProfile.getOrcidActivities().getFundings().getFundings().get(0).getPutCode());
assertEquals(org.orcid.jaxb.model.message.Visibility.PUBLIC, orcidProfile.getOrcidActivities().getFundings().getFundings().get(0).getVisibility());
checkSource(orcidProfile.getOrcidActivities().getFundings().getFundings().get(0).getSource(), clientId);
// Check affiliations
assertNotNull(orcidProfile.getOrcidActivities().getAffiliations());
assertNotNull(orcidProfile.getOrcidActivities().getAffiliations().getAffiliation());
assertEquals(1, orcidProfile.getOrcidActivities().getAffiliations().getAffiliation().size());
assertEquals(AffiliationType.EDUCATION, orcidProfile.getOrcidActivities().getAffiliations().getAffiliation().get(0).getType());
assertEquals("My org name", orcidProfile.getOrcidActivities().getAffiliations().getAffiliation().get(0).getOrganization().getName());
assertEquals("San Jose", orcidProfile.getOrcidActivities().getAffiliations().getAffiliation().get(0).getOrganization().getAddress().getCity());
assertEquals(org.orcid.jaxb.model.message.Iso3166Country.CR, orcidProfile.getOrcidActivities().getAffiliations().getAffiliation().get(0).getOrganization().getAddress().getCountry());
assertEquals("24816", orcidProfile.getOrcidActivities().getAffiliations().getAffiliation().get(0).getPutCode());
assertEquals(org.orcid.jaxb.model.message.Visibility.PUBLIC, orcidProfile.getOrcidActivities().getAffiliations().getAffiliation().get(0).getVisibility());
checkSource(orcidProfile.getOrcidActivities().getAffiliations().getAffiliation().get(0).getSource(), clientId);
// Check biography
assertNotNull(orcidProfile.getOrcidBio());
// Check name
assertNotNull(orcidProfile.getOrcidBio().getPersonalDetails());
assertNotNull(orcidProfile.getOrcidBio().getPersonalDetails().getCreditName());
assertEquals("My credit name", orcidProfile.getOrcidBio().getPersonalDetails().getCreditName().getContent());
assertEquals(org.orcid.jaxb.model.message.Visibility.PUBLIC, orcidProfile.getOrcidBio().getPersonalDetails().getCreditName().getVisibility());
assertNotNull(orcidProfile.getOrcidBio().getPersonalDetails().getGivenNames());
assertEquals("My given names", orcidProfile.getOrcidBio().getPersonalDetails().getGivenNames().getContent());
assertEquals(org.orcid.jaxb.model.message.Visibility.PUBLIC, orcidProfile.getOrcidBio().getPersonalDetails().getGivenNames().getVisibility());
assertNotNull(orcidProfile.getOrcidBio().getPersonalDetails().getFamilyName());
assertEquals("My family name", orcidProfile.getOrcidBio().getPersonalDetails().getFamilyName().getContent());
assertEquals(org.orcid.jaxb.model.message.Visibility.PUBLIC, orcidProfile.getOrcidBio().getPersonalDetails().getFamilyName().getVisibility());
// Check other names
assertNotNull(orcidProfile.getOrcidBio().getPersonalDetails().getOtherNames());
assertNotNull(orcidProfile.getOrcidBio().getPersonalDetails().getOtherNames().getOtherName());
assertEquals(org.orcid.jaxb.model.message.Visibility.PUBLIC, orcidProfile.getOrcidBio().getPersonalDetails().getOtherNames().getVisibility());
assertEquals(1, orcidProfile.getOrcidBio().getPersonalDetails().getOtherNames().getOtherName().size());
// Check biography
assertNotNull(orcidProfile.getOrcidBio().getBiography());
assertEquals("This is my biography", orcidProfile.getOrcidBio().getBiography().getContent());
assertEquals(org.orcid.jaxb.model.message.Visibility.PUBLIC, orcidProfile.getOrcidBio().getBiography().getVisibility());
// Check address
assertNotNull(orcidProfile.getOrcidBio().getContactDetails());
assertNotNull(orcidProfile.getOrcidBio().getContactDetails().getAddress());
assertNotNull(orcidProfile.getOrcidBio().getContactDetails().getAddress().getCountry());
assertEquals(org.orcid.jaxb.model.message.Iso3166Country.US, orcidProfile.getOrcidBio().getContactDetails().getAddress().getCountry().getValue());
assertEquals(org.orcid.jaxb.model.message.Visibility.PUBLIC, orcidProfile.getOrcidBio().getContactDetails().getAddress().getCountry().getVisibility());
// Check keywords
assertNotNull(orcidProfile.getOrcidBio().getKeywords());
assertNotNull(orcidProfile.getOrcidBio().getKeywords().getKeyword());
assertEquals(1, orcidProfile.getOrcidBio().getKeywords().getKeyword().size());
assertEquals(org.orcid.jaxb.model.message.Visibility.PUBLIC, orcidProfile.getOrcidBio().getKeywords().getVisibility());
assertEquals("My keyword", orcidProfile.getOrcidBio().getKeywords().getKeyword().get(0).getContent());
// Check researcher urls
assertNotNull(orcidProfile.getOrcidBio().getResearcherUrls());
assertNotNull(orcidProfile.getOrcidBio().getResearcherUrls().getResearcherUrl());
assertEquals(org.orcid.jaxb.model.message.Visibility.PUBLIC, orcidProfile.getOrcidBio().getResearcherUrls().getVisibility());
assertEquals(1, orcidProfile.getOrcidBio().getResearcherUrls().getResearcherUrl().size());
assertEquals("My rUrl", orcidProfile.getOrcidBio().getResearcherUrls().getResearcherUrl().get(0).getUrlName().getContent());
assertEquals("http://orcid.org", orcidProfile.getOrcidBio().getResearcherUrls().getResearcherUrl().get(0).getUrl().getValue());
// Check external identifiers
assertNotNull(orcidProfile.getOrcidBio().getExternalIdentifiers());
assertNotNull(orcidProfile.getOrcidBio().getExternalIdentifiers().getExternalIdentifier());
assertEquals(1, orcidProfile.getOrcidBio().getExternalIdentifiers().getExternalIdentifier().size());
assertEquals("My common name", orcidProfile.getOrcidBio().getExternalIdentifiers().getExternalIdentifier().get(0).getExternalIdCommonName().getContent());
assertEquals("My refrence", orcidProfile.getOrcidBio().getExternalIdentifiers().getExternalIdentifier().get(0).getExternalIdReference().getContent());
assertEquals("http://orcid.org", orcidProfile.getOrcidBio().getExternalIdentifiers().getExternalIdentifier().get(0).getExternalIdUrl().getValue());
assertEquals(org.orcid.jaxb.model.message.Visibility.PUBLIC, orcidProfile.getOrcidBio().getExternalIdentifiers().getExternalIdentifier().get(0).getVisibility());
checkSource(orcidProfile.getOrcidBio().getExternalIdentifiers().getExternalIdentifier().get(0).getSource(), clientId);
}
use of org.orcid.persistence.jpa.entities.RecordNameEntity in project ORCID-Source by ORCID.
the class MockSourceNameCache method init.
@Before
public void init() throws Exception {
MockitoAnnotations.initMocks(this);
when(mockedRecordNameDao.getRecordName((Matchers.<String>any()))).thenAnswer(new Answer<RecordNameEntity>() {
@Override
public RecordNameEntity answer(InvocationOnMock invocation) throws Throwable {
String id = (String) invocation.getArguments()[0];
RecordNameEntity recordName = new RecordNameEntity();
recordName.setLastModified(new Date());
recordName.setCreditName("Credit name");
recordName.setProfile(new ProfileEntity(id));
recordName.setVisibility(Visibility.PUBLIC);
return recordName;
}
});
when(mockedClientDetailsDao.find((Matchers.<String>any()))).thenAnswer(new Answer<ClientDetailsEntity>() {
@Override
public ClientDetailsEntity answer(InvocationOnMock invocation) throws Throwable {
String id = (String) invocation.getArguments()[0];
ClientDetailsEntity client = new ClientDetailsEntity(id);
client.setLastModified(new Date());
return client;
}
});
assertNotNull(sourceNameCacheManager);
TargetProxyHelper.injectIntoProxy(sourceNameCacheManager, "recordNameDao", mockedRecordNameDao);
TargetProxyHelper.injectIntoProxy(sourceNameCacheManager, "clientDetailsDao", mockedClientDetailsDao);
}
Aggregations