Skip to content

Commit 89a33c4

Browse files
authored
Merge pull request #38 from protegeproject/extensible-capabilities
Search filter for deprecated entities
2 parents 7337700 + f80bcce commit 89a33c4

4 files changed

Lines changed: 17 additions & 5 deletions

File tree

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
<groupId>edu.stanford.protege</groupId>
1414
<artifactId>webprotege-backend-api</artifactId>
15-
<version>3.0.0</version>
15+
<version>3.1.0-SNAPSHOT</version>
1616
<properties>
1717
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1818
<guava.version>28.0</guava.version>
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package edu.stanford.protege.webprotege.search;
2+
3+
public enum DeprecatedEntitiesTreatment {
4+
5+
INCLUDE_DEPRECATED_ENTITIES,
6+
7+
EXCLUDE_DEPRECATED_ENTITIES;
8+
}

src/main/java/edu/stanford/protege/webprotege/search/PerformEntitySearchAction.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@ public record PerformEntitySearchAction(
3636
@JsonProperty("langTagFilter") @Nonnull LangTagFilter langTagFilter,
3737
@JsonProperty("searchFilters") @Nonnull ImmutableList<EntitySearchFilter> searchFilters,
3838
@JsonProperty("pageRequest") @Nonnull PageRequest pageRequest,
39-
@JsonProperty("resultsSetFilter") @Nullable EntityMatchCriteria resultsSetFilter) implements ProjectAction<PerformEntitySearchResult>, HasProjectId {
39+
@JsonProperty("resultsSetFilter") @Nullable EntityMatchCriteria resultsSetFilter,
40+
@JsonProperty("deprecatedEntitiesTreatment") DeprecatedEntitiesTreatment deprecatedEntitiesTreatment) implements ProjectAction<PerformEntitySearchResult>, HasProjectId {
4041

4142
public static final String CHANNEL = "webprotege.search.PerformEntitySearch";
4243

@@ -46,18 +47,20 @@ public PerformEntitySearchAction(@JsonProperty("projectId") @Nonnull ProjectId p
4647
@JsonProperty("langTagFilter") @Nonnull LangTagFilter langTagFilter,
4748
@JsonProperty("searchFilters") @Nonnull ImmutableList<EntitySearchFilter> searchFilters,
4849
@JsonProperty("pageRequest") @Nonnull PageRequest pageRequest,
49-
@JsonProperty("resultsSetFilter") @Nullable EntityMatchCriteria resultsSetFilter) {
50+
@JsonProperty("resultsSetFilter") @Nullable EntityMatchCriteria resultsSetFilter,
51+
@JsonProperty("deprecatedEntitiesTreatment") DeprecatedEntitiesTreatment deprecatedEntitiesTreatment) {
5052
this.projectId = requireNonNull(projectId);
5153
this.searchString = requireNonNull(searchString);
5254
this.entityTypes = requireNonNullElse(entityTypes, Collections.emptySet());
5355
this.langTagFilter = requireNonNullElse(langTagFilter, LangTagFilter.get(ImmutableSet.of()));
5456
this.searchFilters = requireNonNullElse(searchFilters, ImmutableList.of());
5557
this.pageRequest = requireNonNullElse(pageRequest, PageRequest.requestFirstPage());
5658
this.resultsSetFilter = requireNonNullElse(resultsSetFilter, EntityTypeIsOneOfCriteria.get(ImmutableSet.copyOf(entityTypes)));
59+
this.deprecatedEntitiesTreatment = requireNonNullElse(deprecatedEntitiesTreatment, DeprecatedEntitiesTreatment.INCLUDE_DEPRECATED_ENTITIES);
5760
}
5861

5962
public PerformEntitySearchAction(@Nonnull ProjectId projectId, @Nonnull String searchString, @Nonnull Set<EntityType<?>> entityTypes, @Nonnull LangTagFilter langTagFilter, @Nonnull ImmutableList<EntitySearchFilter> searchFilters, @Nonnull PageRequest pageRequest) {
60-
this(projectId, searchString, entityTypes, langTagFilter, searchFilters, pageRequest, null);
63+
this(projectId, searchString, entityTypes, langTagFilter, searchFilters, pageRequest, null, DeprecatedEntitiesTreatment.INCLUDE_DEPRECATED_ENTITIES);
6164
}
6265

6366
@Override

src/test/java/edu/stanford/protege/webprotege/search/PerformEntitySearch_Serialization_TestCase.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ public void shouldSerializeAction() throws IOException {
2626
"Test", Collections.emptySet(),
2727
LangTagFilter.get(ImmutableSet.of()), ImmutableList.of(),
2828
PageRequest.requestFirstPage(),
29-
null);
29+
null,
30+
DeprecatedEntitiesTreatment.EXCLUDE_DEPRECATED_ENTITIES);
3031

3132
}
3233

0 commit comments

Comments
 (0)