Search in sources :

Example 16 with ResearcherUrlEntity

use of org.orcid.persistence.jpa.entities.ResearcherUrlEntity in project ORCID-Source by ORCID.

the class ResearcherUrlDaoTest method testfindResearcherUrl.

@Test
@Rollback(true)
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void testfindResearcherUrl() {
    ResearcherUrlEntity researcherUrl = dao.getResearcherUrl("4444-4444-4444-4441", 1L);
    assertNotNull(researcherUrl);
    assertEquals("444_1", researcherUrl.getUrlName());
    try {
        researcherUrl = dao.getResearcherUrl("4444-4444-4444-5555", 1L);
        fail();
    } catch (NoResultException e) {
    }
}
Also used : ResearcherUrlEntity(org.orcid.persistence.jpa.entities.ResearcherUrlEntity) NoResultException(javax.persistence.NoResultException) Test(org.junit.Test) DBUnitTest(org.orcid.test.DBUnitTest) Rollback(org.springframework.test.annotation.Rollback) Transactional(org.springframework.transaction.annotation.Transactional)

Example 17 with ResearcherUrlEntity

use of org.orcid.persistence.jpa.entities.ResearcherUrlEntity in project ORCID-Source by ORCID.

the class ResearcherUrlDaoTest method testAddResearcherUrl.

@Test
@Rollback(true)
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void testAddResearcherUrl() {
    assertEquals(6, dao.getResearcherUrls("4444-4444-4444-4443", 0L).size());
    ResearcherUrlEntity newRUrl = new ResearcherUrlEntity();
    newRUrl.setDateCreated(new Date());
    newRUrl.setLastModified(new Date());
    newRUrl.setClientSourceId("APP-5555555555555555");
    newRUrl.setUrl("www.4443.com");
    newRUrl.setUrlName("test");
    newRUrl.setUser(new ProfileEntity("4444-4444-4444-4443"));
    newRUrl.setVisibility(Visibility.PUBLIC);
    newRUrl = dao.merge(newRUrl);
    assertNotNull(newRUrl);
    assertEquals(7, dao.getResearcherUrls("4444-4444-4444-4443", 0L).size());
    for (ResearcherUrlEntity rUrl : dao.getResearcherUrls("4444-4444-4444-4443", 0L)) {
        if ("www.4443.com".equals(rUrl.getUrl())) {
            assertEquals("APP-5555555555555555", rUrl.getElementSourceId());
        }
    }
}
Also used : ResearcherUrlEntity(org.orcid.persistence.jpa.entities.ResearcherUrlEntity) Date(java.util.Date) ProfileEntity(org.orcid.persistence.jpa.entities.ProfileEntity) Test(org.junit.Test) DBUnitTest(org.orcid.test.DBUnitTest) Rollback(org.springframework.test.annotation.Rollback) Transactional(org.springframework.transaction.annotation.Transactional)

Example 18 with ResearcherUrlEntity

use of org.orcid.persistence.jpa.entities.ResearcherUrlEntity 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);
    work.setOrcid(profile.getId());
    works.add(work);
    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.v3.dev1.record.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, LoadOptions.ALL);
    // 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);
}
Also used : ProfileKeywordEntity(org.orcid.persistence.jpa.entities.ProfileKeywordEntity) ExternalIdentifierEntity(org.orcid.persistence.jpa.entities.ExternalIdentifierEntity) RecordNameEntity(org.orcid.persistence.jpa.entities.RecordNameEntity) OrgEntity(org.orcid.persistence.jpa.entities.OrgEntity) ProfileFundingEntity(org.orcid.persistence.jpa.entities.ProfileFundingEntity) OrcidProfile(org.orcid.jaxb.model.message.OrcidProfile) WorkEntity(org.orcid.persistence.jpa.entities.WorkEntity) TreeSet(java.util.TreeSet) AddressEntity(org.orcid.persistence.jpa.entities.AddressEntity) HashSet(java.util.HashSet) ResearcherUrlEntity(org.orcid.persistence.jpa.entities.ResearcherUrlEntity) BiographyEntity(org.orcid.persistence.jpa.entities.BiographyEntity) ProfileEntity(org.orcid.persistence.jpa.entities.ProfileEntity) OtherNameEntity(org.orcid.persistence.jpa.entities.OtherNameEntity) OrgAffiliationRelationEntity(org.orcid.persistence.jpa.entities.OrgAffiliationRelationEntity) DBUnitTest(org.orcid.test.DBUnitTest) Test(org.junit.Test)

