diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/person/UpdatePersonExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/person/UpdatePersonExecutor.java index 2751d02dc8a9b0af77cc8b3a15734e9d8995c1d3..d7d592221ba31ed1ccb81616928b7a4a3717fcaa 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/person/UpdatePersonExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/person/UpdatePersonExecutor.java @@ -34,6 +34,7 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.entity.AbstractUpdateEntityExecutor; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.CommonUtils; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.batch.MapBatch; +import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.openbis.generic.server.business.bo.DataAccessExceptionTranslator; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IRoleAssignmentDAO; @@ -75,6 +76,17 @@ public class UpdatePersonExecutor @Override protected void checkData(IOperationContext context, PersonUpdate update) { + if (update.getPersonId() == null) + { + PersonPE person = context.getSession().tryGetPerson(); + if (person != null) + { + update.setPersonId(new PersonPermId(person.getUserId())); + } else + { + throw new UserFailureException("Person to be updated not specified."); + } + } } @Override diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/UpdatePersonTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/UpdatePersonTest.java index bddaf75fc03392c118be1b2fb796b1e1a091c8f9..5c340221befc2bf0ddf4c798155483b71ef80607 100644 --- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/UpdatePersonTest.java +++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/UpdatePersonTest.java @@ -108,7 +108,7 @@ public class UpdatePersonTest extends AbstractTest String sessionToken = v3api.login(TEST_GROUP_OBSERVER, PASSWORD); PersonUpdate personUpdate = new PersonUpdate(); PersonPermId personId = new PersonPermId(TEST_GROUP_OBSERVER); - personUpdate.setPersonId(personId); +// personUpdate.setPersonId(personId); personUpdate.setHomeSpaceId(new SpacePermId("TESTGROUP")); // When