Search in sources :

Example 61 with Email

use of org.orcid.jaxb.model.v3.dev1.record.Email in project ORCID-Source by ORCID.

the class PersonDetailsManagerReadOnlyImpl method getPersonDetails.

@Override
public Person getPersonDetails(String orcid) {
    long lastModifiedTime = getLastModified(orcid);
    Person person = new Person();
    person.setName(recordNameManager.getRecordName(orcid));
    person.setBiography(biographyManager.getBiography(orcid));
    Addresses addresses = addressManager.getAddresses(orcid);
    if (addresses.getAddress() != null) {
        Addresses filteredAddresses = new Addresses();
        filteredAddresses.setAddress(new ArrayList<Address>(addresses.getAddress()));
        person.setAddresses(filteredAddresses);
    }
    PersonExternalIdentifiers extIds = externalIdentifierManager.getExternalIdentifiers(orcid);
    if (extIds.getExternalIdentifiers() != null) {
        PersonExternalIdentifiers filteredExtIds = new PersonExternalIdentifiers();
        filteredExtIds.setExternalIdentifiers(new ArrayList<PersonExternalIdentifier>(extIds.getExternalIdentifiers()));
        person.setExternalIdentifiers(filteredExtIds);
    }
    Keywords keywords = profileKeywordManager.getKeywords(orcid);
    if (keywords.getKeywords() != null) {
        Keywords filteredKeywords = new Keywords();
        filteredKeywords.setKeywords(new ArrayList<Keyword>(keywords.getKeywords()));
        person.setKeywords(filteredKeywords);
    }
    OtherNames otherNames = otherNameManager.getOtherNames(orcid);
    if (otherNames.getOtherNames() != null) {
        OtherNames filteredOtherNames = new OtherNames();
        filteredOtherNames.setOtherNames(new ArrayList<OtherName>(otherNames.getOtherNames()));
        person.setOtherNames(filteredOtherNames);
    }
    ResearcherUrls rUrls = researcherUrlManager.getResearcherUrls(orcid);
    if (rUrls.getResearcherUrls() != null) {
        ResearcherUrls filteredRUrls = new ResearcherUrls();
        filteredRUrls.setResearcherUrls(new ArrayList<ResearcherUrl>(rUrls.getResearcherUrls()));
        person.setResearcherUrls(filteredRUrls);
    }
    Emails emails = emailManager.getEmails(orcid);
    if (emails.getEmails() != null) {
        Emails filteredEmails = new Emails();
        filteredEmails.setEmails(new ArrayList<Email>(emails.getEmails()));
        person.setEmails(filteredEmails);
    }
    return person;
}
Also used : Keywords(org.orcid.jaxb.model.v3.dev1.record.Keywords) Email(org.orcid.jaxb.model.v3.dev1.record.Email) Address(org.orcid.jaxb.model.v3.dev1.record.Address) Keyword(org.orcid.jaxb.model.v3.dev1.record.Keyword) OtherNames(org.orcid.jaxb.model.v3.dev1.record.OtherNames) OtherName(org.orcid.jaxb.model.v3.dev1.record.OtherName) PersonExternalIdentifier(org.orcid.jaxb.model.v3.dev1.record.PersonExternalIdentifier) Addresses(org.orcid.jaxb.model.v3.dev1.record.Addresses) PersonExternalIdentifiers(org.orcid.jaxb.model.v3.dev1.record.PersonExternalIdentifiers) ResearcherUrls(org.orcid.jaxb.model.v3.dev1.record.ResearcherUrls) ResearcherUrl(org.orcid.jaxb.model.v3.dev1.record.ResearcherUrl) Emails(org.orcid.jaxb.model.v3.dev1.record.Emails) Person(org.orcid.jaxb.model.v3.dev1.record.Person)

Example 62 with Email

use of org.orcid.jaxb.model.v3.dev1.record.Email in project ORCID-Source by ORCID.

the class AdminControllerTest method verifyEmailTest.

