Author: jerome
Date: 2009-06-17 10:51:26 +0200 (Wed, 17 Jun 2009)
New Revision: 4821
Modified:
software_suite_v2/software/gadgets/tuxdroid-gadget-facebook/trunk/tuxdroid-gadget-facebook/src/FacebookFunctions.java
Log:
* Fixed a bug : FB api give not all event names, so, fql queries was needed.
Modified:
software_suite_v2/software/gadgets/tuxdroid-gadget-facebook/trunk/tuxdroid-gadget-facebook/src/FacebookFunctions.java
===================================================================
---
software_suite_v2/software/gadgets/tuxdroid-gadget-facebook/trunk/tuxdroid-gadget-facebook/src/FacebookFunctions.java
2009-06-16 12:05:14 UTC (rev 4820)
+++
software_suite_v2/software/gadgets/tuxdroid-gadget-facebook/trunk/tuxdroid-gadget-facebook/src/FacebookFunctions.java
2009-06-17 08:51:26 UTC (rev 4821)
@@ -1,17 +1,3 @@
-import java.io.IOException;
-import java.util.EnumSet;
-import java.util.Hashtable;
-import java.util.List;
-import java.util.Vector;
-
-import com.facebook.api.FacebookException;
-import com.facebook.api.ProfileField;
-import com.facebook.api.schema.Event;
-import com.facebook.api.schema.EventsGetResponse;
-import com.facebook.api.schema.FriendsGetResponse;
-import com.facebook.api.schema.User;
-import com.facebook.api.schema.UsersGetInfoResponse;
-
/* This file is part of "TuxDroid Gadget Facebook".
* Copyright 2009, kysoh
* Author : Conan Jerome.
@@ -34,6 +20,22 @@
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
+
+import java.io.IOException;
+import java.util.EnumSet;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Vector;
+
+import com.facebook.api.FacebookException;
+import com.facebook.api.ProfileField;
+import com.facebook.api.schema.Event;
+import com.facebook.api.schema.EventsGetResponse;
+import com.facebook.api.schema.FriendsGetResponse;
+import com.facebook.api.schema.User;
+import com.facebook.api.schema.UsersGetInfoResponse;
+
+
public class FacebookFunctions {
private FacebookConnection connection;
@@ -321,33 +323,53 @@
Vector<String> eventsDatas = new
Vector<String>();
//Getting friends uid that ask for friends.
- if(eventString.contains("<eid>"))
+ if(eventString.contains("<eid>") ||
(eventString.contains("<event_invites_elt>")))
{
while(eventString.contains("<eid>"))
{
- String friend =
eventString.substring(
+ String event =
eventString.substring(
eventString.indexOf("<eid>") + "<eid>".length(),
eventString.indexOf("</eid>"));
- eventString =
eventString.replace("<eid>" + friend + "</eid>", "");
+ eventString =
eventString.replace("<eid>" + event + "</eid>", "");
-
eventsDatasAsLong.add(Long.valueOf(friend).longValue());
+
eventsDatasAsLong.add(Long.valueOf(event).longValue());
}
- //Getting events names.
-
connection.getClient().events_get(connection.getFacebookUserId(),
eventsDatasAsLong, Long.valueOf(0), Long.valueOf(0));
- EventsGetResponse response =
(EventsGetResponse) connection.getClient().getResponsePOJO();
- List<Event> events =
response.getEvent();
+
while(eventString.contains("<event_invites_elt>"))
+ {
+ String event =
eventString.substring(
+
eventString.indexOf("<event_invites_elt>") + "<event_invites_elt>".length(),
+
eventString.indexOf("</event_invites_elt>"));
+
+ eventString =
eventString.replace("<event_invites_elt>" + event + "</event_invites_elt>", "");
+
eventsDatasAsLong.add(Long.valueOf(event).longValue());
+ }
+
//Adding the number of event invites.
eventsDatas.add(String.valueOf(eventsDatasAsLong.size()));
- for(Event event : events)
+ for(Long eid : eventsDatasAsLong)
{
-
if(eventsDatasAsLong.contains(event.getEid()))
+ try
{
-
eventsDatas.add(event.getName());
+ Thread.sleep(200);
+
connection.getClient().fql_query("Select name from event WHERE eid=" +
eid.longValue());
+ String response =
connection.getClient().getRawResponse();
+
if(response.contains("<event>") && response.contains("<name>"))
+ {
+ String
groupName = response.substring(
+
response.indexOf("<name>") + "<name>".length(),
+
response.indexOf("</name>", response.indexOf("<name>")));
+
eventsDatas.add(groupName);
+ }
}
+ catch(Exception fqlError)
+ {
+
eventsDatas.add("Unknown group");
+ }
+
}
if(eventsDatasAsLong.size() > 0)
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
Tux-droid-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tux-droid-svn