package org.primefaces.examples.service;
import java.net.URL;
import java.util.logging.Logger;
import com.sun.syndication.feed.synd.SyndEntry;
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.io.SyndFeedInput;
import com.sun.syndication.io.XmlReader;
public class YAHOOWeatherService implements WeatherService {
private static final Logger logger = Logger.getLogger(YAHOOWeatherService.class.getName());
public String getConditions(String city, String unit) {
try {
URL feedSource = new URL("http://weather.yahooapis.com/forecastrss?p=" + city + "&u=" + unit);
SyndFeedInput input = new SyndFeedInput();
SyndFeed feed = input.build(new XmlReader(feedSource));
String value = ((SyndEntry) feed.getEntries().get(0)).getDescription().getValue();
return value.split("<a href")[0]; //Remove links
} catch (Exception e) {
logger.severe(e.getMessage());
}
return "Unable to retrieve conditions";
}
}