Search in sources :

Example 11 with WorkExternalIdentifierId

use of org.orcid.jaxb.model.message.WorkExternalIdentifierId in project ORCID-Source by ORCID.

the class OrcidProfileCleanerTest method testSimpleClean.

@Test
public void testSimpleClean() {
    OrcidWork orcidWork = new OrcidWork();
    WorkTitle workTitle = new WorkTitle();
    workTitle.setTitle(new Title("Test Title"));
    workTitle.setSubtitle(new Subtitle(""));
    orcidWork.setWorkTitle(workTitle);
    WorkExternalIdentifiers workExternalIdentifiers = new WorkExternalIdentifiers();
    orcidWork.setWorkExternalIdentifiers(workExternalIdentifiers);
    WorkExternalIdentifier workExternalIdentifier1 = new WorkExternalIdentifier();
    workExternalIdentifiers.getWorkExternalIdentifier().add(workExternalIdentifier1);
    workExternalIdentifier1.setWorkExternalIdentifierType(WorkExternalIdentifierType.DOI);
    workExternalIdentifier1.setWorkExternalIdentifierId(new WorkExternalIdentifierId("work-doi"));
    orcidProfileCleaner.clean(orcidWork);
    assertEquals("Test Title", orcidWork.getWorkTitle().getTitle().getContent());
    assertEquals("work-doi", orcidWork.getWorkExternalIdentifiers().getWorkExternalIdentifier().get(0).getWorkExternalIdentifierId().getContent());
    assertNull("Subtitle should be null", orcidWork.getWorkTitle().getSubtitle());
}
Also used : Subtitle(org.orcid.jaxb.model.message.Subtitle) WorkExternalIdentifiers(org.orcid.jaxb.model.message.WorkExternalIdentifiers) WorkTitle(org.orcid.jaxb.model.message.WorkTitle) OrcidWork(org.orcid.jaxb.model.message.OrcidWork) WorkExternalIdentifierId(org.orcid.jaxb.model.message.WorkExternalIdentifierId) WorkTitle(org.orcid.jaxb.model.message.WorkTitle) Title(org.orcid.jaxb.model.message.Title) WorkExternalIdentifier(org.orcid.jaxb.model.message.WorkExternalIdentifier) BaseTest(org.orcid.core.BaseTest) Test(org.junit.Test)

Example 12 with WorkExternalIdentifierId

use of org.orcid.jaxb.model.message.WorkExternalIdentifierId in project ORCID-Source by ORCID.

the class OrcidProfileManagerBaseTest method createWork2Identifiers.

protected WorkExternalIdentifiers createWork2Identifiers() {
    WorkExternalIdentifiers work2ExternalIdentifiers = new WorkExternalIdentifiers();
    WorkExternalIdentifier work2ExternalIdentifier1 = new WorkExternalIdentifier();
    work2ExternalIdentifier1.setWorkExternalIdentifierType(WorkExternalIdentifierType.DOI);
    work2ExternalIdentifier1.setWorkExternalIdentifierId(new WorkExternalIdentifierId("work2-doi1"));
    WorkExternalIdentifier work2ExternalIdentifier2 = new WorkExternalIdentifier();
    work2ExternalIdentifier2.setWorkExternalIdentifierType(WorkExternalIdentifierType.PMID);
    work2ExternalIdentifier2.setWorkExternalIdentifierId(new WorkExternalIdentifierId("work2-pmid"));
    work2ExternalIdentifiers.getWorkExternalIdentifier().add(work2ExternalIdentifier1);
    work2ExternalIdentifiers.getWorkExternalIdentifier().add(work2ExternalIdentifier2);
    return work2ExternalIdentifiers;
}
Also used : WorkExternalIdentifiers(org.orcid.jaxb.model.message.WorkExternalIdentifiers) WorkExternalIdentifierId(org.orcid.jaxb.model.message.WorkExternalIdentifierId) WorkExternalIdentifier(org.orcid.jaxb.model.message.WorkExternalIdentifier)

Example 13 with WorkExternalIdentifierId

use of org.orcid.jaxb.model.message.WorkExternalIdentifierId in project ORCID-Source by ORCID.

the class OrcidProfileManagerImplTest method testDuplicatedExternalIdentifiersThrowsException.

