diff --git a/src/main/kotlin/de/pheerai/rcdbquery/dataMappings/Order.kt b/src/main/kotlin/de/pheerai/rcdbquery/dataMappings/Order.kt index c28ee50..fc2ca96 100644 --- a/src/main/kotlin/de/pheerai/rcdbquery/dataMappings/Order.kt +++ b/src/main/kotlin/de/pheerai/rcdbquery/dataMappings/Order.kt @@ -7,7 +7,7 @@ enum class Order( override val prettyName: String, override val fullName: String, override val paramValue: Int, - override val relevantForAll: Boolean = false + override val relevantForAll: Boolean = true ) : RcdbParamOption, RelevantForAll { IMAGES("Images", "Amount of Images", 0), NAME("Name", "Name of the Coaster", 1), @@ -22,7 +22,7 @@ enum class Order( level = DeprecationLevel.WARNING, replaceWith = ReplaceWith("Order.STATE") ) - STATE_2("State", "Operational State (legacy)", 10, relevantForAll = true), + STATE_2("State", "Operational State (legacy)", 10, relevantForAll = false), ENTERED("Entered", 12), TYPE("Type", "Construction Type (Wood, Steel)", 13), DESIGN("Design", "Train Design (Sit-Down, Invert,...)", 14), diff --git a/src/main/kotlin/de/pheerai/rcdbquery/dataMappings/Page.kt b/src/main/kotlin/de/pheerai/rcdbquery/dataMappings/Page.kt index 91b1202..6930a0b 100644 --- a/src/main/kotlin/de/pheerai/rcdbquery/dataMappings/Page.kt +++ b/src/main/kotlin/de/pheerai/rcdbquery/dataMappings/Page.kt @@ -11,15 +11,13 @@ class Page(override val paramValue: Int) : RcdbParamOption { } } -fun RcdbQueryParamsBuilder.page(page: Int) { - if (Page.staticParamName !in this.keys()) { - this[Page.staticParamName] = listOf(Page(page)) - } else { - error( - """Only one page must be given! - | Old page: ${this[Page.staticParamName]!![0].paramValue} - | New page: $page - """.trimMargin() - ) - } +fun RcdbQueryParamsBuilder.page(page: Int): RcdbQueryParamsBuilder = if (Page.staticParamName !in this.keys()) { + also { this[Page.staticParamName] = listOf(Page(page)) } +} else { + error( + """Only one page must be given! + | Old page: ${this[Page.staticParamName]!![0].paramValue} + | New page: $page + """.trimMargin() + ) } diff --git a/src/main/kotlin/de/pheerai/rcdbquery/dataMappings/RcdbParamOptionBuilder.kt b/src/main/kotlin/de/pheerai/rcdbquery/dataMappings/RcdbParamOptionBuilder.kt index bd82f37..9bd686e 100644 --- a/src/main/kotlin/de/pheerai/rcdbquery/dataMappings/RcdbParamOptionBuilder.kt +++ b/src/main/kotlin/de/pheerai/rcdbquery/dataMappings/RcdbParamOptionBuilder.kt @@ -13,6 +13,7 @@ sealed class RcdbParamOptionBuilder> { paramList.addAll(items) return this } + protected open fun addAll(items: Collection): RcdbParamOptionBuilder { paramList.addAll(items) return this @@ -45,6 +46,7 @@ class OrderBuilder : RcdbParamOptionBuilder() { super.addAll(items) return this } + override fun addAll(items: Collection): OrderBuilder { super.addAll(items) return this @@ -75,7 +77,7 @@ class OrderBuilder : RcdbParamOptionBuilder() { fun rideTime() = this.add(Order.RIDE_TIME) fun state() = this.add(Order.STATUS) fun closing() = this.add(Order.CLOSING) - fun all() = this.addAll(Order.values().filterNot { it.relevantForAll }) + fun all() = this.addAll(Order.values().filter { it.relevantForAll }) } class StatusBuilder : RcdbParamOptionBuilder() { diff --git a/src/main/kotlin/de/pheerai/rcdbquery/dataMappings/SearchTerm.kt b/src/main/kotlin/de/pheerai/rcdbquery/dataMappings/SearchTerm.kt index 8dbb29b..5a7b462 100644 --- a/src/main/kotlin/de/pheerai/rcdbquery/dataMappings/SearchTerm.kt +++ b/src/main/kotlin/de/pheerai/rcdbquery/dataMappings/SearchTerm.kt @@ -2,19 +2,18 @@ package de.pheerai.rcdbquery.dataMappings import de.pheerai.rcdbquery.dsl.RcdbQueryParamsBuilder -class SearchTerm(override val paramValue: String): RcdbParamOption { +class SearchTerm(override val paramValue: String) : RcdbParamOption { override val prettyName = "Search Term" override val fullName = "Search for elements whose name contain this term" + companion object { const val staticParamName = "nc" } } -fun RcdbQueryParamsBuilder.searchTerm(term: String) { +fun RcdbQueryParamsBuilder.searchTerm(term: String): RcdbQueryParamsBuilder = if (SearchTerm.staticParamName !in this.keys()) { - this[SearchTerm.staticParamName] = listOf( - SearchTerm(term) - ) + also { this[SearchTerm.staticParamName] = listOf(SearchTerm(term)) } } else { error( """Only one search term must ever be set @@ -22,4 +21,3 @@ fun RcdbQueryParamsBuilder.searchTerm(term: String) { | New term: $term""".trimMargin() ) } -} diff --git a/src/main/kotlin/de/pheerai/rcdbquery/dataMappings/SearchType.kt b/src/main/kotlin/de/pheerai/rcdbquery/dataMappings/SearchType.kt index a15c4fe..0ca5920 100644 --- a/src/main/kotlin/de/pheerai/rcdbquery/dataMappings/SearchType.kt +++ b/src/main/kotlin/de/pheerai/rcdbquery/dataMappings/SearchType.kt @@ -19,9 +19,9 @@ enum class SearchType( } } -fun RcdbQueryParamsBuilder.searchType(searchType: SearchType) { +fun RcdbQueryParamsBuilder.searchType(searchType: SearchType): RcdbQueryParamsBuilder = if (SearchType.staticParamName !in this.keys()) { - this[SearchType.staticParamName] = listOf(searchType) + also { this[SearchType.staticParamName] = listOf(searchType) } } else { error( """Only one search type must ever be set @@ -29,4 +29,3 @@ fun RcdbQueryParamsBuilder.searchType(searchType: SearchType) { | New type: ${searchType.prettyName}""".trimMargin() ) } -} diff --git a/src/main/kotlin/de/pheerai/rcdbquery/dataMappings/StartsWith.kt b/src/main/kotlin/de/pheerai/rcdbquery/dataMappings/StartsWith.kt index 3deb1b9..1cc382e 100644 --- a/src/main/kotlin/de/pheerai/rcdbquery/dataMappings/StartsWith.kt +++ b/src/main/kotlin/de/pheerai/rcdbquery/dataMappings/StartsWith.kt @@ -13,16 +13,12 @@ class StartsWith(override val paramValue: String) : RcdbParamOption { } } -fun RcdbQueryParamsBuilder.startsWith(term: String) { - if (StartsWith.staticParamName !in this.keys()) { - this[StartsWith.staticParamName] = listOf( - StartsWith(term) - ) - } else { - error( - """Only one starts with term must ever be set - | Old term: ${this[StartsWith.staticParamName]!![0].paramValue} - | New term: $term""".trimMargin() - ) - } +fun RcdbQueryParamsBuilder.startsWith(term: String) = if (StartsWith.staticParamName !in this.keys()) { + also { this[StartsWith.staticParamName] = listOf(StartsWith(term)) } +} else { + error( + """Only one starts with term must ever be set + | Old term: ${this[StartsWith.staticParamName]!![0].paramValue} + | New term: $term""".trimMargin() + ) }