diff --git a/pom.xml b/pom.xml
index d448ed1..1340001 100755
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
org.parabot
client
- 2.8.2
+ 3.0.0
jar
@@ -78,7 +78,7 @@
- Parabot-V${version}${build.version}
+ Parabot-V${project.version}${build.version}
src/main/resources
@@ -197,7 +197,7 @@
parabot-maven
Frontend Parabot Maven
- ftp://maven.parabot.org/public_html/docs/${artifactId}/
+ ftp://maven.parabot.org/public_html/docs/${project.artifactId}/
diff --git a/src/main/java/org/parabot/Landing.java b/src/main/java/org/parabot/Landing.java
index 7be82f8..06466bd 100644
--- a/src/main/java/org/parabot/Landing.java
+++ b/src/main/java/org/parabot/Landing.java
@@ -4,7 +4,6 @@ import org.parabot.api.translations.TranslationHelper;
import org.parabot.core.Context;
import org.parabot.core.Core;
import org.parabot.core.Directories;
-import org.parabot.core.forum.AccountManager;
import org.parabot.core.network.NetworkInterface;
import org.parabot.core.network.proxy.ProxySocket;
import org.parabot.core.network.proxy.ProxyType;
@@ -60,7 +59,6 @@ public final class Landing {
}
Core.verbose(TranslationHelper.translate("VALIDATION_ACCOUNT_MANAGER"));
- AccountManager.validate();
if (username != null && password != null) {
new BotUI(username, password);
@@ -70,6 +68,9 @@ public final class Landing {
}
Core.verbose(TranslationHelper.translate("STARTING_LOGIN_GUI"));
+ Core.setDebug(true); //offline mode
+ Directories.clearCache(); //clear cache
+ ServerSelector.initServer = "2006Scape";
new BotUI(null, null);
}
diff --git a/src/main/java/org/parabot/core/Configuration.java b/src/main/java/org/parabot/core/Configuration.java
index b4f5fdc..5c170b5 100644
--- a/src/main/java/org/parabot/core/Configuration.java
+++ b/src/main/java/org/parabot/core/Configuration.java
@@ -8,16 +8,10 @@ import org.parabot.environment.api.utils.Version;
* @author Everel
*/
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=%s";
- 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";
public static final String API_DOWNLOAD_BOT = "http://v3.bdn.parabot.org/api/bot/download/client";
public static final String DOWNLOAD_BOT = "http://bdn.parabot.org/versions/";
public static final String GET_RANDOMS = "http://v3.bdn.parabot.org/api/bot/download/randoms";
diff --git a/src/main/java/org/parabot/core/asm/hooks/HookFile.java b/src/main/java/org/parabot/core/asm/hooks/HookFile.java
index 0746260..2405388 100644
--- a/src/main/java/org/parabot/core/asm/hooks/HookFile.java
+++ b/src/main/java/org/parabot/core/asm/hooks/HookFile.java
@@ -1,6 +1,5 @@
package org.parabot.core.asm.hooks;
-import org.parabot.core.forum.AccountManager;
import org.parabot.core.parsers.hooks.HookParser;
import org.parabot.core.parsers.hooks.JSONHookParser;
import org.parabot.core.parsers.hooks.XMLHookParser;
@@ -35,18 +34,6 @@ public class HookFile {
return WebUtil.getInputStream(url);
}
- public InputStream getInputStream(AccountManager manager) {
- if (isLocal) {
- return this.getInputStream();
- } else {
- try {
- return WebUtil.getConnection(url, "apikey=" + manager.getAccount().getApi()).getInputStream();
- } catch (IOException e) {
- return null;
- }
- }
- }
-
public HookParser getParser() {
switch (type) {
case TYPE_XML:
diff --git a/src/main/java/org/parabot/core/forum/Account.java b/src/main/java/org/parabot/core/forum/Account.java
deleted file mode 100644
index a70a0b9..0000000
--- a/src/main/java/org/parabot/core/forum/Account.java
+++ /dev/null
@@ -1,82 +0,0 @@
-package org.parabot.core.forum;
-
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-
-/**
- * Class which holds parabot forum account user and pass, only specific classes
- * have access to it unless it's a modified version of parabot intended to
- * steal user information.
- *
- * @author Everel
- */
-public class Account {
- private final String username;
- private final String password;
- private String api;
-
- /**
- * @param username - Forum account username
- * @param password - Forum account password
- */
- public Account(final String username, final String password) {
- this.username = username;
- this.password = password;
- }
-
- public Account(String username, String password, String api) {
- this.username = username;
- this.password = password;
- this.api = api;
- }
-
- /**
- * Gets user's parabot account name
- *
- * @return username.
- */
- public String getUsername() {
- return this.username;
- }
-
- /**
- * Gets user's parabot password
- *
- * @return password.
- */
- public String getPassword() {
- return this.password;
- }
-
- /**
- * Gets user's parabot account name
- *
- * @return username, already URL UTF-8 encoded.
- */
- public String getURLUsername() {
- try {
- return URLEncoder.encode(this.username, "UTF-8");
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- return null;
- }
-
- /**
- * Gets user's password
- *
- * @return password, already URL UTF-8 encoded.
- */
- public String getURLPassword() {
- try {
- return URLEncoder.encode(this.password, "UTF-8");
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- return null;
- }
-
- public String getApi() {
- return api;
- }
-}
diff --git a/src/main/java/org/parabot/core/forum/AccountManager.java b/src/main/java/org/parabot/core/forum/AccountManager.java
deleted file mode 100644
index 12dafd6..0000000
--- a/src/main/java/org/parabot/core/forum/AccountManager.java
+++ /dev/null
@@ -1,120 +0,0 @@
-package org.parabot.core.forum;
-
-import org.json.simple.JSONObject;
-import org.parabot.core.Configuration;
-import org.parabot.core.Context;
-import org.parabot.core.Core;
-import org.parabot.core.parsers.hooks.HookParser;
-import org.parabot.core.parsers.scripts.BDNScripts;
-import org.parabot.core.parsers.servers.PublicServers;
-import org.parabot.core.ui.components.VerboseLoader;
-import org.parabot.environment.api.utils.PBPreferences;
-import org.parabot.environment.api.utils.WebUtil;
-import org.parabot.environment.scripts.executers.BDNScriptsExecuter;
-import org.parabot.environment.servers.executers.PublicServerExecuter;
-
-import java.io.BufferedReader;
-import java.net.URL;
-import java.net.URLEncoder;
-import java.util.ArrayList;
-
-import javax.swing.JOptionPane;
-
-/**
- * Handles logging in to parabot forum, only certain classes may use this class.
- *
- * @author Everel
- */
-public final class AccountManager {
- private static boolean validated;
- private static AccountManager instance;
-
- private Account account;
-
- private AccountManager() {
-
- }
-
- public static final void validate() {
- if (validated) {
- return;
- }
- validated = true;
- instance = new AccountManager();
-
- Core.verbose("Initializing account manager accessors...");
- final ArrayList accessors = new ArrayList();
- accessors.add(BDNScripts.MANAGER_FETCHER);
- accessors.add(VerboseLoader.MANAGER_FETCHER);
- accessors.add(BDNScriptsExecuter.MANAGER_FETCHER);
- accessors.add(PublicServers.MANAGER_FETCHER);
- accessors.add(PublicServerExecuter.MANAGER_FETCHER);
- accessors.add(PBPreferences.MANAGER_FETCHER);
- accessors.add(HookParser.MANAGER_FETCHER);
-
- for (final AccountManagerAccess accessor : accessors) {
- accessor.setManager(instance);
- }
- Core.verbose("Account managers initialized.");
- }
-
- public final boolean isLoggedIn() {
- return account != null;
- }
-
- public final Account getAccount() {
- return account;
- }
-
- public final boolean login(final String user, final String pass, boolean requestTwoStep) {
- if (account != null) {
- throw new IllegalStateException("Already logged in.");
- }
- JSONObject result = null;
- if (!requestTwoStep) {
- try {
- BufferedReader contents = WebUtil.getReader(WebUtil.getConnection(
- new URL(Configuration.LOGIN_SERVER),
- URLEncoder.encode(user, "UTF-8"),
- URLEncoder.encode(pass, "UTF-8")));
-
- result = (JSONObject) WebUtil.getJsonParser().parse(contents);
-
- } catch (Throwable t) {
- t.printStackTrace();
- return false;
- }
- } else {
- try {
- String two = JOptionPane.showInputDialog("Please provide your two factor authentication code\nYou can find this in either your email or the app you've setup");
- if (two != null && two.length() > 0) {
- String contents = WebUtil.getContents(Configuration.LOGIN_SERVER,
- "username=" + URLEncoder.encode(user, "UTF-8") + "&password=" + URLEncoder.encode(pass, "UTF-8") + "&2fa=" + URLEncoder.encode(two, "UTF-8")
- );
- result = (JSONObject) WebUtil.getJsonParser().parse(contents);
- }
- } catch (Throwable t) {
- t.printStackTrace();
- return false;
- }
- }
-
- if (result != null) {
- if (result.get("complete") != null) {
- String api = (String) ((JSONObject) result.get("data")).get("api");
- account = new Account(user, pass, api);
- Context.setUsername(user);
- return true;
- } else if (result.get("error") != null) {
- String errorResult = (String) result.get("error");
- if (errorResult.equals("2fa") || errorResult.equals("2fae")) {
- return login(user, pass, true);
- }
- Core.verbose(errorResult);
- return false;
- }
- }
- return false;
- }
-
-}
diff --git a/src/main/java/org/parabot/core/forum/AccountManagerAccess.java b/src/main/java/org/parabot/core/forum/AccountManagerAccess.java
deleted file mode 100644
index 776b185..0000000
--- a/src/main/java/org/parabot/core/forum/AccountManagerAccess.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package org.parabot.core.forum;
-
-/**
- * Gives access to account details
- *
- * @author Everel
- */
-public interface AccountManagerAccess {
-
- void setManager(AccountManager manager);
-
-}
diff --git a/src/main/java/org/parabot/core/parsers/hooks/HookParser.java b/src/main/java/org/parabot/core/parsers/hooks/HookParser.java
index ae8fa0b..aa18d87 100644
--- a/src/main/java/org/parabot/core/parsers/hooks/HookParser.java
+++ b/src/main/java/org/parabot/core/parsers/hooks/HookParser.java
@@ -8,8 +8,6 @@ import org.parabot.core.asm.wrappers.Interface;
import org.parabot.core.asm.wrappers.Invoker;
import org.parabot.core.asm.wrappers.Setter;
import org.parabot.core.asm.wrappers.Super;
-import org.parabot.core.forum.AccountManager;
-import org.parabot.core.forum.AccountManagerAccess;
import java.util.ArrayList;
import java.util.Collections;
@@ -24,14 +22,6 @@ import java.util.Map;
*/
public abstract class HookParser {
- protected static AccountManager manager;
- public static final AccountManagerAccess MANAGER_FETCHER = new AccountManagerAccess() {
- @Override
- public final void setManager(AccountManager manager) {
- HookParser.manager = manager;
- }
- };
-
public HookParser(HookFile hookFile) {
}
diff --git a/src/main/java/org/parabot/core/parsers/hooks/XMLHookParser.java b/src/main/java/org/parabot/core/parsers/hooks/XMLHookParser.java
index 81f2f43..03b7fe7 100644
--- a/src/main/java/org/parabot/core/parsers/hooks/XMLHookParser.java
+++ b/src/main/java/org/parabot/core/parsers/hooks/XMLHookParser.java
@@ -41,7 +41,7 @@ public class XMLHookParser extends HookParser {
DocumentBuilderFactory dbFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
- doc = dBuilder.parse(hookFile.getInputStream(manager));
+ doc = dBuilder.parse(hookFile.getInputStream());
doc.getDocumentElement().normalize();
if (!doc.getDocumentElement().getNodeName().equals("injector")) {
throw new RuntimeException("Incorrect hook file.");
diff --git a/src/main/java/org/parabot/core/parsers/scripts/BDNScripts.java b/src/main/java/org/parabot/core/parsers/scripts/BDNScripts.java
deleted file mode 100644
index b13764c..0000000
--- a/src/main/java/org/parabot/core/parsers/scripts/BDNScripts.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.parabot.core.parsers.scripts;
-
-import org.json.simple.JSONObject;
-import org.json.simple.parser.JSONParser;
-import org.parabot.core.Configuration;
-import org.parabot.core.Context;
-import org.parabot.core.desc.ScriptDescription;
-import org.parabot.core.forum.AccountManager;
-import org.parabot.core.forum.AccountManagerAccess;
-import org.parabot.environment.api.utils.WebUtil;
-import org.parabot.environment.scripts.executers.BDNScriptsExecuter;
-
-import java.io.BufferedReader;
-import java.net.URL;
-
-/**
- * Parses scripts stored on the BDN of Parabot
- *
- * @author Paradox, Everel
- */
-public class BDNScripts extends ScriptParser {
- private static AccountManager manager;
-
- public static final AccountManagerAccess MANAGER_FETCHER = new AccountManagerAccess() {
-
- @Override
- public final void setManager(AccountManager manager) {
- BDNScripts.manager = manager;
- }
-
- };
-
- @Override
- public void execute() {
- if (!manager.isLoggedIn()) {
- System.err.println("Not logged in...");
- return;
- }
-
- JSONParser parser = new JSONParser();
- try {
- BufferedReader br = WebUtil.getReader(new URL(
- Configuration.GET_SCRIPTS + Context.getInstance().getServerProviderInfo().getServerName()),
- manager.getAccount().getURLUsername(), manager.getAccount().getURLPassword());
-
- String line;
-
- while ((line = br.readLine()) != null) {
- JSONObject jsonObject = (JSONObject) parser.parse(line);
- int bdnId = Integer.parseInt(String.valueOf(jsonObject.get("id")));
- String scriptName = String.valueOf(jsonObject.get("name"));
- String author = String.valueOf(jsonObject.get("author"));
- double version = Double.parseDouble(String.valueOf(jsonObject.get("version")));
- String category = String.valueOf(jsonObject.get("category"));
- String description = String.valueOf(jsonObject.get("description"));
-
- final ScriptDescription desc = new ScriptDescription(scriptName,
- author, category, version, description,
- null, bdnId);
- SCRIPT_CACHE.put(desc, new BDNScriptsExecuter(bdnId));
-
- }
-
- br.close();
-
- } catch (Throwable t) {
- t.printStackTrace();
- }
- }
-}
diff --git a/src/main/java/org/parabot/core/parsers/scripts/ScriptParser.java b/src/main/java/org/parabot/core/parsers/scripts/ScriptParser.java
index cf9036d..371b392 100644
--- a/src/main/java/org/parabot/core/parsers/scripts/ScriptParser.java
+++ b/src/main/java/org/parabot/core/parsers/scripts/ScriptParser.java
@@ -23,14 +23,7 @@ public abstract class ScriptParser {
public static ScriptDescription[] getDescriptions() {
SCRIPT_CACHE.clear();
parsers.clear();
- if (Core.inLoadLocal()) {
- parsers.add(new LocalJavaScripts());
- parsers.add(new BDNScripts());
- } else if (Core.inDebugMode()) {
- parsers.add(new LocalJavaScripts());
- } else {
- parsers.add(new BDNScripts());
- }
+ parsers.add(new LocalJavaScripts());
Core.verbose("Parsing scripts...");
for (final ScriptParser parser : parsers) {
diff --git a/src/main/java/org/parabot/core/parsers/servers/PublicServers.java b/src/main/java/org/parabot/core/parsers/servers/PublicServers.java
deleted file mode 100644
index f76ca81..0000000
--- a/src/main/java/org/parabot/core/parsers/servers/PublicServers.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.parabot.core.parsers.servers;
-
-import org.json.simple.JSONObject;
-import org.json.simple.parser.JSONParser;
-import org.parabot.core.Configuration;
-import org.parabot.core.desc.ServerDescription;
-import org.parabot.core.forum.AccountManager;
-import org.parabot.core.forum.AccountManagerAccess;
-import org.parabot.core.ui.utils.UILog;
-import org.parabot.environment.api.utils.WebUtil;
-import org.parabot.environment.servers.executers.PublicServerExecuter;
-
-import java.io.BufferedReader;
-import java.net.URL;
-
-import javax.swing.JOptionPane;
-
-/**
- * Parses servers hosted on Parabot
- *
- * @author Paradox, Everel
- */
-public class PublicServers extends ServerParser {
-
- private static AccountManager manager;
-
- public static final AccountManagerAccess MANAGER_FETCHER = new AccountManagerAccess() {
-
- @Override
- public final void setManager(AccountManager manager) {
- PublicServers.manager = manager;
- }
-
- };
-
- @Override
- public void execute() {
- try {
- BufferedReader br = WebUtil.getReader(new URL(
- Configuration.GET_SERVER_PROVIDERS), manager.getAccount().getURLUsername(), manager.getAccount().getURLPassword());
- String line;
-
- JSONParser parser = new JSONParser();
- while ((line = br.readLine()) != null) {
-
- JSONObject jsonObject = (JSONObject) parser.parse(line);
- String name = String.valueOf(jsonObject.get("name"));
- String author = String.valueOf(jsonObject.get("author"));
- double version = Double.parseDouble(String.valueOf(jsonObject.get("version")));
-
- ServerDescription desc = new ServerDescription(name,
- author, version);
- SERVER_CACHE.put(desc, new PublicServerExecuter(name));
- }
-
- br.close();
-
- } catch (Exception e) {
- UILog.log("Error", "Failed to load public servers. Either disable your anti-virus or request support on the forums.", JOptionPane.ERROR_MESSAGE);
- e.printStackTrace();
- }
- }
-}
diff --git a/src/main/java/org/parabot/core/parsers/servers/ServerParser.java b/src/main/java/org/parabot/core/parsers/servers/ServerParser.java
index 4ee3739..1fc374c 100644
--- a/src/main/java/org/parabot/core/parsers/servers/ServerParser.java
+++ b/src/main/java/org/parabot/core/parsers/servers/ServerParser.java
@@ -20,14 +20,7 @@ public abstract class ServerParser {
public static final ServerDescription[] getDescriptions() {
SERVER_CACHE.clear();
final ArrayList parsers = new ArrayList<>();
- if (Core.inLoadLocal()) {
- parsers.add(new LocalServers());
- parsers.add(new PublicServers());
- } else if (Core.inDebugMode()) {
- parsers.add(new LocalServers());
- } else {
- parsers.add(new PublicServers());
- }
+ parsers.add(new LocalServers());
Core.verbose("Parsing server providers...");
for (final ServerParser parser : parsers) {
diff --git a/src/main/java/org/parabot/core/ui/LoginUI.java b/src/main/java/org/parabot/core/ui/LoginUI.java
index 75a68a1..6791082 100644
--- a/src/main/java/org/parabot/core/ui/LoginUI.java
+++ b/src/main/java/org/parabot/core/ui/LoginUI.java
@@ -2,7 +2,6 @@ package org.parabot.core.ui;
import org.parabot.core.Configuration;
import org.parabot.core.Core;
-import org.parabot.core.forum.AccountManager;
import org.parabot.core.ui.images.Images;
import org.parabot.core.ui.utils.SwingUtil;
import org.parabot.core.ui.utils.UILog;
@@ -35,7 +34,6 @@ import javax.swing.JTextField;
public class LoginUI extends JFrame {
private static final long serialVersionUID = 2032832552863466297L;
private static LoginUI instance;
- private static AccountManager manager;
private JTextField txtUsername;
private JPasswordField txtPassword;
@@ -149,31 +147,10 @@ public class LoginUI extends JFrame {
public void attemptLogin() {
String username = txtUsername.getText();
String password = new String(txtPassword.getPassword());
-
- if (username.length() > 0 && password.length() > 0) {
- if (manager.login(username, password, false)) {
- Core.verbose("Logged in.");
- instance.dispose();
- Core.verbose("Running server selector.");
- ServerSelector.getInstance();
- } else {
- Core.verbose("Failed to log in.");
- UILog.log("Error", "Incorrect username or password. Have you tried logging into http://bdn.parabot.org/account/", JOptionPane.ERROR_MESSAGE);
- }
- }
+
}
private void attempt(String user, String pass) {
- Core.verbose("Logging in...");
- if (manager.login(user, pass, false)) {
- Core.verbose("Logged in.");
- instance.dispose();
- Core.verbose("Running server selector.");
- ServerSelector.getInstance();
- } else {
- Core.verbose("Failed to log in.");
- UILog.log("Error", "Incorrect username or password. Have you tried logging into http://bdn.parabot.org/account/", JOptionPane.ERROR_MESSAGE);
- }
}
diff --git a/src/main/java/org/parabot/core/ui/components/VerboseLoader.java b/src/main/java/org/parabot/core/ui/components/VerboseLoader.java
index a55711b..a12464c 100755
--- a/src/main/java/org/parabot/core/ui/components/VerboseLoader.java
+++ b/src/main/java/org/parabot/core/ui/components/VerboseLoader.java
@@ -2,8 +2,6 @@ package org.parabot.core.ui.components;
import org.parabot.core.Configuration;
import org.parabot.core.Core;
-import org.parabot.core.forum.AccountManager;
-import org.parabot.core.forum.AccountManagerAccess;
import org.parabot.core.io.ProgressListener;
import org.parabot.core.ui.ServerSelector;
import org.parabot.core.ui.fonts.Fonts;
@@ -48,15 +46,6 @@ public class VerboseLoader extends JPanel implements ProgressListener {
private static final int STATE_SERVER_SELECT = 2;
private static VerboseLoader current;
private static String state = "Initializing loader...";
- private static AccountManager manager;
- public static final AccountManagerAccess MANAGER_FETCHER = new AccountManagerAccess() {
-
- @Override
- public final void setManager(AccountManager manager) {
- VerboseLoader.manager = manager;
- }
-
- };
private final BufferedImage background;
private final BufferedImage banner;
private final BufferedImage loginBox;
@@ -80,11 +69,7 @@ public class VerboseLoader extends JPanel implements ProgressListener {
setDoubleBuffered(true);
setOpaque(false);
- if (username != null && password != null) {
- if (Core.inDebugMode() || manager.login(username, password, false)) {
- currentState = STATE_SERVER_SELECT;
- }
- }
+ currentState = STATE_SERVER_SELECT; //Force Server Select
if (currentState == STATE_AUTHENTICATION) {
addLoginPanel();
@@ -186,19 +171,6 @@ public class VerboseLoader extends JPanel implements ProgressListener {
login.setAlignmentX(Box.CENTER_ALIGNMENT);
login.setOpaque(false);
- login.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- if (manager.login(userInput.getText(), passInput.getText(), false)) {
- switchState(STATE_SERVER_SELECT);
- } else {
- Core.verbose("Failed to log in.");
- UILog.log("Error", "Incorrect username or password. Have you tried logging into http://bdn.parabot.org/account/", JOptionPane.ERROR_MESSAGE);
- }
- }
-
- });
-
loginPanel.add(Box.createRigidArea(new Dimension(0, 8)));
loginPanel.add(usernameLabel);
loginPanel.add(Box.createRigidArea(new Dimension(0, 4)));
diff --git a/src/main/java/org/parabot/environment/api/utils/PBPreferences.java b/src/main/java/org/parabot/environment/api/utils/PBPreferences.java
index 74bf5b6..62f6bb0 100644
--- a/src/main/java/org/parabot/environment/api/utils/PBPreferences.java
+++ b/src/main/java/org/parabot/environment/api/utils/PBPreferences.java
@@ -3,8 +3,6 @@ package org.parabot.environment.api.utils;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.parser.ParseException;
-import org.parabot.core.forum.AccountManager;
-import org.parabot.core.forum.AccountManagerAccess;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
@@ -18,120 +16,11 @@ import java.util.Properties;
*/
public class PBPreferences {
- private static AccountManager manager;
- public static final AccountManagerAccess MANAGER_FETCHER = new AccountManagerAccess() {
- @Override
- public final void setManager(AccountManager manager) {
- PBPreferences.manager = manager;
- }
- };
private final int scriptID;
private Properties properties;
public PBPreferences(int scriptID) {
this.scriptID = scriptID;
- this.updateSettings();
- }
-
- /**
- * Change a setting
- *
- * @param key
- * @param value
- */
- public void adjustSettings(Object key, Object value) {
- this.addSetting(key, value);
- }
-
- /**
- * Get a setting value
- *
- * @param key
- *
- * @return
- */
- public Object getSetting(Object key) {
- return this.properties.get(key);
- }
-
- /**
- * Get a setting value as string
- *
- * @param key
- *
- * @return
- */
- public String getSetting(String key) {
- return this.properties.getProperty(key);
- }
-
- /**
- * Remove a setting
- *
- * @param key
- */
- public void removeSetting(Object key) {
- try {
- JSONObject result = (JSONObject) WebUtil.getJsonParser().parse(
- WebUtil.getContents("http://bdn.parabot.org/api/v2/user/preferences/set/",
- "apikey=" + manager.getAccount().getApi() +
- "&key=" + URLEncoder.encode(String.valueOf(key), "UTF-8") +
- "&script=" + scriptID
- )
- );
- if ((boolean) result.get("result")) {
- this.properties.remove(key);
- }
- } catch (ParseException | MalformedURLException | UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- }
-
- /**
- * Add a setting
- *
- * @param key
- * @param value
- */
- public void addSetting(Object key, Object value) {
- try {
- JSONObject result = (JSONObject) WebUtil.getJsonParser().parse(
- WebUtil.getContents("http://bdn.parabot.org/api/v2/user/preferences/set/",
- "apikey=" + manager.getAccount().getApi() +
- "&key=" + URLEncoder.encode(String.valueOf(key), "UTF-8") +
- "&value=" + URLEncoder.encode(String.valueOf(value), "UTF-8") +
- "&script=" + scriptID
- )
- );
- if ((boolean) result.get("result")) {
- this.properties.put(key, value);
- }
- } catch (ParseException | MalformedURLException | UnsupportedEncodingException e) {
- e.printStackTrace();
- }
- }
-
- private void updateSettings() {
- properties = new Properties();
- try {
- JSONObject result = (JSONObject) WebUtil.getJsonParser().parse(
- WebUtil.getContents("http://bdn.parabot.org/api/v2/user/preferences/" + scriptID,
- "apikey=" + manager.getAccount().getApi())
- );
-
- JSONArray resultArray;
- if ((resultArray = ((JSONArray) result.get("result"))) != null) {
- for (Object rObject : resultArray) {
- JSONObject resultObject = (JSONObject) rObject;
- for (Object map : resultObject.entrySet()) {
- Map.Entry, ?> pairs = (Map.Entry, ?>) map;
- properties.put(pairs.getKey(), pairs.getValue());
- }
- }
- }
- } catch (IOException | ParseException e) {
- e.printStackTrace();
- }
}
}
diff --git a/src/main/java/org/parabot/environment/scripts/executers/BDNScriptsExecuter.java b/src/main/java/org/parabot/environment/scripts/executers/BDNScriptsExecuter.java
deleted file mode 100644
index 997ba3f..0000000
--- a/src/main/java/org/parabot/environment/scripts/executers/BDNScriptsExecuter.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package org.parabot.environment.scripts.executers;
-
-import org.parabot.core.Configuration;
-import org.parabot.core.classpath.ClassPath;
-import org.parabot.core.forum.AccountManager;
-import org.parabot.core.forum.AccountManagerAccess;
-import org.parabot.core.ui.utils.UILog;
-import org.parabot.environment.api.utils.WebUtil;
-import org.parabot.environment.scripts.Script;
-import org.parabot.environment.scripts.loader.JavaScriptLoader;
-
-import java.lang.reflect.Constructor;
-import java.net.URL;
-import java.net.URLConnection;
-
-import javax.swing.JOptionPane;
-
-/**
- * Loads a script from the BDN
- *
- * @author Everel
- */
-public class BDNScriptsExecuter extends ScriptExecuter {
-
- private static AccountManager manager;
-
- public static final AccountManagerAccess MANAGER_FETCHER = new AccountManagerAccess() {
-
- @Override
- public final void setManager(AccountManager manager) {
- BDNScriptsExecuter.manager = manager;
- }
-
- };
-
- private int id = -1;
-
- public BDNScriptsExecuter(final int id) {
- this.id = id;
- }
-
- @Override
- public void run(ThreadGroup tg) {
- try {
- final URLConnection urlConnection = WebUtil.getConnection(new URL(
- Configuration.GET_SCRIPT + this.id), manager.getAccount().getURLUsername(), manager.getAccount().getURLPassword());
-
- final String contentType = urlConnection.getHeaderField("Content-type");
- switch (contentType) {
- case "text/html":
- // failed to fetch script
- UILog.log("Error", "Failed to load BDN script, error: [Page returned: " + WebUtil.getContents(urlConnection) + "]", JOptionPane.ERROR_MESSAGE);
- break;
- case "application/jar":
- //// JAR LOADING PART ////////
- // succesfull request, jar returned
- final ClassPath classPath = new ClassPath();
- classPath.addJar(urlConnection);
-
- final JavaScriptLoader loader = new JavaScriptLoader(classPath);
- final String[] scriptClasses = loader.getScriptClassNames();
- if (scriptClasses == null || scriptClasses.length == 0) {
- UILog.log("Error", "Failed to load BDN script, error: [No script found in jar file.]", JOptionPane.ERROR_MESSAGE);
- return;
- } else if (scriptClasses.length > 1) {
- UILog.log("Error", "Failed to load BDN script, error: [Multiple scripts found in jar file.]");
- return;
- }
-
- final String className = scriptClasses[0];
- try {
- final Class> scriptClass = loader.loadClass(className);
- final Constructor> con = scriptClass.getConstructor();
- final Script script = (Script) con.newInstance();
- script.setScriptID(this.id);
- super.finalize(tg, script);
-
- } catch (NoClassDefFoundError | ClassNotFoundException ignored) {
- UILog.log("Error", "Failed to load BDN script, error: [This server provider does not support this script]", JOptionPane.ERROR_MESSAGE);
- } catch (Throwable t) {
- t.printStackTrace();
- UILog.log("Error", "Failed to load BDN script, post the stacktrace/error on the parabot forums.", JOptionPane.ERROR_MESSAGE);
- }
- //// END JAR LOADING ////
- break;
- default:
- UILog.log("Error", "Failed to load BDN script, error: [Unknown content type: " + contentType + "]", JOptionPane.ERROR_MESSAGE);
- break;
- }
- } catch (Throwable t) {
- t.printStackTrace();
- UILog.log("Error", "Failed to load BDN script, post the stacktrace/error on the parabot forums.", JOptionPane.ERROR_MESSAGE);
- }
- }
-}
diff --git a/src/main/java/org/parabot/environment/servers/executers/PublicServerExecuter.java b/src/main/java/org/parabot/environment/servers/executers/PublicServerExecuter.java
deleted file mode 100644
index de6fc65..0000000
--- a/src/main/java/org/parabot/environment/servers/executers/PublicServerExecuter.java
+++ /dev/null
@@ -1,137 +0,0 @@
-package org.parabot.environment.servers.executers;
-
-import org.parabot.core.Configuration;
-import org.parabot.core.Context;
-import org.parabot.core.Core;
-import org.parabot.core.Directories;
-import org.parabot.core.build.BuildPath;
-import org.parabot.core.classpath.ClassPath;
-import org.parabot.core.desc.ServerProviderInfo;
-import org.parabot.core.forum.AccountManager;
-import org.parabot.core.forum.AccountManagerAccess;
-import org.parabot.core.ui.components.VerboseLoader;
-import org.parabot.core.ui.utils.UILog;
-import org.parabot.environment.api.utils.PBLocalPreferences;
-import org.parabot.environment.api.utils.WebUtil;
-import org.parabot.environment.servers.ServerProvider;
-import org.parabot.environment.servers.loader.ServerLoader;
-
-import java.io.File;
-import java.lang.reflect.Constructor;
-import java.net.URL;
-
-import javax.swing.JOptionPane;
-
-/**
- * Fetches a server provider from the Parabot BDN
- *
- * @author Everel
- */
-public class PublicServerExecuter extends ServerExecuter {
- private static AccountManager manager;
- public static final AccountManagerAccess MANAGER_FETCHER = new AccountManagerAccess() {
-
- @Override
- public final void setManager(AccountManager manager) {
- PublicServerExecuter.manager = manager;
- }
-
- };
- private final String cacheVersionKey = "cachedProviderVersion";
- private final String serverName;
- private PBLocalPreferences settings;
-
- public PublicServerExecuter(final String serverName) {
- this.serverName = serverName;
- }
-
- @Override
- public void run() {
- try {
- ServerProviderInfo serverProviderInfo = new ServerProviderInfo(new URL(Configuration.GET_SERVER_PROVIDER_INFO
- + this.serverName), manager.getAccount().getURLUsername(), manager.getAccount().getURLPassword());
-
- final File destination = new File(Directories.getCachePath(),
- serverProviderInfo.getCRC32() + ".jar");
- final String jarUrl = String.format(Configuration.GET_SERVER_PROVIDER, Configuration.BOT_VERSION.isNightly(), serverName);
-
- Core.verbose("Downloading: " + jarUrl + " ...");
-
- String providerVersion = serverProviderInfo.getProviderVersion();
- if (providerVersion == null) {
- providerVersion = "error";
- }
-
- settings = new PBLocalPreferences(serverProviderInfo.getClientCRC32() + ".json");
- if (settings.getSetting(cacheVersionKey) != null) {
- Core.verbose(String.format("Latest provider version: %s, local provider version: %s", settings.getSetting(cacheVersionKey), providerVersion));
- if (!settings.getSetting(cacheVersionKey).equals(providerVersion)) {
- Core.verbose("Local provider outdated, clearing cache.");
- Directories.clearCache();
- }
- } else {
- Core.verbose("No local provider version in settings, adding to settings file");
- }
-
- settings.addSetting(cacheVersionKey, providerVersion);
-
- if (destination.exists()) {
- Core.verbose("Found cached server provider [CRC32: " + serverProviderInfo.getCRC32() + "]");
- } else {
- WebUtil.downloadFile(new URL(jarUrl), destination,
- VerboseLoader.get());
- Core.verbose("Server provider downloaded...");
- }
-
- final ClassPath classPath = new ClassPath();
- classPath.addJar(destination);
-
- BuildPath.add(destination.toURI().toURL());
-
- ServerLoader serverLoader = new ServerLoader(classPath);
- final String[] classNames = serverLoader.getServerClassNames();
- if (classNames == null || classNames.length == 0) {
- UILog.log(
- "Error",
- "Failed to load server provider, error: [No provider found in jar file.]",
- JOptionPane.ERROR_MESSAGE);
- return;
- } else if (classNames.length > 1) {
- UILog.log(
- "Error",
- "Failed to load server provider, error: [Multiple providers found in jar file.]");
- return;
- }
-
- final String className = classNames[0];
- try {
- final Class> providerClass = serverLoader
- .loadClass(className);
- final Constructor> con = providerClass.getConstructor();
- final ServerProvider serverProvider = (ServerProvider) con
- .newInstance();
- Context.getInstance(serverProvider).setProviderInfo(serverProviderInfo);
- super.finalize(serverProvider, this.serverName);
- } catch (NoClassDefFoundError | ClassNotFoundException ignored) {
- UILog.log(
- "Error",
- "Failed to load server provider, error: [This server provider is not compitable with this version of parabot]",
- JOptionPane.ERROR_MESSAGE);
- } catch (Throwable t) {
- t.printStackTrace();
- UILog.log(
- "Error",
- "Failed to load server provider, post the stacktrace/error on the parabot forums.",
- JOptionPane.ERROR_MESSAGE);
- }
-
- } catch (Exception e) {
- e.printStackTrace();
- UILog.log(
- "Error",
- "Failed to load server provider, post the stacktrace/error on the parabot forums.",
- JOptionPane.ERROR_MESSAGE);
- }
-
- }
-}