@Test
@Transactional
@Rollback(true)
public void testDuplicatedExternalIdentifiersThrowsException() {
    OrcidWork work2 = createWork2();
    OrcidWork work3 = createWork3();
    WorkExternalIdentifier sharedExternalIdentifier1 = new WorkExternalIdentifier();
    sharedExternalIdentifier1.setWorkExternalIdentifierType(WorkExternalIdentifierType.DOI);
    sharedExternalIdentifier1.setWorkExternalIdentifierId(new WorkExternalIdentifierId("shared-doi1"));
    work2.getWorkExternalIdentifiers().getWorkExternalIdentifier().add(sharedExternalIdentifier1);
    work3.getWorkExternalIdentifiers().getWorkExternalIdentifier().add(sharedExternalIdentifier1);
    OrcidProfile profile = createBasicProfile();
    profile = orcidProfileManager.createOrcidProfile(profile, false, false);
    assertNotNull(profile);
    assertNotNull(profile.getOrcidActivities());
    assertNotNull(profile.getOrcidActivities().getOrcidWorks());
    assertNotNull(profile.getOrcidActivities().getOrcidWorks().getOrcidWork());
    assertEquals(1, profile.getOrcidActivities().getOrcidWorks().getOrcidWork().size());
    profile.getOrcidActivities().getOrcidWorks().getOrcidWork().add(work2);
    profile.getOrcidActivities().getOrcidWorks().getOrcidWork().add(work3);
    try {
        orcidProfileManager.addOrcidWorks(profile);
        fail("This should not pass since we add works with duplicated external identifiers");
    } catch (IllegalArgumentException iae) {
        assertEquals("Works \"Test Title # 2\" and \"Test Title # 3\" have the same external id \"shared-doi1\"", iae.getMessage());
    }
}
Also used : OrcidProfile(org.orcid.jaxb.model.message.OrcidProfile) OrcidWork(org.orcid.jaxb.model.message.OrcidWork) WorkExternalIdentifierId(org.orcid.jaxb.model.message.WorkExternalIdentifierId) WorkExternalIdentifier(org.orcid.jaxb.model.message.WorkExternalIdentifier) Test(org.junit.Test) Rollback(org.springframework.test.annotation.Rollback) Transactional(org.springframework.transaction.annotation.Transactional)

Example 14 with WorkExternalIdentifierId

use of org.orcid.jaxb.model.message.WorkExternalIdentifierId in project ORCID-Source by ORCID.

the class OrcidProfileManagerBaseTest method createWork3Identifiers.

protected WorkExternalIdentifiers createWork3Identifiers() {
    WorkExternalIdentifiers work3ExternalIdentifiers = new WorkExternalIdentifiers();
    WorkExternalIdentifier work3ExternalIdentifier1 = new WorkExternalIdentifier();
    work3ExternalIdentifier1.setWorkExternalIdentifierType(WorkExternalIdentifierType.DOI);
    work3ExternalIdentifier1.setWorkExternalIdentifierId(new WorkExternalIdentifierId("work3-doi1"));
    WorkExternalIdentifier work3ExternalIdentifier2 = new WorkExternalIdentifier();
    work3ExternalIdentifier2.setWorkExternalIdentifierType(WorkExternalIdentifierType.PMID);
    work3ExternalIdentifier2.setWorkExternalIdentifierId(new WorkExternalIdentifierId("work3-doi2"));
    work3ExternalIdentifiers.getWorkExternalIdentifier().add(work3ExternalIdentifier1);
    work3ExternalIdentifiers.getWorkExternalIdentifier().add(work3ExternalIdentifier2);
    return work3ExternalIdentifiers;
}
Also used : WorkExternalIdentifiers(org.orcid.jaxb.model.message.WorkExternalIdentifiers) WorkExternalIdentifierId(org.orcid.jaxb.model.message.WorkExternalIdentifierId) WorkExternalIdentifier(org.orcid.jaxb.model.message.WorkExternalIdentifier)

Example 15 with WorkExternalIdentifierId

use of org.orcid.jaxb.model.message.WorkExternalIdentifierId in project ORCID-Source by ORCID.

the class OrcidProfileManagerImplTest method getWorkInsideOrcidProfile.

