projects
/
lgpl
/
argeo-commons.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Predictable order of search filter constraints
[lgpl/argeo-commons.git]
/
org.argeo.api.acr
/
src
/
org
/
argeo
/
api
/
acr
/
search
/
ContentFilter.java
diff --git
a/org.argeo.api.acr/src/org/argeo/api/acr/search/ContentFilter.java
b/org.argeo.api.acr/src/org/argeo/api/acr/search/ContentFilter.java
index 55ed21531348373a686344374cebdd8252976157..df7d562698bcec40d86f6766bd8d57dae87dcde7 100644
(file)
--- a/
org.argeo.api.acr/src/org/argeo/api/acr/search/ContentFilter.java
+++ b/
org.argeo.api.acr/src/org/argeo/api/acr/search/ContentFilter.java
@@
-1,7
+1,8
@@
package org.argeo.api.acr.search;
package org.argeo.api.acr.search;
-import java.util.HashSet;
-import java.util.Set;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
import java.util.function.Consumer;
import javax.xml.namespace.QName;
import java.util.function.Consumer;
import javax.xml.namespace.QName;
@@
-10,7
+11,8
@@
import org.argeo.api.acr.QNamed;
/** A constraint filtering based ona given composition (and/or). */
public abstract class ContentFilter<COMPOSITION extends Composition> implements Constraint {
/** A constraint filtering based ona given composition (and/or). */
public abstract class ContentFilter<COMPOSITION extends Composition> implements Constraint {
- private Set<Constraint> constraintss = new HashSet<>();
+ // even though not necessary, we use a list in order to have a predictable order
+ private List<Constraint> constraints = new ArrayList<>();
private COMPOSITION composition;
private COMPOSITION composition;
@@
-98,21
+100,21
@@
public abstract class ContentFilter<COMPOSITION extends Composition> implements
} else {
operatorToAdd = operator;
}
} else {
operatorToAdd = operator;
}
- constraints
s
.add(operatorToAdd);
+ constraints.add(operatorToAdd);
}
/** Checks that the root operator is not set. */
private void checkAddConstraint() {
}
/** Checks that the root operator is not set. */
private void checkAddConstraint() {
- if (composition == null && !constraints
s
.isEmpty())
- throw new IllegalStateException("An operator is already registered (" + constraints
s
.iterator().next()
+ if (composition == null && !constraints.isEmpty())
+ throw new IllegalStateException("An operator is already registered (" + constraints.iterator().next()
+ ") and no composition is defined");
}
/*
* ACCESSORs
*/
+ ") and no composition is defined");
}
/*
* ACCESSORs
*/
- public
Set
<Constraint> getConstraints() {
- return constraints
s
;
+ public
Collection
<Constraint> getConstraints() {
+ return constraints;
}
public boolean isUnion() {
}
public boolean isUnion() {