From 93c5f0282b0d1b501946f6dc851d73bf3efa5ca9 Mon Sep 17 00:00:00 2001 From: Shani Holdengreber Date: Thu, 29 Jan 2026 07:15:30 -0600 Subject: [PATCH] fix: Problems with filters order --- .../crudframework/modelfilter/DynamicModelFilter.kt | 12 ++++++------ .../modelfilter/dsl/ModelFilterBuilder.kt | 2 +- .../mongo/dao/AbstractMongoBaseDao.java | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/crud-framework-core/src/main/java/dev/krud/crudframework/modelfilter/DynamicModelFilter.kt b/crud-framework-core/src/main/java/dev/krud/crudframework/modelfilter/DynamicModelFilter.kt index 7bc8920..ed9d8c0 100644 --- a/crud-framework-core/src/main/java/dev/krud/crudframework/modelfilter/DynamicModelFilter.kt +++ b/crud-framework-core/src/main/java/dev/krud/crudframework/modelfilter/DynamicModelFilter.kt @@ -1,16 +1,16 @@ package dev.krud.crudframework.modelfilter class DynamicModelFilter( - var start: Long? = null, - var limit: Long? = null, - var orders: MutableSet = mutableSetOf(), - val filterFields: MutableList = mutableListOf() + var start: Long? = null, + var limit: Long? = null, + var orders: MutableList = mutableListOf(), + val filterFields: MutableList = mutableListOf() ) { val cacheKey: String get() = "CacheKey_" + this.javaClass.simpleName + "_" + this.hashCode() - constructor() : this(null, null, mutableSetOf(), mutableListOf()) + constructor() : this(null, null, mutableListOf(), mutableListOf()) - constructor(filterFields: MutableList) : this(null, null, mutableSetOf(), filterFields) + constructor(filterFields: MutableList) : this(null, null, mutableListOf(), filterFields) fun add(filterField: FilterField): DynamicModelFilter { filterFields.add(filterField) diff --git a/crud-framework-core/src/main/java/dev/krud/crudframework/modelfilter/dsl/ModelFilterBuilder.kt b/crud-framework-core/src/main/java/dev/krud/crudframework/modelfilter/dsl/ModelFilterBuilder.kt index 2eaf002..27516fc 100644 --- a/crud-framework-core/src/main/java/dev/krud/crudframework/modelfilter/dsl/ModelFilterBuilder.kt +++ b/crud-framework-core/src/main/java/dev/krud/crudframework/modelfilter/dsl/ModelFilterBuilder.kt @@ -8,7 +8,7 @@ import dev.krud.crudframework.modelfilter.dsl.annotation.FilterFieldDsl @FilterFieldDsl class ModelFilterBuilder( - var orders: MutableSet = mutableSetOf(), + var orders: MutableList = mutableListOf(), var start: Long = 0, var limit: Long = 10000, var filterFields: MutableList = mutableListOf() diff --git a/crud-framework-mongo-connector/src/main/java/dev/krud/crudframework/mongo/dao/AbstractMongoBaseDao.java b/crud-framework-mongo-connector/src/main/java/dev/krud/crudframework/mongo/dao/AbstractMongoBaseDao.java index c46dfcb..06fd0b5 100644 --- a/crud-framework-mongo-connector/src/main/java/dev/krud/crudframework/mongo/dao/AbstractMongoBaseDao.java +++ b/crud-framework-mongo-connector/src/main/java/dev/krud/crudframework/mongo/dao/AbstractMongoBaseDao.java @@ -207,7 +207,7 @@ private boolean areValuesValid(FilterField filterField) { } } - protected void setOrder(Query query, Set orders) { + protected void setOrder(Query query, List orders) { List sortOrders = new ArrayList<>(); for (OrderDTO order : orders) { if(order.getBy() != null && !order.getBy().trim().isEmpty()) {