[TASK] Modified code to utilize latest bdn changes

This commit is contained in:
Alexander Bielen
2018-12-12 19:49:13 +01:00
parent 1d57c1c67d
commit 2074dab2f3
4 changed files with 35 additions and 21 deletions
@@ -11,8 +11,10 @@ public class Configuration extends org.parabot.api.Configuration {
public static final String LOGIN_SERVER = "http://bdn.parabot.org/api/v2/users/login";
public static final String GET_SCRIPTS = "http://bdn.parabot.org/api/get.php?action=scripts_scripts&server=";
public static final String GET_SCRIPT = "http://bdn.parabot.org/api/get.php?action=scripts_script&id=";
public static final String GET_SERVER_PROVIDER_TYPE = "http://v3.bdn.parabot.org/api/bot/server/type?server=";
public static final String GET_SERVER_PROVIDERS = "http://bdn.parabot.org/api/get.php?action=server_providers";
public static final String GET_SERVER_PROVIDER = "http://v3.bdn.parabot.org/api/bot/download/provider?nightly=%s&server=%s";
public static final String SERVER_PROVIDER_INFO = "http://v3.bdn.parabot.org/api/bot/list/%s?latest=true";
public static final String GET_SERVER_PROVIDER_INFO = "http://bdn.parabot.org/api/get.php?action=server_information&name=";
public static final String GET_SERVER_SETTINGS = "http://bdn.parabot.org/api/get.php?action=get_settings";
public static final String GET_BOT_VERSION = "http://bdn.parabot.org/api/v2/bot/version";
@@ -183,29 +183,16 @@ public class ServerProviderInfo {
return null;
}
/**
* This is a temporary method until the bdn gets updated
* @param serverName
* Gets the current provider version
*
* @return
*/
public static String getProviderVersion(String serverName) {
try {
serverName = serverName.toLowerCase();
String providerInfo = String.format("http://v3.bdn.parabot.org/api/bot/list/%s-provider?latest=true", serverName);
String response = WebUtil.getContents(providerInfo);
if (response.length() > 0) {
JSONObject jsonObject = (JSONObject) WebUtil.getJsonParser().parse(response);
if (jsonObject.get("version") != null) {
return jsonObject.get("version").toString();
}
} else if (response.equals("")) {
return getProviderVersion("default");
}
} catch(Exception ex) {
ex.printStackTrace();
public String getProviderVersion() {
String providerType = WebUtil.getJsonValue(Configuration.GET_SERVER_PROVIDER_TYPE + properties.getProperty("name"), "type");
if(providerType != null) {
String providerInfo = String.format(Configuration.SERVER_PROVIDER_INFO, providerType);
return WebUtil.getJsonValue(providerInfo, "version");
}
return null;
@@ -1,5 +1,7 @@
package org.parabot.environment.api.utils;
import org.json.simple.JSONObject;
/**
* A WebUtil class fetches data from an URL
*
@@ -7,4 +9,27 @@ package org.parabot.environment.api.utils;
*/
public class WebUtil extends org.parabot.api.io.WebUtil {
/**
* Fetches a single value from a JSON string at the given url
*
* @param url
* @param key
* @return value that belongs to given key
*/
public static String getJsonValue(String url, String key) {
try {
String response = WebUtil.getContents(url);
if(response.length() > 0) {
JSONObject jsonObject = (JSONObject) WebUtil.getJsonParser().parse(response);
if (jsonObject.get(key) != null) {
return jsonObject.get(key).toString();
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
return null;
}
}
@@ -57,7 +57,7 @@ public class PublicServerExecuter extends ServerExecuter {
Core.verbose("Downloading: " + jarUrl + " ...");
String providerVersion = ServerProviderInfo.getProviderVersion(serverName);
String providerVersion = serverProviderInfo.getProviderVersion();
if(providerVersion == null) {
providerVersion = "error";
}