Skip to content

Commit 3f045de

Browse files
committed
Accept also 0 int number to indicate false, and any other number to indicate true (on top of accepting json boolean type), closes #26.
1 parent 4806df4 commit 3f045de

File tree

7 files changed

+47
-7
lines changed

7 files changed

+47
-7
lines changed

modules/elasticsearch/src/main/java/org/elasticsearch/index/query/json/BoolJsonQueryParser.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,10 @@ public class BoolJsonQueryParser extends AbstractIndexComponent implements JsonQ
8989
if ("disableCoord".equals(currentFieldName)) {
9090
disableCoord = token == JsonToken.VALUE_TRUE;
9191
}
92+
} else if (token == JsonToken.VALUE_NUMBER_INT) {
93+
if ("disableCoord".equals(currentFieldName)) {
94+
disableCoord = jp.getIntValue() != 0;
95+
}
9296
} else {
9397
if ("boost".equals(currentFieldName)) {
9498
boost = jp.getFloatValue();

modules/elasticsearch/src/main/java/org/elasticsearch/index/query/json/QueryStringJsonQueryParser.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,12 @@ public class QueryStringJsonQueryParser extends AbstractIndexComponent implement
117117
fuzzyMinSim = jp.getFloatValue();
118118
} else if ("boost".equals(currentFieldName)) {
119119
boost = jp.getFloatValue();
120+
} else if ("allowLeadingWildcard".equals(currentFieldName)) {
121+
allowLeadingWildcard = jp.getIntValue() != 0;
122+
} else if ("lowercaseExpandedTerms".equals(currentFieldName)) {
123+
lowercaseExpandedTerms = jp.getIntValue() != 0;
124+
} else if ("enablePositionIncrements".equals(currentFieldName)) {
125+
enablePositionIncrements = jp.getIntValue() != 0;
120126
}
121127
}
122128
}

modules/elasticsearch/src/main/java/org/elasticsearch/index/query/json/RangeJsonFilterParser.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,17 @@ public class RangeJsonFilterParser extends AbstractIndexComponent implements Jso
8484
to = jp.getText();
8585
}
8686
} else if ("includeLower".equals(currentFieldName)) {
87-
includeLower = token == JsonToken.VALUE_TRUE;
87+
if (token == JsonToken.VALUE_NUMBER_INT) {
88+
includeLower = jp.getIntValue() != 0;
89+
} else {
90+
includeLower = token == JsonToken.VALUE_TRUE;
91+
}
8892
} else if ("includeUpper".equals(currentFieldName)) {
89-
includeUpper = token == JsonToken.VALUE_TRUE;
93+
if (token == JsonToken.VALUE_NUMBER_INT) {
94+
includeUpper = jp.getIntValue() != 0;
95+
} else {
96+
includeUpper = token == JsonToken.VALUE_TRUE;
97+
}
9098
}
9199
}
92100
}

modules/elasticsearch/src/main/java/org/elasticsearch/index/query/json/RangeJsonQueryParser.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,17 @@ public class RangeJsonQueryParser extends AbstractIndexComponent implements Json
8181
to = jp.getText();
8282
}
8383
} else if ("includeLower".equals(currentFieldName)) {
84-
includeLower = token == JsonToken.VALUE_TRUE;
84+
if (token == JsonToken.VALUE_NUMBER_INT) {
85+
includeLower = jp.getIntValue() != 0;
86+
} else {
87+
includeLower = token == JsonToken.VALUE_TRUE;
88+
}
8589
} else if ("includeUpper".equals(currentFieldName)) {
86-
includeUpper = token == JsonToken.VALUE_TRUE;
90+
if (token == JsonToken.VALUE_NUMBER_INT) {
91+
includeUpper = jp.getIntValue() != 0;
92+
} else {
93+
includeUpper = token == JsonToken.VALUE_TRUE;
94+
}
8795
} else if ("boost".equals(currentFieldName)) {
8896
boost = jp.getFloatValue();
8997
}

modules/elasticsearch/src/main/java/org/elasticsearch/index/query/json/SpanNearJsonQueryParser.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,11 +82,17 @@ public class SpanNearJsonQueryParser extends AbstractIndexComponent implements J
8282
} else if ("collectPayloads".equals(currentFieldName)) {
8383
collectPayloads = token == JsonToken.VALUE_TRUE;
8484
}
85+
} else if (token == JsonToken.VALUE_NUMBER_INT) {
86+
if ("inOrder".equals(currentFieldName)) {
87+
inOrder = jp.getIntValue() != 0;
88+
} else if ("collectPayloads".equals(currentFieldName)) {
89+
collectPayloads = jp.getIntValue() != 0;
90+
} else if ("slop".equals(currentFieldName)) {
91+
slop = jp.getIntValue();
92+
}
8593
} else {
8694
if ("boost".equals(currentFieldName)) {
8795
boost = jp.getFloatValue();
88-
} else if ("slop".equals(currentFieldName)) {
89-
slop = jp.getIntValue();
9096
}
9197
}
9298
}

modules/elasticsearch/src/main/java/org/elasticsearch/search/fetch/ExplainParseElement.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@
3030
public class ExplainParseElement implements SearchParseElement {
3131

3232
@Override public void parse(JsonParser jp, SearchContext context) throws Exception {
33-
context.explain(jp.getCurrentToken() == JsonToken.VALUE_TRUE);
33+
if (jp.getCurrentToken() == JsonToken.VALUE_NUMBER_INT) {
34+
context.explain(jp.getIntValue() != 0);
35+
} else {
36+
context.explain(jp.getCurrentToken() == JsonToken.VALUE_TRUE);
37+
}
3438
}
3539
}

modules/elasticsearch/src/main/java/org/elasticsearch/search/query/SortParseElement.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,10 @@ public SortParseElement() {
6868
while ((token = jp.nextToken()) != JsonToken.END_OBJECT) {
6969
if (token == JsonToken.FIELD_NAME) {
7070
innerJsonName = jp.getCurrentName();
71+
} else if (token == JsonToken.VALUE_NUMBER_INT) {
72+
if ("reverse".equals(innerJsonName)) {
73+
reverse = jp.getIntValue() != 0;
74+
}
7175
} else if (token == JsonToken.VALUE_TRUE) {
7276
if ("reverse".equals(innerJsonName)) {
7377
reverse = true;

0 commit comments

Comments
 (0)