kartit / restfb

Automatically exported from code.google.com/p/restfb
0 stars 0 forks source link

Infinite loop when calling the non-deprecated executeMultiquery() method #205

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. Create a LegacyFacebookClient object using the DefaultLegacyFacebookClient 
concrete class and passing down an AccessToken object obtained through the 
APP_ID and APP_SECRET.
2. Call this method: public <T> T executeMultiquery(Map<String, String> 
queries, Class<T> resultType, Parameter... additionalParameters)

What is the expected output? What do you see instead?
The expected output is the results of the execution of the FQL queries in the 
Map object.
The current output is the stack trace of the java.lang.StackOverflowError 
exception.

What version of the product are you using? On what operating system?
1.6.11

Please provide any additional information below.
I checked the class source code here: 
http://grepcode.com/file/repo1.maven.org/maven2/com.restfb/restfb/1.6.2/com/rest
fb/DefaultLegacyFacebookClient.java#DefaultLegacyFacebookClient.executeMultiquer
y%28java.util.Map%2Cjava.lang.Class%2Ccom.restfb.Parameter%5B%5D%29 and it's 
easy to see that the method is just calling itself (infinite loop).

If I use the deprecated method: public <T> T executeMultiquery(Map<String, 
String> queries, String sessionKey, Class<T> resultType, Parameter... 
additionalParameters)  it works as expected.

Original issue reported on code.google.com by josedavi...@gmail.com on 17 Jun 2013 at 5:34