Example 19 with ResearcherUrlEntity

use of org.orcid.persistence.jpa.entities.ResearcherUrlEntity in project ORCID-Source by ORCID.

the class SetUpClientsAndUsers method clearRegistry.

private boolean clearRegistry(OrcidProfile existingProfile, Map<String, String> params) {
    if (existingProfile != null) {
        String orcid = params.get(ORCID);
        String email = params.get(EMAIL);
        // exception
        if (existingProfile.getOrcidBio() == null || existingProfile.getOrcidBio().getContactDetails() == null || existingProfile.getOrcidBio().getContactDetails().retrievePrimaryEmail() == null || !email.equals(existingProfile.getOrcidBio().getContactDetails().retrievePrimaryEmail().getValue())) {
            throw new ApplicationException("User with email " + params.get(EMAIL) + " must have orcid id '" + orcid + "' but it is '" + existingProfile.getOrcidId() + "'");
        }
        // Check if the profile have the same password, if not, update the
        // password
        String encryptedPassword = encryptionManager.hashForInternalUse(params.get(PASSWORD));
        if (!encryptedPassword.equals(existingProfile.getPassword())) {
            existingProfile.setPassword(params.get(PASSWORD));
            orcidProfileManager.updatePasswordInformation(existingProfile);
        }
        // Set default names
        Name name = new Name();
        name.setCreditName(new CreditName(params.get(CREDIT_NAME)));
        name.setGivenNames(new GivenNames(params.get(GIVEN_NAMES)));
        name.setFamilyName(new FamilyName(params.get(FAMILY_NAMES)));
        name.setVisibility(org.orcid.jaxb.model.common_v2.Visibility.fromValue(OrcidVisibilityDefaults.NAMES_DEFAULT.getVisibility().value()));
        if (recordNameManager.exists(orcid)) {
            recordNameManager.updateRecordName(orcid, name);
        } else {
            recordNameManager.createRecordName(orcid, name);
        }
        profileDao.updatePreferences(orcid, true, true, true, true, org.orcid.jaxb.model.common_v2.Visibility.PUBLIC, true, 1f);
        // Set default bio
        org.orcid.jaxb.model.record_v2.Biography bio = biographyManager.getBiography(orcid);
        if (bio == null || bio.getContent() == null) {
            bio = new org.orcid.jaxb.model.record_v2.Biography(params.get(BIO));
            bio.setVisibility(org.orcid.jaxb.model.common_v2.Visibility.fromValue(OrcidVisibilityDefaults.BIOGRAPHY_DEFAULT.getVisibility().value()));
            biographyManager.createBiography(orcid, bio);
        } else {
            bio.setContent(params.get(BIO));
            bio.setVisibility(org.orcid.jaxb.model.common_v2.Visibility.fromValue(OrcidVisibilityDefaults.BIOGRAPHY_DEFAULT.getVisibility().value()));
            biographyManager.updateBiography(orcid, bio);
        }
        // Remove other names
        List<OtherNameEntity> otherNames = otherNameDao.getOtherNames(orcid, 0L);
        if (otherNames != null && !otherNames.isEmpty()) {
            for (OtherNameEntity otherName : otherNames) {
                otherNameDao.deleteOtherName(otherName);
            }
        }
        // Remove keywords
        List<ProfileKeywordEntity> keywords = profileKeywordDao.getProfileKeywords(orcid, 0L);
        if (keywords != null && !keywords.isEmpty()) {
            for (ProfileKeywordEntity keyword : keywords) {
                profileKeywordDao.deleteProfileKeyword(keyword);
            }
        }
        // Remove researcher urls
        List<ResearcherUrlEntity> rUrls = researcherUrlDao.getResearcherUrls(orcid, 0L);
        if (rUrls != null && !rUrls.isEmpty()) {
            for (ResearcherUrlEntity rUrl : rUrls) {
                researcherUrlDao.deleteResearcherUrl(orcid, rUrl.getId());
            }
        }
        // Remove external ids
        List<ExternalIdentifierEntity> extIds = externalIdentifierDao.getExternalIdentifiers(orcid, System.currentTimeMillis());
        if (extIds != null && !extIds.isEmpty()) {
            for (ExternalIdentifierEntity extId : extIds) {
                externalIdentifierDao.removeExternalIdentifier(orcid, extId.getId());
            }
        }
        // Remove addresses
        List<AddressEntity> addresses = addressDao.getAddresses(orcid, 0L);
        if (addresses != null && !addresses.isEmpty()) {
            for (AddressEntity address : addresses) {
                addressDao.deleteAddress(orcid, address.getId());
            }
        }
        // Remove emails
        List<EmailEntity> emails = emailDao.findByOrcid(orcid, profileEntityManager.getLastModified(orcid));
        if (emails != null && !emails.isEmpty()) {
            for (EmailEntity rc2Email : emails) {
                if (!params.get(EMAIL).equals(rc2Email.getId())) {
                    emailDao.removeEmail(orcid, rc2Email.getId());
                }
            }
        }
        // Remove notifications
        List<NotificationEntity> notifications = notificationDao.findByOrcid(orcid, true, 0, 10000);
        if (notifications != null && !notifications.isEmpty()) {
            for (NotificationEntity notification : notifications) {
                notificationDao.deleteNotificationItemByNotificationId(notification.getId());
                notificationDao.deleteNotificationWorkByNotificationId(notification.getId());
                notificationDao.deleteNotificationById(notification.getId());
            }
        }
        // Remove works
        List<WorkLastModifiedEntity> works = workDao.getWorkLastModifiedList(orcid);
        if (works != null && !works.isEmpty()) {
            for (WorkLastModifiedEntity work : works) {
                workDao.removeWork(orcid, work.getId());
            }
        }
        // Remove affiliations
        List<OrgAffiliationRelationEntity> affiliations = orgAffiliationRelationDao.getByUser(orcid);
        if (affiliations != null && !affiliations.isEmpty()) {
            for (OrgAffiliationRelationEntity affiliation : affiliations) {
                orgAffiliationRelationDao.remove(affiliation.getId());
            }
        }
        // Remove fundings
        List<ProfileFundingEntity> fundings = profileFundingDao.getByUser(orcid, profileEntityManager.getLastModified(orcid));
        if (fundings != null && !fundings.isEmpty()) {
            for (ProfileFundingEntity funding : fundings) {
                profileFundingDao.removeProfileFunding(orcid, funding.getId());
            }
        }
        // Remove peer reviews
        List<PeerReviewEntity> peerReviews = peerReviewDao.getByUser(orcid, profileEntityManager.getLastModified(orcid));
        if (peerReviews != null && !peerReviews.isEmpty()) {
            for (PeerReviewEntity peerReview : peerReviews) {
                peerReviewDao.removePeerReview(orcid, peerReview.getId());
            }
        }
        // Remove 3d party links
        List<OrcidOauth2TokenDetail> tokenDetails = orcidOauth2TokenDetailDao.findByUserName(orcid);
        if (tokenDetails != null && !tokenDetails.isEmpty()) {
            for (OrcidOauth2TokenDetail token : tokenDetails) {
                orcidOauth2TokenDetailDao.remove(token.getId());
            }
        }
        // Unlock just in case it is locked
        profileDao.unlockProfile(orcid);
        return true;
    }
    return false;
}
Also used : ProfileKeywordEntity(org.orcid.persistence.jpa.entities.ProfileKeywordEntity) FamilyName(org.orcid.jaxb.model.record_v2.FamilyName) ExternalIdentifierEntity(org.orcid.persistence.jpa.entities.ExternalIdentifierEntity) FamilyName(org.orcid.jaxb.model.record_v2.FamilyName) CreditName(org.orcid.jaxb.model.common_v2.CreditName) Name(org.orcid.jaxb.model.record_v2.Name) ProfileFundingEntity(org.orcid.persistence.jpa.entities.ProfileFundingEntity) WorkLastModifiedEntity(org.orcid.persistence.jpa.entities.WorkLastModifiedEntity) GivenNames(org.orcid.jaxb.model.record_v2.GivenNames) PeerReviewEntity(org.orcid.persistence.jpa.entities.PeerReviewEntity) NotificationEntity(org.orcid.persistence.jpa.entities.NotificationEntity) AddressEntity(org.orcid.persistence.jpa.entities.AddressEntity) OrcidOauth2TokenDetail(org.orcid.persistence.jpa.entities.OrcidOauth2TokenDetail) ResearcherUrlEntity(org.orcid.persistence.jpa.entities.ResearcherUrlEntity) CreditName(org.orcid.jaxb.model.common_v2.CreditName) EmailEntity(org.orcid.persistence.jpa.entities.EmailEntity) ApplicationException(org.orcid.core.exception.ApplicationException) OtherNameEntity(org.orcid.persistence.jpa.entities.OtherNameEntity) OrgAffiliationRelationEntity(org.orcid.persistence.jpa.entities.OrgAffiliationRelationEntity)

