package jalview.json.binding.biojs; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; import java.util.Objects; 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 releases = new ArrayList(); public BioJSRepositoryPojo() { } public BioJSRepositoryPojo(String jsonString) { try { parse(jsonString); } catch (ParseException e) { e.printStackTrace(); } } @SuppressWarnings("unchecked") private void parse(String jsonString) throws ParseException { Objects.requireNonNull(jsonString, "Supplied jsonString must not be null"); 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("releases"); for (Iterator 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 getReleases() { return releases; } public void setReleases(Collection releases) { this.releases = releases; } }