@Test
public void verifyEmailTest() {
    TargetProxyHelper.injectIntoProxy(emailManager, "notificationManager", mockNotificationManager);
    TargetProxyHelper.injectIntoProxy(adminController, "emailManagerReadOnly", mockEmailManagerReadOnly);
    when(mockEmailManagerReadOnly.findOrcidIdByEmail("not-verified@email.com")).thenReturn("4444-4444-4444-4499");
    HttpServletRequest request = mock(HttpServletRequest.class);
    HttpSession session = mock(HttpSession.class);
    when(request.getSession()).thenReturn(session);
    // Add not verified email
    Email email = new Email();
    email.setEmail("not-verified@email.com");
    email.setCurrent(false);
    email.setPrimary(false);
    email.setVerified(false);
    email.setVisibility(Visibility.PUBLIC);
    emailManager.addEmail(request, "4444-4444-4444-4499", email);
    // Verify the email
    adminController.adminVerifyEmail("not-verified@email.com");
    EmailEntity emailEntity = emailManager.find("not-verified@email.com");
    assertNotNull(emailEntity);
    assertTrue(emailEntity.getVerified());
    TargetProxyHelper.injectIntoProxy(emailManager, "notificationManager", notificationManager);
}
Also used : HttpServletRequest(javax.servlet.http.HttpServletRequest) Email(org.orcid.jaxb.model.v3.dev1.record.Email) HttpSession(javax.servlet.http.HttpSession) EmailEntity(org.orcid.persistence.jpa.entities.EmailEntity) Test(org.junit.Test) BaseControllerTest(org.orcid.frontend.web.util.BaseControllerTest)

Example 63 with Email

use of org.orcid.jaxb.model.v3.dev1.record.Email in project ORCID-Source by ORCID.

the class ClaimControllerTest method testClaim.

@Test
@Transactional
public void testClaim() {
    String email = "public_0000-0000-0000-0001@test.orcid.org";
    SecurityContextHolder.getContext().setAuthentication(null);
    when(profileEntityCacheManager.retrieve(Mockito.anyString())).thenReturn(getProfileEntityToTestClam(false));
    when(encryptionManager.decryptForExternalUse(any(String.class))).thenReturn(email);
    HttpServletRequest request = mock(HttpServletRequest.class);
    HttpServletResponse response = mock(HttpServletResponse.class);
    when(request.getAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE)).thenReturn(null);
    when(request.getLocale()).thenReturn(java.util.Locale.US);
    String orcid = "0000-0000-0000-0001";
    when(emailManager.findOrcidIdByEmail(email)).thenReturn(orcid);
    when(profileEntityManager.claimProfileAndUpdatePreferences(any(String.class), any(String.class), any(Locale.class), any(Claim.class))).thenReturn(true);
    Claim claim = new Claim();
    claim.setActivitiesVisibilityDefault(org.orcid.pojo.ajaxForm.Visibility.valueOf(Visibility.PRIVATE));
    claim.setPassword(Text.valueOf("passwordTest1"));
    claim.setPasswordConfirm(Text.valueOf("passwordTest1"));
    Checkbox checked = new Checkbox();
    checked.setValue(true);
    claim.setSendChangeNotifications(checked);
    claim.setSendOrcidNews(checked);
    claim.setTermsOfUse(checked);
    try {
        claim = claimController.submitClaimJson(request, response, email, claim);
        assertNotNull(claim);
        assertTrue(claim.getErrors().isEmpty());
        assertTrue("Value was: " + claim.getUrl(), claim.getUrl().endsWith("/my-orcid?recordClaimed"));
    } catch (NoSuchRequestHandlingMethodException e) {
        fail();
    } catch (UnsupportedEncodingException e) {
        fail();
    }
}
Also used : HttpServletRequest(javax.servlet.http.HttpServletRequest) Locale(org.orcid.jaxb.model.v3.dev1.common.Locale) NoSuchRequestHandlingMethodException(org.springframework.web.servlet.mvc.multiaction.NoSuchRequestHandlingMethodException) Checkbox(org.orcid.pojo.ajaxForm.Checkbox) HttpServletResponse(javax.servlet.http.HttpServletResponse) UnsupportedEncodingException(java.io.UnsupportedEncodingException) Claim(org.orcid.pojo.ajaxForm.Claim) Test(org.junit.Test) Transactional(org.springframework.transaction.annotation.Transactional)

