From 5f7999f6aaf243f9eaadb684dc5200aeeff662bf Mon Sep 17 00:00:00 2001 From: felmer <franz-josef.elmer@id.ethz.ch> Date: Mon, 26 Mar 2018 08:25:36 +0200 Subject: [PATCH] SSDM-2366: bug fixed in CreateDataSetTypesExecutor. ReportingServiceTest fixed. --- .../api/v3/ReportingServiceTest.java | 1 + .../dataset/CreateDataSetTypesExecutor.java | 15 ++++++++++++-- .../AbstractCreateEntityTypeExecutor.java | 2 +- .../CommonAuthorizationSystemTestService.java | 20 +++++++++++++++++++ 4 files changed, 35 insertions(+), 3 deletions(-) diff --git a/datastore_server/sourceTest/java/ch/ethz/sis/openbis/generic/dss/systemtest/api/v3/ReportingServiceTest.java b/datastore_server/sourceTest/java/ch/ethz/sis/openbis/generic/dss/systemtest/api/v3/ReportingServiceTest.java index 624c038e39e..09141aa5def 100644 --- a/datastore_server/sourceTest/java/ch/ethz/sis/openbis/generic/dss/systemtest/api/v3/ReportingServiceTest.java +++ b/datastore_server/sourceTest/java/ch/ethz/sis/openbis/generic/dss/systemtest/api/v3/ReportingServiceTest.java @@ -110,6 +110,7 @@ public class ReportingServiceTest extends AbstractFileTest List<String> allDataSetTypeCodes = as.searchDataSetTypes(sessionToken, new DataSetTypeSearchCriteria(), new DataSetTypeFetchOptions()).getObjects().stream().map(t -> t.getCode()).collect(Collectors.toList()); Collections.sort(allDataSetTypeCodes); + System.err.println(allDataSetTypeCodes); // When List<ReportingService> services = as.searchReportingServices(sessionToken, searchCriteria, fetchOptions).getObjects(); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/dataset/CreateDataSetTypesExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/dataset/CreateDataSetTypesExecutor.java index c938d62c3e6..1454df00f72 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/dataset/CreateDataSetTypesExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/dataset/CreateDataSetTypesExecutor.java @@ -16,12 +16,15 @@ package ch.ethz.sis.openbis.generic.server.asapi.v3.executor.dataset; +import org.springframework.beans.factory.InitializingBean; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.create.DataSetTypeCreation; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.entity.AbstractCreateEntityTypeExecutor; +import ch.systemsx.cisd.openbis.generic.server.DataStoreServiceRegistrator; +import ch.systemsx.cisd.openbis.generic.server.IDataStoreServiceRegistrator; import ch.systemsx.cisd.openbis.generic.server.business.bo.IEntityTypeBO; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetType; import ch.systemsx.cisd.openbis.generic.shared.dto.DataSetTypePE; @@ -32,12 +35,19 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.properties.EntityKind; */ @Component public class CreateDataSetTypesExecutor extends AbstractCreateEntityTypeExecutor<DataSetTypeCreation, DataSetType, DataSetTypePE> - implements ICreateDataSetTypeExecutor + implements ICreateDataSetTypeExecutor, InitializingBean { - @Autowired private IDataSetTypeAuthorizationExecutor authorizationExecutor; + private IDataStoreServiceRegistrator dataStoreServiceRegistrator; + + @Override + public void afterPropertiesSet() throws Exception + { + dataStoreServiceRegistrator = new DataStoreServiceRegistrator(daoFactory); + } + @Override protected ch.systemsx.cisd.openbis.generic.shared.basic.dto.EntityKind getPEEntityKind() { @@ -75,6 +85,7 @@ public class CreateDataSetTypesExecutor extends AbstractCreateEntityTypeExecutor IEntityTypeBO typeBO = businessObjectFactory.createEntityTypeBO(context.getSession()); typeBO.define(type); typeBO.save(); + dataStoreServiceRegistrator.register(type); } @Override diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractCreateEntityTypeExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractCreateEntityTypeExecutor.java index 4961683ca57..0acad5bb582 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractCreateEntityTypeExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/AbstractCreateEntityTypeExecutor.java @@ -58,7 +58,7 @@ public abstract class AbstractCreateEntityTypeExecutor<CREATION extends IEntityT { @Autowired - private IDAOFactory daoFactory; + protected IDAOFactory daoFactory; @Resource(name = ComponentNames.COMMON_BUSINESS_OBJECT_FACTORY) protected ICommonBusinessObjectFactory businessObjectFactory; diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/authorization/CommonAuthorizationSystemTestService.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/authorization/CommonAuthorizationSystemTestService.java index 925891f6641..57c6a533170 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/authorization/CommonAuthorizationSystemTestService.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/authorization/CommonAuthorizationSystemTestService.java @@ -26,10 +26,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.transaction.annotation.Transactional; +import ch.systemsx.cisd.openbis.generic.server.DataStoreServiceRegistrator; +import ch.systemsx.cisd.openbis.generic.server.IDataStoreServiceRegistrator; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory; import ch.systemsx.cisd.openbis.generic.shared.ICommonServer; import ch.systemsx.cisd.openbis.generic.shared.basic.IIdHolder; import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; +import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DataSetType; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.Deletion; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.DeletionType; import ch.systemsx.cisd.openbis.generic.shared.dto.DataPE; @@ -66,6 +69,17 @@ public class CommonAuthorizationSystemTestService private ICommonServer commonServer; private List<IIdHolder> createdObjects; + + private IDataStoreServiceRegistrator dataStoreServiceRegistrator; + + private IDataStoreServiceRegistrator getDataStoreServiceRegistrator() + { + if (dataStoreServiceRegistrator == null) + { + dataStoreServiceRegistrator = new DataStoreServiceRegistrator(daoFactory); + } + return dataStoreServiceRegistrator; + } @Transactional public void createPerson(PersonPE person) @@ -115,6 +129,12 @@ public class CommonAuthorizationSystemTestService public void createType(EntityTypePE entityType, EntityKind entityKind) { daoFactory.getEntityTypeDAO(entityKind).createOrUpdateEntityType(entityType); + if (EntityKind.DATA_SET.equals(entityKind)) + { + DataSetType dataSetType = new DataSetType(); + dataSetType.setCode(entityType.getCode()); + getDataStoreServiceRegistrator().register(dataSetType); + } createdObjects.add(entityType); } -- GitLab