diff --git a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-search.js b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-search.js index 5f78fcebfad7c6723f59e208b34e9c9c7360b9ef..991e36d851a389e93a365bc37385d95e4009df9d 100644 --- a/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-search.js +++ b/js-test/servers/common/core-plugins/tests/1/as/webapps/openbis-v3-api-test/html/test/test-search.js @@ -132,6 +132,26 @@ define([ 'jquery', 'underscore', 'openbis', 'test/openbis-execute-operations', ' testSearch(c, fSearch, fCheck); }); + QUnit.test("searchSpaces() with codes", function(assert) { + var c = new common(assert, openbis); + + var fSearch = function(facade) { + var criteria = new c.SpaceSearchCriteria(); + criteria.withCodes().thatIn(["TEST"]); + return facade.searchSpaces(criteria, c.createSpaceFetchOptions()); + } + + var fCheck = function(facade, spaces) { + c.assertEqual(spaces.length, 1); + var space = spaces[0]; + c.assertEqual(space.getCode(), "TEST", "Code"); + c.assertEqual(space.getDescription(), null, "Description"); + c.assertDate(space.getRegistrationDate(), "Registration date", 2013, 04, 12, 12, 59); + } + + testSearch(c, fSearch, fCheck); + }); + QUnit.test("searchSpaces() with paging and sorting", function(assert) { var c = new common(assert, openbis); @@ -179,6 +199,24 @@ define([ 'jquery', 'underscore', 'openbis', 'test/openbis-execute-operations', ' testSearch(c, fSearch, fCheck); }); + QUnit.test("searchProjects() with codes", function(assert) { + var c = new common(assert, openbis); + + var fSearch = function(facade) { + var criteria = new c.ProjectSearchCriteria(); + criteria.withCodes().thatIn(["SCREENING-EXAMPLES"]); + return facade.searchProjects(criteria, c.createProjectFetchOptions()); + } + + var fCheck = function(facade, projects) { + c.assertEqual(projects.length, 1); + var project = projects[0]; + c.assertEqual(project.getCode(), "SCREENING-EXAMPLES", "Code"); + } + + testSearch(c, fSearch, fCheck); + }); + QUnit.test("searchProjects() with paging and sorting", function(assert) { var c = new common(assert, openbis); @@ -230,6 +268,27 @@ define([ 'jquery', 'underscore', 'openbis', 'test/openbis-execute-operations', ' testSearch(c, fSearch, fCheck); }); + QUnit.test("searchExperiments() with codes", function(assert) { + var c = new common(assert, openbis); + + var fSearch = function(facade) { + var criteria = new c.ExperimentSearchCriteria(); + criteria.withCodes().thatIn(["EXP-1"]); + return facade.searchExperiments(criteria, c.createExperimentFetchOptions()); + } + + var fCheck = function(facade, experiments) { + c.assertEqual(experiments.length, 1); + var experiment = experiments[0]; + c.assertEqual(experiment.getCode(), "EXP-1", "Experiment code"); + c.assertEqual(experiment.getType().getCode(), "HCS_PLATONIC", "Type code"); + c.assertEqual(experiment.getProject().getCode(), "SCREENING-EXAMPLES", "Project code"); + c.assertEqual(experiment.getProject().getSpace().getCode(), "PLATONIC", "Space code"); + } + + testSearch(c, fSearch, fCheck); + }); + QUnit.test("searchExperiments() with paging and sorting", function(assert) { var c = new common(assert, openbis); @@ -458,6 +517,24 @@ define([ 'jquery', 'underscore', 'openbis', 'test/openbis-execute-operations', ' testSearch(c, fSearch, fCheck); }); + + QUnit.test("searchSamples() with codes", function(assert) { + var c = new common(assert, openbis); + + var fSearch = function(facade) { + var criteria = new c.SampleSearchCriteria(); + criteria.withCodes().thatIn(["TEST-SAMPLE-2-PARENT"]); + return facade.searchSamples(criteria, c.createSampleFetchOptions()); + } + + var fCheck = function(facade, samples) { + c.assertEqual(samples.length, 1); + var sample = samples[0]; + c.assertEqual(sample.code, "TEST-SAMPLE-2-PARENT", "Sample code"); + } + + testSearch(c, fSearch, fCheck); + }); QUnit.test("searchSamples() with paging and sorting", function(assert) { var c = new common(assert, openbis); @@ -902,6 +979,24 @@ define([ 'jquery', 'underscore', 'openbis', 'test/openbis-execute-operations', ' testSearch(c, fSearch, fCheck); }); + QUnit.test("searchDataSets() with codes", function(assert) { + var c = new common(assert, openbis); + + var fSearch = function(facade) { + var criteria = new c.DataSetSearchCriteria(); + criteria.withCodes().thatIn(["20130412142543232-197"]); + return facade.searchDataSets(criteria, c.createDataSetFetchOptions()); + } + + var fCheck = function(facade, dataSets) { + c.assertEqual(dataSets.length, 1); + var dataSet = dataSets[0]; + c.assertEqual(dataSet.getCode(), "20130412142543232-197", "Code"); + } + + testSearch(c, fSearch, fCheck); + }); + QUnit.test("searchDataSets() with paging and sorting", function(assert) { var c = new common(assert, openbis); @@ -1266,6 +1361,24 @@ define([ 'jquery', 'underscore', 'openbis', 'test/openbis-execute-operations', ' testSearch(c, fSearch, fCheck); }); + QUnit.test("searchMaterials() with codes", function(assert) { + var c = new common(assert, openbis); + + var fSearch = function(facade) { + var criteria = new c.MaterialSearchCriteria(); + criteria.withCodes().thatIn(["H2O"]); + return facade.searchMaterials(criteria, c.createMaterialFetchOptions()); + } + + var fCheck = function(facade, materials) { + c.assertEqual(materials.length, 1); + var material = materials[0]; + c.assertEqual(material.getCode(), "H2O", "Code"); + } + + testSearch(c, fSearch, fCheck); + }); + QUnit.test("searchMaterials() with paging and sorting", function(assert) { var c = new common(assert, openbis); @@ -1728,6 +1841,27 @@ define([ 'jquery', 'underscore', 'openbis', 'test/openbis-execute-operations', ' testSearch(c, fSearch, fCheck); }); + QUnit.test("searchVocabularyTerms() with codes", function(assert) { + var c = new common(assert, openbis); + + var fSearch = function(facade) { + var criteria = new c.VocabularyTermSearchCriteria(); + criteria.withCodes().thatIn(["BDS_DIRECTORY"]); + return facade.searchVocabularyTerms(criteria, c.createVocabularyTermFetchOptions()); + } + + var fCheck = function(facade, terms) { + c.assertEqual(terms.length, 1); + var term = terms[0]; + c.assertEqual(term.getCode(), "BDS_DIRECTORY", "Code"); + c.assertEqual(term.getVocabulary().getCode(), "$STORAGE_FORMAT", "Vocabulary code"); + c.assertEqual(term.getOrdinal(), 2, "Ordinal"); + c.assertEqual(term.isOfficial(), true, "Official"); + } + + testSearch(c, fSearch, fCheck); + }); + QUnit.test("searchExternalDms()", function(assert) { var c = new common(assert, openbis); @@ -1751,6 +1885,29 @@ define([ 'jquery', 'underscore', 'openbis', 'test/openbis-execute-operations', ' testSearch(c, fSearch, fCheck); }); + QUnit.test("searchExternalDms() with codes", function(assert) { + var c = new common(assert, openbis); + + var fSearch = function(facade) { + var criteria = new c.ExternalDmsSearchCriteria(); + criteria.withCodes().thatIn(["DMS_2"]); + return facade.searchExternalDataManagementSystems(criteria, c.createExternalDmsFetchOptions()); + } + + var fCheck = function(facade, entities) { + c.assertEqual(entities.length, 1); + var edms = entities[0]; + c.assertEqual(edms.getCode(), "DMS_2", "Code"); + c.assertEqual(edms.getLabel(), "Test External openBIS instance", "Label"); + c.assertEqual(edms.getAddress(), "http://www.openbis.ch/perm_id=${code}", "Address"); + c.assertEqual(edms.getUrlTemplate(), "http://www.openbis.ch/perm_id=${code}", "URL template"); + c.assertEqual(edms.getAddressType(), "OPENBIS", "Address type"); + c.assertEqual(edms.isOpenbis(), true, "is openBIS?"); + } + + testSearch(c, fSearch, fCheck); + }); + QUnit.test("searchTags()", function(assert) { var c = new common(assert, openbis); @@ -1770,6 +1927,25 @@ define([ 'jquery', 'underscore', 'openbis', 'test/openbis-execute-operations', ' testSearch(c, fSearch, fCheck); }); + QUnit.test("searchTags() with codes", function(assert) { + var c = new common(assert, openbis); + + var fSearch = function(facade) { + var criteria = new c.TagSearchCriteria(); + criteria.withCodes().thatIn(["JS_TEST_METAPROJECT"]); + return facade.searchTags(criteria, c.createTagFetchOptions()); + } + + var fCheck = function(facade, tags) { + c.assertEqual(tags.length, 1); + var tag = tags[0]; + c.assertEqual(tag.getCode(), "JS_TEST_METAPROJECT", "Code"); + c.assertEqual(tag.getPermId().getPermId(), "/openbis_test_js/JS_TEST_METAPROJECT", "PermId"); + } + + testSearch(c, fSearch, fCheck); + }); + QUnit.test("searchAuthorizationGroups()", function(assert) { var c = new common(assert, openbis); var code; @@ -1795,6 +1971,31 @@ define([ 'jquery', 'underscore', 'openbis', 'test/openbis-execute-operations', ' testSearch(c, fSearch, fCheck); }); + QUnit.test("searchAuthorizationGroups() with codes", function(assert) { + var c = new common(assert, openbis); + var code; + + var fSearch = function(facade) { + return c.createAuthorizationGroup(facade).then(function(permId) { + var criteria = new c.AuthorizationGroupSearchCriteria(); + code = permId.getPermId(); + criteria.withCodes().thatIn([code]); + return facade.searchAuthorizationGroups(criteria, c.createAuthorizationGroupFetchOptions()); + }); + } + + var fCheck = function(facade, groups) { + c.assertEqual(groups.length, 1); + var group = groups[0]; + c.assertEqual(group.getCode(), code, "Code"); + var users = group.getUsers(); + c.assertEqual(users[0].getUserId(), "power_user", "User"); + c.assertEqual(users.length, 1, "# Users"); + } + + testSearch(c, fSearch, fCheck); + }); + QUnit.test("searchAuthorizationGroups() existing with role assigments", function(assert) { var c = new common(assert, openbis); var code; @@ -1956,6 +2157,24 @@ define([ 'jquery', 'underscore', 'openbis', 'test/openbis-execute-operations', ' testSearch(c, fSearch, fCheck); }); + QUnit.test("searchDataStores() with codes", function(assert) { + var c = new common(assert, openbis); + + var fSearch = function(facade) { + var criteria = new c.DataStoreSearchCriteria(); + criteria.withCodes().thatIn(["DSS1"]); + return facade.searchDataStores(criteria, c.createDataStoreFetchOptions()); + } + + var fCheck = function(facade, dataStores) { + c.assertEqual(dataStores.length, 1); + var dataStore = dataStores[0]; + c.assertEqual(dataStore.getCode(), "DSS1", "Code"); + } + + testSearch(c, fSearch, fCheck); + }); + QUnit.test("dataStoreFacade.searchFiles() atNonexistentDataStore", function(assert) { var c = new common(assert, openbis); @@ -2130,6 +2349,24 @@ define([ 'jquery', 'underscore', 'openbis', 'test/openbis-execute-operations', ' testSearch(c, fSearch, fCheck); }); + + QUnit.test("searchSemanticAnnotations() withEntityTypeCodes", function(assert) { + var c = new common(assert, openbis); + + var fSearch = function(facade) { + var criteria = new c.SemanticAnnotationSearchCriteria(); + criteria.withEntityType().withCodes().thatIn(["PLATE"]); + return facade.searchSemanticAnnotations(criteria, c.createSemanticAnnotationFetchOptions()); + } + + var fCheck = function(facade, annotations) { + c.assertEqual(annotations.length, 1); + c.assertEqual(annotations[0].getPermId().getPermId(), "ST_PLATE", "Annotation perm id"); + c.assertEqual(annotations[0].getEntityType().getCode(), "PLATE", "Entity type code"); + } + + testSearch(c, fSearch, fCheck); + }); QUnit.test("searchSemanticAnnotations() withPropertyTypeId", function(assert) { var c = new common(assert, openbis); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/authorizationgroup/SearchAuthorizationGroupExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/authorizationgroup/SearchAuthorizationGroupExecutor.java index 170f8a59465c5d13476a755502ebd43f832d7704..b209e506f15d7bbbe61b62c80bd852a2db0313e1 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/authorizationgroup/SearchAuthorizationGroupExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/authorizationgroup/SearchAuthorizationGroupExecutor.java @@ -24,12 +24,14 @@ import org.springframework.stereotype.Component; import ch.ethz.sis.openbis.generic.asapi.v3.dto.authorizationgroup.id.AuthorizationGroupPermId; import ch.ethz.sis.openbis.generic.asapi.v3.dto.authorizationgroup.search.AuthorizationGroupSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodeSearchCriteria; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodesSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.ISearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.IdSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.PermIdSearchCriteria; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.AbstractSearchObjectManuallyExecutor; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.CodeMatcher; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.CodesMatcher; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.Matcher; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.SimpleFieldMatcher; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.StringFieldMatcher; @@ -70,6 +72,9 @@ public class SearchAuthorizationGroupExecutor } else if (criteria instanceof CodeSearchCriteria) { return new CodeMatcher<AuthorizationGroupPE>(); + } else if (criteria instanceof CodesSearchCriteria) + { + return new CodesMatcher<AuthorizationGroupPE>(); } else if (criteria instanceof PermIdSearchCriteria) { return new PermIdMatcher(); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/common/search/CodesMatcher.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/common/search/CodesMatcher.java index 45501ebd988b2372d5a8ddc64bdb70e3e8766d3f..be873dda65d6581c836004ee418e53f0c4c45fc8 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/common/search/CodesMatcher.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/common/search/CodesMatcher.java @@ -29,7 +29,7 @@ import ch.systemsx.cisd.openbis.generic.shared.basic.ICodeHolder; /** * @author pkupczyk */ -public class CodesMatcher<OBJECT extends ICodeHolder> extends Matcher<OBJECT> +public class CodesMatcher<OBJECT> extends Matcher<OBJECT> { @Override @@ -47,7 +47,7 @@ public class CodesMatcher<OBJECT extends ICodeHolder> extends Matcher<OBJECT> for (OBJECT object : objects) { - String code = object.getCode(); + String code = getCodeOf(object); if (codes.contains(code)) { matches.add(object); @@ -57,4 +57,9 @@ public class CodesMatcher<OBJECT extends ICodeHolder> extends Matcher<OBJECT> return matches; } + protected String getCodeOf(OBJECT object) + { + return ((ICodeHolder) object).getCode(); + } + } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/datastore/SearchDataStoreExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/datastore/SearchDataStoreExecutor.java index 148c5a6d9b0d962c750ef3d19a2ebce34758aa97..ff7b80b4a09914d7df09d9b778a83feda39f0dee 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/datastore/SearchDataStoreExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/datastore/SearchDataStoreExecutor.java @@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodeSearchCriteria; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodesSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.ISearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.IdSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.PermIdSearchCriteria; @@ -30,6 +31,7 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.datastore.search.DataStoreSearch import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.AbstractSearchObjectManuallyExecutor; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.CodeMatcher; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.CodesMatcher; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.Matcher; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.SimpleFieldMatcher; import ch.systemsx.cisd.openbis.generic.shared.dto.DataStorePE; @@ -67,6 +69,9 @@ public class SearchDataStoreExecutor extends AbstractSearchObjectManuallyExecuto } else if (criteria instanceof PermIdSearchCriteria || criteria instanceof CodeSearchCriteria) { return new CodeMatcher<DataStorePE>(); + } else if (criteria instanceof CodesSearchCriteria) + { + return new CodesMatcher<DataStorePE>(); } else { throw new IllegalArgumentException("Unknown search criteria: " + criteria.getClass()); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/SearchEntityTypeExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/SearchEntityTypeExecutor.java index dff80b958c158a5725f4f3f99906022857e24f4a..5d074835f9d863d250d04d0336a78e083d2e6f9d 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/SearchEntityTypeExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/entity/SearchEntityTypeExecutor.java @@ -23,6 +23,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodeSearchCriteria; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodesSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.ISearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.IdSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.entitytype.id.EntityTypePermId; @@ -31,6 +32,7 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.entitytype.search.EntityTypeSear import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.AbstractSearchObjectManuallyExecutor; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.CodeMatcher; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.CodesMatcher; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.Matcher; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.SimpleFieldMatcher; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.dataset.IDataSetTypeAuthorizationExecutor; @@ -92,6 +94,9 @@ public class SearchEntityTypeExecutor extends AbstractSearchObjectManuallyExecut } else if (criteria instanceof CodeSearchCriteria) { return new CodeMatcher<EntityTypePE>(); + } else if (criteria instanceof CodesSearchCriteria) + { + return new CodesMatcher<EntityTypePE>(); } else if (criteria instanceof EntityKindSearchCriteria) { return new EntityKindMatcher(); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/externaldms/SearchExternalDmsExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/externaldms/SearchExternalDmsExecutor.java index dce1a90dd7bb3a5377a845f05a3503f5615dce3f..8b9147c1dc345f32b02ec4cb24832c02b5a26ee4 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/externaldms/SearchExternalDmsExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/externaldms/SearchExternalDmsExecutor.java @@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodeSearchCriteria; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodesSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.ISearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.externaldms.search.AddressSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.externaldms.search.ExternalDmsSearchCriteria; @@ -30,6 +31,7 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.externaldms.search.LabelSearchCr import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.AbstractSearchObjectManuallyExecutor; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.CodeMatcher; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.CodesMatcher; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.Matcher; import ch.systemsx.cisd.openbis.generic.shared.dto.ExternalDataManagementSystemPE; @@ -63,6 +65,9 @@ public class SearchExternalDmsExecutor extends AbstractSearchObjectManuallyExecu if (criteria instanceof CodeSearchCriteria) { return new CodeMatcher<ExternalDataManagementSystemPE>(); + } else if (criteria instanceof CodesSearchCriteria) + { + return new CodesMatcher<ExternalDataManagementSystemPE>(); } else if (criteria instanceof LabelSearchCriteria) { return new LabelMatcher(); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/project/SearchProjectExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/project/SearchProjectExecutor.java index 75160dafaf13a7aedea37346cd2598ec9505063d..0dceb979804ad9d94b93a907bd63d8f794b20352 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/project/SearchProjectExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/project/SearchProjectExecutor.java @@ -25,6 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodeSearchCriteria; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodesSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.ISearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.IdSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.PermIdSearchCriteria; @@ -35,6 +36,7 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.search.SpaceSearchCriteria import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.AbstractSearchObjectManuallyExecutor; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.CodeMatcher; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.CodesMatcher; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.Matcher; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.SimpleFieldMatcher; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.StringFieldMatcher; @@ -77,6 +79,9 @@ public class SearchProjectExecutor extends AbstractSearchObjectManuallyExecutor< } else if (criteria instanceof CodeSearchCriteria) { return new CodeMatcher<ProjectPE>(); + } else if (criteria instanceof CodesSearchCriteria) + { + return new CodesMatcher<ProjectPE>(); } else if (criteria instanceof PermIdSearchCriteria) { return new PermIdMatcher(); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/service/SearchCustomASServiceExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/service/SearchCustomASServiceExecutor.java index ad2564987fa95deea8afc570c148b48b917a2860..364bf3bab76c24d123de7c348b73d95f93f875be 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/service/SearchCustomASServiceExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/service/SearchCustomASServiceExecutor.java @@ -22,11 +22,13 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodeSearchCriteria; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodesSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.ISearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.service.CustomASService; import ch.ethz.sis.openbis.generic.asapi.v3.dto.service.search.CustomASServiceSearchCriteria; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.AbstractSearchObjectManuallyExecutor; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.CodesMatcher; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.Matcher; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.StringFieldMatcher; @@ -63,6 +65,14 @@ public class SearchCustomASServiceExecutor extends AbstractSearchObjectManuallyE if (criteria instanceof CodeSearchCriteria) { return new CodeMatcher(); + } else if (criteria instanceof CodesSearchCriteria) + { + return new CodesMatcher<CustomASService>() { + @Override + protected String getCodeOf(CustomASService object) + { + return object.getCode().getPermId(); + }}; } throw new IllegalArgumentException("Unknown search criteria: " + criteria.getClass()); } diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/space/SearchSpaceExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/space/SearchSpaceExecutor.java index 41020e5665190cbf463bc8f7a24c376cdc151624..2e8f8cc4692965f6567369a3a9b255de0dac8da0 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/space/SearchSpaceExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/space/SearchSpaceExecutor.java @@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodeSearchCriteria; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodesSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.ISearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.IdSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.PermIdSearchCriteria; @@ -30,6 +31,7 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.search.SpaceSearchCriteria import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.AbstractSearchObjectManuallyExecutor; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.CodeMatcher; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.CodesMatcher; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.Matcher; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.SimpleFieldMatcher; import ch.systemsx.cisd.openbis.generic.shared.dto.SpacePE; @@ -66,6 +68,9 @@ public class SearchSpaceExecutor extends AbstractSearchObjectManuallyExecutor<Sp } else if (criteria instanceof PermIdSearchCriteria || criteria instanceof CodeSearchCriteria) { return new CodeMatcher<SpacePE>(); + } else if (criteria instanceof CodesSearchCriteria) + { + return new CodesMatcher<SpacePE>(); } else { throw new IllegalArgumentException("Unknown search criteria: " + criteria.getClass()); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/tag/SearchTagExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/tag/SearchTagExecutor.java index ed177f04e3ba89b5d328061e35202a0d168d3d68..956af90342b52820d60bbd3373954f8e467b1279 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/tag/SearchTagExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/tag/SearchTagExecutor.java @@ -22,6 +22,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodeSearchCriteria; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodesSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.ISearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.IdSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.PermIdSearchCriteria; @@ -30,6 +31,7 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.tag.search.TagSearchCriteria; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.AbstractSearchObjectManuallyExecutor; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.CodeMatcher; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.CodesMatcher; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.Matcher; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.SimpleFieldMatcher; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.StringFieldMatcher; @@ -71,6 +73,9 @@ public class SearchTagExecutor extends AbstractSearchObjectManuallyExecutor<TagS } else if (criteria instanceof CodeSearchCriteria) { return new CodeMatcher<MetaprojectPE>(); + } else if (criteria instanceof CodesSearchCriteria) + { + return new CodesMatcher<MetaprojectPE>(); } else { throw new IllegalArgumentException("Unknown search criteria: " + criteria.getClass()); diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/vocabulary/SearchVocabularyTermExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/vocabulary/SearchVocabularyTermExecutor.java index 4f7159a0d3a9ba0f46f471b79e014401c2a3ef9e..2c9f546dfe292d3e4e5ba5c2596a4a9d95ff6293 100644 --- a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/vocabulary/SearchVocabularyTermExecutor.java +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/vocabulary/SearchVocabularyTermExecutor.java @@ -25,6 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodeSearchCriteria; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodesSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.ISearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.IdSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.PermIdSearchCriteria; @@ -34,6 +35,7 @@ import ch.ethz.sis.openbis.generic.asapi.v3.dto.vocabulary.search.VocabularyTerm import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.AbstractSearchObjectManuallyExecutor; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.CodeMatcher; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.CodesMatcher; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.Matcher; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.SimpleFieldMatcher; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.search.StringFieldMatcher; @@ -79,6 +81,9 @@ public class SearchVocabularyTermExecutor extends AbstractSearchObjectManuallyEx } else if (criteria instanceof CodeSearchCriteria) { return new CodeMatcher<VocabularyTermPE>(); + } else if (criteria instanceof CodesSearchCriteria) + { + return new CodesMatcher<VocabularyTermPE>(); } else if (criteria instanceof VocabularySearchCriteria) { return new VocabularyMatcher(); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/authorizationgroup/search/AuthorizationGroupSearchCriteria.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/authorizationgroup/search/AuthorizationGroupSearchCriteria.js index b928ae09e6a2c10635a04e9dfeb512a29c2f2bc0..ef43681ae1f71744b28550a6563b52dbf3763274 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/authorizationgroup/search/AuthorizationGroupSearchCriteria.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/authorizationgroup/search/AuthorizationGroupSearchCriteria.js @@ -1,4 +1,5 @@ -define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", "as/dto/common/search/CodeSearchCriteria", "as/dto/common/search/PermIdSearchCriteria" ], function(require, stjs, +define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", "as/dto/common/search/CodeSearchCriteria", + "as/dto/common/search/CodesSearchCriteria", "as/dto/common/search/PermIdSearchCriteria" ], function(require, stjs, AbstractObjectSearchCriteria) { var AuthorizationGroupSearchCriteria = function() { AbstractObjectSearchCriteria.call(this); @@ -10,6 +11,10 @@ define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", var CodeSearchCriteria = require("as/dto/common/search/CodeSearchCriteria"); return this.addCriteria(new CodeSearchCriteria()); }; + prototype.withCodes = function() { + var CodesSearchCriteria = require("as/dto/common/search/CodesSearchCriteria"); + return this.addCriteria(new CodesSearchCriteria()); + }; prototype.withPermId = function() { var PermIdSearchCriteria = require("as/dto/common/search/PermIdSearchCriteria"); return this.addCriteria(new PermIdSearchCriteria()); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/common/search/AbstractEntitySearchCriteria.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/common/search/AbstractEntitySearchCriteria.js index 36fb9ea3b0b2394a24cf0ee184e5f7d76f45683e..c64864cffe883850970ae667e480307afc97811e 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/common/search/AbstractEntitySearchCriteria.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/common/search/AbstractEntitySearchCriteria.js @@ -1,7 +1,7 @@ /** * @author pkupczyk */ -define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", "as/dto/common/search/SearchOperator", "as/dto/common/search/CodeSearchCriteria", +define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", "as/dto/common/search/SearchOperator", "as/dto/common/search/CodeSearchCriteria", "as/dto/common/search/CodesSearchCriteria", "as/dto/common/search/PermIdSearchCriteria", "as/dto/common/search/RegistrationDateSearchCriteria", "as/dto/common/search/ModificationDateSearchCriteria", "as/dto/common/search/NumberPropertySearchCriteria", "as/dto/tag/search/TagSearchCriteria", "as/dto/common/search/StringPropertySearchCriteria", "as/dto/common/search/DatePropertySearchCriteria", "as/dto/common/search/AnyPropertySearchCriteria", "as/dto/common/search/AnyFieldSearchCriteria", @@ -21,6 +21,10 @@ define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", var CodeSearchCriteria = require("as/dto/common/search/CodeSearchCriteria"); return this.addCriteria(new CodeSearchCriteria()); }; + prototype.withCodes = function() { + var CodesSearchCriteria = require("as/dto/common/search/CodesSearchCriteria"); + return this.addCriteria(new CodesSearchCriteria()); + }; prototype.withPermId = function() { var PermIdSearchCriteria = require("as/dto/common/search/PermIdSearchCriteria"); return this.addCriteria(new PermIdSearchCriteria()); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/dataset/search/ExternalDmsSearchCriteria.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/dataset/search/ExternalDmsSearchCriteria.js index 7ba2a31721c3513c30e73604fc9d2b116617b6a8..7316188f553b99496248446e7ce69059c7be4ef1 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/dataset/search/ExternalDmsSearchCriteria.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/dataset/search/ExternalDmsSearchCriteria.js @@ -1,7 +1,8 @@ /** * @author pkupczyk */ -define([ "require", "stjs", "as/dto/common/search/AbstractCompositeSearchCriteria", "as/dto/common/search/CodeSearchCriteria", "as/dto/externaldms/search/LabelSearchCriteria", "as/dto/externaldms/search/AddressSearchCriteria", "as/dto/externaldms/search/ExternalDmsTypeSearchCriteria"], function(require, stjs, AbstractCompositeSearchCriteria) { +define([ "require", "stjs", "as/dto/common/search/AbstractCompositeSearchCriteria", "as/dto/common/search/CodeSearchCriteria", + "as/dto/common/search/CodesSearchCriteria", "as/dto/externaldms/search/LabelSearchCriteria", "as/dto/externaldms/search/AddressSearchCriteria", "as/dto/externaldms/search/ExternalDmsTypeSearchCriteria"], function(require, stjs, AbstractCompositeSearchCriteria) { var ExternalDmsSearchCriteria = function() { AbstractCompositeSearchCriteria.call(this); }; @@ -12,6 +13,10 @@ define([ "require", "stjs", "as/dto/common/search/AbstractCompositeSearchCriteri var CodeSearchCriteria = require("as/dto/common/search/CodeSearchCriteria"); return this.addCriteria(new CodeSearchCriteria()); }; + prototype.withCodes = function() { + var CodesSearchCriteria = require("as/dto/common/search/CodesSearchCriteria"); + return this.addCriteria(new CodesSearchCriteria()); + }; prototype.withLabel = function() { var LabelSearchCriteria = require("as/dto/externaldms/search/LabelSearchCriteria"); return this.addCriteria(new LabelSearchCriteria()); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/datastore/search/DataStoreSearchCriteria.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/datastore/search/DataStoreSearchCriteria.js index 20fadd6af089bbfc6306c379128fdc1b420d1b1b..79b55a1c5075f043d85a02983ef3539ea8c817ae 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/datastore/search/DataStoreSearchCriteria.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/datastore/search/DataStoreSearchCriteria.js @@ -1,7 +1,8 @@ /** * @author pkupczyk */ -define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", "as/dto/common/search/CodeSearchCriteria", "as/dto/common/search/PermIdSearchCriteria" ], function(require, stjs, +define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", "as/dto/common/search/CodeSearchCriteria", + "as/dto/common/search/CodesSearchCriteria", "as/dto/common/search/PermIdSearchCriteria" ], function(require, stjs, AbstractObjectSearchCriteria) { var DataStoreSearchCriteria = function() { AbstractObjectSearchCriteria.call(this); @@ -13,6 +14,10 @@ define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", var CodeSearchCriteria = require("as/dto/common/search/CodeSearchCriteria"); return this.addCriteria(new CodeSearchCriteria()); }; + prototype.withCodes = function() { + var CodesSearchCriteria = require("as/dto/common/search/CodesSearchCriteria"); + return this.addCriteria(new CodesSearchCriteria()); + }; prototype.withPermId = function() { var PermIdSearchCriteria = require("as/dto/common/search/PermIdSearchCriteria"); return this.addCriteria(new PermIdSearchCriteria()); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/entitytype/search/EntityTypeSearchCriteria.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/entitytype/search/EntityTypeSearchCriteria.js index 9eadc63e395c46f066d65b938d5dee709e83a777..95419ef563b9d28e3a431383e45194445c019322 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/entitytype/search/EntityTypeSearchCriteria.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/entitytype/search/EntityTypeSearchCriteria.js @@ -1,5 +1,6 @@ -define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", "as/dto/common/search/CodeSearchCriteria", "as/dto/entitytype/search/EntityKindSearchCriteria" ], function(require, - stjs, AbstractObjectSearchCriteria, CodeSearchCriteria, EntityKindSearchCriteria) { +define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", "as/dto/common/search/CodeSearchCriteria", + "as/dto/common/search/CodesSearchCriteria", "as/dto/entitytype/search/EntityKindSearchCriteria" ], function(require, + stjs, AbstractObjectSearchCriteria, CodeSearchCriteria, CodesSearchCriteria, EntityKindSearchCriteria) { var EntityTypeSearchCriteria = function() { AbstractObjectSearchCriteria.call(this); }; @@ -10,6 +11,10 @@ define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", var CodeSearchCriteria = require("as/dto/common/search/CodeSearchCriteria"); return this.addCriteria(new CodeSearchCriteria()); }; + prototype.withCodes = function() { + var CodesSearchCriteria = require("as/dto/common/search/CodesSearchCriteria"); + return this.addCriteria(new CodesSearchCriteria()); + }; prototype.withKind = function() { var EntityKindSearchCriteria = require("as/dto/entitytype/search/EntityKindSearchCriteria"); return this.addCriteria(new EntityKindSearchCriteria()); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/externaldms/search/ExternalDmsSearchCriteria.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/externaldms/search/ExternalDmsSearchCriteria.js index 75b9cc2cd41f3c8c5a69604db3ef08d2b51298ac..97f512f15753c0f9f40a057013d8e6c4ab0f8525 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/externaldms/search/ExternalDmsSearchCriteria.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/externaldms/search/ExternalDmsSearchCriteria.js @@ -1,7 +1,10 @@ /** * @author pkupczyk */ -define([ "require", "stjs", "as/dto/common/search/AbstractCompositeSearchCriteria", "as/dto/common/search/CodeSearchCriteria", "as/dto/externaldms/search/LabelSearchCriteria", "as/dto/externaldms/search/AddressSearchCriteria", "as/dto/externaldms/search/ExternalDmsTypeSearchCriteria"], function(require, stjs, AbstractCompositeSearchCriteria) { +define([ "require", "stjs", "as/dto/common/search/AbstractCompositeSearchCriteria", "as/dto/common/search/CodeSearchCriteria", + "as/dto/common/search/CodesSearchCriteria", "as/dto/externaldms/search/LabelSearchCriteria", + "as/dto/externaldms/search/AddressSearchCriteria", "as/dto/externaldms/search/ExternalDmsTypeSearchCriteria"], + function(require, stjs, AbstractCompositeSearchCriteria) { var ExternalDmsSearchCriteria = function() { AbstractCompositeSearchCriteria.call(this); }; @@ -12,6 +15,10 @@ define([ "require", "stjs", "as/dto/common/search/AbstractCompositeSearchCriteri var CodeSearchCriteria = require("as/dto/common/search/CodeSearchCriteria"); return this.addCriteria(new CodeSearchCriteria()); }; + prototype.withCodes = function() { + var CodesSearchCriteria = require("as/dto/common/search/CodesSearchCriteria"); + return this.addCriteria(new CodesSearchCriteria()); + }; prototype.withLabel = function() { var LabelSearchCriteria = require("as/dto/externaldms/search/LabelSearchCriteria"); return this.addCriteria(new LabelSearchCriteria()); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/project/search/ProjectSearchCriteria.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/project/search/ProjectSearchCriteria.js index 35cf131ef828e484b5ac070a8a8d6c3e6de623f8..a11c70d4b555d7e577a7b3610da7706bb5637777 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/project/search/ProjectSearchCriteria.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/project/search/ProjectSearchCriteria.js @@ -1,7 +1,8 @@ /** * @author pkupczyk */ -define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", "as/dto/common/search/AbstractCompositeSearchCriteria", "as/dto/common/search/CodeSearchCriteria", +define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", "as/dto/common/search/AbstractCompositeSearchCriteria", + "as/dto/common/search/CodeSearchCriteria", "as/dto/common/search/CodesSearchCriteria", "as/dto/common/search/PermIdSearchCriteria", "as/dto/space/search/SpaceSearchCriteria" ], function(require, stjs, AbstractObjectSearchCriteria) { var ProjectSearchCriteria = function() { AbstractObjectSearchCriteria.call(this); @@ -13,6 +14,10 @@ define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", var CodeSearchCriteria = require("as/dto/common/search/CodeSearchCriteria"); return this.addCriteria(new CodeSearchCriteria()); }; + prototype.withCodes = function() { + var CodesSearchCriteria = require("as/dto/common/search/CodesSearchCriteria"); + return this.addCriteria(new CodesSearchCriteria()); + }; prototype.withPermId = function() { var PermIdSearchCriteria = require("as/dto/common/search/PermIdSearchCriteria"); return this.addCriteria(new PermIdSearchCriteria()); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/service/search/CustomASServiceSearchCriteria.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/service/search/CustomASServiceSearchCriteria.js index 8c8dcb66704db8c58b4e28cd5829e5b89c00c9c1..ca467d11aae176ee4744f267432b6ab1aec50db5 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/service/search/CustomASServiceSearchCriteria.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/service/search/CustomASServiceSearchCriteria.js @@ -1,4 +1,5 @@ -define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", "as/dto/common/search/CodeSearchCriteria"], +define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", "as/dto/common/search/CodeSearchCriteria", + "as/dto/common/search/CodesSearchCriteria"], function(require, stjs, AbstractObjectSearchCriteria) { var CustomASServiceSearchCriteria = function() { AbstractObjectSearchCriteria.call(this); @@ -10,6 +11,10 @@ define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", var CodeSearchCriteria = require("as/dto/common/search/CodeSearchCriteria"); return this.addCriteria(new CodeSearchCriteria()); }; + prototype.withCodes = function() { + var CodesSearchCriteria = require("as/dto/common/search/CodesSearchCriteria"); + return this.addCriteria(new CodesSearchCriteria()); + }; prototype.withOrOperator = function() { return this.withOperator(SearchOperator.OR); }; diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/space/search/SpaceSearchCriteria.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/space/search/SpaceSearchCriteria.js index 69f39e1c921893c5a6f1c7faa63e0e34c23dcfd5..a7782f36e95434827eb33b6a60225009eb2005ad 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/space/search/SpaceSearchCriteria.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/space/search/SpaceSearchCriteria.js @@ -1,7 +1,8 @@ /** * @author pkupczyk */ -define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", "as/dto/common/search/CodeSearchCriteria", "as/dto/common/search/PermIdSearchCriteria", +define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", "as/dto/common/search/CodeSearchCriteria", + "as/dto/common/search/CodesSearchCriteria", "as/dto/common/search/PermIdSearchCriteria", "as/dto/common/search/AbstractCompositeSearchCriteria" ], function(require, stjs, AbstractObjectSearchCriteria) { var SpaceSearchCriteria = function() { AbstractObjectSearchCriteria.call(this); @@ -13,6 +14,10 @@ define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", var CodeSearchCriteria = require("as/dto/common/search/CodeSearchCriteria"); return this.addCriteria(new CodeSearchCriteria()); }; + prototype.withCodes = function() { + var CodesSearchCriteria = require("as/dto/common/search/CodesSearchCriteria"); + return this.addCriteria(new CodesSearchCriteria()); + }; prototype.withPermId = function() { var PermIdSearchCriteria = require("as/dto/common/search/PermIdSearchCriteria"); return this.addCriteria(new PermIdSearchCriteria()); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/tag/search/TagSearchCriteria.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/tag/search/TagSearchCriteria.js index 9ebf822eb067b071eb9071984d69361003889f83..525ce3e197f5b479d0fd76168fc6f55aaf36b38c 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/tag/search/TagSearchCriteria.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/tag/search/TagSearchCriteria.js @@ -1,7 +1,8 @@ /** * @author pkupczyk */ -define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", "as/dto/common/search/CodeSearchCriteria", "as/dto/common/search/PermIdSearchCriteria", +define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", "as/dto/common/search/CodeSearchCriteria", + "as/dto/common/search/CodesSearchCriteria", "as/dto/common/search/PermIdSearchCriteria", "as/dto/common/search/AbstractCompositeSearchCriteria" ], function(require, stjs, AbstractObjectSearchCriteria) { var TagSearchCriteria = function() { AbstractObjectSearchCriteria.call(this); @@ -13,6 +14,10 @@ define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", var CodeSearchCriteria = require("as/dto/common/search/CodeSearchCriteria"); return this.addCriteria(new CodeSearchCriteria()); }; + prototype.withCodes = function() { + var CodesSearchCriteria = require("as/dto/common/search/CodesSearchCriteria"); + return this.addCriteria(new CodesSearchCriteria()); + }; prototype.withPermId = function() { var PermIdSearchCriteria = require("as/dto/common/search/PermIdSearchCriteria"); return this.addCriteria(new PermIdSearchCriteria()); diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/vocabulary/search/VocabularyTermSearchCriteria.js b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/vocabulary/search/VocabularyTermSearchCriteria.js index 29140664876ba3c9998032c6d90550bc5831bf84..2940b7361a3fbfc067fb3ffd586a2bd723acde7d 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/vocabulary/search/VocabularyTermSearchCriteria.js +++ b/openbis/source/java/ch/systemsx/cisd/openbis/public/resources/api/v3/as/dto/vocabulary/search/VocabularyTermSearchCriteria.js @@ -1,7 +1,8 @@ /** * @author pkupczyk */ -define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", "as/dto/common/search/CodeSearchCriteria", "as/dto/common/search/PermIdSearchCriteria", +define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", "as/dto/common/search/CodeSearchCriteria", + "as/dto/common/search/CodeSearchCriteria", "as/dto/common/search/PermIdSearchCriteria", "as/dto/vocabulary/search/VocabularySearchCriteria" ], function(require, stjs, AbstractObjectSearchCriteria) { var VocabularyTermSearchCriteria = function() { AbstractObjectSearchCriteria.call(this); @@ -18,6 +19,10 @@ define([ "require", "stjs", "as/dto/common/search/AbstractObjectSearchCriteria", var CodeSearchCriteria = require("as/dto/common/search/CodeSearchCriteria"); return this.addCriteria(new CodeSearchCriteria()); }; + prototype.withCodes = function() { + var CodesSearchCriteria = require("as/dto/common/search/CodesSearchCriteria"); + return this.addCriteria(new CodesSearchCriteria()); + }; prototype.withVocabulary = function() { var VocabularySearchCriteria = require("as/dto/vocabulary/search/VocabularySearchCriteria"); return this.addCriteria(new VocabularySearchCriteria()); diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchAuthorizationGroupTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchAuthorizationGroupTest.java index f3218183927a21d3d0be07229ce235619bce23fb..4c8309a767fd2fbaf491a50cdcc602aa507d9f33 100644 --- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchAuthorizationGroupTest.java +++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchAuthorizationGroupTest.java @@ -69,6 +69,30 @@ public class SearchAuthorizationGroupTest extends AbstractTest v3api.logout(sessionToken); } + @Test + public void testSearchWithCodes() + { + // Given + String sessionToken = v3api.login(TEST_USER, PASSWORD); + AuthorizationGroupSearchCriteria searchCriteria = new AuthorizationGroupSearchCriteria(); + searchCriteria.withCodes().thatIn(Arrays.asList("AGROUP")); + AuthorizationGroupFetchOptions fetchOptions = new AuthorizationGroupFetchOptions(); + fetchOptions.withRegistrator(); + fetchOptions.withUsers().withSpace(); + + // When + SearchResult<AuthorizationGroup> result = v3api.searchAuthorizationGroups(sessionToken, searchCriteria, fetchOptions); + + // Then + + AuthorizationGroup authorizationGroup = result.getObjects().get(0); + assertEquals(authorizationGroup.getCode(), "AGROUP"); + assertEquals(authorizationGroup.getDescription(), "myDescription"); + assertEquals(result.getTotalCount(), 1); + + v3api.logout(sessionToken); + } + @Test public void testSearchWithPermIdFetchingRegistrator() { diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchDataSetTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchDataSetTest.java index d1e3dc9d45bdf18303039235d759e13a4b8b6c11..185b7dc3c4871f4998558be4210911349c7e7af2 100644 --- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchDataSetTest.java +++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchDataSetTest.java @@ -19,6 +19,7 @@ package ch.ethz.sis.openbis.systemtest.asapi.v3; import static org.junit.Assert.assertTrue; import static org.testng.Assert.assertEquals; +import java.util.Arrays; import java.util.List; import org.testng.annotations.Test; @@ -75,6 +76,14 @@ public class SearchDataSetTest extends AbstractDataSetTest testSearch(TEST_USER, criteria, "20081105092259000-18"); } + @Test + public void testSearchWithCodes() + { + DataSetSearchCriteria criteria = new DataSetSearchCriteria(); + criteria.withCodes().thatIn(Arrays.asList("20081105092259000-18", "20081105092259000-19")); + testSearch(TEST_USER, criteria, "20081105092259000-18", "20081105092259000-19"); + } + @Test public void testSearchTwoDataSetsWithCodeAndId() { diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchDataStoreTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchDataStoreTest.java index 6d67f1a1813497aebbcdb5b747f7afa66f6ba3b9..d4bdf4043a1c9b94b04d4cf8cbbd3292db6b2394 100644 --- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchDataStoreTest.java +++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchDataStoreTest.java @@ -16,6 +16,7 @@ package ch.ethz.sis.openbis.systemtest.asapi.v3; +import java.util.Arrays; import java.util.List; import org.testng.annotations.Test; @@ -137,6 +138,14 @@ public class SearchDataStoreTest extends AbstractTest criteriaNonMatching.withCode().thatEquals("ANDAR"); testSearch(TEST_USER, criteriaNonMatching); } + + @Test + public void testSearchWithCodes() + { + DataStoreSearchCriteria criteria = new DataStoreSearchCriteria(); + criteria.withCodes().thatIn(Arrays.asList("STANDARD", "BLABLA")); + testSearch(TEST_USER, criteria, "STANDARD"); + } @Test public void testSearchWithCodeThatContains() diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchExperimentTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchExperimentTest.java index 6f730768035cfc0b57a5c1fbb3206e4ef51893b9..16c17e2ab760db62c37659f6464b3b6d94b4dafb 100644 --- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchExperimentTest.java +++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchExperimentTest.java @@ -20,6 +20,7 @@ import static org.junit.Assert.assertTrue; import static org.testng.Assert.assertEquals; import java.text.SimpleDateFormat; +import java.util.Arrays; import java.util.List; import java.util.TimeZone; @@ -186,6 +187,14 @@ public class SearchExperimentTest extends AbstractExperimentTest testSearch(TEST_USER, criteria, "/CISD/NEMO/EXP1", "/CISD/NEMO/EXP10", "/CISD/NEMO/EXP11"); } + @Test + public void testSearchWithCodes() + { + ExperimentSearchCriteria criteria = new ExperimentSearchCriteria(); + criteria.withCodes().thatIn(Arrays.asList("EXP10", "EXP11")); + testSearch(TEST_USER, criteria, "/CISD/NEMO/EXP10", "/CISD/NEMO/EXP11"); + } + @Test public void testSearchWithTypeWithIdSetToPermId() { diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchExternalDmsTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchExternalDmsTest.java index 08623e2b2419262d8b7f6e5fce855a262a988178..7cb035d0d631a9a19d456c505a6cb0c66fe7ed5d 100644 --- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchExternalDmsTest.java +++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchExternalDmsTest.java @@ -20,6 +20,7 @@ import static org.hamcrest.CoreMatchers.hasItem; import static org.hamcrest.MatcherAssert.assertThat; import static org.testng.Assert.assertEquals; +import java.util.Arrays; import java.util.List; import org.testng.annotations.Test; @@ -63,6 +64,23 @@ public class SearchExternalDmsTest extends AbstractExternalDmsTest assertEquals(result.get(0).getAddressType(), edms2.getAddressType()); } + @Test + public void searchReturnsExternalDataManagementSystemWithCodes() + { + get(create(externalDms())); + ExternalDms edms2 = get(create(externalDms())); + + ExternalDmsSearchCriteria criteria = new ExternalDmsSearchCriteria(); + criteria.withCodes().thatIn(Arrays.asList(edms2.getCode())); + ExternalDmsFetchOptions fetchOptions = new ExternalDmsFetchOptions(); + List<ExternalDms> result = v3api.searchExternalDataManagementSystems(session, criteria, fetchOptions).getObjects(); + + assertEquals(result.size(), 1); + assertEquals(result.get(0).getCode(), edms2.getCode()); + assertEquals(result.get(0).getAddress(), edms2.getAddress()); + assertEquals(result.get(0).getAddressType(), edms2.getAddressType()); + } + @Test public void canSearchWithLabel() { diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchMaterialTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchMaterialTest.java index ed61204191ae95158fcb0c1593d4c4b2455cd8f3..182c3857ef32bc9725a09c8b8370858cc523b588 100644 --- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchMaterialTest.java +++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchMaterialTest.java @@ -19,6 +19,7 @@ package ch.ethz.sis.openbis.systemtest.asapi.v3; import static org.junit.Assert.assertTrue; import static org.testng.Assert.assertEquals; +import java.util.Arrays; import java.util.List; import org.testng.annotations.Test; @@ -76,6 +77,14 @@ public class SearchMaterialTest extends AbstractTest testSearch(TEST_USER, criteria, new MaterialPermId("VIRUS1", "VIRUS"), new MaterialPermId("VIRUS2", "VIRUS")); } + @Test + public void testSearchWithCodes() + { + MaterialSearchCriteria criteria = new MaterialSearchCriteria(); + criteria.withCodes().thatIn(Arrays.asList("VIRUS2", "VIRUS1")); + testSearch(TEST_USER, criteria, new MaterialPermId("VIRUS1", "VIRUS"), new MaterialPermId("VIRUS2", "VIRUS")); + } + @Test public void testSearchWithTypeWithIdSetToPermId() { diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchProjectTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchProjectTest.java index 1102796f28da8360da3c0d1ea28e27648a7ca29f..b2986383d0d7be4023f18169488c92b569ee0327 100644 --- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchProjectTest.java +++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchProjectTest.java @@ -18,6 +18,7 @@ package ch.ethz.sis.openbis.systemtest.asapi.v3; import static org.testng.Assert.assertEquals; +import java.util.Arrays; import java.util.List; import org.testng.annotations.Test; @@ -92,6 +93,14 @@ public class SearchProjectTest extends AbstractTest testSearch(TEST_USER, criteria, "/TEST-SPACE/TEST-PROJECT"); } + @Test + public void testSearchWithCodes() + { + ProjectSearchCriteria criteria = new ProjectSearchCriteria(); + criteria.withCodes().thatIn(Arrays.asList("TEST-PROJECT", "TESTPROJ")); + testSearch(TEST_USER, criteria, "/TESTGROUP/TESTPROJ", "/TEST-SPACE/TEST-PROJECT"); + } + @Test public void testSearchWithCodeThatContains() { diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchSampleTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchSampleTest.java index 9ac54ac764cf63c5796567c29fcb8e26309bdd3b..f7881fdd2112c9936dc8d9064014826279eba780 100644 --- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchSampleTest.java +++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchSampleTest.java @@ -162,6 +162,14 @@ public class SearchSampleTest extends AbstractSampleTest testSearch(TEST_USER, criteria, "/CISD/RP1-A2X"); } + @Test + public void testSearchWithCodes() + { + SampleSearchCriteria criteria = new SampleSearchCriteria(); + criteria.withCodes().thatIn(Arrays.asList("RP1-A2X", "RP1-B1X")); + testSearch(TEST_USER, criteria, "/CISD/RP1-A2X", "/CISD/RP1-B1X"); + } + @Test public void testSearchWithCodeThatEqualsWithStarWildcard() { diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchSampleTypeTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchSampleTypeTest.java index 2eb9185a37e5db81837c5d0f555ac66398170438..7e0ffa3721347fce2ad2e21659838ca1d5f0bab9 100644 --- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchSampleTypeTest.java +++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchSampleTypeTest.java @@ -400,6 +400,20 @@ public class SearchSampleTypeTest extends AbstractTest assertEquals(codes.toString(), "[CELL_PLATE]"); } + @Test + public void testSearchWithPropertyAssignmentsWithEntityTypeWithCodes() + { + String sessionToken = v3api.login(TEST_USER, PASSWORD); + + SampleTypeSearchCriteria searchCriteria = new SampleTypeSearchCriteria(); + searchCriteria.withPropertyAssignments().withEntityType().withCodes().thatIn(Arrays.asList("CELL_PLATE")); + + SearchResult<SampleType> searchResult = v3api.searchSampleTypes(sessionToken, searchCriteria, new SampleTypeFetchOptions()); + + List<String> codes = extractCodes(searchResult.getObjects()); + assertEquals(codes.toString(), "[CELL_PLATE]"); + } + @Test public void testSearchWithPropertyAssignmentsWithPropertyTypeWithIdThatEquals() { diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchServiceTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchServiceTest.java index c5b846bbd228fc7077d18c816f380768aaf5ae7a..eb9de94c2bfc3e7050ca7ba26522903c0b19deb8 100644 --- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchServiceTest.java +++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchServiceTest.java @@ -18,6 +18,8 @@ package ch.ethz.sis.openbis.systemtest.asapi.v3; import static org.testng.Assert.assertEquals; +import java.util.Arrays; + import org.testng.annotations.Test; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.SearchResult; @@ -44,6 +46,19 @@ public class SearchServiceTest extends AbstractTest assertEquals(result.getTotalCount(), 1); } + @Test + public void testSearchServicesWithCodes() + { + String sessionToken = v3api.login(TEST_USER, PASSWORD); + CustomASServiceSearchCriteria searchCriteria = new CustomASServiceSearchCriteria(); + searchCriteria.withCodes().thatIn(Arrays.asList("simple-service")); + + SearchResult<CustomASService> result = v3api.searchCustomASServices(sessionToken, searchCriteria, + new CustomASServiceFetchOptions()); + + assertEquals(result.getTotalCount(), 1); + } + @Test public void testSearchAllServicesSortedPage2() { diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchSpaceTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchSpaceTest.java index f19e229e8d83179acfcf6b215871d864b0ff10c3..5ba0ddb40d8ad832dffd996acf0d2794beea5462 100644 --- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchSpaceTest.java +++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchSpaceTest.java @@ -18,6 +18,7 @@ package ch.ethz.sis.openbis.systemtest.asapi.v3; import static org.testng.Assert.assertEquals; +import java.util.Arrays; import java.util.List; import org.testng.annotations.Test; @@ -98,6 +99,14 @@ public class SearchSpaceTest extends AbstractTest testSearch(TEST_USER, criteria, "TEST-SPACE"); } + @Test + public void testSearchWithCodes() + { + SpaceSearchCriteria criteria = new SpaceSearchCriteria(); + criteria.withCodes().thatIn(Arrays.asList("TEST-SPACE")); + testSearch(TEST_USER, criteria, "TEST-SPACE"); + } + @Test public void testSearchWithCodeThatContains() { diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchTagTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchTagTest.java index 50a5403bf593b16c7d432cec0128cba50c254b32..49c74c5bf3881a1aac3324241f93d1c5b52e34d5 100644 --- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchTagTest.java +++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchTagTest.java @@ -16,6 +16,7 @@ package ch.ethz.sis.openbis.systemtest.asapi.v3; +import java.util.Arrays; import java.util.List; import org.testng.annotations.Test; @@ -97,6 +98,14 @@ public class SearchTagTest extends AbstractTest testSearch(TEST_USER, criteria, "/test/TEST_METAPROJECTS"); } + @Test + public void testSearchWithCodes() + { + TagSearchCriteria criteria = new TagSearchCriteria(); + criteria.withCodes().thatIn(Arrays.asList("TEST_METAPROJECTS", "ANOTHER_TEST_METAPROJECTS")); + testSearch(TEST_USER, criteria, "/test/TEST_METAPROJECTS", "/test/ANOTHER_TEST_METAPROJECTS"); + } + @Test public void testSearchWithCodeThatContains() { diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchVocabularyTermTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchVocabularyTermTest.java index 8cb63549663fbee12209e46cd6f8d474c21026be..94f4ffc083f86c9169286c7d43f7e041ec6bc944 100644 --- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchVocabularyTermTest.java +++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/SearchVocabularyTermTest.java @@ -18,6 +18,7 @@ package ch.ethz.sis.openbis.systemtest.asapi.v3; import static org.testng.Assert.assertEquals; +import java.util.Arrays; import java.util.List; import org.testng.annotations.Test; @@ -99,6 +100,14 @@ public class SearchVocabularyTermTest extends AbstractVocabularyTermTest testSearch(criteria, new VocabularyTermPermId("MAN", "HUMAN")); } + @Test + public void testSearchWithCodes() + { + VocabularyTermSearchCriteria criteria = new VocabularyTermSearchCriteria(); + criteria.withCodes().thatIn(Arrays.asList("MAN")); + testSearch(criteria, new VocabularyTermPermId("MAN", "HUMAN")); + } + @Test public void testSearchWithCodeThatContains() { diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/authorizationgroup/search/AuthorizationGroupSearchCriteria.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/authorizationgroup/search/AuthorizationGroupSearchCriteria.java index 392497e309b841315594b2d171063fe4088b9902..c9e99d6be297988e0c54b2c76502d3154a40ec5d 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/authorizationgroup/search/AuthorizationGroupSearchCriteria.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/authorizationgroup/search/AuthorizationGroupSearchCriteria.java @@ -19,14 +19,13 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.authorizationgroup.search; import ch.ethz.sis.openbis.generic.asapi.v3.dto.authorizationgroup.id.IAuthorizationGroupId; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.AbstractObjectSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodeSearchCriteria; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodesSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.PermIdSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.SearchCriteriaToStringBuilder; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.SearchOperator; import ch.systemsx.cisd.base.annotation.JsonObject; /** - * - * * @author Franz-Josef Elmer */ @JsonObject("as.dto.authorizationgroup.search.AuthorizationGroupSearchCriteria") @@ -40,6 +39,11 @@ public class AuthorizationGroupSearchCriteria extends AbstractObjectSearchCriter return with(new CodeSearchCriteria()); } + public CodesSearchCriteria withCodes() + { + return with(new CodesSearchCriteria()); + } + public PermIdSearchCriteria withPermId() { return with(new PermIdSearchCriteria()); @@ -63,5 +67,4 @@ public class AuthorizationGroupSearchCriteria extends AbstractObjectSearchCriter return builder; } - } diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/common/search/AbstractEntitySearchCriteria.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/common/search/AbstractEntitySearchCriteria.java index 1ee59467c8f742657f286b0f22b9c9b7138de18d..22d38d7bb6dd3bcc2261b701391909d5954ce2b8 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/common/search/AbstractEntitySearchCriteria.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/common/search/AbstractEntitySearchCriteria.java @@ -36,6 +36,11 @@ public abstract class AbstractEntitySearchCriteria<ID extends IObjectId> extends return with(new CodeSearchCriteria()); } + public CodesSearchCriteria withCodes() + { + return with(new CodesSearchCriteria()); + } + public PermIdSearchCriteria withPermId() { return with(new PermIdSearchCriteria()); diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/search/ExternalDmsSearchCriteria.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/search/ExternalDmsSearchCriteria.java index ccb0d4cf905499a30c482ec38e43714e294b2446..22abf7688b9054325e5759d09ad9dec96b3d02fe 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/search/ExternalDmsSearchCriteria.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/dataset/search/ExternalDmsSearchCriteria.java @@ -18,6 +18,7 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.dataset.search; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.AbstractObjectSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodeSearchCriteria; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodesSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.SearchCriteriaToStringBuilder; import ch.ethz.sis.openbis.generic.asapi.v3.dto.externaldms.id.IExternalDmsId; import ch.ethz.sis.openbis.generic.asapi.v3.dto.externaldms.search.AddressSearchCriteria; @@ -39,6 +40,11 @@ public class ExternalDmsSearchCriteria extends AbstractObjectSearchCriteria<IExt return with(new CodeSearchCriteria()); } + public CodesSearchCriteria withCodes() + { + return with(new CodesSearchCriteria()); + } + public LabelSearchCriteria withLabel() { return with(new LabelSearchCriteria()); diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/datastore/search/DataStoreSearchCriteria.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/datastore/search/DataStoreSearchCriteria.java index a25cc6262bdd0de365153973687ac0c39445109a..115a4605205cd4b21b88de9ef77406a9760a1db8 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/datastore/search/DataStoreSearchCriteria.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/datastore/search/DataStoreSearchCriteria.java @@ -18,6 +18,7 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.datastore.search; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.AbstractObjectSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodeSearchCriteria; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodesSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.PermIdSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.SearchCriteriaToStringBuilder; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.SearchOperator; @@ -47,6 +48,11 @@ public class DataStoreSearchCriteria extends AbstractObjectSearchCriteria<IDataS return with(new CodeSearchCriteria()); } + public CodesSearchCriteria withCodes() + { + return with(new CodesSearchCriteria()); + } + public DataStoreSearchCriteria withOrOperator() { return (DataStoreSearchCriteria) withOperator(SearchOperator.OR); diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/entitytype/search/EntityTypeSearchCriteria.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/entitytype/search/EntityTypeSearchCriteria.java index d5df2b29bddba678b3456fb03e031a91655a2c74..39b83aed275e412b89f46221651006b9b41a0ac6 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/entitytype/search/EntityTypeSearchCriteria.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/entitytype/search/EntityTypeSearchCriteria.java @@ -18,6 +18,7 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.entitytype.search; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.AbstractObjectSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodeSearchCriteria; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodesSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.SearchCriteriaToStringBuilder; import ch.ethz.sis.openbis.generic.asapi.v3.dto.entitytype.id.IEntityTypeId; import ch.systemsx.cisd.base.annotation.JsonObject; @@ -35,6 +36,11 @@ public class EntityTypeSearchCriteria extends AbstractObjectSearchCriteria<IEnti return with(new CodeSearchCriteria()); } + public CodesSearchCriteria withCodes() + { + return with(new CodesSearchCriteria()); + } + public EntityKindSearchCriteria withKind() { return with(new EntityKindSearchCriteria()); diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/project/search/ProjectSearchCriteria.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/project/search/ProjectSearchCriteria.java index 4b41032df07f5c11ed97e5e5f507f621d47f7d68..9a3dc6e32382f3a0323d679f2f02cdea3621a368 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/project/search/ProjectSearchCriteria.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/project/search/ProjectSearchCriteria.java @@ -18,6 +18,7 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.project.search; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.AbstractObjectSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodeSearchCriteria; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodesSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.PermIdSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.SearchCriteriaToStringBuilder; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.SearchOperator; @@ -43,6 +44,11 @@ public class ProjectSearchCriteria extends AbstractObjectSearchCriteria<IProject return with(new CodeSearchCriteria()); } + public CodesSearchCriteria withCodes() + { + return with(new CodesSearchCriteria()); + } + public PermIdSearchCriteria withPermId() { return with(new PermIdSearchCriteria()); diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/service/search/CustomASServiceSearchCriteria.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/service/search/CustomASServiceSearchCriteria.java index ca7eb454304b7d1a3315590f6996299a439f349a..373f0ca3cb602da3305aaa944ca6dc78a7b19c71 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/service/search/CustomASServiceSearchCriteria.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/service/search/CustomASServiceSearchCriteria.java @@ -18,6 +18,7 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.service.search; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.AbstractObjectSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodeSearchCriteria; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodesSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.SearchCriteriaToStringBuilder; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.SearchOperator; import ch.ethz.sis.openbis.generic.asapi.v3.dto.service.id.ICustomASServiceId; @@ -40,6 +41,11 @@ public class CustomASServiceSearchCriteria extends AbstractObjectSearchCriteria< return with(new CodeSearchCriteria()); } + public CodesSearchCriteria withCodes() + { + return with(new CodesSearchCriteria()); + } + public CustomASServiceSearchCriteria withOrOperator() { return (CustomASServiceSearchCriteria) withOperator(SearchOperator.OR); diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/space/search/SpaceSearchCriteria.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/space/search/SpaceSearchCriteria.java index 3347a73a824a097b50b83f2fe717b8acf5ce72e7..0b956f592976fd2074c34de7fb790186aebb980c 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/space/search/SpaceSearchCriteria.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/space/search/SpaceSearchCriteria.java @@ -18,6 +18,7 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.space.search; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.AbstractObjectSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodeSearchCriteria; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodesSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.PermIdSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.SearchCriteriaToStringBuilder; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.SearchOperator; @@ -42,6 +43,11 @@ public class SpaceSearchCriteria extends AbstractObjectSearchCriteria<ISpaceId> return with(new CodeSearchCriteria()); } + public CodesSearchCriteria withCodes() + { + return with(new CodesSearchCriteria()); + } + public PermIdSearchCriteria withPermId() { return with(new PermIdSearchCriteria()); diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/tag/search/TagSearchCriteria.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/tag/search/TagSearchCriteria.java index c74b434ecd370727ed8b1e6df1953a081499c912..0b44c41225284d2c6c7d5e5c647a9b0c6e83f71f 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/tag/search/TagSearchCriteria.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/tag/search/TagSearchCriteria.java @@ -18,6 +18,7 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.tag.search; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.AbstractObjectSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodeSearchCriteria; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodesSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.PermIdSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.SearchCriteriaToStringBuilder; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.SearchOperator; @@ -42,6 +43,11 @@ public class TagSearchCriteria extends AbstractObjectSearchCriteria<ITagId> return with(new CodeSearchCriteria()); } + public CodesSearchCriteria withCodes() + { + return with(new CodesSearchCriteria()); + } + public PermIdSearchCriteria withPermId() { return with(new PermIdSearchCriteria()); diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/vocabulary/search/VocabularyTermSearchCriteria.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/vocabulary/search/VocabularyTermSearchCriteria.java index 329ac2b896f6309acee3acbb03c08855a9efa2d6..0a5df7446d64d487cfca203e588d2384af70756c 100644 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/vocabulary/search/VocabularyTermSearchCriteria.java +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/vocabulary/search/VocabularyTermSearchCriteria.java @@ -18,6 +18,7 @@ package ch.ethz.sis.openbis.generic.asapi.v3.dto.vocabulary.search; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.AbstractObjectSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodeSearchCriteria; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.CodesSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.PermIdSearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.SearchCriteriaToStringBuilder; import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.SearchOperator; @@ -47,6 +48,11 @@ public class VocabularyTermSearchCriteria extends AbstractObjectSearchCriteria<I return with(new CodeSearchCriteria()); } + public CodesSearchCriteria withCodes() + { + return with(new CodesSearchCriteria()); + } + public VocabularySearchCriteria withVocabulary() { return with(new VocabularySearchCriteria());