From 2b34ff246896552688f5b6fe58a621b209f6e6de Mon Sep 17 00:00:00 2001 From: pkupczyk <pkupczyk> Date: Wed, 5 Dec 2012 09:43:11 +0000 Subject: [PATCH] fix a bug where a metaproject owner was lost during registration from a dropbox SVN: 27865 --- .../ch/systemsx/cisd/openbis/generic/server/CommonServer.java | 2 +- .../ch/systemsx/cisd/openbis/generic/server/ETLService.java | 2 +- .../openbis/generic/server/business/bo/IMetaprojectBO.java | 2 +- .../openbis/generic/server/business/bo/MetaprojectBO.java | 4 ++-- .../systemsx/cisd/openbis/generic/server/ETLServiceTest.java | 3 ++- 5 files changed, 7 insertions(+), 6 deletions(-) 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 e5f348f411f..cc931ec7753 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 060e50aa8bd..ffdc4659f50 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 95fad2b335b..8873c78d607 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 577153cdcd7..9cfbde1c9b1 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 ffe7bd7adbf..af48d604111 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); -- GitLab