Skip to content

Commit aba5013

Browse files
committed
added district status
1 parent 0c62a65 commit aba5013

File tree

3 files changed

+33
-9
lines changed

3 files changed

+33
-9
lines changed

src/main/java/lol/hyper/customlauncher/districts/District.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ public class District implements Comparable<District> {
2222
private final String districtName;
2323
private int population;
2424

25+
private String currentStatus;
26+
2527
/**
2628
* Create a district.
2729
*
@@ -68,6 +70,14 @@ public int compareTo(District district) {
6870
return (this.districtName.compareTo(district.getDistrictName()));
6971
}
7072

73+
public String getCurrentStatus() {
74+
return currentStatus;
75+
}
76+
77+
public void setCurrentStatus(String status) {
78+
currentStatus = status.substring(0,1).toUpperCase() + status.substring(1).toLowerCase();
79+
}
80+
7181
@Override
7282
public boolean equals(Object o) {
7383
if (o == this) {

src/main/java/lol/hyper/customlauncher/districts/DistrictTask.java

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
import java.awt.event.ActionEvent;
2626
import java.awt.event.ActionListener;
27-
import java.util.Iterator;
27+
import java.util.Iterator;import java.util.Locale;
2828

2929
public class DistrictTask implements ActionListener {
3030

@@ -56,15 +56,15 @@ public void actionPerformed(ActionEvent e) {
5656

5757
logger.info("Reading " + DISTRICT_URL + " for current districts...");
5858

59-
JSONObject districts = districtsJSON.getJSONObject("populationByDistrict");
59+
JSONObject populationByDistrict = districtsJSON.getJSONObject("populationByDistrict");
6060
// iterate through each district
61-
Iterator<String> keys = districts.keys();
62-
while (keys.hasNext()) {
63-
String districtFromJSON = keys.next();
61+
Iterator<String> populationKeys = populationByDistrict.keys();
62+
while (populationKeys.hasNext()) {
63+
String districtFromJSON = populationKeys.next();
6464
// if we do not have that district stored, create a new district object
6565
// and add it to the list
6666
if (!districtTracker.districts.containsKey(districtFromJSON)) {
67-
int population = districts.getInt(districtFromJSON);
67+
int population = populationByDistrict.getInt(districtFromJSON);
6868
District district = new District(districtFromJSON);
6969
district.setPopulation(population);
7070
districtTracker.districts.put(districtFromJSON, district);
@@ -74,10 +74,23 @@ public void actionPerformed(ActionEvent e) {
7474
}
7575
// if we already have it saved, update the population
7676
District tempDistrict = districtTracker.districts.get(districtFromJSON);
77-
int population = districts.getInt(districtFromJSON);
77+
int population = populationByDistrict.getInt(districtFromJSON);
7878
tempDistrict.setPopulation(population);
7979
}
8080
}
81+
82+
JSONObject statusByDistrict = districtsJSON.getJSONObject("statusByDistrict");
83+
// iterate through each district
84+
Iterator<String> statusKeys = statusByDistrict.keys();
85+
while (statusKeys.hasNext()) {
86+
String districtFromJSON = statusKeys.next();
87+
// only update the status of districts we track
88+
if (districtTracker.districts.containsKey(districtFromJSON)) {
89+
String status = statusByDistrict.getString(districtFromJSON);
90+
District tempDistrict = districtTracker.districts.get(districtFromJSON);
91+
tempDistrict.setCurrentStatus(status);
92+
}
93+
}
8194
districtTracker.lastFetched = System.currentTimeMillis();
8295
}
8396
}

src/main/java/lol/hyper/customlauncher/districts/DistrictTracker.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public void showWindow() {
7171
panel.add(districtsLabel);
7272

7373
districtTable = new JTable();
74-
String[] columns = new String[] {"Name", "Population"};
74+
String[] columns = new String[] {"Name", "Population", "Status"};
7575

7676
districtsTableModel = (DefaultTableModel) districtTable.getModel();
7777
districtsTableModel.setColumnIdentifiers(columns);
@@ -130,9 +130,10 @@ private void updateDistricts() {
130130
for (District district : sortedDistricts) {
131131
String name = district.getDistrictName();
132132
int population = district.getPopulation();
133+
String status = district.getCurrentStatus();
133134
data =
134135
new String[] {
135-
name, String.valueOf(population),
136+
name, String.valueOf(population), status
136137
};
137138
districtsTableModel.addRow(data);
138139
districtTable.setModel(districtsTableModel);

0 commit comments

Comments
 (0)