diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/vocabulary/ISearchVocabularyExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/vocabulary/ISearchVocabularyExecutor.java new file mode 100644 index 0000000000000000000000000000000000000000..9e6c20e30d4ade55dffdf5d1569ef5239758c42d --- /dev/null +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/vocabulary/ISearchVocabularyExecutor.java @@ -0,0 +1,29 @@ +/* + * Copyright 2014 ETH Zuerich, Scientific IT Services + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package ch.ethz.sis.openbis.generic.server.asapi.v3.executor.vocabulary; + +import ch.ethz.sis.openbis.generic.asapi.v3.dto.vocabulary.search.VocabularySearchCriteria; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.ISearchObjectExecutor; +import ch.systemsx.cisd.openbis.generic.shared.dto.VocabularyPE; + +/** + * @author pkupczyk + */ +public interface ISearchVocabularyExecutor extends ISearchObjectExecutor<VocabularySearchCriteria, VocabularyPE> +{ + +} diff --git a/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/vocabulary/SearchVocabularyExecutor.java b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/vocabulary/SearchVocabularyExecutor.java new file mode 100644 index 0000000000000000000000000000000000000000..524ffc9e4d86428a51359b703ba71896819ce80c --- /dev/null +++ b/openbis/source/java/ch/ethz/sis/openbis/generic/server/asapi/v3/executor/vocabulary/SearchVocabularyExecutor.java @@ -0,0 +1,96 @@ +/* + * Copyright 2014 ETH Zuerich, Scientific IT Services + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package ch.ethz.sis.openbis.generic.server.asapi.v3.executor.vocabulary; + +import java.util.List; + +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.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.asapi.v3.dto.vocabulary.id.VocabularyPermId; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.vocabulary.search.VocabularySearchCriteria; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; +import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.AbstractSearchObjectManuallyExecutor; +import ch.systemsx.cisd.openbis.generic.shared.dto.VocabularyPE; + +/** + * @author pkupczyk + */ +@Component +public class SearchVocabularyExecutor extends AbstractSearchObjectManuallyExecutor<VocabularySearchCriteria, VocabularyPE> implements + ISearchVocabularyExecutor +{ + + @Override + protected List<VocabularyPE> listAll() + { + return daoFactory.getVocabularyDAO().listAllEntities(); + } + + @Override + protected Matcher getMatcher(ISearchCriteria criteria) + { + if (criteria instanceof IdSearchCriteria<?>) + { + return new IdMatcher(); + } else if (criteria instanceof CodeSearchCriteria || criteria instanceof PermIdSearchCriteria) + { + return new CodeMatcher(); + } else + { + throw new IllegalArgumentException("Unknown search criteria: " + criteria.getClass()); + } + } + + private class IdMatcher extends SimpleFieldMatcher + { + + @Override + protected boolean isMatching(IOperationContext context, VocabularyPE object, ISearchCriteria criteria) + { + Object id = ((IdSearchCriteria<?>) criteria).getId(); + + if (id == null) + { + return true; + } else if (id instanceof VocabularyPermId) + { + VocabularyPermId permId = (VocabularyPermId) id; + return object.getCode().equals(permId.getPermId()); + } else + { + throw new IllegalArgumentException("Unknown id: " + id.getClass()); + } + } + + } + + private class CodeMatcher extends StringFieldMatcher + { + + @Override + protected String getFieldValue(VocabularyPE object) + { + return object.getCode(); + } + + } + +} 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 d5050ac73d22820dc2719bb1d15447d486c636ad..f645daf111aac07ae0292a319a910d03f97c6e5d 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 @@ -16,19 +16,24 @@ package ch.ethz.sis.openbis.generic.server.asapi.v3.executor.vocabulary; +import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; +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.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.asapi.v3.dto.vocabulary.id.VocabularyTermPermId; -import ch.ethz.sis.openbis.generic.asapi.v3.dto.vocabulary.search.VocabularyCodeSearchCriteria; -import ch.ethz.sis.openbis.generic.asapi.v3.dto.vocabulary.search.VocabularyTermCodeSearchCriteria; +import ch.ethz.sis.openbis.generic.asapi.v3.dto.vocabulary.search.VocabularySearchCriteria; import ch.ethz.sis.openbis.generic.asapi.v3.dto.vocabulary.search.VocabularyTermSearchCriteria; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.IOperationContext; import ch.ethz.sis.openbis.generic.server.asapi.v3.executor.common.AbstractSearchObjectManuallyExecutor; +import ch.systemsx.cisd.openbis.generic.shared.dto.VocabularyPE; import ch.systemsx.cisd.openbis.generic.shared.dto.VocabularyTermPE; /** @@ -39,6 +44,9 @@ public class SearchVocabularyTermExecutor extends AbstractSearchObjectManuallyEx ISearchVocabularyTermExecutor { + @Autowired + private ISearchVocabularyExecutor searchVocabularyExecutor; + @Override protected List<VocabularyTermPE> listAll() { @@ -54,12 +62,12 @@ public class SearchVocabularyTermExecutor extends AbstractSearchObjectManuallyEx } else if (criteria instanceof PermIdSearchCriteria) { return new PermIdMatcher(); - } else if (criteria instanceof VocabularyCodeSearchCriteria) + } else if (criteria instanceof CodeSearchCriteria) { - return new VocabularyCodeMatcher(); - } else if (criteria instanceof VocabularyTermCodeSearchCriteria) + return new CodeMatcher(); + } else if (criteria instanceof VocabularySearchCriteria) { - return new VocabularyTermCodeMatcher(); + return new VocabularyMatcher(); } else { throw new IllegalArgumentException("Unknown search criteria: " + criteria.getClass()); @@ -79,8 +87,8 @@ public class SearchVocabularyTermExecutor extends AbstractSearchObjectManuallyEx return true; } else if (id instanceof VocabularyTermPermId) { - VocabularyTermPermId termId = (VocabularyTermPermId) id; - return object.getCode().equals(termId.getCode()) && object.getVocabulary().getCode().equals(termId.getVocabularyCode()); + VocabularyTermPermId permId = (VocabularyTermPermId) id; + return object.getCode().equals(permId.getCode()) && object.getVocabulary().getCode().equals(permId.getVocabularyCode()); } else { throw new IllegalArgumentException("Unknown id: " + id.getClass()); @@ -100,24 +108,37 @@ public class SearchVocabularyTermExecutor extends AbstractSearchObjectManuallyEx } - private class VocabularyCodeMatcher extends StringFieldMatcher + private class CodeMatcher extends StringFieldMatcher { @Override protected String getFieldValue(VocabularyTermPE object) { - return object.getVocabulary().getCode(); + return object.getCode(); } } - private class VocabularyTermCodeMatcher extends StringFieldMatcher + private class VocabularyMatcher extends Matcher { @Override - protected String getFieldValue(VocabularyTermPE object) + public List<VocabularyTermPE> getMatching(IOperationContext context, List<VocabularyTermPE> objects, ISearchCriteria criteria) { - return object.getCode(); + List<VocabularyPE> vocabularyList = searchVocabularyExecutor.search(context, (VocabularySearchCriteria) criteria); + Set<VocabularyPE> vocabularySet = new HashSet<VocabularyPE>(vocabularyList); + + List<VocabularyTermPE> matches = new ArrayList<VocabularyTermPE>(); + + for (VocabularyTermPE object : objects) + { + if (vocabularySet.contains(object.getVocabulary())) + { + matches.add(object); + } + } + + return matches; } } diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/CreateVocabularyTermTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/CreateVocabularyTermTest.java index 9f367b3ebe7d112280057a3b37b275dd9359b619..826121c51dc349cdfd13c428eef1fef1afe89f18 100644 --- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/CreateVocabularyTermTest.java +++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/CreateVocabularyTermTest.java @@ -394,7 +394,7 @@ public class CreateVocabularyTermTest extends AbstractTest String sessionToken = v3api.login(TEST_USER, PASSWORD); VocabularyTermSearchCriteria criteria = new VocabularyTermSearchCriteria(); - criteria.withVocabularyCode().thatEquals(((VocabularyPermId) vocabularyId).getPermId()); + criteria.withVocabulary().withCode().thatEquals(((VocabularyPermId) vocabularyId).getPermId()); VocabularyTermFetchOptions fetchOptions = new VocabularyTermFetchOptions(); fetchOptions.sortBy().ordinal().asc(); diff --git a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/DeleteVocabularyTermTest.java b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/DeleteVocabularyTermTest.java index b0d9531fa6e11176fb554db9ebd854ac17240021..2a8b0b94daa1646e35bbcbea5bfbbe512a197143 100644 --- a/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/DeleteVocabularyTermTest.java +++ b/openbis/sourceTest/java/ch/ethz/sis/openbis/systemtest/asapi/v3/DeleteVocabularyTermTest.java @@ -441,7 +441,7 @@ public class DeleteVocabularyTermTest extends AbstractDeletionTest String sessionToken = v3api.login(TEST_USER, PASSWORD); VocabularyTermSearchCriteria criteria = new VocabularyTermSearchCriteria(); - criteria.withVocabularyCode().thatEquals(vocabularyCode); + criteria.withVocabulary().withCode().thatEquals(vocabularyCode); SearchResult<VocabularyTerm> result = v3api.searchVocabularyTerms(sessionToken, criteria, new VocabularyTermFetchOptions()); v3api.logout(sessionToken); 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 1720c0a316a4eeedc341de0f2e5c54ffcab19a2b..2336ae2dc5b98b8614d069aead23a155fafb4479 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 @@ -191,7 +191,7 @@ public class SearchVocabularyTermTest extends AbstractTest public void testSearchWithVocabularyCodeThatEquals() { VocabularyTermSearchCriteria criteria = new VocabularyTermSearchCriteria(); - criteria.withVocabularyCode().thatEquals("HUMAN"); + criteria.withVocabulary().withCode().thatEquals("HUMAN"); testSearch(criteria, new VocabularyTermPermId("CHILD", "HUMAN"), new VocabularyTermPermId("MAN", "HUMAN"), new VocabularyTermPermId("WOMAN", "HUMAN")); } @@ -200,7 +200,7 @@ public class SearchVocabularyTermTest extends AbstractTest public void testSearchWithVocabularyCodeThatContains() { VocabularyTermSearchCriteria criteria = new VocabularyTermSearchCriteria(); - criteria.withVocabularyCode().thatContains("MA"); + criteria.withVocabulary().withCode().thatContains("MA"); testSearch(criteria, new VocabularyTermPermId("BDS_DIRECTORY", "$STORAGE_FORMAT"), new VocabularyTermPermId("CHILD", "HUMAN"), new VocabularyTermPermId("MAN", "HUMAN"), new VocabularyTermPermId("PROPRIETARY", "$STORAGE_FORMAT"), new VocabularyTermPermId("WOMAN", "HUMAN")); @@ -210,7 +210,7 @@ public class SearchVocabularyTermTest extends AbstractTest public void testSearchWithVocabularyCodeThatStartsWith() { VocabularyTermSearchCriteria criteria = new VocabularyTermSearchCriteria(); - criteria.withVocabularyCode().thatStartsWith("G"); + criteria.withVocabulary().withCode().thatStartsWith("G"); testSearch(criteria, new VocabularyTermPermId("FEMALE", "GENDER"), new VocabularyTermPermId("MALE", "GENDER")); } @@ -218,7 +218,7 @@ public class SearchVocabularyTermTest extends AbstractTest public void testSearchWithVocabularyCodeThatEndsWith() { VocabularyTermSearchCriteria criteria = new VocabularyTermSearchCriteria(); - criteria.withVocabularyCode().thatEndsWith("T"); + criteria.withVocabulary().withCode().thatEndsWith("T"); testSearch(criteria, new VocabularyTermPermId("BDS_DIRECTORY", "$STORAGE_FORMAT"), new VocabularyTermPermId("PROPRIETARY", "$STORAGE_FORMAT")); } diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/vocabulary/search/VocabularyCodeSearchCriteria.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/vocabulary/search/VocabularyCodeSearchCriteria.java deleted file mode 100644 index 5b630fbb4297e54c3ef724d251306a5b28dcec47..0000000000000000000000000000000000000000 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/vocabulary/search/VocabularyCodeSearchCriteria.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2016 ETH Zuerich, CISD - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package ch.ethz.sis.openbis.generic.asapi.v3.dto.vocabulary.search; - -import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.SearchFieldType; -import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.StringFieldSearchCriteria; -import ch.systemsx.cisd.base.annotation.JsonObject; - -/** - * @author pkupczyk - */ -@JsonObject("as.dto.vocabulary.search.VocabularyCodeSearchCriteria") -public class VocabularyCodeSearchCriteria extends StringFieldSearchCriteria -{ - - private static final long serialVersionUID = 1L; - - public VocabularyCodeSearchCriteria() - { - super("vocabularyCode", SearchFieldType.ATTRIBUTE); - } - -} diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/vocabulary/search/VocabularySearchCriteria.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/vocabulary/search/VocabularySearchCriteria.java new file mode 100644 index 0000000000000000000000000000000000000000..869934315009f11f3f9a33b25988c002baf17f93 --- /dev/null +++ b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/vocabulary/search/VocabularySearchCriteria.java @@ -0,0 +1,68 @@ +/* + * Copyright 2014 ETH Zuerich, CISD + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +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.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.ethz.sis.openbis.generic.asapi.v3.dto.vocabulary.id.IVocabularyId; +import ch.systemsx.cisd.base.annotation.JsonObject; + +/** + * @author pkupczyk + */ +@JsonObject("as.dto.vocabulary.search.VocabularySearchCriteria") +public class VocabularySearchCriteria extends AbstractObjectSearchCriteria<IVocabularyId> +{ + + private static final long serialVersionUID = 1L; + + public VocabularySearchCriteria() + { + } + + public PermIdSearchCriteria withPermId() + { + return with(new PermIdSearchCriteria()); + } + + public CodeSearchCriteria withCode() + { + return with(new CodeSearchCriteria()); + } + + public VocabularySearchCriteria withOrOperator() + { + return (VocabularySearchCriteria) withOperator(SearchOperator.OR); + } + + public VocabularySearchCriteria withAndOperator() + { + return (VocabularySearchCriteria) withOperator(SearchOperator.AND); + } + + @Override + protected SearchCriteriaToStringBuilder createBuilder() + { + SearchCriteriaToStringBuilder builder = super.createBuilder(); + builder.setName("VOCABULARY"); + return builder; + } + +} diff --git a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/vocabulary/search/VocabularyTermCodeSearchCriteria.java b/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/vocabulary/search/VocabularyTermCodeSearchCriteria.java deleted file mode 100644 index e6f44037c9e959b95165484ffa595b4aa0ebf61e..0000000000000000000000000000000000000000 --- a/openbis_api/source/java/ch/ethz/sis/openbis/generic/asapi/v3/dto/vocabulary/search/VocabularyTermCodeSearchCriteria.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Copyright 2016 ETH Zuerich, CISD - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package ch.ethz.sis.openbis.generic.asapi.v3.dto.vocabulary.search; - -import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.SearchFieldType; -import ch.ethz.sis.openbis.generic.asapi.v3.dto.common.search.StringFieldSearchCriteria; -import ch.systemsx.cisd.base.annotation.JsonObject; - -/** - * @author pkupczyk - */ -@JsonObject("as.dto.vocabulary.search.VocabularyTermCodeSearchCriteria") -public class VocabularyTermCodeSearchCriteria extends StringFieldSearchCriteria -{ - - private static final long serialVersionUID = 1L; - - public VocabularyTermCodeSearchCriteria() - { - super("vocabularyTermCode", SearchFieldType.ATTRIBUTE); - } - -} 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 8309f39521586dc4bc1ff0f18c009ae264eac630..329ac2b896f6309acee3acbb03c08855a9efa2d6 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 @@ -17,6 +17,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.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; @@ -41,14 +42,14 @@ public class VocabularyTermSearchCriteria extends AbstractObjectSearchCriteria<I return with(new PermIdSearchCriteria()); } - public VocabularyTermCodeSearchCriteria withCode() + public CodeSearchCriteria withCode() { - return with(new VocabularyTermCodeSearchCriteria()); + return with(new CodeSearchCriteria()); } - public VocabularyCodeSearchCriteria withVocabularyCode() + public VocabularySearchCriteria withVocabulary() { - return with(new VocabularyCodeSearchCriteria()); + return with(new VocabularySearchCriteria()); } public VocabularyTermSearchCriteria withOrOperator()