Search in sources :

Example 16 with Organization

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

the class T2OrcidApiServiceVersionedDelegatorTest method preventDuplicatedAffiliations2Test.

@Test
public void preventDuplicatedAffiliations2Test() {
    setUpSecurityContext("4444-4444-4444-4499");
    OrcidMessage orcidMessage = buildMessageWithAffiliation(AffiliationType.EDUCATION, "My dept", "My Role", "4444-4444-4444-4499");
    // Set an existing organization, but, with a bad disambiguated org
    Organization organization = new Organization();
    organization.setName("An institution");
    OrganizationAddress orgAdd = new OrganizationAddress();
    orgAdd.setCity("London");
    orgAdd.setCountry(Iso3166Country.GB);
    DisambiguatedOrganization dorg = new DisambiguatedOrganization();
    dorg.setDisambiguatedOrganizationIdentifier("XXX");
    dorg.setDisambiguationSource("123456");
    organization.setAddress(orgAdd);
    organization.setDisambiguatedOrganization(dorg);
    orcidMessage.getOrcidProfile().getOrcidActivities().getAffiliations().getAffiliation().get(0).setOrganization(organization);
    Response response = t2OrcidApiServiceDelegatorLatest.addAffiliations(mockedUriInfo, "4444-4444-4444-4499", orcidMessage);
    assertNotNull(response);
    assertEquals(Response.Status.CREATED.getStatusCode(), response.getStatus());
    assertEquals(1, orgAffiliationRelationDao.getByUserAndType("4444-4444-4444-4499", org.orcid.jaxb.model.v3.dev1.record.AffiliationType.EDUCATION).size());
    orcidMessage = buildMessageWithAffiliation(AffiliationType.EDUCATION, "My dept", "My Role", "4444-4444-4444-4499");
    // Set an existing organization, but, with a bad disambiguated org
    organization = new Organization();
    organization.setName("An institution");
    orgAdd = new OrganizationAddress();
    orgAdd.setCity("London");
    orgAdd.setCountry(Iso3166Country.GB);
    dorg = new DisambiguatedOrganization();
    dorg.setDisambiguatedOrganizationIdentifier("YYY");
    dorg.setDisambiguationSource("654321");
    organization.setAddress(orgAdd);
    organization.setDisambiguatedOrganization(dorg);
    orcidMessage.getOrcidProfile().getOrcidActivities().getAffiliations().getAffiliation().get(0).setOrganization(organization);
    response = t2OrcidApiServiceDelegatorLatest.addAffiliations(mockedUriInfo, "4444-4444-4444-4499", orcidMessage);
    assertNotNull(response);
    assertEquals(Response.Status.CREATED.getStatusCode(), response.getStatus());
    assertEquals(1, orgAffiliationRelationDao.getByUserAndType("4444-4444-4444-4499", org.orcid.jaxb.model.v3.dev1.record.AffiliationType.EDUCATION).size());
    OrgAffiliationRelationEntity orgEntity = orgAffiliationRelationDao.getByUserAndType("4444-4444-4444-4499", org.orcid.jaxb.model.v3.dev1.record.AffiliationType.EDUCATION).get(0);
    assertNotNull(orgEntity);
    assertNotNull(orgEntity.getOrg());
    assertEquals("An institution", orgEntity.getOrg().getName());
    assertEquals("London", orgEntity.getOrg().getCity());
    assertEquals(Iso3166Country.GB, orgEntity.getOrg().getCountry());
    assertEquals(Long.valueOf(1), orgEntity.getOrg().getId());
    assertNotNull(orgEntity.getOrg().getOrgDisambiguated());
    assertEquals("London", orgEntity.getOrg().getOrgDisambiguated().getCity());
    assertEquals(Iso3166Country.GB, orgEntity.getOrg().getOrgDisambiguated().getCountry());
    assertEquals(Long.valueOf(1), orgEntity.getOrg().getOrgDisambiguated().getId());
}
Also used : Response(javax.ws.rs.core.Response) DisambiguatedOrganization(org.orcid.jaxb.model.message.DisambiguatedOrganization) Organization(org.orcid.jaxb.model.message.Organization) DisambiguatedOrganization(org.orcid.jaxb.model.message.DisambiguatedOrganization) OrcidMessage(org.orcid.jaxb.model.message.OrcidMessage) OrganizationAddress(org.orcid.jaxb.model.message.OrganizationAddress) OrgAffiliationRelationEntity(org.orcid.persistence.jpa.entities.OrgAffiliationRelationEntity) DBUnitTest(org.orcid.test.DBUnitTest) Test(org.junit.Test)

Example 17 with Organization

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

the class T2OrcidApiServiceVersionedDelegatorTest method addAffiliationTest.

