diff --git a/dspace-api/src/main/java/org/dspace/eperson/EPerson.java b/dspace-api/src/main/java/org/dspace/eperson/EPerson.java index 83c0ed7a06..5b8dc56562 100644 --- a/dspace-api/src/main/java/org/dspace/eperson/EPerson.java +++ b/dspace-api/src/main/java/org/dspace/eperson/EPerson.java @@ -366,7 +366,7 @@ public class EPerson extends CacheableDSpaceObject implements DSpaceObjectLegacy @Override public String getName() { - return getEmail(); + return this.getFullName(); } String getDigestAlgorithm() { diff --git a/dspace-api/src/main/java/org/dspace/profile/ResearcherProfileServiceImpl.java b/dspace-api/src/main/java/org/dspace/profile/ResearcherProfileServiceImpl.java index 5de1ffa4ac..b2466b33b5 100644 --- a/dspace-api/src/main/java/org/dspace/profile/ResearcherProfileServiceImpl.java +++ b/dspace-api/src/main/java/org/dspace/profile/ResearcherProfileServiceImpl.java @@ -283,6 +283,8 @@ public class ResearcherProfileServiceImpl implements ResearcherProfileService { itemService.addMetadata(context, item, "dc", "title", null, null, fullName); itemService.addMetadata(context, item, "person", "email", null, null, ePerson.getEmail()); itemService.addMetadata(context, item, "dspace", "object", "owner", null, fullName, id, CF_ACCEPTED); + itemService.addMetadata(context, item, "person", "familyName", null, null, ePerson.getLastName()); + itemService.addMetadata(context, item, "person", "givenName", null, null, ePerson.getFirstName()); item = installItemService.installItem(context, workspaceItem); diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/ResearcherProfileRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/ResearcherProfileRestRepositoryIT.java index f8c33c8af2..d3acc0bdbb 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/ResearcherProfileRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/ResearcherProfileRestRepositoryIT.java @@ -144,6 +144,7 @@ public class ResearcherProfileRestRepositoryIT extends AbstractControllerIntegra user = EPersonBuilder.createEPerson(context) .withEmail("user@example.com") + .withNameInMetadata("Example", "User") .withPassword(password) .build(); @@ -323,7 +324,7 @@ public class ResearcherProfileRestRepositoryIT extends AbstractControllerIntegra public void testCreateAndReturn() throws Exception { String id = user.getID().toString(); - String name = user.getName(); + String name = user.getFullName(); String authToken = getAuthToken(user.getEmail(), password); @@ -342,6 +343,8 @@ public class ResearcherProfileRestRepositoryIT extends AbstractControllerIntegra .andExpect(status().isOk()) .andExpect(jsonPath("$.type", is("item"))) .andExpect(jsonPath("$.metadata", matchMetadata("dspace.object.owner", name, id, 0))) + .andExpect(jsonPath("$.metadata", matchMetadata("person.givenName", user.getFirstName(), 0))) + .andExpect(jsonPath("$.metadata", matchMetadata("person.familyName", user.getLastName(), 0))) .andExpect(jsonPath("$.metadata", matchMetadata("dspace.entity.type", "Person", 0))); getClient(authToken).perform(get("/api/eperson/profiles/{id}/eperson", id)) @@ -391,7 +394,7 @@ public class ResearcherProfileRestRepositoryIT extends AbstractControllerIntegra public void testCreateAndReturnWithAdmin() throws Exception { String id = user.getID().toString(); - String name = user.getName(); + String name = user.getFullName(); configurationService.setProperty("researcher-profile.collection.uuid", null); @@ -412,6 +415,8 @@ public class ResearcherProfileRestRepositoryIT extends AbstractControllerIntegra getClient(authToken).perform(get("/api/eperson/profiles/{id}/item", id)) .andExpect(status().isOk()) .andExpect(jsonPath("$.type", is("item"))) + .andExpect(jsonPath("$.metadata", matchMetadata("person.givenName", user.getFirstName(), 0))) + .andExpect(jsonPath("$.metadata", matchMetadata("person.familyName", user.getLastName(), 0))) .andExpect(jsonPath("$.metadata", matchMetadata("dspace.object.owner", name, id, 0))) .andExpect(jsonPath("$.metadata", matchMetadata("dspace.entity.type", "Person", 0)));