use of org.orcid.jaxb.model.record_rc2.OtherName in project ORCID-Source by ORCID.
the class MemberV2ApiServiceDelegator_OtherNamesTest method testUpdateOtherName.
@Test
public void testUpdateOtherName() {
SecurityContextTestUtils.setUpSecurityContext("4444-4444-4444-4443", ScopePathType.PERSON_READ_LIMITED, ScopePathType.PERSON_UPDATE);
Response response = serviceDelegator.viewOtherName("4444-4444-4444-4443", 1L);
assertNotNull(response);
OtherName otherName = (OtherName) response.getEntity();
assertNotNull(otherName);
Utils.verifyLastModified(otherName.getLastModifiedDate());
LastModifiedDate before = otherName.getLastModifiedDate();
assertEquals("Slibberdy Slabinah", otherName.getContent());
assertEquals(Visibility.PUBLIC, otherName.getVisibility());
otherName.setContent("Updated Other Name");
response = serviceDelegator.updateOtherName("4444-4444-4444-4443", 1L, otherName);
assertNotNull(response);
assertEquals(Response.Status.OK.getStatusCode(), response.getStatus());
response = serviceDelegator.viewOtherName("4444-4444-4444-4443", 1L);
assertNotNull(response);
OtherName updatedOtherName = (OtherName) response.getEntity();
assertNotNull(updatedOtherName);
Utils.verifyLastModified(updatedOtherName.getLastModifiedDate());
assertTrue(updatedOtherName.getLastModifiedDate().after(before));
assertEquals("Updated Other Name", updatedOtherName.getContent());
assertEquals(Visibility.PUBLIC, updatedOtherName.getVisibility());
}
use of org.orcid.jaxb.model.record_rc2.OtherName in project ORCID-Source by ORCID.
the class JpaJaxbOtherNameAdapterImpl method toMinimizedOtherNameList.
@Override
public OtherNames toMinimizedOtherNameList(Collection<OtherNameEntity> entities) {
if (entities == null) {
return null;
}
List<OtherName> otherNameList = mapperFacade.mapAsList(entities, OtherName.class);
for (OtherName otherName : otherNameList) {
otherName.setCreatedDate(null);
otherName.setSource(null);
}
OtherNames otherNames = new OtherNames();
otherNames.setOtherNames(otherNameList);
return otherNames;
}
use of org.orcid.jaxb.model.record_rc2.OtherName in project ORCID-Source by ORCID.
the class Api2_0_LastModifiedDatesHelper method calculateLastModified.
public static void calculateLastModified(OtherNames otherNames) {
if (otherNames != null && otherNames.getOtherNames() != null && !otherNames.getOtherNames().isEmpty()) {
LastModifiedDate latest = null;
for (OtherName otherName : otherNames.getOtherNames()) {
if (otherName.getLastModifiedDate() != null && otherName.getLastModifiedDate().after(latest)) {
latest = otherName.getLastModifiedDate();
}
}
otherNames.setLastModifiedDate(latest);
}
}
use of org.orcid.jaxb.model.record_rc2.OtherName in project ORCID-Source by ORCID.
the class OrcidSecurityManager_generalTest method testPersonalDetails_When_SomePrivate_ReadPublicToken.
@Test
public void testPersonalDetails_When_SomePrivate_ReadPublicToken() {
SecurityContextTestUtils.setUpSecurityContext(ORCID_1, CLIENT_1, ScopePathType.READ_PUBLIC);
Name name = createName(Visibility.PUBLIC);
Biography bio = createBiography(Visibility.PRIVATE);
OtherName o1 = createOtherName(Visibility.PRIVATE, CLIENT_2);
OtherName o2 = createOtherName(Visibility.PRIVATE, CLIENT_2);
OtherName o3 = createOtherName(Visibility.PUBLIC, CLIENT_2);
OtherNames otherNames = new OtherNames();
otherNames.setOtherNames(new ArrayList<OtherName>(Arrays.asList(o1, o2, o3)));
PersonalDetails p = new PersonalDetails();
p.setBiography(bio);
p.setName(name);
p.setOtherNames(otherNames);
orcidSecurityManager.checkAndFilter(ORCID_1, p);
assertNotNull(p);
assertEquals(name, p.getName());
assertNull(p.getBiography());
assertNotNull(p.getOtherNames());
assertNotNull(p.getOtherNames().getOtherNames());
assertEquals(1, p.getOtherNames().getOtherNames().size());
assertFalse(p.getOtherNames().getOtherNames().contains(o1));
assertFalse(p.getOtherNames().getOtherNames().contains(o2));
assertTrue(p.getOtherNames().getOtherNames().contains(o3));
}
use of org.orcid.jaxb.model.record_rc2.OtherName in project ORCID-Source by ORCID.
the class OrcidSecurityManager_generalTest method testPersonalDetails_When_SomeLimited_NoSource_ReadLimitedToken.
@Test
public void testPersonalDetails_When_SomeLimited_NoSource_ReadLimitedToken() {
SecurityContextTestUtils.setUpSecurityContext(ORCID_1, CLIENT_1, ScopePathType.ORCID_BIO_READ_LIMITED);
Name name = createName(Visibility.LIMITED);
Biography bio = createBiography(Visibility.LIMITED);
OtherName o1 = createOtherName(Visibility.PUBLIC, CLIENT_2);
OtherName o2 = createOtherName(Visibility.LIMITED, CLIENT_2);
OtherName o3 = createOtherName(Visibility.LIMITED, CLIENT_2);
OtherNames otherNames = new OtherNames();
otherNames.setOtherNames(new ArrayList<OtherName>(Arrays.asList(o1, o2, o3)));
PersonalDetails p = new PersonalDetails();
p.setBiography(bio);
p.setName(name);
p.setOtherNames(otherNames);
orcidSecurityManager.checkAndFilter(ORCID_1, p);
assertNotNull(p);
assertEquals(name, p.getName());
assertEquals(bio, p.getBiography());
assertNotNull(p.getOtherNames());
assertNotNull(p.getOtherNames().getOtherNames());
assertEquals(3, p.getOtherNames().getOtherNames().size());
assertTrue(p.getOtherNames().getOtherNames().contains(o1));
assertTrue(p.getOtherNames().getOtherNames().contains(o2));
assertTrue(p.getOtherNames().getOtherNames().contains(o3));
}
Aggregations