diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/common/AbstractMapObjectByIdExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/common/AbstractMapObjectByIdExecutor.java index 21a154deea6dc52ceacdc0b4eba6981cde268518..00d139d47b058c18bc05edfe4c686491e9878a54 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/common/AbstractMapObjectByIdExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/common/AbstractMapObjectByIdExecutor.java @@ -47,7 +47,7 @@ public abstract class AbstractMapObjectByIdExecutor<ID extends IObjectId, OBJECT List<IListObjectById<? extends ID, OBJECT>> listers = new ArrayList<IListObjectById<? extends ID, OBJECT>>(); addListers(context, listers); - return new MapObjectById<ID, OBJECT>().map(listers, ids); + return new MapObjectById<ID, OBJECT>().map(context, listers, ids); } protected abstract void addListers(IOperationContext context, List<IListObjectById<? extends ID, OBJECT>> listers); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/MapEntityTypeByIdExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/MapEntityTypeByIdExecutor.java index a8af9f7be680032965a30553f14bb7aad876daa1..44c50f5052ecbab018a099216248c3e53bcb010d 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/MapEntityTypeByIdExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/MapEntityTypeByIdExecutor.java @@ -60,7 +60,7 @@ public class MapEntityTypeByIdExecutor implements IMapEntityTypeByIdExecutor new LinkedList<IListObjectById<? extends IEntityTypeId, EntityTypePE>>(); listers.add(new ListEntityTypeByPermId(daoFactory, entityKind)); - return new MapObjectById<IEntityTypeId, EntityTypePE>().map(listers, entityTypeIds); + return new MapObjectById<IEntityTypeId, EntityTypePE>().map(context, listers, entityTypeIds); } } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/material/ListMaterialsTechIdByPermId.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/material/ListMaterialsTechIdByPermId.java index 5a7a51e1b68d996f022f8485148e1cdf5e0375a3..ea1e90a62f38605ea718ed0c999c476095ca9e53 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/material/ListMaterialsTechIdByPermId.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/material/ListMaterialsTechIdByPermId.java @@ -25,6 +25,7 @@ import java.util.Set; import net.lemnik.eodsql.QueryTool; import ch.ethz.sis.openbis.generic.asapi.v3.dto.material.id.MaterialPermId; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.TechIdStringIdentifierRecord; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.AbstractListTechIdById; import ch.systemsx.cisd.openbis.generic.shared.basic.CodeConverter; @@ -44,7 +45,7 @@ public class ListMaterialsTechIdByPermId extends AbstractListTechIdById<Materia } @Override - protected Map<Long, MaterialPermId> createIdsByTechIdsMap(List<MaterialPermId> ids) + protected Map<Long, MaterialPermId> createIdsByTechIdsMap(IOperationContext context, List<MaterialPermId> ids) { Map<String, Map<String, MaterialPermId>> groupedIdentifiers = new HashMap<>(); for (MaterialPermId permId : ids) diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/project/ListProjectTechIdByIdentifier.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/project/ListProjectTechIdByIdentifier.java index dc8795b3abaaffa74951ddccf716afaed786472a..32d3887cbcf7a08a68fe7f74029633bdcfe04499 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/project/ListProjectTechIdByIdentifier.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/project/ListProjectTechIdByIdentifier.java @@ -25,6 +25,7 @@ import java.util.Set; import net.lemnik.eodsql.QueryTool; import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.id.ProjectIdentifier; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.TechIdStringIdentifierRecord; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.AbstractListTechIdById; import ch.systemsx.cisd.openbis.generic.shared.basic.CodeConverter; @@ -45,7 +46,7 @@ public class ListProjectTechIdByIdentifier extends AbstractListTechIdById<Projec } @Override - protected Map<Long, ProjectIdentifier> createIdsByTechIdsMap(List<ProjectIdentifier> ids) + protected Map<Long, ProjectIdentifier> createIdsByTechIdsMap(IOperationContext context, List<ProjectIdentifier> ids) { Map<String, Map<String, ProjectIdentifier>> groupedIdentifiers = new HashMap<>(); for (ProjectIdentifier projectIdentifier : ids) diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/ListSampleTechIdByIdentifier.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/ListSampleTechIdByIdentifier.java index 80a1bf0c78f5df7cba3a0a21385bce1fc1f1ca14..98354b02c6c4bc1cc8be2acc190afa588bcdf52b 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/ListSampleTechIdByIdentifier.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/sample/ListSampleTechIdByIdentifier.java @@ -29,6 +29,7 @@ import java.util.Set; import net.lemnik.eodsql.QueryTool; import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.id.SampleIdentifier; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.TechIdStringIdentifierRecord; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.AbstractListTechIdById; import ch.systemsx.cisd.base.exceptions.CheckedExceptionTunnel; @@ -38,6 +39,8 @@ import ch.systemsx.cisd.base.exceptions.CheckedExceptionTunnel; */ public class ListSampleTechIdByIdentifier extends AbstractListTechIdById<SampleIdentifier> { + public static final String CONTAINER_SHORTCUT_ALLOWED_ATTRIBUTE = "container-shortcut-allowed"; + private String homeSpaceCodeOrNull; public ListSampleTechIdByIdentifier(String homeSpaceCodeOrNull) @@ -52,17 +55,17 @@ public class ListSampleTechIdByIdentifier extends AbstractListTechIdById<SampleI } @Override - protected Map<Long, SampleIdentifier> createIdsByTechIdsMap(List<SampleIdentifier> ids) + protected Map<Long, SampleIdentifier> createIdsByTechIdsMap(IOperationContext context, List<SampleIdentifier> ids) { Map<SampleIdentifierParts, Map<String, SampleIdentifier>> groupedIdentifiers = groupIdentifiers(ids); - + boolean containerShortcutAllowed = getContainerShortcutAllowed(context); Map<Long, SampleIdentifier> result = new HashMap<>(); SampleQuery query = QueryTool.getManagedQuery(SampleQuery.class); for (Entry<SampleIdentifierParts, Map<String, SampleIdentifier>> entry : groupedIdentifiers.entrySet()) { SampleIdentifierParts key = entry.getKey(); Map<String, SampleIdentifier> identifiersByCode = entry.getValue(); - List<TechIdStringIdentifierRecord> records = list(query, key, identifiersByCode.keySet()); + List<TechIdStringIdentifierRecord> records = list(query, key, identifiersByCode.keySet(), containerShortcutAllowed); for (TechIdStringIdentifierRecord record : records) { String sampleCode = record.identifier; @@ -71,6 +74,12 @@ public class ListSampleTechIdByIdentifier extends AbstractListTechIdById<SampleI } return result; } + + private boolean getContainerShortcutAllowed(IOperationContext context) + { + Object value = context.getAttribute(CONTAINER_SHORTCUT_ALLOWED_ATTRIBUTE); + return Boolean.TRUE.equals(value); + } private Map<SampleIdentifierParts, Map<String, SampleIdentifier>> groupIdentifiers(List<SampleIdentifier> ids) { @@ -92,7 +101,8 @@ public class ListSampleTechIdByIdentifier extends AbstractListTechIdById<SampleI return groupedIdentifiers; } - private List<TechIdStringIdentifierRecord> list(final SampleQuery query, final SampleIdentifierParts key, final Collection<String> codes) + private List<TechIdStringIdentifierRecord> list(final SampleQuery query, final SampleIdentifierParts key, + final Collection<String> codes, boolean containerShortcutAllowed) { final String[] codesArray = codes.toArray(new String[codes.size()]); final String spaceCode = key.getSpaceCodeOrNull(); @@ -117,7 +127,7 @@ public class ListSampleTechIdByIdentifier extends AbstractListTechIdById<SampleI { return query.listSharedSampleTechIdsByCodesWithSomeContainer(codesToList); } - }); + }, containerShortcutAllowed); } return query.listSharedSampleTechIdsByContainerCodeAndCodes(containerCode, codesArray); } @@ -139,7 +149,7 @@ public class ListSampleTechIdByIdentifier extends AbstractListTechIdById<SampleI { return query.listSpaceSampleTechIdsByCodesWithSomeContainer(spaceCode, codesToList); } - }); + }, containerShortcutAllowed); } return query.listSpaceSampleTechIdsByContainerCodeAndCodes(spaceCode, containerCode, codesArray); } @@ -159,13 +169,14 @@ public class ListSampleTechIdByIdentifier extends AbstractListTechIdById<SampleI { return query.listProjectSampleTechIdsByCodesWithSomeContainer(spaceCode, projectCode, codesToList); } - }); + }, containerShortcutAllowed); } return query.listProjectSampleTechIdsByContainerCodeAndCodes(spaceCode, projectCode, containerCode, codesArray); } - private List<TechIdStringIdentifierRecord> listWithoutContainerOrWithSomeContainerAndUniqueCode(SampleQuery query, String[] codes, - IListAction listWithoutContainer, IListAction listWithSomeContainer) + private List<TechIdStringIdentifierRecord> listWithoutContainerOrWithSomeContainerAndUniqueCode(SampleQuery query, + String[] codes, IListAction listWithoutContainer, IListAction listWithSomeContainer, + boolean containerShortcutAllowed) { try { @@ -177,7 +188,7 @@ public class ListSampleTechIdByIdentifier extends AbstractListTechIdById<SampleI codesNotFound.remove(found.identifier); } - if (codesNotFound.isEmpty()) + if (codesNotFound.isEmpty() || containerShortcutAllowed == false) { return foundWithoutContainer; } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/vocabulary/MapVocabularyTermByIdExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/vocabulary/MapVocabularyTermByIdExecutor.java index 54d5548ca20ff947c33cd7a6c5e8b02aabf79712..00dc7fe52927e059ab92f3c56278c1a9d81db3ce 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/vocabulary/MapVocabularyTermByIdExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/vocabulary/MapVocabularyTermByIdExecutor.java @@ -65,7 +65,7 @@ public class MapVocabularyTermByIdExecutor implements IMapVocabularyTermByIdExec listers.add(new ListVocabularyTermByCode(vocabulary)); } - return new MapObjectById<IVocabularyTermId, VocabularyTermPE>().map(listers, vocabularyTermIds); + return new MapObjectById<IVocabularyTermId, VocabularyTermPE>().map(context, listers, vocabularyTermIds); } } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/common/AbstractListTechIdById.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/common/AbstractListTechIdById.java index b152e1db460d4bf2b729f58a62294eb27b39a4ed..5a2c2936f624fd44502b8f630f3f56f5eeae6183 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/common/AbstractListTechIdById.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/common/AbstractListTechIdById.java @@ -21,6 +21,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; + /** * @author Franz-Josef Elmer */ @@ -35,12 +37,12 @@ public abstract class AbstractListTechIdById<ID> extends AbstractListObjectById< } @Override - public List<Long> listByIds(List<ID> ids) + public List<Long> listByIds(IOperationContext context, List<ID> ids) { - idsByTechIds = createIdsByTechIdsMap(ids); + idsByTechIds = createIdsByTechIdsMap(context, ids); return new ArrayList<>(idsByTechIds.keySet()); } - protected abstract Map<Long, ID> createIdsByTechIdsMap(List<ID> ids); + protected abstract Map<Long, ID> createIdsByTechIdsMap(IOperationContext context, List<ID> ids); } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/common/AbstractListTechIdByPermId.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/common/AbstractListTechIdByPermId.java index 1fa3b4818244307ccf966d1249733ce4a5c5a983..c321c3b13f803dc0b1902828f32cd4ed0e706fa0 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/common/AbstractListTechIdByPermId.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/common/AbstractListTechIdByPermId.java @@ -22,6 +22,7 @@ import java.util.List; import java.util.Map; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.id.ObjectPermId; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.TechIdStringIdentifierRecord; /** @@ -33,7 +34,7 @@ public abstract class AbstractListTechIdByPermId<ID extends ObjectPermId> extend { @Override - protected Map<Long, ID> createIdsByTechIdsMap(List<ID> ids) + protected Map<Long, ID> createIdsByTechIdsMap(IOperationContext context, List<ID> ids) { List<String> permIds = new ArrayList<>(ids.size()); for (ID permId : ids) diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/common/IListObjectById.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/common/IListObjectById.java index 61922774a557a151541b1501116cff4bf3d37daa..e5a673e101ef263d07233f547331719101ebde5b 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/common/IListObjectById.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/common/IListObjectById.java @@ -18,6 +18,8 @@ package ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common; import java.util.List; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; + /** * @author pkupczyk */ @@ -28,6 +30,6 @@ public interface IListObjectById<ID, OBJECT> public ID createId(OBJECT entity); - public List<OBJECT> listByIds(List<ID> ids); + public List<OBJECT> listByIds(IOperationContext context, List<ID> ids); } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/common/MapObjectById.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/common/MapObjectById.java index bcbe306e28566c94fd594d5724b1c5f1e86e1f2f..11bf245bcd8f0d38a95b14f5f2b8d9836e4c17cc 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/common/MapObjectById.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/common/MapObjectById.java @@ -25,6 +25,7 @@ import java.util.Map; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.id.IObjectId; import ch.ethz.sis.openbis.generic.asapi.v3.exceptions.UnsupportedObjectIdException; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; /** * @author pkupczyk @@ -58,7 +59,8 @@ public class MapObjectById<ID, OBJECT> return idClassToIdListMap; } - private Map mapByIds(List<IListObjectById<? extends ID, OBJECT>> listers, Map<Class, List> idClassToIdListMap) + private Map mapByIds(IOperationContext context, List<IListObjectById<? extends ID, OBJECT>> listers, + Map<Class, List> idClassToIdListMap) { final Map idToObject = new HashMap(); @@ -66,7 +68,7 @@ public class MapObjectById<ID, OBJECT> { List idList = idClassToIdListMap.get(idClass); IListObjectById listerForIdClass = findLister(listers, idClass, idList); - List objects = listerForIdClass.listByIds(idList); + List objects = listerForIdClass.listByIds(context, idList); if (objects != null) { for (Object object : objects) @@ -92,10 +94,11 @@ public class MapObjectById<ID, OBJECT> throw new UnsupportedObjectIdException((IObjectId) idList.iterator().next()); } - public Map<ID, OBJECT> map(List<IListObjectById<? extends ID, OBJECT>> listers, Collection<? extends ID> ids) + public Map<ID, OBJECT> map(IOperationContext context, List<IListObjectById<? extends ID, OBJECT>> listers, + Collection<? extends ID> ids) { Map<Class, List> idClassToIdListMap = groupIdsByClass(ids); - Map idToObjectMap = mapByIds(listers, idClassToIdListMap); + Map idToObjectMap = mapByIds(context, listers, idClassToIdListMap); Map orderedMap = new LinkedHashMap(); for (ID id : ids) diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/dataset/ListDataSetByPermId.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/dataset/ListDataSetByPermId.java index 216d763096e8c148ed454bdd241b89cc050c57d7..0becc8a6ee12fb426422bf68368d80823f122a4a 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/dataset/ListDataSetByPermId.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/dataset/ListDataSetByPermId.java @@ -21,6 +21,7 @@ import java.util.List; import java.util.Set; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.id.DataSetPermId; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.AbstractListObjectById; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDataDAO; import ch.systemsx.cisd.openbis.generic.shared.dto.DataPE; @@ -51,7 +52,7 @@ public class ListDataSetByPermId extends AbstractListObjectById<DataSetPermId, D } @Override - public List<DataPE> listByIds(List<DataSetPermId> ids) + public List<DataPE> listByIds(IOperationContext context, List<DataSetPermId> ids) { Set<String> codes = new HashSet<String>(); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/dataset/ListFileFormatTypeByPermId.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/dataset/ListFileFormatTypeByPermId.java index 0ecc4b5a3aec9a6ace80a83d80a22586cbcb9a9d..320246e5fb48d603863601500b9ad0d5adb3a2d3 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/dataset/ListFileFormatTypeByPermId.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/dataset/ListFileFormatTypeByPermId.java @@ -20,6 +20,7 @@ import java.util.ArrayList; import java.util.List; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.id.FileFormatTypePermId; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.AbstractListObjectById; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IFileFormatTypeDAO; import ch.systemsx.cisd.openbis.generic.shared.dto.FileFormatTypePE; @@ -50,7 +51,7 @@ public class ListFileFormatTypeByPermId extends AbstractListObjectById<FileForma } @Override - public List<FileFormatTypePE> listByIds(List<FileFormatTypePermId> ids) + public List<FileFormatTypePE> listByIds(IOperationContext context, List<FileFormatTypePermId> ids) { List<FileFormatTypePE> types = new ArrayList<FileFormatTypePE>(); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/dataset/ListLocatorTypeByPermId.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/dataset/ListLocatorTypeByPermId.java index 0a6551bed98d18440ce617c8b9760e4b1679e465..1c923786f48622d2d60785c00ef68d531ab891f7 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/dataset/ListLocatorTypeByPermId.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/dataset/ListLocatorTypeByPermId.java @@ -20,6 +20,7 @@ import java.util.ArrayList; import java.util.List; import ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.id.LocatorTypePermId; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.AbstractListObjectById; import ch.systemsx.cisd.openbis.generic.server.dataaccess.ILocatorTypeDAO; import ch.systemsx.cisd.openbis.generic.shared.dto.LocatorTypePE; @@ -50,7 +51,7 @@ public class ListLocatorTypeByPermId extends AbstractListObjectById<LocatorTypeP } @Override - public List<LocatorTypePE> listByIds(List<LocatorTypePermId> ids) + public List<LocatorTypePE> listByIds(IOperationContext context, List<LocatorTypePermId> ids) { List<LocatorTypePE> types = new ArrayList<LocatorTypePE>(); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/datastore/ListDataStoreByPermId.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/datastore/ListDataStoreByPermId.java index 78857b1cf28418b645b721ccf41f75ada42d1f1c..5421c9b0752468beebf1e20b728803898249a854 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/datastore/ListDataStoreByPermId.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/datastore/ListDataStoreByPermId.java @@ -20,6 +20,7 @@ import java.util.LinkedList; import java.util.List; import ch.ethz.sis.openbis.generic.asapi.v3.dto.datastore.id.DataStorePermId; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.AbstractListObjectById; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDataStoreDAO; import ch.systemsx.cisd.openbis.generic.shared.dto.DataStorePE; @@ -50,7 +51,7 @@ public class ListDataStoreByPermId extends AbstractListObjectById<DataStorePermI } @Override - public List<DataStorePE> listByIds(List<DataStorePermId> ids) + public List<DataStorePE> listByIds(IOperationContext context, List<DataStorePermId> ids) { List<DataStorePE> dataStores = new LinkedList<DataStorePE>(); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/deletion/ListDeletionByTechId.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/deletion/ListDeletionByTechId.java index 9d857ebe454a6575db8c980dd1b15e8c8c124f94..631a96ebd30755bcd5b1f2de721507a0a25bb10b 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/deletion/ListDeletionByTechId.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/deletion/ListDeletionByTechId.java @@ -20,6 +20,7 @@ import java.util.LinkedList; import java.util.List; import ch.ethz.sis.openbis.generic.asapi.v3.dto.deletion.id.DeletionTechId; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.AbstractListObjectById; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDeletionDAO; import ch.systemsx.cisd.openbis.generic.shared.dto.DeletionPE; @@ -50,7 +51,7 @@ public class ListDeletionByTechId extends AbstractListObjectById<DeletionTechId, } @Override - public List<DeletionPE> listByIds(List<DeletionTechId> ids) + public List<DeletionPE> listByIds(IOperationContext context, List<DeletionTechId> ids) { List<Long> techIds = new LinkedList<Long>(); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/ListEntityTypeByPermId.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/ListEntityTypeByPermId.java index a9d57fe91f16661f9b735454c83ed646939e7689..79ace0f121e238e8228c974e1192859a28582514 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/ListEntityTypeByPermId.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/entity/ListEntityTypeByPermId.java @@ -20,6 +20,7 @@ import java.util.LinkedList; import java.util.List; import ch.ethz.sis.openbis.generic.asapi.v3.dto.entitytype.id.EntityTypePermId; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.AbstractListObjectById; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IDAOFactory; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IEntityTypeDAO; @@ -52,7 +53,7 @@ public class ListEntityTypeByPermId extends AbstractListObjectById<EntityTypePer } @Override - public List<EntityTypePE> listByIds(List<EntityTypePermId> ids) + public List<EntityTypePE> listByIds(IOperationContext context, List<EntityTypePermId> ids) { List<String> permIds = new LinkedList<String>(); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/experiment/ListExperimentByIdentifier.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/experiment/ListExperimentByIdentifier.java index 5d994816116e6557ed00eaaea41bf32d541b37c6..973734860d312cb2fbdfc7c7f0da9c59fa2d6ed9 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/experiment/ListExperimentByIdentifier.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/experiment/ListExperimentByIdentifier.java @@ -22,6 +22,7 @@ import java.util.List; import java.util.Map; import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.id.ExperimentIdentifier; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.AbstractListObjectById; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IExperimentDAO; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IProjectDAO; @@ -59,7 +60,7 @@ public class ListExperimentByIdentifier extends AbstractListObjectById<Experimen } @Override - public List<ExperimentPE> listByIds(List<ExperimentIdentifier> experimentIdentifiers) + public List<ExperimentPE> listByIds(IOperationContext context, List<ExperimentIdentifier> experimentIdentifiers) { List<ExperimentPE> experiments = new LinkedList<ExperimentPE>(); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/experiment/ListExperimentByPermId.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/experiment/ListExperimentByPermId.java index 3992c90e9b52301f9c811ce0fb6bda39da7f73d7..e3a685bbce6fb5ff5b7c393878024a7c5ba778c4 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/experiment/ListExperimentByPermId.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/experiment/ListExperimentByPermId.java @@ -20,6 +20,7 @@ import java.util.LinkedList; import java.util.List; import ch.ethz.sis.openbis.generic.asapi.v3.dto.experiment.id.ExperimentPermId; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.AbstractListObjectById; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IExperimentDAO; import ch.systemsx.cisd.openbis.generic.shared.dto.ExperimentPE; @@ -50,7 +51,7 @@ public class ListExperimentByPermId extends AbstractListObjectById<ExperimentPer } @Override - public List<ExperimentPE> listByIds(List<ExperimentPermId> ids) + public List<ExperimentPE> listByIds(IOperationContext context, List<ExperimentPermId> ids) { List<String> permIds = new LinkedList<String>(); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/externaldms/ListExternalDmsByPermId.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/externaldms/ListExternalDmsByPermId.java index 5c70e72ad7f802c1830d49735503993ccae908f8..98ba7a0c28a45d4be5bfd57883fc24609c826848 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/externaldms/ListExternalDmsByPermId.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/externaldms/ListExternalDmsByPermId.java @@ -20,6 +20,7 @@ import java.util.LinkedList; import java.util.List; import ch.ethz.sis.openbis.generic.asapi.v3.dto.externaldms.id.ExternalDmsPermId; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.AbstractListObjectById; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IExternalDataManagementSystemDAO; import ch.systemsx.cisd.openbis.generic.shared.dto.ExternalDataManagementSystemPE; @@ -50,7 +51,7 @@ public class ListExternalDmsByPermId extends AbstractListObjectById<ExternalDmsP } @Override - public List<ExternalDataManagementSystemPE> listByIds(List<ExternalDmsPermId> ids) + public List<ExternalDataManagementSystemPE> listByIds(IOperationContext context, List<ExternalDmsPermId> ids) { List<ExternalDataManagementSystemPE> externalDmses = new LinkedList<ExternalDataManagementSystemPE>(); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/material/ListMaterialsByPermId.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/material/ListMaterialsByPermId.java index 013ee50afcf443042022d03a699ba7e2547ce6c3..e93232fd35fe5afe1f24726f9ee4ab198efe8a87 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/material/ListMaterialsByPermId.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/material/ListMaterialsByPermId.java @@ -21,6 +21,7 @@ import java.util.List; import java.util.Set; import ch.ethz.sis.openbis.generic.asapi.v3.dto.material.id.MaterialPermId; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.AbstractListObjectById; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IMaterialDAO; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.MaterialIdentifier; @@ -52,7 +53,7 @@ public class ListMaterialsByPermId extends AbstractListObjectById<MaterialPermId } @Override - public List<MaterialPE> listByIds(List<MaterialPermId> ids) + public List<MaterialPE> listByIds(IOperationContext context, List<MaterialPermId> ids) { System.out.println("list by ids: " + ids); Set<MaterialIdentifier> codes = new HashSet<MaterialIdentifier>(); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/person/ListPersonByPermId.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/person/ListPersonByPermId.java index 777771de6648f4f7be6e2498c42cfdd07d7c6f3a..9a665e4ca4f3ede2daac297c92bdcfe2217a9af5 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/person/ListPersonByPermId.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/person/ListPersonByPermId.java @@ -20,6 +20,7 @@ import java.util.LinkedList; import java.util.List; import ch.ethz.sis.openbis.generic.asapi.v3.dto.person.id.PersonPermId; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.AbstractListObjectById; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IPersonDAO; import ch.systemsx.cisd.openbis.generic.shared.dto.PersonPE; @@ -50,7 +51,7 @@ public class ListPersonByPermId extends AbstractListObjectById<PersonPermId, Per } @Override - public List<PersonPE> listByIds(List<PersonPermId> ids) + public List<PersonPE> listByIds(IOperationContext context, List<PersonPermId> ids) { List<String> userIds = new LinkedList<String>(); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/project/ListProjectByIdentifier.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/project/ListProjectByIdentifier.java index 52c2cf6b05a1ebe90277520b66feb28efa66909b..5465ecd087ce2019ded29583fda945a48ae81ed3 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/project/ListProjectByIdentifier.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/project/ListProjectByIdentifier.java @@ -20,6 +20,7 @@ import java.util.LinkedList; import java.util.List; import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.id.ProjectIdentifier; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.AbstractListObjectById; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IProjectDAO; import ch.systemsx.cisd.openbis.generic.shared.dto.ProjectPE; @@ -51,7 +52,7 @@ public class ListProjectByIdentifier extends AbstractListObjectById<ProjectIdent } @Override - public List<ProjectPE> listByIds(List<ProjectIdentifier> ids) + public List<ProjectPE> listByIds(IOperationContext context, List<ProjectIdentifier> ids) { List<ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ProjectIdentifier> identifiers = new LinkedList<ch.systemsx.cisd.openbis.generic.shared.dto.identifier.ProjectIdentifier>(); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/project/ListProjectByPermId.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/project/ListProjectByPermId.java index 4fd0ab3ba552a5cc63d9d112c6421dc0ecf017bc..accd740aa195a074b39548462885523d8bb9d5b8 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/project/ListProjectByPermId.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/project/ListProjectByPermId.java @@ -20,6 +20,7 @@ import java.util.LinkedList; import java.util.List; import ch.ethz.sis.openbis.generic.asapi.v3.dto.project.id.ProjectPermId; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.AbstractListObjectById; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IProjectDAO; import ch.systemsx.cisd.openbis.generic.shared.dto.ProjectPE; @@ -50,7 +51,7 @@ public class ListProjectByPermId extends AbstractListObjectById<ProjectPermId, P } @Override - public List<ProjectPE> listByIds(List<ProjectPermId> ids) + public List<ProjectPE> listByIds(IOperationContext context, List<ProjectPermId> ids) { List<String> permIds = new LinkedList<String>(); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/sample/ListSampleByIdentifier.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/sample/ListSampleByIdentifier.java index ab52d96e9e80cf262a3379ae63a83e26ebd25c9e..245e7fd19affaf46b3ee34adbc65f1f02fe490da 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/sample/ListSampleByIdentifier.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/sample/ListSampleByIdentifier.java @@ -19,6 +19,7 @@ package ch.ethz.sis.openbis.generic.server.asapi.v3.helper.sample; import java.util.List; import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.id.SampleIdentifier; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.sample.ListSampleTechIdByIdentifier; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.AbstractListObjectById; import ch.systemsx.cisd.openbis.generic.server.dataaccess.ISampleDAO; @@ -56,9 +57,9 @@ public class ListSampleByIdentifier extends AbstractListObjectById<SampleIdentif } @Override - public List<SamplePE> listByIds(List<SampleIdentifier> ids) + public List<SamplePE> listByIds(IOperationContext context, List<SampleIdentifier> ids) { - return sampleDAO.listByIDs(techIdByIdentifier.listByIds(ids)); + return sampleDAO.listByIDs(techIdByIdentifier.listByIds(context, ids)); } } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/sample/ListSampleByPermId.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/sample/ListSampleByPermId.java index 4be5d890df7d15b39eb02c51e441e5cba391fd3c..2ae5d506cf63a6dd7264001d6f8f46f4327b4a36 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/sample/ListSampleByPermId.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/sample/ListSampleByPermId.java @@ -20,6 +20,7 @@ import java.util.LinkedList; import java.util.List; import ch.ethz.sis.openbis.generic.asapi.v3.dto.sample.id.SamplePermId; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.AbstractListObjectById; import ch.systemsx.cisd.openbis.generic.server.dataaccess.ISampleDAO; import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePE; @@ -50,7 +51,7 @@ public class ListSampleByPermId extends AbstractListObjectById<SamplePermId, Sam } @Override - public List<SamplePE> listByIds(List<SamplePermId> ids) + public List<SamplePE> listByIds(IOperationContext context, List<SamplePermId> ids) { List<String> permIds = new LinkedList<String>(); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/space/ListSpaceByPermId.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/space/ListSpaceByPermId.java index 1a8f3caf3098bfa85a727410a1f6d321db0819f1..62e2d7b0602f6b4b3fb8e937b50f0996eb7c2144 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/space/ListSpaceByPermId.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/space/ListSpaceByPermId.java @@ -20,6 +20,7 @@ import java.util.LinkedList; import java.util.List; import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.id.SpacePermId; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.AbstractListObjectById; import ch.systemsx.cisd.openbis.generic.server.dataaccess.ISpaceDAO; import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE; @@ -50,7 +51,7 @@ public class ListSpaceByPermId extends AbstractListObjectById<SpacePermId, Space } @Override - public List<SpacePE> listByIds(List<SpacePermId> ids) + public List<SpacePE> listByIds(IOperationContext context, List<SpacePermId> ids) { List<String> permIds = new LinkedList<String>(); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/vocabulary/ListVocabularyByPermId.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/vocabulary/ListVocabularyByPermId.java index 1cfd0829ff82037a3069e52805de87e883607731..9b9ea0f5e45aaf653cc8e4944aa1c511b8048ddf 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/vocabulary/ListVocabularyByPermId.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/vocabulary/ListVocabularyByPermId.java @@ -20,6 +20,7 @@ import java.util.LinkedList; import java.util.List; import ch.ethz.sis.openbis.generic.asapi.v3.dto.vocabulary.id.VocabularyPermId; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.AbstractListObjectById; import ch.systemsx.cisd.openbis.generic.server.dataaccess.IVocabularyDAO; import ch.systemsx.cisd.openbis.generic.shared.dto.VocabularyPE; @@ -50,7 +51,7 @@ public class ListVocabularyByPermId extends AbstractListObjectById<VocabularyPer } @Override - public List<VocabularyPE> listByIds(List<VocabularyPermId> ids) + public List<VocabularyPE> listByIds(IOperationContext context, List<VocabularyPermId> ids) { List<VocabularyPE> vocabularies = new LinkedList<VocabularyPE>(); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/vocabulary/ListVocabularyTermByCode.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/vocabulary/ListVocabularyTermByCode.java index 45022eda0a624ae4a8c3715b3973188b35bde082..76c1aa568b56a182da5b19c9351d786e61c15cf0 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/vocabulary/ListVocabularyTermByCode.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/helper/vocabulary/ListVocabularyTermByCode.java @@ -22,6 +22,7 @@ import java.util.List; import java.util.Set; import ch.ethz.sis.openbis.generic.asapi.v3.dto.vocabulary.id.VocabularyTermCode; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.helper.common.AbstractListObjectById; import ch.systemsx.cisd.openbis.generic.shared.dto.VocabularyPE; import ch.systemsx.cisd.openbis.generic.shared.dto.VocabularyTermPE; @@ -52,7 +53,7 @@ public class ListVocabularyTermByCode extends AbstractListObjectById<VocabularyT } @Override - public List<VocabularyTermPE> listByIds(List<VocabularyTermCode> ids) + public List<VocabularyTermPE> listByIds(IOperationContext context, List<VocabularyTermCode> ids) { List<VocabularyTermPE> terms = new LinkedList<VocabularyTermPE>(); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ServiceForDataStoreServer.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ServiceForDataStoreServer.java index 925f72c55077b533d19cc781b93236e73a8cb4d8..4ed6eb2bc14729b431b0b1da58ee1b88c7167f6d 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ServiceForDataStoreServer.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/ServiceForDataStoreServer.java @@ -52,6 +52,7 @@ import ch.ethz.sis.openbis.generic.server.asapi.v3.context.IProgressListener; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.OperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.dataset.ICreateDataSetExecutor; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.sample.ListSampleTechIdByIdentifier; import ch.rinn.restrictions.Private; import ch.systemsx.cisd.authentication.DefaultSessionManager; import ch.systemsx.cisd.authentication.DummyAuthenticationService; @@ -2427,6 +2428,7 @@ public class ServiceForDataStoreServer extends AbstractCommonServer<IServiceForD } IOperationContext context = new OperationContext(session); + context.setAttribute(ListSampleTechIdByIdentifier.CONTAINER_SHORTCUT_ALLOWED_ATTRIBUTE, true); context.addProgressListener(new IProgressListener() { @Override diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/MapSampleTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/MapSampleTest.java index 0700033bfc18a08d413dd690b4870f70d087db16..3c947c75306440aa7a3103f0233f406152361fc8 100644 --- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/MapSampleTest.java +++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/MapSampleTest.java @@ -156,11 +156,7 @@ public class MapSampleTest extends AbstractSampleTest Map<ISampleId, Sample> map = v3api.mapSamples(sessionToken, Arrays.asList(identifier1), new SampleFetchOptions()); - assertEquals(map.size(), 1); - - Sample sample1 = map.get(identifier1); - - assertEquals(sample1.getIdentifier().getIdentifier(), "/MP:A03"); + assertEquals(map.size(), 0); v3api.logout(sessionToken); } @@ -224,13 +220,7 @@ public class MapSampleTest extends AbstractSampleTest Map<ISampleId, Sample> map = v3api.mapSamples(sessionToken, Arrays.asList(identifier1, identifier2), new SampleFetchOptions()); - assertEquals(map.size(), 2); - - Sample sample1 = map.get(identifier1); - Sample sample2 = map.get(identifier2); - - assertEquals(sample1.getIdentifier().getIdentifier(), "/CISD/PLATE_WELLSEARCH:WELL-A01"); - assertEquals(sample2.getIdentifier().getIdentifier(), "/CISD/PLATE_WELLSEARCH:WELL-A02"); + assertEquals(map.size(), 0); v3api.logout(sessionToken); } @@ -260,10 +250,7 @@ public class MapSampleTest extends AbstractSampleTest Map<ISampleId, Sample> map = v3api.mapSamples(sessionToken, Arrays.asList(identifier1, identifier2), new SampleFetchOptions()); - assertEquals(map.size(), 1); - - Sample sample1 = map.get(identifier1); - assertEquals(sample1.getIdentifier().getIdentifier(), "/CISD/PLATE_WELLSEARCH:WELL-A01"); + assertEquals(map.size(), 0); v3api.logout(sessionToken); } diff --git a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/EntityOperationTest.java b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/EntityOperationTest.java index 821e26d4358a507632ed0ccfd3138ea9b9dc0215..75299eb069e808d2855aef258b0ec7062c65563d 100644 --- a/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/EntityOperationTest.java +++ b/openbis/sourceTest/java/ch/systemsx/cisd/openbis/systemtest/EntityOperationTest.java @@ -28,6 +28,7 @@ import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import ch.systemsx.cisd.common.exceptions.AuthorizationFailureException; +import ch.systemsx.cisd.common.exceptions.UserFailureException; import ch.systemsx.cisd.openbis.generic.shared.IServiceForDataStoreServer; import ch.systemsx.cisd.openbis.generic.shared.basic.TechId; import ch.systemsx.cisd.openbis.generic.shared.basic.dto.AbstractExternalData; @@ -647,7 +648,7 @@ public class EntityOperationTest extends SystemTestCase new DataSetBuilder().code(dataSetCode).type("HCS_IMAGE") .store(new DataStoreBuilder("STANDARD").getStore()) .fileFormat("XML").location("a/b/c").property("COMMENT", "my data") - .sample(new SampleBuilder().identifier("/CISD/CP1-A1").getSample()) + .sample(new SampleBuilder().identifier("/CISD/WELL-A01").getSample()) .getDataSet()).create(); AtomicEntityOperationResult result = etlService.performEntityOperations(sessionToken, eo); @@ -657,6 +658,30 @@ public class EntityOperationTest extends SystemTestCase assertEquals(dataSetCode, dataSet.getCode()); assertEquals("HCS_IMAGE", dataSet.getDataSetType().getCode()); assertEquals("[COMMENT: my data]", dataSet.getProperties().toString()); + assertEquals("/CISD/PLATE_WELLSEARCH:WELL-A01", dataSet.getSampleIdentifier()); + } + + @Test + public void testCreateDataSetForUnknownSample() + { + String sessionToken = authenticateAs(SPACE_ETL_SERVER_FOR_A); + String dataSetCode = "DS-1"; + AtomicEntityOperationDetails eo = + new EntityOperationBuilder().dataSet( + new DataSetBuilder().code(dataSetCode).type("HCS_IMAGE") + .store(new DataStoreBuilder("STANDARD").getStore()) + .fileFormat("XML").location("a/b/c").property("COMMENT", "my data") + .sample(new SampleBuilder().identifier("/CISD/A01").getSample()) + .getDataSet()).create(); + + try + { + etlService.performEntityOperations(sessionToken, eo); + fail("UserFailureException expected"); + } catch (UserFailureException ex) + { + assertEquals("Object with SampleIdentifier = [/CISD/A01] has not been found.", ex.getMessage()); + } } @Test