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());
}
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());
}
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;
}
Aggregations