private OrcidProfile getWorkInsideOrcidProfile(String defaultTitle, String orcid) {
    OrcidWork orcidWork = new OrcidWork();
    //Set title
    WorkTitle title = new WorkTitle();
    if (defaultTitle != null)
        title.setTitle(new Title(defaultTitle));
    else
        title.setTitle(new Title("Title"));
    orcidWork.setWorkTitle(title);
    //Set external identifiers
    WorkExternalIdentifier extId1 = new WorkExternalIdentifier();
    extId1.setWorkExternalIdentifierId(new WorkExternalIdentifierId("doi-" + defaultTitle));
    extId1.setWorkExternalIdentifierType(WorkExternalIdentifierType.DOI);
    WorkExternalIdentifier extId2 = new WorkExternalIdentifier();
    if (defaultTitle != null)
        extId2.setWorkExternalIdentifierId(new WorkExternalIdentifierId("issn-" + defaultTitle));
    else
        extId2.setWorkExternalIdentifierId(new WorkExternalIdentifierId("issn-" + System.currentTimeMillis()));
    extId2.setWorkExternalIdentifierType(WorkExternalIdentifierType.ISSN);
    WorkExternalIdentifiers extIds = new WorkExternalIdentifiers();
    extIds.getWorkExternalIdentifier().add(extId1);
    extIds.getWorkExternalIdentifier().add(extId2);
    orcidWork.setWorkExternalIdentifiers(extIds);
    orcidWork.setWorkType(WorkType.ARTISTIC_PERFORMANCE);
    OrcidProfile profile = new OrcidProfile();
    profile.setOrcidIdentifier(orcid);
    List<OrcidWork> workList = new ArrayList<OrcidWork>();
    workList.add(orcidWork);
    OrcidWorks orcidWorks = new OrcidWorks();
    orcidWorks.setOrcidWork(workList);
    profile.setOrcidWorks(orcidWorks);
    return profile;
}
Also used : OrcidProfile(org.orcid.jaxb.model.message.OrcidProfile) WorkExternalIdentifiers(org.orcid.jaxb.model.message.WorkExternalIdentifiers) WorkTitle(org.orcid.jaxb.model.message.WorkTitle) OrcidWork(org.orcid.jaxb.model.message.OrcidWork) WorkExternalIdentifierId(org.orcid.jaxb.model.message.WorkExternalIdentifierId) ArrayList(java.util.ArrayList) Title(org.orcid.jaxb.model.message.Title) WorkTitle(org.orcid.jaxb.model.message.WorkTitle) FundingTitle(org.orcid.jaxb.model.message.FundingTitle) WorkExternalIdentifier(org.orcid.jaxb.model.message.WorkExternalIdentifier) OrcidWorks(org.orcid.jaxb.model.message.OrcidWorks)

Aggregations

WorkExternalIdentifier (org.orcid.jaxb.model.message.WorkExternalIdentifier)17 WorkExternalIdentifierId (org.orcid.jaxb.model.message.WorkExternalIdentifierId)17 WorkExternalIdentifiers (org.orcid.jaxb.model.message.WorkExternalIdentifiers)15 OrcidWork (org.orcid.jaxb.model.message.OrcidWork)12 Title (org.orcid.jaxb.model.message.Title)10 WorkTitle (org.orcid.jaxb.model.message.WorkTitle)10 OrcidProfile (org.orcid.jaxb.model.message.OrcidProfile)9 FundingTitle (org.orcid.jaxb.model.message.FundingTitle)8 OrcidWorks (org.orcid.jaxb.model.message.OrcidWorks)7 Test (org.junit.Test)6 OrcidActivities (org.orcid.jaxb.model.message.OrcidActivities)6 OrcidMessage (org.orcid.jaxb.model.message.OrcidMessage)5 OrcidIdentifier (org.orcid.jaxb.model.message.OrcidIdentifier)4 DBUnitTest (org.orcid.test.DBUnitTest)4 Transactional (org.springframework.transaction.annotation.Transactional)4 Response (javax.ws.rs.core.Response)2 CreditName (org.orcid.jaxb.model.message.CreditName)2 ClientResponse (com.sun.jersey.api.client.ClientResponse)1 ArrayList (java.util.ArrayList)1 XMLGregorianCalendar (javax.xml.datatype.XMLGregorianCalendar)1