Update main plugin to 1.18, convert Metrics to gson
This commit is contained in:
		| @@ -1,12 +1,13 @@ | ||||
| package me.libraryaddict.disguise.utilities.metrics; | ||||
|  | ||||
| import com.google.gson.Gson; | ||||
| import com.google.gson.JsonArray; | ||||
| import com.google.gson.JsonObject; | ||||
| import me.libraryaddict.disguise.utilities.DisguiseUtilities; | ||||
| import org.bukkit.Bukkit; | ||||
| import org.bukkit.configuration.file.YamlConfiguration; | ||||
| import org.bukkit.plugin.ServicePriority; | ||||
| import org.bukkit.plugin.java.JavaPlugin; | ||||
| import org.json.simple.JSONArray; | ||||
| import org.json.simple.JSONObject; | ||||
|  | ||||
| import javax.net.ssl.HttpsURLConnection; | ||||
| import java.io.ByteArrayOutputStream; | ||||
| @@ -174,23 +175,23 @@ public class Metrics { | ||||
|      * | ||||
|      * @return The plugin specific data. | ||||
|      */ | ||||
|     public JSONObject getPluginData() { | ||||
|         JSONObject data = new JSONObject(); | ||||
|     public JsonObject getPluginData() { | ||||
|         JsonObject data = new JsonObject(); | ||||
|  | ||||
|         String pluginName = plugin.getDescription().getName(); | ||||
|  | ||||
|         data.put("pluginName", pluginName); // Append the name of the plugin | ||||
|         data.put("pluginVersion", version); // Append the version of the plugin | ||||
|         JSONArray customCharts = new JSONArray(); | ||||
|         data.addProperty("pluginName", pluginName); // Append the name of the plugin | ||||
|         data.addProperty("pluginVersion", version); // Append the version of the plugin | ||||
|         JsonArray customCharts = new JsonArray(); | ||||
|         for (CustomChart customChart : charts) { | ||||
|             // Add the data of the custom charts | ||||
|             JSONObject chart = customChart.getRequestJsonObject(); | ||||
|             JsonObject chart = customChart.getRequestJsonObject(); | ||||
|             if (chart == null) { // If the chart is null, we skip it | ||||
|                 continue; | ||||
|             } | ||||
|             customCharts.add(chart); | ||||
|         } | ||||
|         data.put("customCharts", customCharts); | ||||
|         data.add("customCharts", customCharts); | ||||
|  | ||||
|         return data; | ||||
|     } | ||||
| @@ -200,7 +201,7 @@ public class Metrics { | ||||
|      * | ||||
|      * @return The server specific data. | ||||
|      */ | ||||
|     private JSONObject getServerData() { | ||||
|     private JsonObject getServerData() { | ||||
|         // Minecraft specific data | ||||
|         int playerAmount = Bukkit.getOnlinePlayers().size(); | ||||
|         int onlineMode = Bukkit.getOnlineMode() ? 1 : 0; | ||||
| @@ -214,19 +215,19 @@ public class Metrics { | ||||
|         String osVersion = System.getProperty("os.version"); | ||||
|         int coreCount = Runtime.getRuntime().availableProcessors(); | ||||
|  | ||||
|         JSONObject data = new JSONObject(); | ||||
|         JsonObject data = new JsonObject(); | ||||
|  | ||||
|         data.put("serverUUID", serverUUID); | ||||
|         data.addProperty("serverUUID", serverUUID); | ||||
|  | ||||
|         data.put("playerAmount", playerAmount); | ||||
|         data.put("onlineMode", onlineMode); | ||||
|         data.put("bukkitVersion", bukkitVersion); | ||||
|         data.addProperty("playerAmount", playerAmount); | ||||
|         data.addProperty("onlineMode", onlineMode); | ||||
|         data.addProperty("bukkitVersion", bukkitVersion); | ||||
|  | ||||
|         data.put("javaVersion", javaVersion); | ||||
|         data.put("osName", osName); | ||||
|         data.put("osArch", osArch); | ||||
|         data.put("osVersion", osVersion); | ||||
|         data.put("coreCount", coreCount); | ||||
|         data.addProperty("javaVersion", javaVersion); | ||||
|         data.addProperty("osName", osName); | ||||
|         data.addProperty("osArch", osArch); | ||||
|         data.addProperty("osVersion", osVersion); | ||||
|         data.addProperty("coreCount", coreCount); | ||||
|  | ||||
|         return data; | ||||
|     } | ||||
| @@ -235,9 +236,9 @@ public class Metrics { | ||||
|      * Collects the data and sends it afterwards. | ||||
|      */ | ||||
|     private void submitData() { | ||||
|         final JSONObject data = getServerData(); | ||||
|         final JsonObject data = getServerData(); | ||||
|  | ||||
|         JSONArray pluginData = new JSONArray(); | ||||
|         JsonArray pluginData = new JsonArray(); | ||||
|         // Search for all other bStats Metrics classes to get their plugin data | ||||
|         for (Class<?> service : Bukkit.getServicesManager().getKnownServices()) { | ||||
|             try { | ||||
| @@ -248,13 +249,13 @@ public class Metrics { | ||||
|             } | ||||
|             // Found one! | ||||
|             try { | ||||
|                 pluginData.add(service.getMethod("getPluginData").invoke(Bukkit.getServicesManager().load(service))); | ||||
|                 pluginData.add(new Gson().toJson(service.getMethod("getPluginData").invoke(Bukkit.getServicesManager().load(service)))); | ||||
|             } | ||||
|             catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException ignored) { | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         data.put("plugins", pluginData); | ||||
|         data.add("plugins", pluginData); | ||||
|  | ||||
|         // Create a new thread for the connection to the bStats server | ||||
|         new Thread(new Runnable() { | ||||
| @@ -281,7 +282,7 @@ public class Metrics { | ||||
|      * @param data The data to send. | ||||
|      * @throws Exception If the request failed. | ||||
|      */ | ||||
|     private static void sendData(JSONObject data) throws Exception { | ||||
|     private static void sendData(JsonObject data) throws Exception { | ||||
|         if (data == null) { | ||||
|             throw new IllegalArgumentException("Data cannot be null!"); | ||||
|         } | ||||
| @@ -350,16 +351,16 @@ public class Metrics { | ||||
|             this.chartId = chartId; | ||||
|         } | ||||
|  | ||||
|         protected JSONObject getRequestJsonObject() { | ||||
|             JSONObject chart = new JSONObject(); | ||||
|             chart.put("chartId", chartId); | ||||
|         protected JsonObject getRequestJsonObject() { | ||||
|             JsonObject chart = new JsonObject(); | ||||
|             chart.addProperty("chartId", chartId); | ||||
|             try { | ||||
|                 JSONObject data = getChartData(); | ||||
|                 JsonObject data = getChartData(); | ||||
|                 if (data == null) { | ||||
|                     // If the data is null we don't send the chart. | ||||
|                     return null; | ||||
|                 } | ||||
|                 chart.put("data", data); | ||||
|                 chart.add("data", data); | ||||
|             } | ||||
|             catch (Throwable t) { | ||||
|                 if (logFailedRequests) { | ||||
| @@ -370,7 +371,7 @@ public class Metrics { | ||||
|             return chart; | ||||
|         } | ||||
|  | ||||
|         protected abstract JSONObject getChartData(); | ||||
|         protected abstract JsonObject getChartData(); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
| @@ -395,14 +396,14 @@ public class Metrics { | ||||
|         public abstract String getValue(); | ||||
|  | ||||
|         @Override | ||||
|         protected JSONObject getChartData() { | ||||
|             JSONObject data = new JSONObject(); | ||||
|         protected JsonObject getChartData() { | ||||
|             JsonObject data = new JsonObject(); | ||||
|             String value = getValue(); | ||||
|             if (value == null || value.isEmpty()) { | ||||
|                 // Null = skip the chart | ||||
|                 return null; | ||||
|             } | ||||
|             data.put("value", value); | ||||
|             data.addProperty("value", value); | ||||
|             return data; | ||||
|         } | ||||
|     } | ||||
| @@ -431,9 +432,9 @@ public class Metrics { | ||||
|         public abstract HashMap<String, Integer> getValues(HashMap<String, Integer> valueMap); | ||||
|  | ||||
|         @Override | ||||
|         protected JSONObject getChartData() { | ||||
|             JSONObject data = new JSONObject(); | ||||
|             JSONObject values = new JSONObject(); | ||||
|         protected JsonObject getChartData() { | ||||
|             JsonObject data = new JsonObject(); | ||||
|             JsonObject values = new JsonObject(); | ||||
|             HashMap<String, Integer> map = getValues(new HashMap<String, Integer>()); | ||||
|             if (map == null || map.isEmpty()) { | ||||
|                 // Null = skip the chart | ||||
| @@ -445,13 +446,13 @@ public class Metrics { | ||||
|                     continue; // Skip this invalid | ||||
|                 } | ||||
|                 allSkipped = false; | ||||
|                 values.put(entry.getKey(), entry.getValue()); | ||||
|                 values.addProperty(entry.getKey(), entry.getValue()); | ||||
|             } | ||||
|             if (allSkipped) { | ||||
|                 // Null = skip the chart | ||||
|                 return null; | ||||
|             } | ||||
|             data.put("values", values); | ||||
|             data.add("values", values); | ||||
|             return data; | ||||
|         } | ||||
|     } | ||||
| @@ -478,14 +479,14 @@ public class Metrics { | ||||
|         public abstract int getValue(); | ||||
|  | ||||
|         @Override | ||||
|         protected JSONObject getChartData() { | ||||
|             JSONObject data = new JSONObject(); | ||||
|         protected JsonObject getChartData() { | ||||
|             JsonObject data = new JsonObject(); | ||||
|             int value = getValue(); | ||||
|             if (value == 0) { | ||||
|                 // Null = skip the chart | ||||
|                 return null; | ||||
|             } | ||||
|             data.put("value", value); | ||||
|             data.addProperty("value", value); | ||||
|             return data; | ||||
|         } | ||||
|     } | ||||
| @@ -514,9 +515,9 @@ public class Metrics { | ||||
|         public abstract HashMap<String, Integer> getValues(HashMap<String, Integer> valueMap); | ||||
|  | ||||
|         @Override | ||||
|         protected JSONObject getChartData() { | ||||
|             JSONObject data = new JSONObject(); | ||||
|             JSONObject values = new JSONObject(); | ||||
|         protected JsonObject getChartData() { | ||||
|             JsonObject data = new JsonObject(); | ||||
|             JsonObject values = new JsonObject(); | ||||
|             HashMap<String, Integer> map = getValues(new HashMap<String, Integer>()); | ||||
|             if (map == null || map.isEmpty()) { | ||||
|                 // Null = skip the chart | ||||
| @@ -528,13 +529,13 @@ public class Metrics { | ||||
|                     continue; // Skip this invalid | ||||
|                 } | ||||
|                 allSkipped = false; | ||||
|                 values.put(entry.getKey(), entry.getValue()); | ||||
|                 values.addProperty(entry.getKey(), entry.getValue()); | ||||
|             } | ||||
|             if (allSkipped) { | ||||
|                 // Null = skip the chart | ||||
|                 return null; | ||||
|             } | ||||
|             data.put("values", values); | ||||
|             data.add("values", values); | ||||
|             return data; | ||||
|         } | ||||
|     } | ||||
| @@ -563,20 +564,20 @@ public class Metrics { | ||||
|         public abstract HashMap<String, Integer> getValues(HashMap<String, Integer> valueMap); | ||||
|  | ||||
|         @Override | ||||
|         protected JSONObject getChartData() { | ||||
|             JSONObject data = new JSONObject(); | ||||
|             JSONObject values = new JSONObject(); | ||||
|         protected JsonObject getChartData() { | ||||
|             JsonObject data = new JsonObject(); | ||||
|             JsonObject values = new JsonObject(); | ||||
|             HashMap<String, Integer> map = getValues(new HashMap<String, Integer>()); | ||||
|             if (map == null || map.isEmpty()) { | ||||
|                 // Null = skip the chart | ||||
|                 return null; | ||||
|             } | ||||
|             for (Map.Entry<String, Integer> entry : map.entrySet()) { | ||||
|                 JSONArray categoryValues = new JSONArray(); | ||||
|                 JsonArray categoryValues = new JsonArray(); | ||||
|                 categoryValues.add(entry.getValue()); | ||||
|                 values.put(entry.getKey(), categoryValues); | ||||
|                 values.add(entry.getKey(), categoryValues); | ||||
|             } | ||||
|             data.put("values", values); | ||||
|             data.add("values", values); | ||||
|             return data; | ||||
|         } | ||||
|     } | ||||
| @@ -605,9 +606,9 @@ public class Metrics { | ||||
|         public abstract HashMap<String, int[]> getValues(HashMap<String, int[]> valueMap); | ||||
|  | ||||
|         @Override | ||||
|         protected JSONObject getChartData() { | ||||
|             JSONObject data = new JSONObject(); | ||||
|             JSONObject values = new JSONObject(); | ||||
|         protected JsonObject getChartData() { | ||||
|             JsonObject data = new JsonObject(); | ||||
|             JsonObject values = new JsonObject(); | ||||
|             HashMap<String, int[]> map = getValues(new HashMap<String, int[]>()); | ||||
|             if (map == null || map.isEmpty()) { | ||||
|                 // Null = skip the chart | ||||
| @@ -619,17 +620,17 @@ public class Metrics { | ||||
|                     continue; // Skip this invalid | ||||
|                 } | ||||
|                 allSkipped = false; | ||||
|                 JSONArray categoryValues = new JSONArray(); | ||||
|                 JsonArray categoryValues = new JsonArray(); | ||||
|                 for (int categoryValue : entry.getValue()) { | ||||
|                     categoryValues.add(categoryValue); | ||||
|                 } | ||||
|                 values.put(entry.getKey(), categoryValues); | ||||
|                 values.add(entry.getKey(), categoryValues); | ||||
|             } | ||||
|             if (allSkipped) { | ||||
|                 // Null = skip the chart | ||||
|                 return null; | ||||
|             } | ||||
|             data.put("values", values); | ||||
|             data.add("values", values); | ||||
|             return data; | ||||
|         } | ||||
|     } | ||||
| @@ -656,15 +657,15 @@ public class Metrics { | ||||
|         public abstract Country getValue(); | ||||
|  | ||||
|         @Override | ||||
|         protected JSONObject getChartData() { | ||||
|             JSONObject data = new JSONObject(); | ||||
|         protected JsonObject getChartData() { | ||||
|             JsonObject data = new JsonObject(); | ||||
|             Country value = getValue(); | ||||
|  | ||||
|             if (value == null) { | ||||
|                 // Null = skip the chart | ||||
|                 return null; | ||||
|             } | ||||
|             data.put("value", value.getCountryIsoTag()); | ||||
|             data.addProperty("value", value.getCountryIsoTag()); | ||||
|             return data; | ||||
|         } | ||||
|     } | ||||
| @@ -693,9 +694,9 @@ public class Metrics { | ||||
|         public abstract HashMap<Country, Integer> getValues(HashMap<Country, Integer> valueMap); | ||||
|  | ||||
|         @Override | ||||
|         protected JSONObject getChartData() { | ||||
|             JSONObject data = new JSONObject(); | ||||
|             JSONObject values = new JSONObject(); | ||||
|         protected JsonObject getChartData() { | ||||
|             JsonObject data = new JsonObject(); | ||||
|             JsonObject values = new JsonObject(); | ||||
|             HashMap<Country, Integer> map = getValues(new HashMap<Country, Integer>()); | ||||
|             if (map == null || map.isEmpty()) { | ||||
|                 // Null = skip the chart | ||||
| @@ -707,13 +708,13 @@ public class Metrics { | ||||
|                     continue; // Skip this invalid | ||||
|                 } | ||||
|                 allSkipped = false; | ||||
|                 values.put(entry.getKey().getCountryIsoTag(), entry.getValue()); | ||||
|                 values.addProperty(entry.getKey().getCountryIsoTag(), entry.getValue()); | ||||
|             } | ||||
|             if (allSkipped) { | ||||
|                 // Null = skip the chart | ||||
|                 return null; | ||||
|             } | ||||
|             data.put("values", values); | ||||
|             data.add("values", values); | ||||
|             return data; | ||||
|         } | ||||
|     } | ||||
|   | ||||
							
								
								
									
										2
									
								
								pom.xml
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								pom.xml
									
									
									
									
									
								
							| @@ -23,7 +23,7 @@ | ||||
|  | ||||
|         <lombok.version>1.18.22</lombok.version> | ||||
|         <protocollib.version>4.7.0</protocollib.version> | ||||
|         <spigot.version>1.17-R0.1-SNAPSHOT</spigot.version> | ||||
|         <spigot.version>1.18-R0.1-SNAPSHOT</spigot.version> | ||||
|         <junit.version>4.13.2</junit.version> | ||||
|         <paper-api.version>1.16.5-R0.1-SNAPSHOT</paper-api.version> | ||||
|         <bungeecord-chat.version>1.12-SNAPSHOT</bungeecord-chat.version> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user