@@ -56,6 +56,8 @@ private Query getQuery(Map<String, Object> arguments) {
5656 Query query = getReference (arguments );
5757 @ SuppressWarnings ("unchecked" )
5858 Map <String , Object > parameters = (Map <String , Object >) arguments .get ("parameters" );
59+ if (parameters == null )
60+ return query ;
5961 Object orderBy = parameters .get ("orderBy" );
6062 if ("child" .equals (orderBy )) {
6163 query = query .orderByChild ((String ) parameters .get ("orderByChildKey" ));
@@ -73,8 +75,10 @@ private Query getQuery(Map<String, Object> arguments) {
7375 query = query .startAt ((Boolean ) startAt , startAtKey );
7476 } else if (startAt instanceof String ) {
7577 query = query .startAt ((String ) startAt , startAtKey );
76- } else {
77- query = query .startAt ((Double ) startAt , startAtKey );
78+ } else if (startAt instanceof Double ) {
79+ query = query .endAt ((Double ) startAt );
80+ } else if (startAt instanceof Integer ) {
81+ query = query .startAt ((int ) startAt );
7882 }
7983 }
8084 if (parameters .containsKey ("endAt" )) {
@@ -84,25 +88,29 @@ private Query getQuery(Map<String, Object> arguments) {
8488 query = query .endAt ((Boolean ) endAt , endAtKey );
8589 } else if (endAt instanceof String ) {
8690 query = query .endAt ((String ) endAt , endAtKey );
87- } else {
88- query = query .endAt ((Double ) endAt , endAtKey );
91+ } else if (endAt instanceof Double ) {
92+ query = query .endAt ((Double ) endAt );
93+ } else if (endAt instanceof Integer ) {
94+ query = query .endAt ((int ) endAt );
8995 }
9096 }
91- if (arguments .containsKey ("equalTo" )) {
92- Object equalTo = arguments .get ("equalTo" );
97+ if (parameters .containsKey ("equalTo" )) {
98+ Object equalTo = parameters .get ("equalTo" );
9399 if (equalTo instanceof Boolean ) {
94100 query = query .equalTo ((Boolean ) equalTo );
95101 } else if (equalTo instanceof String ) {
96102 query = query .equalTo ((String ) equalTo );
97- } else {
103+ } else if ( equalTo instanceof Double ) {
98104 query = query .equalTo ((Double ) equalTo );
105+ } else if (equalTo instanceof Integer ) {
106+ query = query .equalTo ((int ) equalTo );
99107 }
100108 }
101- if (arguments .containsKey ("limitToFirst" )) {
102- query = query .limitToFirst ((int ) arguments .get ("limitToFirst" ));
109+ if (parameters .containsKey ("limitToFirst" )) {
110+ query = query .limitToFirst ((int ) parameters .get ("limitToFirst" ));
103111 }
104- if (arguments .containsKey ("limitToLast" )) {
105- query = query .limitToLast ((int ) arguments .get ("limitToLast" ));
112+ if (parameters .containsKey ("limitToLast" )) {
113+ query = query .limitToLast ((int ) parameters .get ("limitToLast" ));
106114 }
107115 return query ;
108116 }
0 commit comments