JAL-3438 spotless for 2.11.2.0
[jalview.git] / src / jalview / json / binding / biojs / BioJSRepositoryPojo.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
3  * Copyright (C) $$Year-Rel$$ The Jalview Authors
4  * 
5  * This file is part of Jalview.
6  * 
7  * Jalview is free software: you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License 
9  * as published by the Free Software Foundation, either version 3
10  * of the License, or (at your option) any later version.
11  *  
12  * Jalview is distributed in the hope that it will be useful, but 
13  * WITHOUT ANY WARRANTY; without even the implied warranty 
14  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
15  * PURPOSE.  See the GNU General Public License for more details.
16  * 
17  * You should have received a copy of the GNU General Public License
18  * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
19  * The Jalview Authors are detailed in the 'AUTHORS' file.
20  */
21 package jalview.json.binding.biojs;
22
23 import jalview.util.JSONUtils;
24
25 import java.util.ArrayList;
26 import java.util.Collection;
27 import java.util.Iterator;
28 import java.util.List;
29 import java.util.Map;
30 import java.util.Objects;
31
32 import org.json.simple.parser.ParseException;
33
34 public class BioJSRepositoryPojo
35 {
36
37   private String description;
38
39   private String latestReleaseVersion;
40
41   private Collection<BioJSReleasePojo> releases = new ArrayList<BioJSReleasePojo>();
42
43   public BioJSRepositoryPojo()
44   {
45   }
46
47   public BioJSRepositoryPojo(String jsonString)
48   {
49     try
50     {
51       parse(jsonString);
52     } catch (ParseException e)
53     {
54       e.printStackTrace();
55     }
56   }
57
58   @SuppressWarnings("unchecked")
59   private void parse(String jsonString) throws ParseException
60   {
61     Objects.requireNonNull(jsonString,
62             "Supplied jsonString must not be null");
63     Map<String, Object> JsonObj = (Map<String, Object>) JSONUtils
64             .parse(jsonString);
65     this.description = (String) JsonObj.get("description");
66     this.latestReleaseVersion = (String) JsonObj
67             .get("latestReleaseVersion");
68
69     List<Object> repositoriesJsonArray = (List<Object>) JsonObj
70             .get("releases");
71     for (Iterator<Object> repoIter = repositoriesJsonArray
72             .iterator(); repoIter.hasNext();)
73     {
74       Map<String, Object> repoObj = (Map<String, Object>) repoIter.next();
75       BioJSReleasePojo repo = new BioJSReleasePojo();
76       repo.setType((String) repoObj.get("type"));
77       repo.setUrl((String) repoObj.get("url"));
78       repo.setVersion((String) repoObj.get("version"));
79       this.getReleases().add(repo);
80     }
81   }
82
83   public String getDescription()
84   {
85     return description;
86   }
87
88   public void setDescription(String description)
89   {
90     this.description = description;
91   }
92
93   public String getLatestReleaseVersion()
94   {
95     return latestReleaseVersion;
96   }
97
98   public void setLatestReleaseVersion(String latestReleaseVersion)
99   {
100     this.latestReleaseVersion = latestReleaseVersion;
101   }
102
103   public Collection<BioJSReleasePojo> getReleases()
104   {
105     return releases;
106   }
107
108   public void setReleases(Collection<BioJSReleasePojo> releases)
109   {
110     this.releases = releases;
111   }
112
113 }