JAL-1740 updated synch codes to use a git repo rather than FTP
[jalview.git] / src / jalview / json / binding / v1 / BioJSRepositoryPojo.java
diff --git a/src/jalview/json/binding/v1/BioJSRepositoryPojo.java b/src/jalview/json/binding/v1/BioJSRepositoryPojo.java
new file mode 100644 (file)
index 0000000..5a31991
--- /dev/null
@@ -0,0 +1,90 @@
+package jalview.json.binding.v1;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+
+import org.json.simple.JSONArray;
+import org.json.simple.JSONObject;
+import org.json.simple.parser.JSONParser;
+import org.json.simple.parser.ParseException;
+
+public class BioJSRepositoryPojo
+{
+
+  private String description;
+
+  private String latestReleaseVersion;
+
+  private Collection<BioJSReleasePojo> releases = new ArrayList<BioJSReleasePojo>();
+
+  public BioJSRepositoryPojo()
+  {
+  }
+
+  public BioJSRepositoryPojo(String jsonString)
+  {
+    try
+    {
+      parse(jsonString);
+    } catch (ParseException e)
+    {
+      e.printStackTrace();
+    }
+  }
+
+  @SuppressWarnings("unchecked")
+  private void parse(String jsonString) throws ParseException
+  {
+    JSONParser jsonParser = new JSONParser();
+    JSONObject JsonObj = (JSONObject) jsonParser.parse(jsonString);
+    this.description = (String) JsonObj.get("description");
+    this.latestReleaseVersion = (String) JsonObj
+            .get("latestReleaseVersion");
+
+    JSONArray repositoriesJsonArray = (JSONArray) JsonObj
+.get("realseases");
+    for (Iterator<JSONObject> repoIter = repositoriesJsonArray.iterator(); repoIter
+            .hasNext();)
+    {
+      JSONObject repoObj = repoIter.next();
+      BioJSReleasePojo repo = new BioJSReleasePojo();
+      repo.setType((String) repoObj.get("type"));
+      repo.setUrl((String) repoObj.get("url"));
+      repo.setVersion((String) repoObj.get("version"));
+      this.getReleases().add(repo);
+    }
+  }
+
+  public String getDescription()
+  {
+    return description;
+  }
+
+  public void setDescription(String description)
+  {
+    this.description = description;
+  }
+
+
+  public String getLatestReleaseVersion()
+  {
+    return latestReleaseVersion;
+  }
+
+  public void setLatestReleaseVersion(String latestReleaseVersion)
+  {
+    this.latestReleaseVersion = latestReleaseVersion;
+  }
+
+  public Collection<BioJSReleasePojo> getReleases()
+  {
+    return releases;
+  }
+
+  public void setReleases(Collection<BioJSReleasePojo> releases)
+  {
+    this.releases = releases;
+  }
+
+}