/**
*
*/
package com.googlecode.flickr2twitter.impl.picasa.model;
import java.util.Date;
import com.google.gdata.data.photos.PhotoEntry;
import com.google.gdata.util.ServiceException;
import com.googlecode.flickr2twitter.model.IGeoItem;
import com.googlecode.flickr2twitter.model.IPhoto;
import com.googlecode.flickr2twitter.model.ItemGeoData;
/**
* @author Toby Yu(yuyang226@gmail.com)
*
*/
public class PicasaPhoto implements IPhoto, IGeoItem {
private PhotoEntry photo;
private ItemGeoData geoData;
private Date datePosted;
/**
*
*/
public PicasaPhoto(PhotoEntry photo) {
super();
this.photo = photo;
}
/* (non-Javadoc)
* @see com.googlecode.flickr2twitter.model.IPhoto#getDatePosted()
*/
@Override
public Date getDatePosted() {
if (this.datePosted == null) {
this.datePosted = new Date(photo.getPublished().getValue());
}
return this.datePosted;
}
/* (non-Javadoc)
* @see com.googlecode.flickr2twitter.model.IPhoto#getDateTaken()
*/
@Override
public Date getDateTaken() {
try {
return photo.getTimestamp();
} catch (ServiceException e) {
throw new RuntimeException(e);
}
}
/* (non-Javadoc)
* @see com.googlecode.flickr2twitter.model.IPhoto#getUrl()
*/
@Override
public String getUrl() {
return photo.getHtmlLink().getHref();
}
/* (non-Javadoc)
* @see com.googlecode.flickr2twitter.model.IPhoto#setDatePosted(java.util.Date)
*/
@Override
public void setDatePosted(Date datePosted) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see com.googlecode.flickr2twitter.model.IPhoto#setDateTaken(java.util.Date)
*/
@Override
public void setDateTaken(Date dateTaken) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see com.googlecode.flickr2twitter.model.IPhoto#setUrl(java.lang.String)
*/
@Override
public void setUrl(String url) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see com.googlecode.flickr2twitter.model.IItem#getDescription()
*/
@Override
public String getDescription() {
return photo.getDescription().getPlainText();
}
/* (non-Javadoc)
* @see com.googlecode.flickr2twitter.model.IItem#getId()
*/
@Override
public String getId() {
return photo.getId();
}
/* (non-Javadoc)
* @see com.googlecode.flickr2twitter.model.IItem#getTitle()
*/
@Override
public String getTitle() {
return photo.getTitle().getPlainText();
}
/* (non-Javadoc)
* @see com.googlecode.flickr2twitter.model.IItem#setDescription(java.lang.String)
*/
// @Override
public void setDescription(String description) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see com.googlecode.flickr2twitter.model.IItem#setId(java.lang.String)
*/
// @Override
public void setId(String id) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see com.googlecode.flickr2twitter.model.IItem#setTitle(java.lang.String)
*/
// @Override
public void setTitle(String title) {
// TODO Auto-generated method stub
}
/* (non-Javadoc)
* @see com.googlecode.flickr2twitter.model.IGeoItem#getGeoData()
*/
@Override
public ItemGeoData getGeoData() {
if (this.geoData == null && photo.getGeoLocation() != null) {
this.geoData = new ItemGeoData(photo.getGeoLocation().getLongitude(),
photo.getGeoLocation().getLatitude());
}
return this.geoData;
}
/* (non-Javadoc)
* @see com.googlecode.flickr2twitter.model.IGeoItem#setGeoData(com.googlecode.flickr2twitter.model.ItemGeoData)
*/
@Override
public void setGeoData(ItemGeoData geoData) {
// TODO Auto-generated method stub
}
}