use of org.orcid.jaxb.model.record_v2.PersonExternalIdentifier in project ORCID-Source by ORCID.
the class ValidateV2RC4Identifiers method testPerson.
/**
* <external-identifier:external-identifiers>
* <external-identifier:external-identifier visibility="public" put-code="1">
* <common:external-id-type>type-1</common:external-id-type>
* <common:external-id-value>value-1</common:external-id-value>
* <common:external-id-url>http://url.com/1</common:external-id-url>
* <common:created-date>2001-12-31T12:00:00</common:created-date>
* <common:last-modified-date>2001-12-31T12:00:00</common:last-modified-date>
* <common:source>
* <common:source-orcid>
* <common:uri>http://orcid.org/8888-8888-8888-8880</common:uri>
* <common:path>8888-8888-8888-8880</common:path>
* <common:host>orcid.org</common:host>
* </common:source-orcid>
* <common:source-name />
* </common:source>
* </external-identifier:external-identifier>
* </external-identifier:external-identifiers>
*
* @throws SAXException
* @throws IOException
* @throws JAXBException
* @throws ParserConfigurationException
*/
@Test
public void testPerson() throws SAXException, IOException, JAXBException, ParserConfigurationException {
Person person = unmarshallFromPath("/record_2.0_rc4/samples/person-2.0_rc4.xml", Person.class);
assertEquals("credit-name", person.getName().getCreditName().getContent());
assertEquals(1, person.getExternalIdentifiers().getExternalIdentifiers().size());
PersonExternalIdentifier id = person.getExternalIdentifiers().getExternalIdentifiers().get(0);
assertEquals("type-1", id.getType());
assertEquals("value-1", id.getValue());
assertEquals(new Url("http://url.com/1"), id.getUrl());
assertNull(id.getRelationship());
assertNotNull(id.getCreatedDate().getValue());
assertNotNull(id.getLastModifiedDate().getValue());
assertEquals(new Long(1), id.getPutCode());
assertEquals(Visibility.PUBLIC, id.getVisibility());
Validator validator = getValidator("person");
validator.validate(marshall(Person.class, person));
validator.validate(marshallToDOM(Person.class, person));
}
use of org.orcid.jaxb.model.record_v2.PersonExternalIdentifier in project ORCID-Source by ORCID.
the class ExternalIdentifierManagerTest method testAddEqualsExternalIdentifiersFromSameSource.
@Test(expected = OrcidDuplicatedElementException.class)
public void testAddEqualsExternalIdentifiersFromSameSource() {
PersonExternalIdentifier extId = getExternalIdentifier();
extId.setType(extId.getType() + System.currentTimeMillis());
// Create from client # 1
when(sourceManager.retrieveSourceEntity()).thenReturn(new SourceEntity(new ClientDetailsEntity(CLIENT_1_ID)));
PersonExternalIdentifier extId1 = externalIdentifierManager.createExternalIdentifier(claimedOrcid, extId, true);
assertNotNull(extId1);
assertNotNull(extId1.getPutCode());
// Remove the put code and the source
extId1.setPutCode(null);
extId1.setSource(null);
externalIdentifierManager.createExternalIdentifier(claimedOrcid, extId, true);
fail();
}
use of org.orcid.jaxb.model.record_v2.PersonExternalIdentifier in project ORCID-Source by ORCID.
the class Api2_0_rc3_LastModifiedDatesHelper method calculateLastModified.
public static void calculateLastModified(PersonExternalIdentifiers extIds) {
if (extIds != null && extIds.getExternalIdentifiers() != null && !extIds.getExternalIdentifiers().isEmpty()) {
LastModifiedDate latest = null;
for (PersonExternalIdentifier extId : extIds.getExternalIdentifiers()) {
if (extId.getLastModifiedDate() != null && extId.getLastModifiedDate().after(latest)) {
latest = extId.getLastModifiedDate();
}
}
extIds.setLastModifiedDate(latest);
}
}
use of org.orcid.jaxb.model.record_v2.PersonExternalIdentifier in project ORCID-Source by ORCID.
the class JpaJaxbExternalIdentifierAdapterTest method fromExternalIdentifierEntityToExternalIdentifier.
@Test
public void fromExternalIdentifierEntityToExternalIdentifier() {
ExternalIdentifierEntity entity = getExternalIdentifierEntity();
PersonExternalIdentifier extId = jpaJaxbExternalIdentifierAdapter.toExternalIdentifier(entity);
assertNotNull(extId);
assertNotNull(extId.getCreatedDate());
assertNotNull(extId.getCreatedDate().getValue());
assertNotNull(extId.getLastModifiedDate());
assertNotNull(extId.getLastModifiedDate().getValue());
assertEquals("common-name", extId.getType());
assertEquals("id-reference", extId.getValue());
assertNotNull(extId.getUrl());
assertEquals("http://myurl.com", extId.getUrl().getValue());
assertEquals(Long.valueOf(123), extId.getPutCode());
assertNotNull(extId.getSource());
assertEquals("APP-0000000000000000", extId.getSource().retrieveSourcePath());
assertEquals(Visibility.LIMITED.value(), extId.getVisibility().value());
assertNotNull(extId.getCreatedDate());
assertNotNull(extId.getLastModifiedDate());
}
use of org.orcid.jaxb.model.record_v2.PersonExternalIdentifier in project ORCID-Source by ORCID.
the class JpaJaxbExternalIdentifierAdapterImpl method toExternalIdentifierList.
@Override
public PersonExternalIdentifiers toExternalIdentifierList(Collection<ExternalIdentifierEntity> entities) {
if (entities == null) {
return null;
}
List<PersonExternalIdentifier> externalIdentifier = mapperFacade.mapAsList(entities, PersonExternalIdentifier.class);
for (PersonExternalIdentifier e : externalIdentifier) {
e.setRelationship(Relationship.SELF);
}
PersonExternalIdentifiers externalIdentifiers = new PersonExternalIdentifiers();
externalIdentifiers.setExternalIdentifiers(externalIdentifier);
return externalIdentifiers;
}
Aggregations