Example 20 with ResearcherUrlEntity

use of org.orcid.persistence.jpa.entities.ResearcherUrlEntity in project ORCID-Source by ORCID.

the class JpaJaxbResearcherUrlAdapterTest method testToResearcherUrlEntity.

@Test
public void testToResearcherUrlEntity() throws JAXBException {
    ResearcherUrls rUrls = getResearcherUrls();
    assertNotNull(rUrls);
    assertNotNull(rUrls.getResearcherUrls());
    assertEquals(1, rUrls.getResearcherUrls().size());
    ResearcherUrlEntity entity = jpaJaxbResearcherUrlAdapter.toResearcherUrlEntity(rUrls.getResearcherUrls().get(0));
    assertNotNull(entity);
    // General info
    assertEquals(Long.valueOf(1248), entity.getId());
    assertEquals(Visibility.PUBLIC.value(), entity.getVisibility().value());
    assertEquals("http://site1.com/", entity.getUrl());
    assertEquals("Site # 1", entity.getUrlName());
    // Source
    assertNull(entity.getSourceId());
    assertNull(entity.getClientSourceId());
    assertNull(entity.getElementSourceId());
}
Also used : ResearcherUrlEntity(org.orcid.persistence.jpa.entities.ResearcherUrlEntity) ResearcherUrls(org.orcid.jaxb.model.v3.dev1.record.ResearcherUrls) Test(org.junit.Test)

