package com.abewy.android.apps.klyph.facebook.request;
import java.util.ArrayList;
import org.json.JSONArray;
import com.abewy.android.apps.klyph.core.fql.serializer.AlbumDeserializer;
import com.abewy.android.apps.klyph.core.graph.GraphObject;
public class AlbumRequest extends KlyphQuery
{
@Override
public boolean isMultiQuery()
{
return true;
}
@Override
public String getQuery(String id, String offset)
{
String query1 = "SELECT aid, backdated_time, can_backdate, can_upload, comment_info, cover_object_id, cover_pid, created, description, edit_link, like_info, link, location, modified, modified_major, name, object_id, owner, owner_cursor, photo_count, place_id, type, video_count, visible";
query1 += " FROM album WHERE object_id = \"" + id + "\" OR�aid = \"" + id + "\"";
String query2 = "SELECT id, name FROM�profile WHERE�id IN (SELECT�owner FROM�#query1)";
String query3 = "SELECT pid, images from photo where pid in (select cover_pid from #query1)";
return multiQuery(query1, query2, query3);
}
@Override
public ArrayList<GraphObject> handleResult(JSONArray[] result)
{
JSONArray album = result[0];
JSONArray owner = result[1];
JSONArray images = result[2];
assocData(album, owner, "owner", "id", "owner_name", "name");
assocData(album, images, "cover_pid", "pid", "cover_images", "images");
AlbumDeserializer deserializer = new AlbumDeserializer();
ArrayList<GraphObject> list = (ArrayList<GraphObject>) deserializer.deserializeArray(album);
setHasMoreData(false);
return list;
}
}