diff options
Diffstat (limited to '')
-rw-r--r-- | sandbox/kgoodson/jagg/src/main/java/services/JiraQueryImpl.java | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/sandbox/kgoodson/jagg/src/main/java/services/JiraQueryImpl.java b/sandbox/kgoodson/jagg/src/main/java/services/JiraQueryImpl.java new file mode 100644 index 0000000000..14931a1989 --- /dev/null +++ b/sandbox/kgoodson/jagg/src/main/java/services/JiraQueryImpl.java @@ -0,0 +1,74 @@ +package services; +import java.io.IOException; +import java.lang.String; +import java.lang.reflect.Array; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; + +import com.sun.syndication.feed.synd.SyndEntry; +import com.sun.syndication.feed.synd.SyndFeed; +import com.sun.syndication.io.FeedException; +import com.sun.syndication.io.SyndFeedInput; +import com.sun.syndication.io.XmlReader; + + +public class JiraQueryImpl implements JiraQuery { + + private String rssfeed = null; + private HashMap entries = null; + + public JiraQueryImpl() { + + } + + public JiraQueryImpl(String rssfeed) throws Exception { + this.rssfeed = rssfeed; + + } + public Collection<String> getJiraIDs() { + try { + refreshFeedData(); + } catch (IllegalArgumentException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (MalformedURLException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (FeedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return entries.keySet(); + } + public String getTitle(String ID) { + return ((SyndEntry)entries.get(ID)).getTitle(); + } + private void refreshFeedData() throws IllegalArgumentException, MalformedURLException, FeedException, IOException { + + + SyndFeedInput input = new SyndFeedInput(); + SyndFeed feed = input.build(new XmlReader(new URL(rssfeed))); + + entries = new HashMap(); + + for(Object entry: feed.getEntries()){ + SyndEntry syndEntry = (SyndEntry)entry; + String id = jiraNumber(syndEntry.getTitle()); + entries.put(id, syndEntry); + } + + } + + private String jiraNumber(String title) { + String[] id = title.split("[\\[\\]]"); + return id[1]; + } + +} |