Example 64 with Email

use of org.orcid.jaxb.model.v3.dev1.record.Email in project ORCID-Source by ORCID.

the class PasswordResetController method sendReactivation.

@RequestMapping(value = "/sendReactivation.json", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON)
public ResponseEntity<?> sendReactivation(@RequestParam("email") String orcidOrEmail) {
    String orcid = null;
    String email = null;
    if (orcidOrEmail.contains("@")) {
        orcid = emailManager.findOrcidIdByEmail(orcidOrEmail);
        email = orcidOrEmail;
    } else {
        orcid = orcidOrEmail;
    }
    // If email is null it means the user used the orcid id to login, so, retrieve the email from the DB
    if (email == null) {
        Email entity = emailManager.findPrimaryEmail(orcid);
        email = entity.getEmail();
    }
    notificationManager.sendReactivationEmail(email, orcid);
    return ResponseEntity.ok("{\"sent\":true}");
}
Also used : Email(org.orcid.jaxb.model.v3.dev1.record.Email) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Example 65 with Email

use of org.orcid.jaxb.model.v3.dev1.record.Email in project ORCID-Source by ORCID.

the class OrcidInfo method groupEmails.

private Map<String, List<Email>> groupEmails(Emails emails) {
    if (emails == null || emails.getEmails() == null) {
        return null;
    }
    Map<String, List<Email>> groups = new TreeMap<String, List<Email>>();
    for (Email e : emails.getEmails()) {
        if (groups.containsKey(e.getEmail())) {
            groups.get(e.getEmail()).add(e);
        } else {
            List<Email> list = new ArrayList<Email>();
            list.add(e);
            groups.put(e.getEmail(), list);
        }
    }
    return groups;
}
Also used : Email(org.orcid.jaxb.model.v3.dev1.record.Email) ArrayList(java.util.ArrayList) List(java.util.List) ArrayList(java.util.ArrayList) TreeMap(java.util.TreeMap)

Aggregations

Email (org.orcid.jaxb.model.v3.dev1.record.Email)75 Test (org.junit.Test)62 Emails (org.orcid.jaxb.model.v3.dev1.record.Emails)50 Address (org.orcid.jaxb.model.v3.dev1.record.Address)37 Keyword (org.orcid.jaxb.model.v3.dev1.record.Keyword)36 OtherName (org.orcid.jaxb.model.v3.dev1.record.OtherName)36 PersonExternalIdentifier (org.orcid.jaxb.model.v3.dev1.record.PersonExternalIdentifier)36 ResearcherUrl (org.orcid.jaxb.model.v3.dev1.record.ResearcherUrl)36 Biography (org.orcid.jaxb.model.v3.dev1.record.Biography)33 Person (org.orcid.jaxb.model.v3.dev1.record.Person)33 OtherNames (org.orcid.jaxb.model.v3.dev1.record.OtherNames)31 Addresses (org.orcid.jaxb.model.v3.dev1.record.Addresses)30 Keywords (org.orcid.jaxb.model.v3.dev1.record.Keywords)30 PersonExternalIdentifiers (org.orcid.jaxb.model.v3.dev1.record.PersonExternalIdentifiers)30 ResearcherUrls (org.orcid.jaxb.model.v3.dev1.record.ResearcherUrls)30 Name (org.orcid.jaxb.model.v3.dev1.record.Name)29 ArrayList (java.util.ArrayList)16 Record (org.orcid.jaxb.model.v3.dev1.record.Record)16 DBUnitTest (org.orcid.test.DBUnitTest)16 EducationSummary (org.orcid.jaxb.model.v3.dev1.record.summary.EducationSummary)15