@@ -197,80 +197,74 @@ private Query buildDatabaseQueryAtPathAndModifiers(final FirebaseDatabase fireba
197
197
query = query .limitToFirst (limit );
198
198
} else if (methStr .contains ("equalTo" )) {
199
199
String value = strArr [1 ];
200
- String key = strArr . length >= 3 ? strArr [2 ] : null ;
201
- try {
200
+ String type = strArr [2 ];
201
+ if ( "number" . equals ( type )) {
202
202
double doubleValue = Double .parseDouble (value );
203
- if (key == null ) {
203
+ if (strArr .length > 3 ) {
204
+ query = query .equalTo (doubleValue , strArr [3 ]);
205
+ } else {
204
206
query = query .equalTo (doubleValue );
207
+ }
208
+ } else if ("boolean" .equals (type )) {
209
+ boolean booleanValue = Boolean .parseBoolean (value );
210
+ if (strArr .length > 3 ) {
211
+ query = query .equalTo (booleanValue , strArr [3 ] );
205
212
} else {
206
- query = query .equalTo (doubleValue , key );
213
+ query = query .equalTo (booleanValue );
207
214
}
208
- } catch (NumberFormatException ex ) {
209
- if ("true" .equals (value ) || "false" .equals (value )) {
210
- boolean booleanValue = Boolean .parseBoolean (value );
211
- if (key == null ) {
212
- query = query .equalTo (booleanValue );
213
- } else {
214
- query = query .equalTo (booleanValue , key );
215
- }
215
+ } else {
216
+ if (strArr .length > 3 ) {
217
+ query = query .equalTo (value , strArr [3 ]);
216
218
} else {
217
- if (key == null ) {
218
- query = query .equalTo (value );
219
- } else {
220
- query = query .equalTo (value , key );
221
- }
219
+ query = query .equalTo (value );
222
220
}
223
221
}
224
222
} else if (methStr .contains ("endAt" )) {
225
223
String value = strArr [1 ];
226
- String key = strArr . length >= 3 ? strArr [2 ] : null ;
227
- try {
224
+ String type = strArr [2 ];
225
+ if ( "number" . equals ( type )) {
228
226
double doubleValue = Double .parseDouble (value );
229
- if (key == null ) {
227
+ if (strArr .length > 3 ) {
228
+ query = query .endAt (doubleValue , strArr [3 ]);
229
+ } else {
230
230
query = query .endAt (doubleValue );
231
+ }
232
+ } else if ("boolean" .equals (type )) {
233
+ boolean booleanValue = Boolean .parseBoolean (value );
234
+ if (strArr .length > 3 ) {
235
+ query = query .endAt (booleanValue , strArr [3 ] );
231
236
} else {
232
- query = query .endAt (doubleValue , key );
237
+ query = query .endAt (booleanValue );
233
238
}
234
- } catch (NumberFormatException ex ) {
235
- if ("true" .equals (value ) || "false" .equals (value )) {
236
- boolean booleanValue = Boolean .parseBoolean (value );
237
- if (key == null ) {
238
- query = query .endAt (booleanValue );
239
- } else {
240
- query = query .endAt (booleanValue , key );
241
- }
239
+ } else {
240
+ if (strArr .length > 3 ) {
241
+ query = query .endAt (value , strArr [3 ]);
242
242
} else {
243
- if (key == null ) {
244
- query = query .endAt (value );
245
- } else {
246
- query = query .endAt (value , key );
247
- }
243
+ query = query .endAt (value );
248
244
}
249
245
}
250
246
} else if (methStr .contains ("startAt" )) {
251
247
String value = strArr [1 ];
252
- String key = strArr . length >= 3 ? strArr [2 ] : null ;
253
- try {
248
+ String type = strArr [2 ];
249
+ if ( "number" . equals ( type )) {
254
250
double doubleValue = Double .parseDouble (value );
255
- if (key == null ) {
251
+ if (strArr .length > 3 ) {
252
+ query = query .startAt (doubleValue , strArr [3 ]);
253
+ } else {
256
254
query = query .startAt (doubleValue );
255
+ }
256
+ } else if ("boolean" .equals (type )) {
257
+ boolean booleanValue = Boolean .parseBoolean (value );
258
+ if (strArr .length > 3 ) {
259
+ query = query .startAt (booleanValue , strArr [3 ] );
257
260
} else {
258
- query = query .startAt (doubleValue , key );
261
+ query = query .startAt (booleanValue );
259
262
}
260
- } catch (NumberFormatException ex ) {
261
- if ("true" .equals (value ) || "false" .equals (value )) {
262
- boolean booleanValue = Boolean .parseBoolean (value );
263
- if (key == null ) {
264
- query = query .startAt (booleanValue );
265
- } else {
266
- query = query .startAt (booleanValue , key );
267
- }
263
+ } else {
264
+ if (strArr .length > 3 ) {
265
+ query = query .startAt (value , strArr [3 ]);
268
266
} else {
269
- if (key == null ) {
270
- query = query .startAt (value );
271
- } else {
272
- query = query .startAt (value , key );
273
- }
267
+ query = query .startAt (value );
274
268
}
275
269
}
276
270
}
0 commit comments