summaryrefslogtreecommitdiffstats
path: root/sandbox/kgoodson/jagg/src/main/java/services/JiraQueryImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/kgoodson/jagg/src/main/java/services/JiraQueryImpl.java')
-rw-r--r--sandbox/kgoodson/jagg/src/main/java/services/JiraQueryImpl.java74
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];
+ }
+
+}