@Test
public void addAffiliationTest() {
    setUpSecurityContext();
    OrcidMessage orcidMessage = new OrcidMessage();
    orcidMessage.setMessageVersion("1.2");
    OrcidProfile orcidProfile = new OrcidProfile();
    orcidMessage.setOrcidProfile(orcidProfile);
    orcidProfile.setOrcidIdentifier(new OrcidIdentifier("4444-4444-4444-4441"));
    OrcidActivities orcidActivities = new OrcidActivities();
    orcidProfile.setOrcidActivities(orcidActivities);
    Affiliations affiliations = new Affiliations();
    Affiliation affiliation = new Affiliation();
    affiliation.setStartDate(new FuzzyDate(2010, 01, 01));
    affiliation.setEndDate(new FuzzyDate(2015, 01, 01));
    affiliation.setDepartmentName("Dep Name");
    affiliation.setRoleTitle("Role Title");
    affiliation.setType(AffiliationType.EDUCATION);
    Organization organization = new Organization();
    organization.setName("My Org");
    OrganizationAddress add = new OrganizationAddress();
    add.setCity("My City");
    add.setCountry(Iso3166Country.US);
    organization.setAddress(add);
    affiliation.setOrganization(organization);
    affiliations.getAffiliation().add(affiliation);
    orcidActivities.setAffiliations(affiliations);
    Response response = t2OrcidApiServiceDelegatorLatest.addAffiliations(mockedUriInfo, "4444-4444-4444-4441", orcidMessage);
    assertNotNull(response);
    assertEquals(Response.Status.CREATED.getStatusCode(), response.getStatus());
    assertEquals(1, orgAffiliationRelationDao.getByUserAndType("4444-4444-4444-4441", org.orcid.jaxb.model.v3.dev1.record.AffiliationType.EDUCATION).size());
}
Also used : OrcidProfile(org.orcid.jaxb.model.message.OrcidProfile) Response(javax.ws.rs.core.Response) DisambiguatedOrganization(org.orcid.jaxb.model.message.DisambiguatedOrganization) Organization(org.orcid.jaxb.model.message.Organization) Affiliations(org.orcid.jaxb.model.message.Affiliations) OrcidIdentifier(org.orcid.jaxb.model.message.OrcidIdentifier) OrcidMessage(org.orcid.jaxb.model.message.OrcidMessage) OrganizationAddress(org.orcid.jaxb.model.message.OrganizationAddress) FuzzyDate(org.orcid.jaxb.model.message.FuzzyDate) OrcidActivities(org.orcid.jaxb.model.message.OrcidActivities) Affiliation(org.orcid.jaxb.model.message.Affiliation) DBUnitTest(org.orcid.test.DBUnitTest) Test(org.junit.Test)

Example 18 with Organization

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

the class Jaxb2JpaAdapterImpl method getOrgEntity.

/**
 * Get an OrgEntity object based on the provided orcidGrant
 *
 * @param orcidGrant
 * @return a OrgEntity based on the provided OrcidGrant
 */
private OrgEntity getOrgEntity(Funding orcidFunding) {
    if (orcidFunding != null) {
        OrgEntity orgEntity = new OrgEntity();
        Organization organization = orcidFunding.getOrganization();
        orgEntity.setName(organization.getName());
        OrganizationAddress address = organization.getAddress();
        orgEntity.setCity(address.getCity());
        orgEntity.setRegion(address.getRegion());
        orgEntity.setCountry(address.getCountry());
        if (organization.getDisambiguatedOrganization() != null && organization.getDisambiguatedOrganization().getDisambiguatedOrganizationIdentifier() != null) {
            orgEntity.setOrgDisambiguated(orgDisambiguatedDao.findBySourceIdAndSourceType(organization.getDisambiguatedOrganization().getDisambiguatedOrganizationIdentifier(), organization.getDisambiguatedOrganization().getDisambiguationSource()));
        }
        return orgManager.createUpdate(orgEntity);
    }
    return null;
}
Also used : Organization(org.orcid.jaxb.model.message.Organization) OrganizationAddress(org.orcid.jaxb.model.message.OrganizationAddress) OrgEntity(org.orcid.persistence.jpa.entities.OrgEntity)

Aggregations

Organization (org.orcid.jaxb.model.message.Organization)18 OrganizationAddress (org.orcid.jaxb.model.message.OrganizationAddress)16 OrcidProfile (org.orcid.jaxb.model.message.OrcidProfile)13 Affiliation (org.orcid.jaxb.model.message.Affiliation)12 OrcidActivities (org.orcid.jaxb.model.message.OrcidActivities)11 OrcidMessage (org.orcid.jaxb.model.message.OrcidMessage)11 Test (org.junit.Test)10 Affiliations (org.orcid.jaxb.model.message.Affiliations)10 OrcidIdentifier (org.orcid.jaxb.model.message.OrcidIdentifier)8 DBUnitTest (org.orcid.test.DBUnitTest)8 Response (javax.ws.rs.core.Response)5 FuzzyDate (org.orcid.jaxb.model.message.FuzzyDate)4 OrgEntity (org.orcid.persistence.jpa.entities.OrgEntity)4 Transactional (org.springframework.transaction.annotation.Transactional)4 DisambiguatedOrganization (org.orcid.jaxb.model.message.DisambiguatedOrganization)3 Funding (org.orcid.jaxb.model.message.Funding)3 FundingExternalIdentifier (org.orcid.jaxb.model.message.FundingExternalIdentifier)3 FundingExternalIdentifiers (org.orcid.jaxb.model.message.FundingExternalIdentifiers)3 FundingList (org.orcid.jaxb.model.message.FundingList)3 FundingTitle (org.orcid.jaxb.model.message.FundingTitle)3