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 624c038e39e42b1251379846c234af8180a1ee4a..09141aa5deff261960a7ae218a22a4952087f556 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 c938d62c3e6a6d1ca8293c1c734e75989b13e51f..1454df00f7266d6084003723668bef9f952b299d 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 4961683ca576799e172fb0e8f45009bcac6f39fc..0acad5bb582748b45b161472336ec90bee3732cc 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 925891f6641aa0301fbc57f3a750e0640bb15c14..57c6a533170bfe109056cba8bdb3707b2f834b28 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); }