diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java index e5f348f411f462123ab37c65da669aecbc6f144e..cc931ec775316920f6bc3ec5f5c01246a279e89b 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/CommonServer.java @@ -3995,7 +3995,7 @@ public final class CommonServer extends AbstractCommonServer<ICommonServerForInt Session session = getSession(sessionToken); IMetaprojectBO metaprojectBO = getBusinessObjectFactory().createMetaprojectBO(session); - metaprojectBO.define(registration); + metaprojectBO.define(session.tryGetPerson().getUserId(), registration); metaprojectBO.save(); return MetaprojectTranslator.translate(metaprojectBO.getMetaproject()); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java index 060e50aa8bd593c07b8cf92d962099009718fa34..ffdc4659f50133c54292c221658ec874b201c6b8 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ETLService.java @@ -1803,7 +1803,7 @@ public class ETLService extends AbstractCommonServer<IETLLIMSService> implements Metaproject registration = new Metaproject(); registration.setName(metaproject.getName()); registration.setDescription(metaproject.getDescription()); - metaprojectBO.define(registration); + metaprojectBO.define(metaproject.getOwnerId(), registration); metaprojectBO.addSamples(metaproject.getSamples()); metaprojectBO.addExperiments(metaproject.getExperiments()); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/IMetaprojectBO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/IMetaprojectBO.java index 95fad2b335b56dae0ada6120525116739c9214c3..8873c78d607d8cbe249f4489464004bb4bb1c0cd 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/IMetaprojectBO.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/IMetaprojectBO.java @@ -37,7 +37,7 @@ public interface IMetaprojectBO extends IEntityBusinessObject void loadByMetaprojectId(IMetaprojectId metaprojectId); - void define(IMetaprojectRegistration registration); + void define(String ownerId, IMetaprojectRegistration registration); void update(IMetaprojectUpdates updates); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/MetaprojectBO.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/MetaprojectBO.java index 577153cdcd73fdf4fd9e5f47b8cd87041206cc12..9cfbde1c9b1e9750dbcdd9b26bdff42d545f4faa 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/MetaprojectBO.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/business/bo/MetaprojectBO.java @@ -208,7 +208,7 @@ public class MetaprojectBO extends AbstractBusinessObject implements IMetaprojec } @Override - public void define(IMetaprojectRegistration registration) + public void define(String ownerId, IMetaprojectRegistration registration) { if (registration == null) { @@ -222,7 +222,7 @@ public class MetaprojectBO extends AbstractBusinessObject implements IMetaprojec metaproject = new MetaprojectPE(); metaproject.setName(registration.getName()); metaproject.setDescription(registration.getDescription()); - metaproject.setOwner(findPerson()); + metaproject.setOwner(getPersonDAO().tryFindPersonByUserId(ownerId)); metaproject.setPrivate(true); initChangedEntities(); diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java index ffe7bd7adbfacf2d4bb181a5da93e40b52b1864d..af48d604111ec832cc9b27cc788a55a99ce3a8ad 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/generic/server/ETLServiceTest.java @@ -1194,7 +1194,8 @@ public class ETLServiceTest extends AbstractServerTestCase one(boFactory).createMetaprojectBO(userSession); will(returnValue(metaprojectBO)); - one(metaprojectBO).define(with(any(IMetaprojectRegistration.class))); + one(metaprojectBO).define(with(newMetaproject.getOwnerId()), + with(any(IMetaprojectRegistration.class))); one(metaprojectBO).addSamples(null); one(metaprojectBO).addDataSets(null); one(metaprojectBO).addExperiments(null);