Aggregations

ResearcherUrlEntity (org.orcid.persistence.jpa.entities.ResearcherUrlEntity)28 ProfileEntity (org.orcid.persistence.jpa.entities.ProfileEntity)12 Transactional (org.springframework.transaction.annotation.Transactional)12 Date (java.util.Date)10 Test (org.junit.Test)10 OrcidDuplicatedElementException (org.orcid.core.exception.OrcidDuplicatedElementException)8 ExternalIdentifierEntity (org.orcid.persistence.jpa.entities.ExternalIdentifierEntity)7 OtherNameEntity (org.orcid.persistence.jpa.entities.OtherNameEntity)7 ProfileKeywordEntity (org.orcid.persistence.jpa.entities.ProfileKeywordEntity)7 SourceEntity (org.orcid.persistence.jpa.entities.SourceEntity)7 AddressEntity (org.orcid.persistence.jpa.entities.AddressEntity)6 DBUnitTest (org.orcid.test.DBUnitTest)6 ApplicationException (org.orcid.core.exception.ApplicationException)5 HashMap (java.util.HashMap)4 ResearcherUrl (org.orcid.jaxb.model.record_v2.ResearcherUrl)3 ResearcherUrl (org.orcid.jaxb.model.v3.dev1.record.ResearcherUrl)3 OrgAffiliationRelationEntity (org.orcid.persistence.jpa.entities.OrgAffiliationRelationEntity)3 ProfileFundingEntity (org.orcid.persistence.jpa.entities.ProfileFundingEntity)3 Rollback (org.springframework.test.annotation.Rollback)3 InvalidParameterException (java.security.InvalidParameterException)2