package org.krakenapps.socialweb.facebook.jsonobject;
import java.util.ArrayList;
import java.util.Set;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import org.krakenapps.socialweb.facebook.graphapi.objectcode.Permissions;
import org.krakenapps.socialweb.facebook.jsonobject.fieldelement.From;
import org.krakenapps.socialweb.facebook.jsonobject.fieldelement.Like;
public class Video implements FacebookGraphObject{
private String id;
private From from;
private ArrayList<From> tags;
private String name;
private String description;
private String picture;
private String embed_html;
private String icon;
private String source;
private String created_time;
private String updated_time;
private ArrayList<Comment> comments;
private FbConnection fbConnection;
Video(){
fbConnection = new FbConnection();
}
private class FbConnection{
public String CONN_likes = "likes";
public String CONN_comments = "comments";
public String CONN_picture = "picture";
private Like likes;
private ArrayList<Comment> comments;
private String picture;
public FbConnection(){
likes = null;
comments = null;
picture = null;
}
public Like getLikes() {
return likes;
}
public void setLikes(Like likes) {
this.likes = likes;
}
public ArrayList<Comment> getComments() {
return comments;
}
public void setComments(ArrayList<Comment> comments) {
this.comments = comments;
}
public String getPicture() {
return picture;
}
public void setPicture(String picture) {
this.picture = picture;
}
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public From getFrom() {
return from;
}
public void setFrom(From from) {
this.from = from;
}
public ArrayList<From> getTags() {
return tags;
}
public void setTags(ArrayList<From> tags) {
this.tags = tags;
}
public ArrayList<Comment> getComments() {
return comments;
}
public void setComments(ArrayList<Comment> comments) {
this.comments = comments;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getPicture() {
return picture;
}
public void setPicture(String picture) {
this.picture = picture;
}
public String getEmbed_html() {
return embed_html;
}
public void setEmbed_html(String embed_html) {
this.embed_html = embed_html;
}
public String getIcon() {
return icon;
}
public void setIcon(String icon) {
this.icon = icon;
}
public String getSource() {
return source;
}
public void setSource(String source) {
this.source = source;
}
public String getCreated_time() {
return created_time;
}
public void setCreated_time(String created_time) {
this.created_time = created_time;
}
public String getUpdated_time() {
return updated_time;
}
public void setUpdated_time(String updated_time) {
this.updated_time = updated_time;
}
public FbConnection getFbConnection() {
return fbConnection;
}
public void setFbConnection(FbConnection fbConnection) {
this.fbConnection = fbConnection;
}
@Override
public int parseJson(JSONObject json) {
try {
id = json.getString("id");
JSONObject fromObject = json.getJSONObject("from");
from = new From(fromObject.getString("id"), fromObject.getString("name"));
JSONObject tagsObject = json.getJSONObject("tags");
JSONArray tagsArray = tagsObject.getJSONArray("data");
ArrayList<From> tagsList = new ArrayList<From>(tagsArray.length());
for(int i=0; i<tagsArray.length(); i++){
tags.add(new From(tagsArray.getJSONObject(i).getString("id"),tagsArray.getJSONObject(i).getString("name")));
}
name = json.getString("name");
description = json.getString("ndescription");
picture = json.getString("picture");
embed_html = json.getString("embed_html");
icon = json.getString("icon");
source = json.getString("source");
created_time = json.getString("created_time");
updated_time = json.getString("updated_time");
comments = new ArrayList<Comment>();
JSONObject commentObject = json.getJSONObject("comments");
JSONArray commentArray = commentObject.getJSONArray("data");
for(int i =0 ; i<commentObject.getInt("count"); i++){
Comment tmp = new Comment();
tmp.setId(commentArray.getJSONObject(i).getString("id"));
tmp.setFrom(new From(commentArray.getJSONObject(i).getJSONObject("from").getString("id"), commentArray.getJSONObject(i).getJSONObject("from").getString("name")));
tmp.setMessage(commentArray.getJSONObject(i).getString("message"));
tmp.setCreateTime(commentArray.getJSONObject(i).getString("created_time"));
comments.add(tmp);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return 0;
}
/* (non-Javadoc)
* @see org.krakenapps.socialweb.facebook.jsonobject.FacebookGraphObject#parseJson(org.json.JSONObject, java.util.Set)
*/
@Override
public int parseJson(JSONObject json, Set<Permissions> permit) {
// TODO Auto-generated method stub
return 0;
}
}