From 4a294ccdf7d6bf9e9fa5a1caa32d29c725d7a150 Mon Sep 17 00:00:00 2001 From: Stefan Date: Fri, 12 Aug 2022 12:00:29 +0200 Subject: [PATCH 1/4] remove LimitOption and ImmutableLimitOption; remove use of limit option in search; minor code adjustments; Signed-off-by: Stefan Signed-off-by: Stefan Maute --- .../internal/RqlOptionParser.scala | 13 +- .../options/rql/RqlOptionsParserTest.java | 36 +--- .../thingsearch/api/PolicyReferenceTag.java | 5 +- .../api/SearchNamespaceReportResult.java | 2 +- .../api/SearchNamespaceResultEntry.java | 10 +- .../api/ThingSearchMappingStrategies.java | 1 + .../api/ThingsSearchConstants.java | 1 + .../ditto/thingsearch/api/UpdateReason.java | 1 + .../api/events/ThingsOutOfSync.java | 1 + .../query/filter/ParameterOptionVisitor.java | 9 - .../filter/ParameterOptionVisitorTest.java | 33 ---- thingsearch/model/pom.xml | 7 + .../model/ImmutableLimitOption.java | 86 --------- .../model/ImmutableSearchQueryBuilder.java | 44 +---- .../ditto/thingsearch/model/LimitOption.java | 47 ----- .../thingsearch/model/OptionVisitor.java | 7 - .../thingsearch/model/SearchModelFactory.java | 19 +- .../ditto/thingsearch/model/SearchQuery.java | 18 +- .../thingsearch/model/SearchQueryBuilder.java | 19 -- .../model/ImmutableLimitOptionTest.java | 69 ------- .../ImmutableSearchQueryBuilderTest.java | 91 +-------- .../assertions/LogicalSearchFilterAssert.java | 10 +- .../PropertySearchFilterAssert.java | 3 + .../model/assertions/SearchFilterAssert.java | 10 +- .../model/assertions/SearchQueryAssert.java | 44 ++--- .../model/assertions/SearchResultAssert.java | 10 +- .../persistence/PersistenceConstants.java | 3 +- .../read/MongoThingsSearchPersistence.java | 8 + .../visitors/CreateBsonPredicateVisitor.java | 10 +- .../criteria/visitors/CreateBsonVisitor.java | 1 + .../visitors/GetSortBsonVisitor.java | 2 +- .../write/ThingsSearchUpdaterPersistence.java | 1 + .../MongoThingsSearchUpdaterPersistence.java | 2 + .../write/mapping/BsonArrayDiff.java | 1 + .../persistence/write/mapping/BsonDiff.java | 1 + .../write/mapping/BsonDiffVisitor.java | 2 + .../mapping/BsonPrimitiveValueVisitor.java | 1 + .../write/mapping/BsonSizeVisitor.java | 1 + .../write/mapping/BsonValueVisitor.java | 14 +- .../write/mapping/EnforcedThingMapper.java | 3 + .../write/mapping/EvaluatedPolicy.java | 8 + ...IndexLengthRestrictionEnforcerVisitor.java | 2 + .../write/mapping/JsonInternalVisitor.java | 3 +- .../write/mapping/JsonObjectVisitor.java | 2 + .../persistence/write/mapping/JsonToBson.java | 3 + .../write/model/AbstractWriteModel.java | 4 +- .../write/model/ThingDeleteModel.java | 2 + .../write/model/ThingWriteModel.java | 4 + .../write/model/WriteResultAndErrors.java | 1 + .../write/streaming/BackgroundSyncStream.java | 4 +- .../write/streaming/ConsistencyLag.java | 3 +- .../streaming/SudoSignalEnrichmentFacade.java | 9 +- .../starter/actors/ThingsSearchCursor.java | 181 ++++++++---------- 53 files changed, 221 insertions(+), 651 deletions(-) delete mode 100755 thingsearch/model/src/main/java/org/eclipse/ditto/thingsearch/model/ImmutableLimitOption.java delete mode 100755 thingsearch/model/src/main/java/org/eclipse/ditto/thingsearch/model/LimitOption.java delete mode 100755 thingsearch/model/src/test/java/org/eclipse/ditto/thingsearch/model/ImmutableLimitOptionTest.java diff --git a/rql/search-option-parser/src/main/scala/org/eclipse/ditto/rql/parser/thingsearch/internal/RqlOptionParser.scala b/rql/search-option-parser/src/main/scala/org/eclipse/ditto/rql/parser/thingsearch/internal/RqlOptionParser.scala index 1cd3936731..35ea12cea1 100644 --- a/rql/search-option-parser/src/main/scala/org/eclipse/ditto/rql/parser/thingsearch/internal/RqlOptionParser.scala +++ b/rql/search-option-parser/src/main/scala/org/eclipse/ditto/rql/parser/thingsearch/internal/RqlOptionParser.scala @@ -17,7 +17,7 @@ import org.eclipse.ditto.rql.model.ParserException import org.eclipse.ditto.rql.parser.internal.RqlParserBase import org.eclipse.ditto.rql.parser.thingsearch.OptionParser import org.eclipse.ditto.thingsearch.model -import org.eclipse.ditto.thingsearch.model.{LimitOption, SearchModelFactory, SortOption, SortOptionEntry} +import org.eclipse.ditto.thingsearch.model.{SearchModelFactory, SortOption, SortOptionEntry} import java.util import scala.collection.JavaConverters @@ -31,7 +31,6 @@ import scala.util.{Failure, Success} * Sort = "sort", '(', SortProperty, { ',', SortProperty }, ')' * SortProperty = SortOrder, PropertyLiteral * SortOrder = '+' | '-' - * Limit = "limit", '(', IntegerLiteral, ',', IntegerLiteral, ')' * */ private class RqlOptionParser(override val input: ParserInput) extends RqlParserBase(input) { @@ -54,7 +53,7 @@ private class RqlOptionParser(override val input: ParserInput) extends RqlParser * Option = Sort | Limit | Cursor | Size */ private def Option: Rule1[model.Option] = rule { - Sort | Limit | Cursor | Size + Sort | Cursor | Size } /** @@ -89,14 +88,6 @@ private class RqlOptionParser(override val input: ParserInput) extends RqlParser '-' ~ push(SortOptionEntry.SortOrder.DESC) } - /** - * Limit = "limit", '(', IntegerLiteral, ',', IntegerLiteral, ')' - */ - private def Limit: Rule1[LimitOption] = rule { - "limit" ~ '(' ~ LongLiteral ~ ',' ~ LongLiteral ~ ')' ~> ((offset: java.lang.Long, count: java.lang.Long) => - SearchModelFactory.newLimitOption(offset.toInt, count.toInt)) - } - /** * Cursor = "cursor", '(', StringLiteral, ')' */ diff --git a/rql/search-option-parser/src/test/java/org/eclipse/ditto/rql/parser/thingsearch/options/rql/RqlOptionsParserTest.java b/rql/search-option-parser/src/test/java/org/eclipse/ditto/rql/parser/thingsearch/options/rql/RqlOptionsParserTest.java index ccd9477083..b8d021cb06 100755 --- a/rql/search-option-parser/src/test/java/org/eclipse/ditto/rql/parser/thingsearch/options/rql/RqlOptionsParserTest.java +++ b/rql/search-option-parser/src/test/java/org/eclipse/ditto/rql/parser/thingsearch/options/rql/RqlOptionsParserTest.java @@ -21,7 +21,6 @@ import org.eclipse.ditto.rql.parser.thingsearch.OptionParser; import org.eclipse.ditto.rql.parser.thingsearch.RqlOptionParser; import org.eclipse.ditto.thingsearch.model.CursorOption; -import org.eclipse.ditto.thingsearch.model.LimitOption; import org.eclipse.ditto.thingsearch.model.Option; import org.eclipse.ditto.thingsearch.model.SizeOption; import org.eclipse.ditto.thingsearch.model.SortOption; @@ -109,40 +108,18 @@ public void invalidSortMissingOrderAtSecondProperty() throws ParserException { parser.parse("sort(-username,owner)"); } - @Test - public void parseLimitSuccess() throws ParserException { - final List