From b60a17f52f9b1fd35582c26c1b0fe1b282192882 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Tue, 24 May 2016 14:50:13 +0200 Subject: [PATCH 001/114] [TASK] Added artifacts target folder --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 05e482a..65e4c66 100644 --- a/.travis.yml +++ b/.travis.yml @@ -29,6 +29,7 @@ addons: artifacts: paths: ./target/final/ s3_region: "us-west-1" + target_paths: ./artifacts/ cache: directories: From 76421fcde6c1eff49353e08756e5b1ac00fa429c Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Tue, 24 May 2016 14:55:33 +0200 Subject: [PATCH 002/114] [BUGFIX] Solved issue with maven build for non-master builds --- .travis/maven-build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis/maven-build.sh b/.travis/maven-build.sh index 957ccf6..f618ba6 100755 --- a/.travis/maven-build.sh +++ b/.travis/maven-build.sh @@ -3,5 +3,5 @@ if [ "$TRAVIS_BRANCH" == "master" ]; then mvn -U package else - mvn -Dversion="-RC-$TRAVIS_BUILD_ID" -U package + mvn -Dbuild.version="-RC-$TRAVIS_BUILD_ID" -U package fi \ No newline at end of file From f75f172d35a17285eacf23165c81c83cc1c36c17 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Tue, 24 May 2016 14:57:28 +0200 Subject: [PATCH 003/114] [BUGFIX] Stop sending me emails on change of status --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 65e4c66..d7a465d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,6 +18,7 @@ notifications: on_success: always on_failure: always on_start: never + on_change: never env: global: From 463ef6cea8042dd2bae5e1f91e531c5677b9df23 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Tue, 24 May 2016 15:24:00 +0200 Subject: [PATCH 004/114] [CLEANUP] Removed Bugsnag from project --- pom.xml | 23 +- src/main/java/org/parabot/Landing.java | 236 +++++++++--------- src/main/java/org/parabot/core/Core.java | 30 --- .../java/org/parabot/core/forum/Account.java | 2 - .../parabot/environment/scripts/Script.java | 2 - .../servers/executers/ServerExecuter.java | 2 - src/main/resources/storage/app.properties | 2 +- 7 files changed, 122 insertions(+), 175 deletions(-) diff --git a/pom.xml b/pom.xml index b790f36..a57b7a3 100755 --- a/pom.xml +++ b/pom.xml @@ -59,24 +59,16 @@ 1.1.1 - junit - junit - - - org.hamcrest - hamcrest-core + * + * - - com.bugsnag - bugsnag - 1.2.8 - junit junit 4.11 + provided @@ -90,14 +82,6 @@ deploy true - - deploy.bat - package.bat - clean.bat - - - - @@ -139,6 +123,7 @@ ${project.build.directory}/final/ false + make-assembly diff --git a/src/main/java/org/parabot/Landing.java b/src/main/java/org/parabot/Landing.java index de1cd97..98d3dbc 100644 --- a/src/main/java/org/parabot/Landing.java +++ b/src/main/java/org/parabot/Landing.java @@ -1,6 +1,5 @@ package org.parabot; -import com.bugsnag.Client; import org.parabot.core.Configuration; import org.parabot.core.Core; import org.parabot.core.Directories; @@ -11,7 +10,6 @@ import org.parabot.core.network.proxy.ProxyType; import org.parabot.core.ui.BotUI; import org.parabot.core.ui.ServerSelector; import org.parabot.core.ui.utils.UILog; -import org.parabot.environment.api.utils.JavaUtil; import javax.swing.*; import java.awt.*; @@ -27,129 +25,129 @@ import java.net.URI; * @see Homepage */ public final class Landing { - private static String username; - private static String password; - public static void main(String... args) throws IOException { - Core.initiateBugsnagInstance(); + private static String username; + private static String password; - parseArgs(args); + public static void main(String... args) throws IOException { - Core.verbose("Debug mode: " + Core.inDebugMode()); + parseArgs(args); - try { - Core.verbose("Setting look and feel: " - + UIManager.getSystemLookAndFeelClassName()); - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (Throwable t) { - t.printStackTrace(); - } + Core.verbose("Debug mode: " + Core.inDebugMode()); - if (!Core.inDebugMode() && !Core.isValid() && Core.hasValidation()) { - UILog.log("Updates", - "Please download the newest version of Parabot at " - + Configuration.DOWNLOAD_BOT, - JOptionPane.INFORMATION_MESSAGE); - URI uri = URI.create(Configuration.API_DOWNLOAD_BOT); - try { - Desktop.getDesktop().browse(uri); - } catch (IOException e1) { - JOptionPane.showMessageDialog(null, "Connection Error", - "Error", JOptionPane.ERROR_MESSAGE); - e1.printStackTrace(); - } - return; - } + try { + Core.verbose("Setting look and feel: " + + UIManager.getSystemLookAndFeelClassName()); + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } catch (Throwable t) { + t.printStackTrace(); + } - Core.verbose("Validating directories..."); - Directories.validate(); - Core.verbose("Validating account manager..."); - AccountManager.validate(); + if (!Core.inDebugMode() && !Core.isValid() && Core.hasValidation()) { + UILog.log("Updates", + "Please download the newest version of Parabot at " + + Configuration.DOWNLOAD_BOT, + JOptionPane.INFORMATION_MESSAGE); + URI uri = URI.create(Configuration.API_DOWNLOAD_BOT); + try { + Desktop.getDesktop().browse(uri); + } catch (IOException e1) { + JOptionPane.showMessageDialog(null, "Connection Error", + "Error", JOptionPane.ERROR_MESSAGE); + e1.printStackTrace(); + } + return; + } - if (username != null && password != null) { - new BotUI(username, password); - username = null; - password = null; - return; - } + Core.verbose("Validating directories..."); + Directories.validate(); + Core.verbose("Validating account manager..."); + AccountManager.validate(); - Core.verbose("Starting login gui..."); - new BotUI(null, null); - } + if (username != null && password != null) { + new BotUI(username, password); + username = null; + password = null; + return; + } - private static void parseArgs(String... args) { - for (int i = 0; i < args.length; i++) { - final String arg = args[i].toLowerCase(); - switch (arg.toLowerCase()) { - case "-createdirs": - Directories.validate(); - System.out - .println("Directories created, you can now run parabot."); - System.exit(0); - break; - case "-debug": - Core.setDebug(true); - break; - case "-v": - case "-verbose": - Core.setVerbose(true); - break; - case "-server": - ServerSelector.initServer = args[++i]; - break; - case "-login": - username = args[++i]; - password = args[++i]; - break; - case "-loadlocal": - Core.setLoadLocal(true); - break; - case "-dump": - Core.setDump(true); - break; - case "-scriptsbin": - Directories.setScriptCompiledDirectory(new File(args[++i])); - break; - case "-serversbin": - Directories.setServerCompiledDirectory(new File(args[++i])); - break; - case "-clearcache": - Directories.clearCache(); - break; - case "-mac": - byte[] mac = new byte[6]; - String str = args[++i]; - if (str.toLowerCase().equals("random")) { - new java.util.Random().nextBytes(mac); - } else { - i--; - for (int j = 0; j < 6; j++) { - mac[j] = Byte.parseByte(args[++i], 16); // parses a hex - // number - } - } - NetworkInterface.setMac(mac); - break; - case "-proxy": - ProxyType type = ProxyType.valueOf(args[++i].toUpperCase()); - if (type == null) { - System.err.println("Invalid proxy type:" + args[i]); - System.exit(1); - return; - } - ProxySocket.setProxy(type, args[++i], - Integer.parseInt(args[++i])); - break; - case "-auth": - ProxySocket.auth = true; - ProxySocket.setLogin(args[++i], args[++i]); - break; - case "-no_sec": - Core.disableSec(); - break; - case "-no_validation": - Core.disableValidation(); - break; - } - } - } + Core.verbose("Starting login gui..."); + new BotUI(null, null); + } + + private static void parseArgs(String... args) { + for (int i = 0; i < args.length; i++) { + final String arg = args[i].toLowerCase(); + switch (arg.toLowerCase()) { + case "-createdirs": + Directories.validate(); + System.out + .println("Directories created, you can now run parabot."); + System.exit(0); + break; + case "-debug": + Core.setDebug(true); + break; + case "-v": + case "-verbose": + Core.setVerbose(true); + break; + case "-server": + ServerSelector.initServer = args[++i]; + break; + case "-login": + username = args[++i]; + password = args[++i]; + break; + case "-loadlocal": + Core.setLoadLocal(true); + break; + case "-dump": + Core.setDump(true); + break; + case "-scriptsbin": + Directories.setScriptCompiledDirectory(new File(args[++i])); + break; + case "-serversbin": + Directories.setServerCompiledDirectory(new File(args[++i])); + break; + case "-clearcache": + Directories.clearCache(); + break; + case "-mac": + byte[] mac = new byte[6]; + String str = args[++i]; + if (str.toLowerCase().equals("random")) { + new java.util.Random().nextBytes(mac); + } else { + i--; + for (int j = 0; j < 6; j++) { + mac[j] = Byte.parseByte(args[++i], 16); // parses a hex + // number + } + } + NetworkInterface.setMac(mac); + break; + case "-proxy": + ProxyType type = ProxyType.valueOf(args[++i].toUpperCase()); + if (type == null) { + System.err.println("Invalid proxy type:" + args[i]); + System.exit(1); + return; + } + ProxySocket.setProxy(type, args[++i], + Integer.parseInt(args[++i])); + break; + case "-auth": + ProxySocket.auth = true; + ProxySocket.setLogin(args[++i], args[++i]); + break; + case "-no_sec": + Core.disableSec(); + break; + case "-no_validation": + Core.disableValidation(); + break; + } + } + } } diff --git a/src/main/java/org/parabot/core/Core.java b/src/main/java/org/parabot/core/Core.java index 5bf73a8..57cada3 100644 --- a/src/main/java/org/parabot/core/Core.java +++ b/src/main/java/org/parabot/core/Core.java @@ -1,8 +1,5 @@ package org.parabot.core; -import com.bugsnag.BeforeNotify; -import com.bugsnag.Client; -import com.bugsnag.Error; import org.json.simple.JSONObject; import org.json.simple.parser.ParseException; import org.parabot.Landing; @@ -39,8 +36,6 @@ public class Core { private static Version currentVersion = Configuration.BOT_VERSION; private static Version latestVersion; - private static Client bugsnagInstance; - public static void disableValidation() { Core.validate = false; } @@ -286,8 +281,6 @@ public class Core { Core.verbose("Checking for updates..."); validateCache(); - setBugsnagVersion(); - if ((validVersion() && checksumValid()) || (!checksumValid() && currentVersion.compareTo(latestVersion) >= 0)){ Core.verbose("No updates available."); return true; @@ -297,29 +290,6 @@ public class Core { } } - public static void initiateBugsnagInstance() { - bugsnagInstance = new Client(Configuration.BUGSNAG_API); - bugsnagInstance.setSendThreads(true); - } - - public static void setBugsnagVersion(){ - Core.bugsnagInstance.setReleaseStage(currentVersion != latestVersion ? "development" : "production"); - } - - public static void setBugsnagUser(String id, String email, String username){ - // TODO Check order of parameters - Core.bugsnagInstance.setUser(username, email, id); - } - - public static void setBugsnagServer(String server){ - Core.setBugsnagInformation("Server", "Server", server); - } - - public static void setBugsnagInformation(String tab, String key, String value){ - // TODO Should be checked if correct - Core.bugsnagInstance.addToTab(tab, key, value); - } - public static void debug(int i) { if(mDebug) { System.out.println("DEBUG: " + i); diff --git a/src/main/java/org/parabot/core/forum/Account.java b/src/main/java/org/parabot/core/forum/Account.java index 8fd57bd..f2b2a1a 100644 --- a/src/main/java/org/parabot/core/forum/Account.java +++ b/src/main/java/org/parabot/core/forum/Account.java @@ -33,8 +33,6 @@ public class Account { this.username = username; this.password = password; this.api = api; - - Core.setBugsnagUser("Null", this.username, "Null"); } /** diff --git a/src/main/java/org/parabot/environment/scripts/Script.java b/src/main/java/org/parabot/environment/scripts/Script.java index 732e5c0..971d296 100644 --- a/src/main/java/org/parabot/environment/scripts/Script.java +++ b/src/main/java/org/parabot/environment/scripts/Script.java @@ -156,7 +156,6 @@ public class Script implements Runnable { if(state < 0 || state > 2) { throw new IllegalArgumentException("Illegal state"); } - Core.setBugsnagInformation("Script", "State", String.valueOf(state)); this.state = state; } @@ -181,6 +180,5 @@ public class Script implements Runnable { public void setScriptID(int scriptID){ this.scriptID = scriptID; - Core.setBugsnagInformation("Script", "State", String.valueOf(scriptID)); } } diff --git a/src/main/java/org/parabot/environment/servers/executers/ServerExecuter.java b/src/main/java/org/parabot/environment/servers/executers/ServerExecuter.java index f2ac865..290bac9 100644 --- a/src/main/java/org/parabot/environment/servers/executers/ServerExecuter.java +++ b/src/main/java/org/parabot/environment/servers/executers/ServerExecuter.java @@ -24,8 +24,6 @@ public abstract class ServerExecuter { @Override public void run() { try { - Core.setBugsnagServer(serverName); - Context context = Context.getInstance(provider); context.load(); PaintComponent.getInstance().startPainting(context); diff --git a/src/main/resources/storage/app.properties b/src/main/resources/storage/app.properties index 1c3dea3..263d0ff 100755 --- a/src/main/resources/storage/app.properties +++ b/src/main/resources/storage/app.properties @@ -1 +1 @@ -application.version=${project.version} \ No newline at end of file +application.version=${project.version}${build.version} \ No newline at end of file From e0226758af5ff6cdda473aa662e496d4c4f3c5ca Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Tue, 24 May 2016 15:24:19 +0200 Subject: [PATCH 005/114] [CLEANUP] Removed deployment files As this will be done by Travis and so on --- deploy/clean.bat | 1 - deploy/deploy.bat | 5 ----- deploy/package.bat | 1 - 3 files changed, 7 deletions(-) delete mode 100644 deploy/clean.bat delete mode 100644 deploy/deploy.bat delete mode 100644 deploy/package.bat diff --git a/deploy/clean.bat b/deploy/clean.bat deleted file mode 100644 index 2f3d3e5..0000000 --- a/deploy/clean.bat +++ /dev/null @@ -1 +0,0 @@ -mvn clean \ No newline at end of file diff --git a/deploy/deploy.bat b/deploy/deploy.bat deleted file mode 100644 index e1f4c4f..0000000 --- a/deploy/deploy.bat +++ /dev/null @@ -1,5 +0,0 @@ -mvn install:install-file -DgroupId=${project.groupId} -DartifactId=${project.artifactId} -Dversion=${project.version} -Dpackaging=jar -Dfile=../target/final/${project.build.finalName}-jar-with-dependencies.jar -DlocalRepositoryPath=../../Maven-Repository - -:: mvn install:install-file -DgroupId=org.parabot -DartifactId=client -Dversion=2.4.1.1 -Dpackaging=jar -Dfile=../target/Parabot-V2.4.1.1-jar-with-dependencies.jar -DlocalRepositoryPath=../../Maven-Repository -:: mvn install:install-file -DgroupId=org.parabot -DartifactId=client -Dversion=2.4.3 -Dpackaging=jar -Dfile=../target/Parabot-V2.4.3-jar-with-dependencies.jar -DlocalRepositoryPath=../../Maven-Repository -:: mvn install:install-file -DgroupId=org.parabot -DartifactId=client -Dversion=2.5 -Dpackaging=jar -Dfile=../target/final/Parabot-V2.5-jar-with-dependencies.jar -DlocalRepositoryPath=../../Maven-Repository diff --git a/deploy/package.bat b/deploy/package.bat deleted file mode 100644 index 5b5d577..0000000 --- a/deploy/package.bat +++ /dev/null @@ -1 +0,0 @@ -mvn package \ No newline at end of file From b4edfad8c9230802056c127403efa1458c41965e Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Tue, 24 May 2016 15:31:25 +0200 Subject: [PATCH 006/114] [BUGFIX] Disabled emails in total --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d7a465d..d8a40cd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,6 +10,7 @@ before_install: script: ./.travis/maven-build.sh notifications: + email: false slack: secure: ciAOsdv9lf/IbAwyzeR/z2nlBSevmBHBqca6tf0Yh2DIyAx/uUo1ojon0W7Kv6tCECGhSTdfQAnZ+nFjjqaRs+Jq4svd9WKYrFuZyOWmT31iSJ/nvPymRvevSsgwpSKr0nJS9dxePKto/T3ozW29kx88eaJQH17zOaX2rfuIje4= webhooks: @@ -18,7 +19,6 @@ notifications: on_success: always on_failure: always on_start: never - on_change: never env: global: From f7fab30939a0d0e96b6eb8d5ee8ba5a29c50ecab Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Tue, 24 May 2016 15:53:45 +0200 Subject: [PATCH 007/114] [BUGFIX] Solved issue with versions with RC --- .../environment/api/utils/Version.java | 51 ++++++++++++++----- 1 file changed, 38 insertions(+), 13 deletions(-) diff --git a/src/main/java/org/parabot/environment/api/utils/Version.java b/src/main/java/org/parabot/environment/api/utils/Version.java index d90026f..172e182 100644 --- a/src/main/java/org/parabot/environment/api/utils/Version.java +++ b/src/main/java/org/parabot/environment/api/utils/Version.java @@ -1,47 +1,72 @@ package org.parabot.environment.api.utils; +import org.parabot.core.ui.utils.UILog; + public class Version implements Comparable { private String version; - public final String get() { - return this.version; - } + private static boolean notified; public Version(String version) { - if(version == null) { + if (version == null) { throw new IllegalArgumentException("Version can not be null"); } - if(!version.matches("[0-9]+(\\.[0-9]+)*")) { + if (!version.matches("[0-9]+(\\.[0-9]+)*") && !version.contains("RC")) { throw new IllegalArgumentException("Invalid version format"); } this.version = version; } - @Override public int compareTo(Version that) { - if(that == null) { + public final String get() { + return this.version; + } + + @Override + public int compareTo(Version that) { + if (that == null) { return 1; } + + if (version.contains("RC")) { + notifyRC(); + return 1; + } + String[] thisParts = this.get().split("\\."); String[] thatParts = that.get().split("\\."); int length = Math.max(thisParts.length, thatParts.length); - for(int i = 0; i < length; i++) { + + for (int i = 0; i < length; i++) { int thisPart = i < thisParts.length ? - Integer.parseInt(thisParts[i]) : 0; + Integer.parseInt(thisParts[i]) : 0; int thatPart = i < thatParts.length ? - Integer.parseInt(thatParts[i]) : 0; - if(thisPart < thatPart) { + Integer.parseInt(thatParts[i]) : 0; + if (thisPart < thatPart) { return -1; } - if(thisPart > thatPart) { + if (thisPart > thatPart) { return 1; } } return 0; } - @Override public boolean equals(Object that) { + @Override + public boolean equals(Object that) { return this == that || that != null && this.getClass() == that.getClass() && this.compareTo((Version) that) == 0; } + private static void notifyRC() { + if (!notified) { + UILog.log( + "Version warning", + "This is an RC version of Parabot\n" + + "This could be an unstable version of Parabot, and might crash at anytime\n\n" + + "If you find an error within the client, please report any at:\n" + + "https://github.com/Parabot/Parabot/issues" + ); + notified = true; + } + } } \ No newline at end of file From 69ef4e6f0745fdb5ca3ce6956d0064c1010ada0a Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Wed, 25 May 2016 20:01:03 +0200 Subject: [PATCH 008/114] [TASK] Added Type name --- pom.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index a57b7a3..43ec66d 100755 --- a/pom.xml +++ b/pom.xml @@ -12,11 +12,12 @@ 1.7 + Parabot Parabot client - This is the Parabot client for all kind of RSPS'. This does not contain the API. + The only perfect open source (Runescape private server) bot! http://www.parabot.org/ @@ -120,7 +121,7 @@ org.parabot.Landing - ${project.build.directory}/final/ + ${project.build.directory}/final/${type.name}/ false From 0b42d41c583fb45c5a9146083874accc4ab3e05d Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Wed, 25 May 2016 20:01:16 +0200 Subject: [PATCH 009/114] [FEATURE] Added call creation sh file --- .travis/call-creation.sh | 3 +++ 1 file changed, 3 insertions(+) create mode 100755 .travis/call-creation.sh diff --git a/.travis/call-creation.sh b/.travis/call-creation.sh new file mode 100755 index 0000000..be046df --- /dev/null +++ b/.travis/call-creation.sh @@ -0,0 +1,3 @@ +#! /bin/sh + +curl -sS "http://local.v3.bdn.parabot.org:88/api/bot/create/client?build_id=$TRAVIS_BUILD_ID&version=2.5.1" \ No newline at end of file From ee89232f57b514de67177f1da0ee89480515b4c6 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Wed, 25 May 2016 20:01:29 +0200 Subject: [PATCH 010/114] [TASK] Applied sh script into travis config --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index d8a40cd..b4ed831 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,9 +6,12 @@ jdk: before_install: - chmod +x ./.travis/artifact-upload.sh - chmod +x ./.travis/maven-build.sh + - chmod +x ./.travis/call-creation.sh script: ./.travis/maven-build.sh +#after_script: ./.travis/call-creation.sh + notifications: email: false slack: From 8e8bf0d80e95f551656d3b3fc57e99443abec383 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Wed, 25 May 2016 20:07:47 +0200 Subject: [PATCH 011/114] [BUGFIX] Moved directory to target_paths --- .travis.yml | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index b4ed831..3fac66f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,7 +33,7 @@ addons: artifacts: paths: ./target/final/ s3_region: "us-west-1" - target_paths: ./artifacts/ + target_paths: ./artifacts/Parabot/ cache: directories: diff --git a/pom.xml b/pom.xml index 43ec66d..0662eba 100755 --- a/pom.xml +++ b/pom.xml @@ -121,7 +121,7 @@ org.parabot.Landing - ${project.build.directory}/final/${type.name}/ + ${project.build.directory}/final/ false From 1177e32ede22388f443ebefa7444209c9cc53acb Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Wed, 25 May 2016 20:10:22 +0200 Subject: [PATCH 012/114] [BUGFIX] Removed useless property --- pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0662eba..cab79b8 100755 --- a/pom.xml +++ b/pom.xml @@ -12,7 +12,6 @@ 1.7 - Parabot From 122b9d459269c9fa6bfeb093c9454fe5b184f5eb Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Wed, 25 May 2016 20:12:19 +0200 Subject: [PATCH 013/114] [BUGFIX] Set Parabot to client --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 3fac66f..8965155 100644 --- a/.travis.yml +++ b/.travis.yml @@ -33,7 +33,7 @@ addons: artifacts: paths: ./target/final/ s3_region: "us-west-1" - target_paths: ./artifacts/Parabot/ + target_paths: ./artifacts/client/ cache: directories: From 56a8e6c7aaae70f874e2cca0656248f3c7376346 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Thu, 26 May 2016 18:17:39 +0200 Subject: [PATCH 014/114] [TASK] Set creation call url to live --- .travis/call-creation.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis/call-creation.sh b/.travis/call-creation.sh index be046df..e350ee1 100755 --- a/.travis/call-creation.sh +++ b/.travis/call-creation.sh @@ -1,3 +1,3 @@ #! /bin/sh -curl -sS "http://local.v3.bdn.parabot.org:88/api/bot/create/client?build_id=$TRAVIS_BUILD_ID&version=2.5.1" \ No newline at end of file +curl -sS "http://v3.bdn.parabot.org/api/bot/create/client?build_id=$TRAVIS_BUILD_ID&version=2.5.1" >/dev/null \ No newline at end of file From 0d68db706cb0f46239f03df616d88e0efe907e45 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Thu, 26 May 2016 18:18:16 +0200 Subject: [PATCH 015/114] [TASK] Made call creation live --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 8965155..044dd90 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,7 @@ before_install: script: ./.travis/maven-build.sh -#after_script: ./.travis/call-creation.sh +after_script: ./.travis/call-creation.sh notifications: email: false From e0fef72354dfe78ed4b4694eb46ccc071178c66b Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Thu, 26 May 2016 18:24:24 +0200 Subject: [PATCH 016/114] [BUGFIX] Set after_script to after_deploy --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 044dd90..eaf1f75 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,7 @@ before_install: script: ./.travis/maven-build.sh -after_script: ./.travis/call-creation.sh +after_deploy: ./.travis/call-creation.sh notifications: email: false From 4b5ca184558a02b515e1f877a5b54654b1e4d432 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Thu, 26 May 2016 18:38:07 +0200 Subject: [PATCH 017/114] [BUGFIX] Proper workflow for uploading artifacts --- .travis.yml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index eaf1f75..ea7a422 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,7 @@ before_install: script: ./.travis/maven-build.sh -after_deploy: ./.travis/call-creation.sh +after_script: ./.travis/call-creation.sh notifications: email: false @@ -28,12 +28,9 @@ env: - secure: UG+b1tEgc8xv9x4r//2OAIK1RrYv6n209KTTFMMwcnAa7DI8HaP8nljRa5/VhDhuKHdlVrYH/tI90v7UVBs0GDVNwK5V17Io0fMm3FUGZekSthTCqqno5wAGa9r6a6mMLtSaSmIFeIKi0+0d2ZwplRuhj/dtEYjjBBj+kK8g4nE= - secure: St/fecUDInFBCRriYqgp2F8PU9/SooorgxD9Mrs+b0EsC7AbtSsQXvdIv2Lp6xzdQ0VSXPcLIhULPOYrmBKnGQ/NjXTIZXxnroyQxxnI6xyEWIZwiHRY/bKRJDRbQTxD9NL32szKiDSwnw7pu6llF4D64UqQvziq4Gm6VohU75M= - secure: bD15GVZWowiknbfLavh8CxSh0GsnF5kT4kZ6ggCuUDGyj0mzqf7dNRnchQIKkCG0WRYyTrFN4pEiygeywWsipEeAVv9Xhx3cuUZmzeQaR5KCWabSwJ8gK6jZd1YhcWmM9vrdPHobZr65MP0y/8mu/Fovgky9dY7KDf4G3SebNrM= + - "ARTIFACTS_AWS_REGION=us-west-1" -addons: - artifacts: - paths: ./target/final/ - s3_region: "us-west-1" - target_paths: ./artifacts/client/ +after_success: "travis-artifacts upload --path ./target/final/ --target-path ./artifacts/client/" cache: directories: From c5ce06374ff32704d30d3b389d08b6cc6be9435e Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Thu, 26 May 2016 18:45:01 +0200 Subject: [PATCH 018/114] [BUGFIX] Added missing gem install --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index ea7a422..f66520a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,6 +7,7 @@ before_install: - chmod +x ./.travis/artifact-upload.sh - chmod +x ./.travis/maven-build.sh - chmod +x ./.travis/call-creation.sh + - "gem install travis-artifacts" script: ./.travis/maven-build.sh @@ -28,7 +29,6 @@ env: - secure: UG+b1tEgc8xv9x4r//2OAIK1RrYv6n209KTTFMMwcnAa7DI8HaP8nljRa5/VhDhuKHdlVrYH/tI90v7UVBs0GDVNwK5V17Io0fMm3FUGZekSthTCqqno5wAGa9r6a6mMLtSaSmIFeIKi0+0d2ZwplRuhj/dtEYjjBBj+kK8g4nE= - secure: St/fecUDInFBCRriYqgp2F8PU9/SooorgxD9Mrs+b0EsC7AbtSsQXvdIv2Lp6xzdQ0VSXPcLIhULPOYrmBKnGQ/NjXTIZXxnroyQxxnI6xyEWIZwiHRY/bKRJDRbQTxD9NL32szKiDSwnw7pu6llF4D64UqQvziq4Gm6VohU75M= - secure: bD15GVZWowiknbfLavh8CxSh0GsnF5kT4kZ6ggCuUDGyj0mzqf7dNRnchQIKkCG0WRYyTrFN4pEiygeywWsipEeAVv9Xhx3cuUZmzeQaR5KCWabSwJ8gK6jZd1YhcWmM9vrdPHobZr65MP0y/8mu/Fovgky9dY7KDf4G3SebNrM= - - "ARTIFACTS_AWS_REGION=us-west-1" after_success: "travis-artifacts upload --path ./target/final/ --target-path ./artifacts/client/" From 52ca19686d1fbdf213b1605deb2923b32a81c18a Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Thu, 26 May 2016 19:01:14 +0200 Subject: [PATCH 019/114] [BUGFIX] Changed system to deploy artifacts --- .travis.yml | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/.travis.yml b/.travis.yml index f66520a..2d1982a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,17 +1,16 @@ language: java jdk: -- oraclejdk7 + - oraclejdk7 before_install: - chmod +x ./.travis/artifact-upload.sh - chmod +x ./.travis/maven-build.sh - chmod +x ./.travis/call-creation.sh - - "gem install travis-artifacts" -script: ./.travis/maven-build.sh +script: "./.travis/maven-build.sh" -after_script: ./.travis/call-creation.sh +after_deploy: "./.travis/call-creation.sh" notifications: email: false @@ -30,9 +29,20 @@ env: - secure: St/fecUDInFBCRriYqgp2F8PU9/SooorgxD9Mrs+b0EsC7AbtSsQXvdIv2Lp6xzdQ0VSXPcLIhULPOYrmBKnGQ/NjXTIZXxnroyQxxnI6xyEWIZwiHRY/bKRJDRbQTxD9NL32szKiDSwnw7pu6llF4D64UqQvziq4Gm6VohU75M= - secure: bD15GVZWowiknbfLavh8CxSh0GsnF5kT4kZ6ggCuUDGyj0mzqf7dNRnchQIKkCG0WRYyTrFN4pEiygeywWsipEeAVv9Xhx3cuUZmzeQaR5KCWabSwJ8gK6jZd1YhcWmM9vrdPHobZr65MP0y/8mu/Fovgky9dY7KDf4G3SebNrM= -after_success: "travis-artifacts upload --path ./target/final/ --target-path ./artifacts/client/" - cache: directories: - - .autoconf - - $HOME/.m2 + - ".autoconf" + - "$HOME/.m2" + +deploy: + provider: s3 + access_key_id: AKIAJDZLZNH2PIKHUKOA + secret_access_key: + secure: MTOqhji8t8DcGRsfZEitMTqMemqxIag4a3dI0SBeWKBMpDCcKOokhGbXFCUBvMukU6tKIFfMo15z2wERZQxCVAxMt7dr1cyuWb49Sdy+mnBR6Z3EsJ2suilBe6b+9odLJVplCQVRPz9VyKnllWwO9D5j/ZpQaf8fb1675PB6feY= + bucket: parabot + skip_cleanup: true + local-dir: "./target/final/" + upload-dir: "./artifacts/client/" + region: us-west-1 + on: + repo: Parabot/Parabot From 707d1ac7145c8c20a72a01a7e3b99f5056171940 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Thu, 26 May 2016 19:06:09 +0200 Subject: [PATCH 020/114] [BUGFIX] Specified which branch may be deployed --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 2d1982a..13a9789 100644 --- a/.travis.yml +++ b/.travis.yml @@ -46,3 +46,4 @@ deploy: region: us-west-1 on: repo: Parabot/Parabot + all_branches: true From 90cd5906a3f45de5b0669849132d5f475c1d1399 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Thu, 26 May 2016 19:23:43 +0200 Subject: [PATCH 021/114] [TASK] Added mvn clean --- .travis.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.travis.yml b/.travis.yml index 13a9789..8318dfb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,6 +7,7 @@ before_install: - chmod +x ./.travis/artifact-upload.sh - chmod +x ./.travis/maven-build.sh - chmod +x ./.travis/call-creation.sh + - mvn clean script: "./.travis/maven-build.sh" @@ -44,6 +45,7 @@ deploy: local-dir: "./target/final/" upload-dir: "./artifacts/client/" region: us-west-1 + detect_encoding: true on: repo: Parabot/Parabot all_branches: true From d34d3fa2da3ea0d50eec5d710b762c11c177ac33 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Thu, 26 May 2016 19:38:25 +0200 Subject: [PATCH 022/114] [BUGFIX] Maybe this helps building? --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 8318dfb..b70cb92 100644 --- a/.travis.yml +++ b/.travis.yml @@ -46,6 +46,7 @@ deploy: upload-dir: "./artifacts/client/" region: us-west-1 detect_encoding: true + acl: public_read on: repo: Parabot/Parabot all_branches: true From b8a1d72b4c50e40c07ba4749339ebdfc59a6df3b Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Thu, 26 May 2016 19:48:57 +0200 Subject: [PATCH 023/114] [BUGFIX] This then? --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index b70cb92..d5bb168 100644 --- a/.travis.yml +++ b/.travis.yml @@ -43,7 +43,6 @@ deploy: bucket: parabot skip_cleanup: true local-dir: "./target/final/" - upload-dir: "./artifacts/client/" region: us-west-1 detect_encoding: true acl: public_read From 8bfc496922df192ffcb8d96db5e7be8e1f395eb6 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Thu, 26 May 2016 19:50:54 +0200 Subject: [PATCH 024/114] [BUGFIX] No need for ACL --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d5bb168..33795f0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -45,7 +45,6 @@ deploy: local-dir: "./target/final/" region: us-west-1 detect_encoding: true - acl: public_read on: repo: Parabot/Parabot all_branches: true From 3b5bd118a7a7bf7e729d3d6573a0814f66309ecc Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Thu, 26 May 2016 19:52:11 +0200 Subject: [PATCH 025/114] [TASK] Removed cleanup task --- .travis.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 33795f0..5474c2a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -41,7 +41,6 @@ deploy: secret_access_key: secure: MTOqhji8t8DcGRsfZEitMTqMemqxIag4a3dI0SBeWKBMpDCcKOokhGbXFCUBvMukU6tKIFfMo15z2wERZQxCVAxMt7dr1cyuWb49Sdy+mnBR6Z3EsJ2suilBe6b+9odLJVplCQVRPz9VyKnllWwO9D5j/ZpQaf8fb1675PB6feY= bucket: parabot - skip_cleanup: true local-dir: "./target/final/" region: us-west-1 detect_encoding: true From 1af05a02c2b923148baabd5b65d6bb7c76eb7864 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Thu, 26 May 2016 19:54:42 +0200 Subject: [PATCH 026/114] [BUGFIX] Changed directory name --- .travis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index 5474c2a..ae84e75 100644 --- a/.travis.yml +++ b/.travis.yml @@ -41,9 +41,12 @@ deploy: secret_access_key: secure: MTOqhji8t8DcGRsfZEitMTqMemqxIag4a3dI0SBeWKBMpDCcKOokhGbXFCUBvMukU6tKIFfMo15z2wERZQxCVAxMt7dr1cyuWb49Sdy+mnBR6Z3EsJ2suilBe6b+9odLJVplCQVRPz9VyKnllWwO9D5j/ZpQaf8fb1675PB6feY= bucket: parabot + skip_cleanup: true local-dir: "./target/final/" + upload-dir: "artifacts/client/" region: us-west-1 detect_encoding: true + acl: public_read on: repo: Parabot/Parabot all_branches: true From f749319df85338a860eebc208988a23caa923456 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Thu, 26 May 2016 19:57:42 +0200 Subject: [PATCH 027/114] [BUGFIX] Added trailing slash --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index ae84e75..235431e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -43,7 +43,7 @@ deploy: bucket: parabot skip_cleanup: true local-dir: "./target/final/" - upload-dir: "artifacts/client/" + upload-dir: "/artifacts/client/" region: us-west-1 detect_encoding: true acl: public_read From c85d0654f09a725dbc755f886488a0dbf731ba86 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Thu, 26 May 2016 20:01:12 +0200 Subject: [PATCH 028/114] [BUGFIX] Set slashes correctly --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 235431e..25d2eb7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -43,7 +43,7 @@ deploy: bucket: parabot skip_cleanup: true local-dir: "./target/final/" - upload-dir: "/artifacts/client/" + upload-dir: "artifacts/client" region: us-west-1 detect_encoding: true acl: public_read From ed23b47c55c0866ef6be804606d12da91720066d Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Thu, 26 May 2016 20:05:44 +0200 Subject: [PATCH 029/114] [BUGFIX] Added sleep of 15 seconds --- .travis/call-creation.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis/call-creation.sh b/.travis/call-creation.sh index e350ee1..1f1c916 100755 --- a/.travis/call-creation.sh +++ b/.travis/call-creation.sh @@ -1,3 +1,4 @@ #! /bin/sh +sleep 15 curl -sS "http://v3.bdn.parabot.org/api/bot/create/client?build_id=$TRAVIS_BUILD_ID&version=2.5.1" >/dev/null \ No newline at end of file From 7934baf16ab53a770f23abfc2d45578424caf797 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sat, 4 Jun 2016 15:24:56 +0200 Subject: [PATCH 030/114] [FEATURE] Added generation of javadocs --- .travis.yml | 3 +++ pom.xml | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/.travis.yml b/.travis.yml index 25d2eb7..6e574e0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,6 +9,9 @@ before_install: - chmod +x ./.travis/call-creation.sh - mvn clean +install: + - sudo apt-get update && sudo apt-get --assume-yes install zip unzip + script: "./.travis/maven-build.sh" after_deploy: "./.travis/call-creation.sh" diff --git a/pom.xml b/pom.xml index cab79b8..ed9ff72 100755 --- a/pom.xml +++ b/pom.xml @@ -107,6 +107,25 @@ + + org.apache.maven.plugins + maven-javadoc-plugin + + + attach-javadocs + + jar + + + + + ${project.name} V${project.version} + false + true + ${project.build.directory}/apidocs/${project.version} + + + org.apache.maven.plugins maven-assembly-plugin From bbea2bb6d41454cb111e2e280705386003524e2e Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sat, 4 Jun 2016 15:35:44 +0200 Subject: [PATCH 031/114] [FEATURE] Finished API Docs creation --- .travis.yml | 43 +++++++++++++++++++++++++++------------- .travis/call-creation.sh | 4 ++-- .travis/maven-build.sh | 2 ++ 3 files changed, 33 insertions(+), 16 deletions(-) diff --git a/.travis.yml b/.travis.yml index 6e574e0..036d86e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,6 +32,7 @@ env: - secure: UG+b1tEgc8xv9x4r//2OAIK1RrYv6n209KTTFMMwcnAa7DI8HaP8nljRa5/VhDhuKHdlVrYH/tI90v7UVBs0GDVNwK5V17Io0fMm3FUGZekSthTCqqno5wAGa9r6a6mMLtSaSmIFeIKi0+0d2ZwplRuhj/dtEYjjBBj+kK8g4nE= - secure: St/fecUDInFBCRriYqgp2F8PU9/SooorgxD9Mrs+b0EsC7AbtSsQXvdIv2Lp6xzdQ0VSXPcLIhULPOYrmBKnGQ/NjXTIZXxnroyQxxnI6xyEWIZwiHRY/bKRJDRbQTxD9NL32szKiDSwnw7pu6llF4D64UqQvziq4Gm6VohU75M= - secure: bD15GVZWowiknbfLavh8CxSh0GsnF5kT4kZ6ggCuUDGyj0mzqf7dNRnchQIKkCG0WRYyTrFN4pEiygeywWsipEeAVv9Xhx3cuUZmzeQaR5KCWabSwJ8gK6jZd1YhcWmM9vrdPHobZr65MP0y/8mu/Fovgky9dY7KDf4G3SebNrM= + - PARABOT_VERSION=2.5.1 cache: directories: @@ -39,17 +40,31 @@ cache: - "$HOME/.m2" deploy: - provider: s3 - access_key_id: AKIAJDZLZNH2PIKHUKOA - secret_access_key: - secure: MTOqhji8t8DcGRsfZEitMTqMemqxIag4a3dI0SBeWKBMpDCcKOokhGbXFCUBvMukU6tKIFfMo15z2wERZQxCVAxMt7dr1cyuWb49Sdy+mnBR6Z3EsJ2suilBe6b+9odLJVplCQVRPz9VyKnllWwO9D5j/ZpQaf8fb1675PB6feY= - bucket: parabot - skip_cleanup: true - local-dir: "./target/final/" - upload-dir: "artifacts/client" - region: us-west-1 - detect_encoding: true - acl: public_read - on: - repo: Parabot/Parabot - all_branches: true + - provider: s3 + access_key_id: AKIAJDZLZNH2PIKHUKOA + secret_access_key: + secure: MTOqhji8t8DcGRsfZEitMTqMemqxIag4a3dI0SBeWKBMpDCcKOokhGbXFCUBvMukU6tKIFfMo15z2wERZQxCVAxMt7dr1cyuWb49Sdy+mnBR6Z3EsJ2suilBe6b+9odLJVplCQVRPz9VyKnllWwO9D5j/ZpQaf8fb1675PB6feY= + bucket: parabot + skip_cleanup: true + local-dir: "./target/final/" + upload-dir: "artifacts/client" + region: us-west-1 + detect_encoding: true + acl: public_read + on: + repo: Parabot/Parabot + all_branches: true + - provider: s3 + access_key_id: AKIAJDZLZNH2PIKHUKOA + secret_access_key: + secure: MTOqhji8t8DcGRsfZEitMTqMemqxIag4a3dI0SBeWKBMpDCcKOokhGbXFCUBvMukU6tKIFfMo15z2wERZQxCVAxMt7dr1cyuWb49Sdy+mnBR6Z3EsJ2suilBe6b+9odLJVplCQVRPz9VyKnllWwO9D5j/ZpQaf8fb1675PB6feY= + bucket: parabot + skip_cleanup: true + local-dir: "./target/apidocs/zips/" + upload-dir: "artifacts/apidocs" + region: us-west-1 + detect_encoding: true + acl: public_read + on: + repo: Parabot/Parabot + all_branches: true diff --git a/.travis/call-creation.sh b/.travis/call-creation.sh index 1f1c916..5c62f0f 100755 --- a/.travis/call-creation.sh +++ b/.travis/call-creation.sh @@ -1,4 +1,4 @@ -#! /bin/sh +#! /bin/bash sleep 15 -curl -sS "http://v3.bdn.parabot.org/api/bot/create/client?build_id=$TRAVIS_BUILD_ID&version=2.5.1" >/dev/null \ No newline at end of file +curl -sS "http://v3.bdn.parabot.org/api/bot/create/client?build_id=$TRAVIS_BUILD_ID&version=$PARABOT_VERSION" >/dev/null \ No newline at end of file diff --git a/.travis/maven-build.sh b/.travis/maven-build.sh index f618ba6..84f9a02 100755 --- a/.travis/maven-build.sh +++ b/.travis/maven-build.sh @@ -2,6 +2,8 @@ if [ "$TRAVIS_BRANCH" == "master" ]; then mvn -U package + mkdir -p $TRAVIS_BUILD_DIR/target/apidocs/zips/ + zip -r $TRAVIS_BUILD_DIR/target/apidocs/zips/$PARABOT_VERSION.zip $TRAVIS_BUILD_DIR/target/apidocs/$PARABOT_VERSION else mvn -Dbuild.version="-RC-$TRAVIS_BUILD_ID" -U package fi \ No newline at end of file From 6b2ce14ca6ee01328a440e76ed6fc5cfbe124c65 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sat, 4 Jun 2016 15:36:39 +0200 Subject: [PATCH 032/114] [BUGFIX] API Docs should only be uploaded on master --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 036d86e..142ad9d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -67,4 +67,4 @@ deploy: acl: public_read on: repo: Parabot/Parabot - all_branches: true + branch: master From 05abe6fc8adc242054fd38448458f5d26881ed2f Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 5 Jun 2016 00:28:11 +0200 Subject: [PATCH 033/114] [BUGFIX] Set randoms url to BDN V3 --- src/main/java/org/parabot/core/Configuration.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/org/parabot/core/Configuration.java b/src/main/java/org/parabot/core/Configuration.java index 5ae8cdc..058ab25 100644 --- a/src/main/java/org/parabot/core/Configuration.java +++ b/src/main/java/org/parabot/core/Configuration.java @@ -8,7 +8,6 @@ import org.parabot.environment.api.utils.Version; * @author Everel */ public class Configuration { -// public static final String LOGIN_SERVER = "https://www.parabot.org/community/api/login.php?username=%s&password=%s"; 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="; @@ -20,10 +19,9 @@ public class Configuration { public static final String API_DOWNLOAD_BOT = "http://bdn.parabot.org/api/v2/bot/download/client/"; public static final String DOWNLOAD_BOT = "http://bdn.parabot.org/versions/"; public static final String REGISTRATION_PAGE = "https://www.parabot.org/community/register/"; - public static final String GET_RANDOMS = "http://bdn.parabot.org/api/get.php?action=randoms"; + public static final String GET_RANDOMS = "http://v3.bdn.parabot.org/api/bot/download/randoms"; public static final String DATA_API = "http://bdn.parabot.org/api/v2/data/"; public static final String ITEM_API = DATA_API + "items/"; - public static final String BUGSNAG_API = "d79752cf94dd4beb24c3d312a8609f53"; public static final Version BOT_VERSION = ProjectProperties.getProjectVersion(); From 2f2546fecea11e158a9bac07fa7edd137bb45c4f Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 5 Jun 2016 00:53:17 +0200 Subject: [PATCH 034/114] [TASK] Set bot version to API V3 --- src/main/java/org/parabot/core/Configuration.java | 2 +- src/main/java/org/parabot/core/Core.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/parabot/core/Configuration.java b/src/main/java/org/parabot/core/Configuration.java index 058ab25..249efb1 100644 --- a/src/main/java/org/parabot/core/Configuration.java +++ b/src/main/java/org/parabot/core/Configuration.java @@ -15,7 +15,7 @@ public class Configuration { public static final String GET_SERVER_PROVIDER = "http://bdn.parabot.org/api/get.php?action=server_provider&name="; 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 GET_BOT_VERSION = "http://v3.bdn.parabot.org/api/bot/list/client?latest=true"; public static final String API_DOWNLOAD_BOT = "http://bdn.parabot.org/api/v2/bot/download/client/"; public static final String DOWNLOAD_BOT = "http://bdn.parabot.org/versions/"; public static final String REGISTRATION_PAGE = "https://www.parabot.org/community/register/"; diff --git a/src/main/java/org/parabot/core/Core.java b/src/main/java/org/parabot/core/Core.java index 57cada3..ef565cb 100644 --- a/src/main/java/org/parabot/core/Core.java +++ b/src/main/java/org/parabot/core/Core.java @@ -220,7 +220,7 @@ public class Core { latestVersion = null; if (br != null) { JSONObject object = (JSONObject) WebUtil.getJsonParser().parse(br); - latestVersion = new Version((String) object.get("result")); + latestVersion = new Version((String) object.get("version")); } if (latestVersion != null) { if (Configuration.BOT_VERSION.compareTo(latestVersion) < 0) { From 7a22f119236ce6c76ff008918b131cc1a137b940 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 5 Jun 2016 00:58:20 +0200 Subject: [PATCH 035/114] [FEATURE] Added ability to append query to URI --- .../environment/api/utils/WebUtil.java | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/parabot/environment/api/utils/WebUtil.java b/src/main/java/org/parabot/environment/api/utils/WebUtil.java index 249bfe7..731e7de 100644 --- a/src/main/java/org/parabot/environment/api/utils/WebUtil.java +++ b/src/main/java/org/parabot/environment/api/utils/WebUtil.java @@ -5,10 +5,7 @@ import org.parabot.core.io.ProgressListener; import org.parabot.core.io.SizeInputStream; import java.io.*; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.net.URLEncoder; +import java.net.*; /** * @@ -308,4 +305,18 @@ public class WebUtil { } return jsonParser; } + + public static URI appendUri(String uri, String appendQuery) throws URISyntaxException { + URI oldUri = new URI(uri); + + String newQuery = oldUri.getQuery(); + if (newQuery == null) { + newQuery = appendQuery; + } else { + newQuery += "&" + appendQuery; + } + + return new URI(oldUri.getScheme(), oldUri.getAuthority(), + oldUri.getPath(), newQuery, oldUri.getFragment()); + } } From 2076802fa2a0488a89503e9def38f5a91c063412 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 5 Jun 2016 01:44:34 +0200 Subject: [PATCH 036/114] [FEATURE] Added nightly build support --- .../java/org/parabot/core/Configuration.java | 5 +- src/main/java/org/parabot/core/Core.java | 81 ++- .../environment/api/utils/Version.java | 4 + .../environment/api/utils/WebUtil.java | 551 +++++++++--------- 4 files changed, 323 insertions(+), 318 deletions(-) diff --git a/src/main/java/org/parabot/core/Configuration.java b/src/main/java/org/parabot/core/Configuration.java index 249efb1..b9c9871 100644 --- a/src/main/java/org/parabot/core/Configuration.java +++ b/src/main/java/org/parabot/core/Configuration.java @@ -15,16 +15,19 @@ public class Configuration { public static final String GET_SERVER_PROVIDER = "http://bdn.parabot.org/api/get.php?action=server_provider&name="; 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://v3.bdn.parabot.org/api/bot/list/client?latest=true"; + public static final String GET_BOT_VERSION = "http://bdn.parabot.org/api/v2/bot/version"; public static final String API_DOWNLOAD_BOT = "http://bdn.parabot.org/api/v2/bot/download/client/"; public static final String DOWNLOAD_BOT = "http://bdn.parabot.org/versions/"; public static final String REGISTRATION_PAGE = "https://www.parabot.org/community/register/"; public static final String GET_RANDOMS = "http://v3.bdn.parabot.org/api/bot/download/randoms"; public static final String DATA_API = "http://bdn.parabot.org/api/v2/data/"; public static final String ITEM_API = DATA_API + "items/"; + public static final String COMPARE_VERSION_URL = "http://v3.bdn.parabot.org/api/bot/compare/%s/%s"; public static final Version BOT_VERSION = ProjectProperties.getProjectVersion(); public static final String BOT_TITLE = "Parabot"; public static final String BOT_SLOGAN = "The best RuneScape private server bot"; + + public static final String NIGHTLY_APPEND = "nightly=true"; } diff --git a/src/main/java/org/parabot/core/Core.java b/src/main/java/org/parabot/core/Core.java index ef565cb..c391960 100644 --- a/src/main/java/org/parabot/core/Core.java +++ b/src/main/java/org/parabot/core/Core.java @@ -24,7 +24,7 @@ import java.security.NoSuchAlgorithmException; */ @SuppressWarnings("Duplicates") public class Core { - public static boolean mDebug; + private static boolean debug; private static boolean verbose; private static boolean dump; @@ -75,21 +75,21 @@ public class Core { * @param dump */ public static void setDump(final boolean dump) { - Core.dump = dump; + Core.dump = dump; } - - public static void disableSec(){ - UILog.log( - "Security Warning", - "Disabling the securty manager is ill advised.\n" - + " Only do so if the client fails to load, or functions incorrectly (freezes,crashes, etc.)\n" - + "The security manager protects you from malicous code within the client, without it you are exposed!\n" - + "\nPlease contact Parabot staff to resolve whatever problem you are having!"); - Core.secure = false; + + public static void disableSec() { + UILog.log( + "Security Warning", + "Disabling the securty manager is ill advised.\n" + + " Only do so if the client fails to load, or functions incorrectly (freezes,crashes, etc.)\n" + + "The security manager protects you from malicous code within the client, without it you are exposed!\n" + + "\nPlease contact Parabot staff to resolve whatever problem you are having!"); + Core.secure = false; } - - public static boolean isSecure(){ - return secure; + + public static boolean isSecure() { + return secure; } /** @@ -110,7 +110,7 @@ public class Core { * @return if parabot should dump injected jar */ public static boolean shouldDump() { - return dump; + return dump; } /** @@ -130,9 +130,10 @@ public class Core { /** * Checks the version of the bot using a checksum of the jar comparison against checksum given by the website + * * @return true if no new version is found, otherwise false. */ - private static boolean checksumValid(){ + private static boolean checksumValid() { File f = new File(Landing.class.getProtectionDomain().getCodeSource().getLocation().getFile()); if (f.isFile()) { try { @@ -158,7 +159,7 @@ public class Core { String result; if ((result = WebUtil.getContents("http://bdn.parabot.org/api/v2/bot/checksum", "checksum=" + URLEncoder.encode(sb.toString(), "UTF-8"))) != null) { JSONObject object = (JSONObject) WebUtil.getJsonParser().parse(result); - if (!(boolean) object.get("result")){ + if (!(boolean) object.get("result")) { Core.verbose("Latest checksum: " + sb.toString()); Core.verbose("Latest checksum: " + object.get("current")); return false; @@ -173,13 +174,12 @@ public class Core { } /** - * @Deprecated use #validVersion instead - * - * Checks the version of the bot using a variable comparison from the bot code and the Parabot website - * * @return true if no new version is found, otherwise false. + * @Deprecated use #validVersion instead + *

+ * Checks the version of the bot using a variable comparison from the bot code and the Parabot website */ - private static boolean versionValid(){ + private static boolean versionValid() { BufferedReader br = WebUtil.getReader(Configuration.GET_BOT_VERSION); try { String version = null; @@ -215,21 +215,20 @@ public class Core { * @return True if the current version is equal or higher than the latest version, false if lower than the latest version */ public static boolean validVersion() { - BufferedReader br = WebUtil.getReader(Configuration.GET_BOT_VERSION); + String url = String.format(Configuration.COMPARE_VERSION_URL, "client", currentVersion.get()); + + BufferedReader br = WebUtil.getReader(url); try { latestVersion = null; if (br != null) { JSONObject object = (JSONObject) WebUtil.getJsonParser().parse(br); - latestVersion = new Version((String) object.get("version")); - } - if (latestVersion != null) { - if (Configuration.BOT_VERSION.compareTo(latestVersion) < 0) { - Core.verbose("Our version: " + Configuration.BOT_VERSION.get()); - Core.verbose("Latest version: " + latestVersion.get()); - return false; + boolean latest = Boolean.parseBoolean((String) object.get("result")); + if (!latest){ + Directories.clearCache(); } + return latest; } - } catch (NumberFormatException | IOException | ParseException e) { + } catch (IOException | ParseException e) { e.printStackTrace(); } finally { try { @@ -247,13 +246,13 @@ public class Core { /** * Validates the cache and removes the cache contents if required */ - private static void validateCache(){ + private static void validateCache() { File[] cache = Directories.getCachePath().listFiles(); Integer lowest = null; if (cache != null) { for (File f : cache) { - int date = (int) (f.lastModified()/ 1000); - if (lowest == null || date < lowest){ + int date = (int) (f.lastModified() / 1000); + if (lowest == null || date < lowest) { lowest = date; } } @@ -261,10 +260,10 @@ public class Core { try { JSONObject object = (JSONObject) WebUtil.getJsonParser().parse(WebUtil.getContents("http://bdn.parabot.org/api/v2/bot/cache", "date=" + lowest)); - if ((boolean) object.get("result")){ + if ((boolean) object.get("result")) { Core.verbose("Making space for the latest cache files"); Directories.clearCache(); - }else{ + } else { Core.verbose("Cache is up to date"); } } catch (MalformedURLException | ParseException e) { @@ -281,18 +280,12 @@ public class Core { Core.verbose("Checking for updates..."); validateCache(); - if ((validVersion() && checksumValid()) || (!checksumValid() && currentVersion.compareTo(latestVersion) >= 0)){ + if (validVersion() && checksumValid()) { Core.verbose("No updates available."); return true; - }else{ + } else { Core.verbose("Updates available..."); return false; } } - - public static void debug(int i) { - if(mDebug) { - System.out.println("DEBUG: " + i); - } - } } \ No newline at end of file diff --git a/src/main/java/org/parabot/environment/api/utils/Version.java b/src/main/java/org/parabot/environment/api/utils/Version.java index 172e182..d585171 100644 --- a/src/main/java/org/parabot/environment/api/utils/Version.java +++ b/src/main/java/org/parabot/environment/api/utils/Version.java @@ -22,6 +22,10 @@ public class Version implements Comparable { return this.version; } + public boolean isNightly(){ + return this.version.contains("RC"); + } + @Override public int compareTo(Version that) { if (that == null) { diff --git a/src/main/java/org/parabot/environment/api/utils/WebUtil.java b/src/main/java/org/parabot/environment/api/utils/WebUtil.java index 731e7de..3164679 100644 --- a/src/main/java/org/parabot/environment/api/utils/WebUtil.java +++ b/src/main/java/org/parabot/environment/api/utils/WebUtil.java @@ -8,315 +8,320 @@ import java.io.*; import java.net.*; /** - * * A WebUtil class fetches data from an URL - * + * * @author Everel - * */ public class WebUtil { - private static JSONParser jsonParser; + private static JSONParser jsonParser; - private static String agent = "Mozilla/5.0 (Wind0ws NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1"; + private static String agent = "Mozilla/5.0 (Wind0ws NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1"; - /** - * Agent to set at a URL connection - * - * @param userAgent - */ - public static void setUserAgent(final String userAgent) { - agent = userAgent; - } + /** + * Agent to set at a URL connection + * + * @param userAgent + */ + public static void setUserAgent(final String userAgent) { + agent = userAgent; + } - /** - * Gets useragent - * - * @return useragent - */ - public static String getUserAgent() { - return agent; - } + /** + * Gets useragent + * + * @return useragent + */ + public static String getUserAgent() { + return agent; + } - /** - * Fetches content of a page - * - * @param location - * @return contents of page - * @throws MalformedURLException - */ - public static String getContents(final String location) - throws MalformedURLException { - return getContents(new URL(location)); - } + /** + * Fetches content of a page + * + * @param location + * @return contents of page + * @throws MalformedURLException + */ + public static String getContents(final String location) + throws MalformedURLException { + return getContents(new URL(location)); + } - public static String getContents(final String location, String parameters) throws MalformedURLException { - return getContents(new URL(location), parameters); - } + public static String getContents(final String location, String parameters) throws MalformedURLException { + return getContents(new URL(location), parameters); + } - /** - * Get contents from URL - * - * @param url - * @return page contents - */ - public static String getContents(final URL url) { - return getContents(getConnection(url)); - } + /** + * Get contents from URL + * + * @param url + * @return page contents + */ + public static String getContents(final URL url) { + return getContents(getConnection(url)); + } - public static String getContents(final URL url, final String parameters) { - return getContents(getConnection(url), parameters); - } + public static String getContents(final URL url, final String parameters) { + return getContents(getConnection(url), parameters); + } - /** - * Gets contents from URLConnection - * - * @param urlConnection - * @return page contents - */ - public static String getContents(URLConnection urlConnection) { - try { - final BufferedReader in = getReader(urlConnection); - final StringBuilder builder = new StringBuilder(); - String line; - if (in != null) { - while ((line = in.readLine()) != null) { + /** + * Gets contents from URLConnection + * + * @param urlConnection + * @return page contents + */ + public static String getContents(URLConnection urlConnection) { + try { + final BufferedReader in = getReader(urlConnection); + final StringBuilder builder = new StringBuilder(); + String line; + if (in != null) { + while ((line = in.readLine()) != null) { builder.append(line); } - in.close(); - } - return builder.toString(); - } catch (Throwable t) { - t.printStackTrace(); - } - return null; - } + in.close(); + } + return builder.toString(); + } catch (Throwable t) { + t.printStackTrace(); + } + return null; + } - public static String getContents(URLConnection urlConnection, String parameters) { - try { - urlConnection.setDoOutput(true); - OutputStreamWriter wr = new OutputStreamWriter(urlConnection.getOutputStream()); - wr.write(parameters); - wr.flush(); - wr.close(); + public static String getContents(URLConnection urlConnection, String parameters) { + try { + urlConnection.setDoOutput(true); + OutputStreamWriter wr = new OutputStreamWriter(urlConnection.getOutputStream()); + wr.write(parameters); + wr.flush(); + wr.close(); - final BufferedReader in = new BufferedReader(new InputStreamReader(urlConnection.getInputStream())); - final StringBuilder builder = new StringBuilder(); - String line; - while ((line = in.readLine()) != null) { - builder.append(line); - } - return builder.toString(); - } catch (Throwable t) { - t.printStackTrace(); - } - return null; - } + final BufferedReader in = new BufferedReader(new InputStreamReader(urlConnection.getInputStream())); + final StringBuilder builder = new StringBuilder(); + String line; + while ((line = in.readLine()) != null) { + builder.append(line); + } + return builder.toString(); + } catch (Throwable t) { + t.printStackTrace(); + } + return null; + } - /** - * Gets buffered reader from string url - * - * @param url - * @return bufferedreader - */ - public static BufferedReader getReader(final String url) { - try { - return getReader(new URL(url)); - } catch (MalformedURLException e) { - e.printStackTrace(); - } - return null; - } + /** + * Gets buffered reader from string url + * + * @param url + * @return bufferedreader + */ + public static BufferedReader getReader(final String url) { + try { + return getReader(new URL(url)); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + return null; + } - /** - * Gets BufferedReader from URL - * - * @param url - * @return BufferedReader from URL - */ - public static BufferedReader getReader(final URL url) { - return getReader(getConnection(url)); - } + /** + * Gets BufferedReader from URL + * + * @param url + * @return BufferedReader from URL + */ + public static BufferedReader getReader(final URL url) { + return getReader(getConnection(url)); + } - public static BufferedReader getReader(final URLConnection urlConnection) { - try { - return new BufferedReader(new InputStreamReader( - urlConnection.getInputStream())); - } catch (Throwable t) { - t.printStackTrace(); - } - return null; - } + public static BufferedReader getReader(final URLConnection urlConnection) { + try { + return new BufferedReader(new InputStreamReader( + urlConnection.getInputStream())); + } catch (Throwable t) { + t.printStackTrace(); + } + return null; + } - /** - * Gets inputstream from url - * - * @param url - * @return inputstream from url - */ - public static InputStream getInputStream(final URL url) { - final URLConnection con = getConnection(url); - try { - return con.getInputStream(); - } catch (IOException e) { - e.printStackTrace(); - } - return null; - } + /** + * Gets inputstream from url + * + * @param url + * @return inputstream from url + */ + public static InputStream getInputStream(final URL url) { + final URLConnection con = getConnection(url); + try { + return con.getInputStream(); + } catch (IOException e) { + e.printStackTrace(); + } + return null; + } - /** - * Opens a connection - * - * @param url - * @return URLConnection to URL - */ - public static URLConnection getConnection(final URL url) { - try { - final URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", agent); - return con; - } catch (Throwable t) { - t.printStackTrace(); - } - return null; - } + /** + * Opens a connection + * + * @param url + * @return URLConnection to URL + */ + public static URLConnection getConnection(final URL url) { + try { + final URLConnection con = url.openConnection(); + con.setRequestProperty("User-Agent", agent); + return con; + } catch (Throwable t) { + t.printStackTrace(); + } + return null; + } - public static BufferedReader getReader(final URL url, String username, String password) { - try { - String data = URLEncoder.encode("username", "UTF-8") + "=" + username; - data += "&" + URLEncoder.encode("password", "UTF-8") + "=" + password; - - URLConnection connection = url.openConnection(); - - connection.setDoOutput(true); + public static BufferedReader getReader(final URL url, String username, String password) { + try { + String data = URLEncoder.encode("username", "UTF-8") + "=" + username; + data += "&" + URLEncoder.encode("password", "UTF-8") + "=" + password; + + URLConnection connection = url.openConnection(); + + connection.setDoOutput(true); OutputStreamWriter wr = new OutputStreamWriter(connection.getOutputStream()); wr.write(data); wr.flush(); wr.close(); - + return new BufferedReader(new InputStreamReader(connection.getInputStream())); - } catch (Throwable t) { - t.printStackTrace(); - } - return null; - } - - public static URLConnection getConnection(final URL url, String username, String password) { - try { - String data = URLEncoder.encode("username", "UTF-8") + "=" + username; - data += "&" + URLEncoder.encode("password", "UTF-8") + "=" + password; - - URLConnection connection = url.openConnection(); - - connection.setDoOutput(true); + } catch (Throwable t) { + t.printStackTrace(); + } + return null; + } + + public static URLConnection getConnection(final URL url, String username, String password) { + try { + String data = URLEncoder.encode("username", "UTF-8") + "=" + username; + data += "&" + URLEncoder.encode("password", "UTF-8") + "=" + password; + + URLConnection connection = url.openConnection(); + + connection.setDoOutput(true); OutputStreamWriter wr = new OutputStreamWriter(connection.getOutputStream()); wr.write(data); wr.flush(); wr.close(); - + return connection; - } catch (Throwable t) { - t.printStackTrace(); - } - return null; - } + } catch (Throwable t) { + t.printStackTrace(); + } + return null; + } - /** - * Downloads a file on the internet - * @param url - * @param destination - * @param listener - */ - public static void downloadFile(final URL url, final File destination, - final ProgressListener listener) { - try { - final URLConnection connection = getConnection(url); - int size = connection.getContentLength(); - SizeInputStream sizeInputStream = new SizeInputStream( - connection.getInputStream(), size, listener); - BufferedInputStream in = new BufferedInputStream(sizeInputStream); - FileOutputStream fileOut = new FileOutputStream(destination); - try { - byte data[] = new byte[1024]; - int count; - while ((count = in.read(data, 0, 1024)) != -1) { - fileOut.write(data, 0, count); - } - } finally { - if (in != null) - in.close(); - if (fileOut != null) - fileOut.close(); - } - } catch (Throwable t) { - t.printStackTrace(); - } - } - - /** - * Downloads a file on the internet - * @param url - * @param destination - * @param listener - */ - public static void downloadFile(final URL url, final File destination, - final ProgressListener listener, String username, String password) { - try { - final URLConnection connection = getConnection(url, username, password); - int size = connection.getContentLength(); - SizeInputStream sizeInputStream = new SizeInputStream( - connection.getInputStream(), size, listener); - BufferedInputStream in = new BufferedInputStream(sizeInputStream); - FileOutputStream fileOut = new FileOutputStream(destination); - try { - byte data[] = new byte[1024]; - int count; - while ((count = in.read(data, 0, 1024)) != -1) { - fileOut.write(data, 0, count); - } - } finally { - if (in != null) - in.close(); - if (fileOut != null) - fileOut.close(); - } - } catch (Throwable t) { - t.printStackTrace(); - } - } - - /** - * Converts file format to url format - * @param file - * @return url to file - */ - public static URL toURL(File file) { - try { - return file.toURI().toURL(); - } catch (MalformedURLException e) { - e.printStackTrace(); - } - return null; - } + /** + * Downloads a file on the internet + * + * @param url + * @param destination + * @param listener + */ + public static void downloadFile(final URL url, final File destination, + final ProgressListener listener) { + try { + final URLConnection connection = getConnection(url); + int size = connection.getContentLength(); + SizeInputStream sizeInputStream = new SizeInputStream( + connection.getInputStream(), size, listener); + BufferedInputStream in = new BufferedInputStream(sizeInputStream); + FileOutputStream fileOut = new FileOutputStream(destination); + try { + byte data[] = new byte[1024]; + int count; + while ((count = in.read(data, 0, 1024)) != -1) { + fileOut.write(data, 0, count); + } + } finally { + if (in != null) + in.close(); + if (fileOut != null) + fileOut.close(); + } + } catch (Throwable t) { + t.printStackTrace(); + } + } - public static JSONParser getJsonParser() { - if (jsonParser == null){ - jsonParser = new JSONParser(); - } - return jsonParser; - } + /** + * Downloads a file on the internet + * + * @param url + * @param destination + * @param listener + */ + public static void downloadFile(final URL url, final File destination, + final ProgressListener listener, String username, String password) { + try { + final URLConnection connection = getConnection(url, username, password); + int size = connection.getContentLength(); + SizeInputStream sizeInputStream = new SizeInputStream( + connection.getInputStream(), size, listener); + BufferedInputStream in = new BufferedInputStream(sizeInputStream); + FileOutputStream fileOut = new FileOutputStream(destination); + try { + byte data[] = new byte[1024]; + int count; + while ((count = in.read(data, 0, 1024)) != -1) { + fileOut.write(data, 0, count); + } + } finally { + if (in != null) + in.close(); + if (fileOut != null) + fileOut.close(); + } + } catch (Throwable t) { + t.printStackTrace(); + } + } - public static URI appendUri(String uri, String appendQuery) throws URISyntaxException { - URI oldUri = new URI(uri); + /** + * Converts file format to url format + * + * @param file + * @return url to file + */ + public static URL toURL(File file) { + try { + return file.toURI().toURL(); + } catch (MalformedURLException e) { + e.printStackTrace(); + } + return null; + } - String newQuery = oldUri.getQuery(); - if (newQuery == null) { - newQuery = appendQuery; - } else { - newQuery += "&" + appendQuery; - } + public static JSONParser getJsonParser() { + if (jsonParser == null) { + jsonParser = new JSONParser(); + } + return jsonParser; + } - return new URI(oldUri.getScheme(), oldUri.getAuthority(), - oldUri.getPath(), newQuery, oldUri.getFragment()); - } + public static URI appendUri(String uri, String appendQuery) { + try { + URI oldUri = new URI(uri); + + String newQuery = oldUri.getQuery(); + if (newQuery == null) { + newQuery = appendQuery; + } else { + newQuery += "&" + appendQuery; + } + return new URI(oldUri.getScheme(), oldUri.getAuthority(), + oldUri.getPath(), newQuery, oldUri.getFragment()); + } catch (URISyntaxException e) { + e.printStackTrace(); + } + return null; + } } From 6829a0595e4b1887b6a57766ff40c251b0b6e3f5 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 5 Jun 2016 01:45:45 +0200 Subject: [PATCH 037/114] [CLEANUP] Removed deprecated Core#versionValid --- src/main/java/org/parabot/core/Core.java | 38 +----------------------- 1 file changed, 1 insertion(+), 37 deletions(-) diff --git a/src/main/java/org/parabot/core/Core.java b/src/main/java/org/parabot/core/Core.java index c391960..dad719e 100644 --- a/src/main/java/org/parabot/core/Core.java +++ b/src/main/java/org/parabot/core/Core.java @@ -24,7 +24,7 @@ import java.security.NoSuchAlgorithmException; */ @SuppressWarnings("Duplicates") public class Core { - + private static boolean debug; private static boolean verbose; private static boolean dump; @@ -173,42 +173,6 @@ public class Core { return true; } - /** - * @return true if no new version is found, otherwise false. - * @Deprecated use #validVersion instead - *

- * Checks the version of the bot using a variable comparison from the bot code and the Parabot website - */ - private static boolean versionValid() { - BufferedReader br = WebUtil.getReader(Configuration.GET_BOT_VERSION); - try { - String version = null; - if (br != null) { - JSONObject object = (JSONObject) WebUtil.getJsonParser().parse(br); - version = (String) object.get("result"); - } - if (version != null) { - if (!Configuration.BOT_VERSION.equals(version)) { - Core.verbose("Our version: " + Configuration.BOT_VERSION); - Core.verbose("Latest version: " + version); - return false; - } - } - } catch (NumberFormatException | IOException | ParseException e) { - e.printStackTrace(); - } finally { - try { - if (br != null) { - br.close(); - } - } catch (IOException e) { - e.printStackTrace(); - } - } - - return true; - } - /** * Compares the latest version from the BDN and the current version * From d8e0c93d3f6a67cf72e487dec59c84c598824d96 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 5 Jun 2016 02:07:30 +0200 Subject: [PATCH 038/114] [FEATURE] Comparing versions with the latest API --- src/main/java/org/parabot/core/Configuration.java | 2 ++ src/main/java/org/parabot/core/Core.java | 8 ++------ 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/main/java/org/parabot/core/Configuration.java b/src/main/java/org/parabot/core/Configuration.java index b9c9871..1b10eb4 100644 --- a/src/main/java/org/parabot/core/Configuration.java +++ b/src/main/java/org/parabot/core/Configuration.java @@ -22,7 +22,9 @@ public class Configuration { public static final String GET_RANDOMS = "http://v3.bdn.parabot.org/api/bot/download/randoms"; public static final String DATA_API = "http://bdn.parabot.org/api/v2/data/"; public static final String ITEM_API = DATA_API + "items/"; + public static final String COMPARE_VERSION_URL = "http://v3.bdn.parabot.org/api/bot/compare/%s/%s"; + public static final String COMPARE_CHECKSUM_URL = "http://v3.bdn.parabot.org/api/bot/checksum/%s/%s"; public static final Version BOT_VERSION = ProjectProperties.getProjectVersion(); diff --git a/src/main/java/org/parabot/core/Core.java b/src/main/java/org/parabot/core/Core.java index dad719e..34d7292 100644 --- a/src/main/java/org/parabot/core/Core.java +++ b/src/main/java/org/parabot/core/Core.java @@ -157,13 +157,9 @@ public class Core { } String result; - if ((result = WebUtil.getContents("http://bdn.parabot.org/api/v2/bot/checksum", "checksum=" + URLEncoder.encode(sb.toString(), "UTF-8"))) != null) { + if ((result = WebUtil.getContents(String.format(Configuration.COMPARE_CHECKSUM_URL, "client", currentVersion.get()), "checksum=" + URLEncoder.encode(sb.toString(), "UTF-8"))) != null) { JSONObject object = (JSONObject) WebUtil.getJsonParser().parse(result); - if (!(boolean) object.get("result")) { - Core.verbose("Latest checksum: " + sb.toString()); - Core.verbose("Latest checksum: " + object.get("current")); - return false; - } + return Boolean.parseBoolean((String) object.get("result")); } } } catch (NoSuchAlgorithmException | ParseException | IOException | URISyntaxException e) { From 64713f665eece83ca43f088b489d16a5f03c203c Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 5 Jun 2016 02:10:49 +0200 Subject: [PATCH 039/114] [CLEANUP] Reformated code --- src/main/java/org/parabot/core/Core.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/parabot/core/Core.java b/src/main/java/org/parabot/core/Core.java index 34d7292..a6a19cd 100644 --- a/src/main/java/org/parabot/core/Core.java +++ b/src/main/java/org/parabot/core/Core.java @@ -152,8 +152,8 @@ public class Core { byte[] mdbytes = md.digest(); StringBuilder sb = new StringBuilder(""); - for (int i = 0; i < mdbytes.length; i++) { - sb.append(Integer.toString((mdbytes[i] & 0xff) + 0x100, 16).substring(1)); + for (byte mdbyte : mdbytes) { + sb.append(Integer.toString((mdbyte & 0xff) + 0x100, 16).substring(1)); } String result; @@ -183,7 +183,7 @@ public class Core { if (br != null) { JSONObject object = (JSONObject) WebUtil.getJsonParser().parse(br); boolean latest = Boolean.parseBoolean((String) object.get("result")); - if (!latest){ + if (!latest) { Directories.clearCache(); } return latest; From 36410bf71c84d722a41ecd877a82508203c3cbab Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Mon, 6 Jun 2016 14:40:58 +0200 Subject: [PATCH 040/114] [FEATURE] Added NoProgresssListener --- .../org/parabot/core/io/NoProgressListener.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 src/main/java/org/parabot/core/io/NoProgressListener.java diff --git a/src/main/java/org/parabot/core/io/NoProgressListener.java b/src/main/java/org/parabot/core/io/NoProgressListener.java new file mode 100644 index 0000000..247bf39 --- /dev/null +++ b/src/main/java/org/parabot/core/io/NoProgressListener.java @@ -0,0 +1,16 @@ +package org.parabot.core.io; + +/** + * @author JKetelaar + */ +public class NoProgressListener implements ProgressListener { + @Override + public void onProgressUpdate(double value) { + + } + + @Override + public void updateDownloadSpeed(double mbPerSecond) { + + } +} From 0e59f63cf2e20c745cb2426b5a522c1988b0ab71 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Mon, 6 Jun 2016 14:41:10 +0200 Subject: [PATCH 041/114] [TASK] Implemented NoProgressListener --- .../parabot/core/parsers/randoms/PublicRandoms.java | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/parabot/core/parsers/randoms/PublicRandoms.java b/src/main/java/org/parabot/core/parsers/randoms/PublicRandoms.java index 2ddc409..9eb6315 100644 --- a/src/main/java/org/parabot/core/parsers/randoms/PublicRandoms.java +++ b/src/main/java/org/parabot/core/parsers/randoms/PublicRandoms.java @@ -4,6 +4,7 @@ import org.parabot.core.Configuration; import org.parabot.core.Context; import org.parabot.core.Core; import org.parabot.core.Directories; +import org.parabot.core.io.NoProgressListener; import org.parabot.core.io.ProgressListener; import org.parabot.environment.api.utils.WebUtil; @@ -51,17 +52,7 @@ public class PublicRandoms extends RandomParser { return; } String downloadLink = Configuration.GET_RANDOMS; - WebUtil.downloadFile(new URL(downloadLink), random, new ProgressListener() { - @Override - public void onProgressUpdate(double v) { - - } - - @Override - public void updateDownloadSpeed(double v) { - - } - }); + WebUtil.downloadFile(new URL(downloadLink), random, new NoProgressListener()); } catch (Exception e) { e.printStackTrace(); } From 456a7bc2541c8e4c35ba0b8b27af27789c003275 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Mon, 6 Jun 2016 14:48:27 +0200 Subject: [PATCH 042/114] [TASK] Implemented `-no_validation` --- src/main/java/org/parabot/core/Core.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/parabot/core/Core.java b/src/main/java/org/parabot/core/Core.java index a6a19cd..bf3903b 100644 --- a/src/main/java/org/parabot/core/Core.java +++ b/src/main/java/org/parabot/core/Core.java @@ -35,7 +35,7 @@ public class Core { private static Version currentVersion = Configuration.BOT_VERSION; private static Version latestVersion; - + public static void disableValidation() { Core.validate = false; } @@ -159,6 +159,7 @@ public class Core { String result; if ((result = WebUtil.getContents(String.format(Configuration.COMPARE_CHECKSUM_URL, "client", currentVersion.get()), "checksum=" + URLEncoder.encode(sb.toString(), "UTF-8"))) != null) { JSONObject object = (JSONObject) WebUtil.getJsonParser().parse(result); + System.out.println(object.get("result")); return Boolean.parseBoolean((String) object.get("result")); } } @@ -179,7 +180,6 @@ public class Core { BufferedReader br = WebUtil.getReader(url); try { - latestVersion = null; if (br != null) { JSONObject object = (JSONObject) WebUtil.getJsonParser().parse(br); boolean latest = Boolean.parseBoolean((String) object.get("result")); @@ -240,12 +240,17 @@ public class Core { Core.verbose("Checking for updates..."); validateCache(); - if (validVersion() && checksumValid()) { - Core.verbose("No updates available."); + if (validate) { + if (validVersion() && checksumValid()) { + Core.verbose("No updates available."); + return true; + } else { + Core.verbose("Updates available..."); + return false; + } + }else{ + Core.verbose("Validation disabled"); return true; - } else { - Core.verbose("Updates available..."); - return false; } } } \ No newline at end of file From 84541917ab6466b9d1e9f91fa6b147a9f667fd21 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Mon, 6 Jun 2016 14:48:35 +0200 Subject: [PATCH 043/114] [CLEANUP] Removed whiteline --- src/main/java/org/parabot/core/Core.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/parabot/core/Core.java b/src/main/java/org/parabot/core/Core.java index bf3903b..23e79a8 100644 --- a/src/main/java/org/parabot/core/Core.java +++ b/src/main/java/org/parabot/core/Core.java @@ -35,7 +35,7 @@ public class Core { private static Version currentVersion = Configuration.BOT_VERSION; private static Version latestVersion; - + public static void disableValidation() { Core.validate = false; } From ae528c21a81f25c9a116ea2131f8ab0c2eac8860 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 12 Jun 2016 01:40:02 +0200 Subject: [PATCH 044/114] [TASK] Removed Naga totally, including Uliratha This is temporarly, as long as there's no new version --- src/main/java/org/parabot/core/Context.java | 10 -- .../java/org/parabot/core/lib/naga/Naga.java | 72 -------- src/main/java/org/parabot/core/ui/Logger.java | 7 +- .../org/parabot/environment/Environment.java | 2 - .../parabot/environment/scripts/Script.java | 5 - .../scripts/executers/BDNScriptsExecuter.java | 4 - .../scripts/uliratha/UlirathaClient.java | 158 ------------------ .../scripts/uliratha/UlirathaExecuter.java | 49 ------ 8 files changed, 1 insertion(+), 306 deletions(-) delete mode 100644 src/main/java/org/parabot/core/lib/naga/Naga.java delete mode 100644 src/main/java/org/parabot/environment/scripts/uliratha/UlirathaClient.java delete mode 100644 src/main/java/org/parabot/environment/scripts/uliratha/UlirathaExecuter.java diff --git a/src/main/java/org/parabot/core/Context.java b/src/main/java/org/parabot/core/Context.java index 8cfd7b7..acbe9c0 100644 --- a/src/main/java/org/parabot/core/Context.java +++ b/src/main/java/org/parabot/core/Context.java @@ -14,7 +14,6 @@ import org.parabot.environment.input.Keyboard; import org.parabot.environment.input.Mouse; import org.parabot.environment.scripts.Script; import org.parabot.environment.scripts.randoms.RandomHandler; -import org.parabot.environment.scripts.uliratha.UlirathaClient; import org.parabot.environment.servers.ServerProvider; import java.applet.Applet; @@ -49,7 +48,6 @@ public class Context { private Mouse mouse; private Keyboard keyboard; private ServerProviderInfo providerInfo; - private UlirathaClient ulirathaClient; private JSONParser jsonParser; private PrintStream defaultOut; @@ -354,14 +352,6 @@ public class Context { return username; } - public UlirathaClient getUlirathaClient() { - return ulirathaClient; - } - - public void setUlirathaClient(UlirathaClient ulirathaClient) { - this.ulirathaClient = ulirathaClient; - } - public static void setUsername(String username) { Context.username = username; } diff --git a/src/main/java/org/parabot/core/lib/naga/Naga.java b/src/main/java/org/parabot/core/lib/naga/Naga.java deleted file mode 100644 index 9154e7e..0000000 --- a/src/main/java/org/parabot/core/lib/naga/Naga.java +++ /dev/null @@ -1,72 +0,0 @@ -package org.parabot.core.lib.naga; - -import org.parabot.core.Core; -import org.parabot.core.Directories; -import org.parabot.core.build.BuildPath; -import org.parabot.core.lib.Library; - -import java.io.File; -import java.net.URL; - -/** - * @author JKetelaar - */ -public class Naga extends Library { - - private static boolean valid; - - @Override - public void init() { - if (!hasJar()) { - System.err.println("Failed to load javafx... [jar missing]"); - return; - } - Core.verbose("Adding javafx jar file to build path: " - + getJarFileURL().getPath()); - BuildPath.add(getJarFileURL()); - - try { - Class.forName("javafx.application.Application"); - valid = true; - } catch (ClassNotFoundException e) { - System.err - .println("Failed to add javafx to build path, or incorrupt download"); - } - - Core.verbose("JavaFX initialized."); - } - - @Override - public boolean isAdded() { - return valid; - } - - @Override - public File getJarFile() { - return new File(Directories.getCachePath(), "naga.jar"); - } - - @Override - public URL getDownloadLink() { - try { - return new URL("http://bdn.parabot.org/api/v2/data/dependencies/naga"); - } catch (Throwable t) { - t.printStackTrace(); - } - return null; - } - - @Override - public boolean requiresJar() { - return true; - } - - @Override - public String getLibraryName() { - return "Naga"; - } - - public static boolean isValid() { - return valid; - } -} diff --git a/src/main/java/org/parabot/core/ui/Logger.java b/src/main/java/org/parabot/core/ui/Logger.java index b5d6636..640216c 100644 --- a/src/main/java/org/parabot/core/ui/Logger.java +++ b/src/main/java/org/parabot/core/ui/Logger.java @@ -1,8 +1,6 @@ package org.parabot.core.ui; -import org.parabot.core.Context; import org.parabot.core.ui.components.GamePanel; -import org.parabot.environment.scripts.uliratha.UlirathaClient; import javax.swing.*; import java.awt.*; @@ -63,10 +61,7 @@ public class Logger extends JPanel { instance.model.addElement(message); if (uliratha){ - UlirathaClient client; - if ((client = Context.getInstance().getUlirathaClient()) != null) { - client.sendMessage(message); - } + // TODO: Implement latest Uliratha } int last = instance.list.getModel().getSize() - 1; diff --git a/src/main/java/org/parabot/environment/Environment.java b/src/main/java/org/parabot/environment/Environment.java index 7964123..e17d0fd 100644 --- a/src/main/java/org/parabot/environment/Environment.java +++ b/src/main/java/org/parabot/environment/Environment.java @@ -4,7 +4,6 @@ import org.parabot.core.Core; import org.parabot.core.desc.ServerDescription; import org.parabot.core.lib.Library; import org.parabot.core.lib.javafx.JavaFX; -import org.parabot.core.lib.naga.Naga; import org.parabot.core.parsers.servers.ServerParser; import org.parabot.core.ui.components.VerboseLoader; import org.parabot.environment.api.utils.WebUtil; @@ -30,7 +29,6 @@ public class Environment { LinkedList libs = new LinkedList<>(); libs.add(new JavaFX()); - libs.add(new Naga()); for(Library lib : libs) { if (lib.requiresJar()) { diff --git a/src/main/java/org/parabot/environment/scripts/Script.java b/src/main/java/org/parabot/environment/scripts/Script.java index 971d296..5fdd485 100644 --- a/src/main/java/org/parabot/environment/scripts/Script.java +++ b/src/main/java/org/parabot/environment/scripts/Script.java @@ -123,11 +123,6 @@ public class Script implements Runnable { this.state = STATE_STOPPED; context.setRunningScript(null); - if (context.getUlirathaClient() != null) { - context.getUlirathaClient().disconnect(); - context.setUlirathaClient(null); - } - BotUI.getInstance().toggleRun(); Core.verbose("Done."); } diff --git a/src/main/java/org/parabot/environment/scripts/executers/BDNScriptsExecuter.java b/src/main/java/org/parabot/environment/scripts/executers/BDNScriptsExecuter.java index e29b450..fdfc199 100644 --- a/src/main/java/org/parabot/environment/scripts/executers/BDNScriptsExecuter.java +++ b/src/main/java/org/parabot/environment/scripts/executers/BDNScriptsExecuter.java @@ -8,7 +8,6 @@ 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 org.parabot.environment.scripts.uliratha.UlirathaExecuter; import javax.swing.*; import java.lang.reflect.Constructor; @@ -77,9 +76,6 @@ public class BDNScriptsExecuter extends ScriptExecuter { script.setScriptID(this.id); super.finalize(tg, script); - if (manager.getAccount().getApi() != null) { - new UlirathaExecuter(manager.getAccount().getApi()).start(this.id); - } } 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) { diff --git a/src/main/java/org/parabot/environment/scripts/uliratha/UlirathaClient.java b/src/main/java/org/parabot/environment/scripts/uliratha/UlirathaClient.java deleted file mode 100644 index 0ef0083..0000000 --- a/src/main/java/org/parabot/environment/scripts/uliratha/UlirathaClient.java +++ /dev/null @@ -1,158 +0,0 @@ -package org.parabot.environment.scripts.uliratha; - -import naga.ExceptionObserver; -import naga.NIOService; -import naga.NIOSocket; -import naga.SocketObserver; -import naga.packetreader.RegularPacketReader; -import naga.packetwriter.RegularPacketWriter; -import org.parabot.core.ui.Logger; - -import java.io.*; - -/** - * @author JKetelaar - */ - -public class UlirathaClient extends Thread { - - private String host; - private int port; - private NIOSocket socket; - private boolean connected; - private int scriptID; - private String api; - private boolean valid; - - public UlirathaClient(String host, int port, int scriptID, String api) { - this.host = host; - this.port = port; - this.scriptID = scriptID; - this.api = api; - } - - @Override - public void run() { - connect(); - } - - private void connect() { - try { - NIOService service = new NIOService(); - service.setExceptionObserver(new ExceptionObserver() { - @Override - public void notifyExceptionThrown(Throwable throwable) { - throwable.printStackTrace(); - if (valid) { - reconnect(); - connected = false; - } - } - }); - socket = service.openSocket(host, port); - socket.setPacketReader(new RegularPacketReader(4, true)); - socket.setPacketWriter(new RegularPacketWriter(4, true)); - socket.listen(new SocketObserver() { - public void connectionOpened(NIOSocket nioSocket) { - try { - sendObjects(nioSocket, new Object[]{76, scriptID, api}); - } catch (IOException e) { - e.printStackTrace(); - } - } - - public void packetReceived(NIOSocket socket, byte[] packet) { - try { - DataInputStream stream = new DataInputStream(new ByteArrayInputStream(packet)); - int packetID = stream.readInt(); - - switch (packetID){ - case 75: - valid = stream.readBoolean(); - if (valid) { - Logger.addMessage("We're connected with the Uliratha server!", false); - connected = true; - }else{ - socket.close(); - } - break; - } - } catch (IOException e) { - e.printStackTrace(); - } - } - - @Override - public void packetSent(NIOSocket nioSocket, Object o) { - - } - - public void connectionBroken(NIOSocket nioSocket, Exception exception) { - if (valid) { - Logger.addMessage("We lost connection with the Uliratha server, reconnecting...", false); - reconnect(); - connected = false; - }else{ - Logger.addMessage("We're disconnected from the Uliratha server", false); - } - } - }); - while (true) { - service.selectBlocking(); - } - } catch (IOException e) { - if (valid) { - reconnect(); - connected = false; - } - } - } - - private void reconnect() { - try { - Thread.sleep(5000); - } catch (InterruptedException e) { - e.printStackTrace(); - } - connect(); - } - - public boolean isConnected() { - return connected; - } - - public void disconnect(){ - valid = false; - socket.close(); - } - - private void sendObjects(NIOSocket socket, Object[] objects) throws IOException { - ByteArrayOutputStream stream = new ByteArrayOutputStream(); - DataOutputStream dataStream = new DataOutputStream(stream); - for (Object o : objects) { - if (o instanceof String) { - dataStream.writeUTF((String) o); - } else if (o instanceof Integer) { - dataStream.writeInt((Integer) o); - } else if (o instanceof byte[]) { - dataStream.write((byte[]) o); - } else if (o instanceof Long) { - dataStream.writeLong((Long) o); - } else if (o instanceof Boolean) { - dataStream.writeBoolean((Boolean) o); - } - } - dataStream.flush(); - final byte[] content = stream.toByteArray(); - dataStream.close(); - socket.write(content); - } - - public void sendMessage(String message){ - try { - sendObjects(socket, new Object[]{83, message}); - } catch (IOException e) { - e.printStackTrace(); - } - } -} \ No newline at end of file diff --git a/src/main/java/org/parabot/environment/scripts/uliratha/UlirathaExecuter.java b/src/main/java/org/parabot/environment/scripts/uliratha/UlirathaExecuter.java deleted file mode 100644 index 47cfc5e..0000000 --- a/src/main/java/org/parabot/environment/scripts/uliratha/UlirathaExecuter.java +++ /dev/null @@ -1,49 +0,0 @@ -package org.parabot.environment.scripts.uliratha; - -import org.json.simple.JSONObject; -import org.json.simple.parser.JSONParser; -import org.json.simple.parser.ParseException; -import org.parabot.core.Context; -import org.parabot.environment.api.utils.WebUtil; - -import java.io.IOException; - -/** - * @author JKetelaar - */ -public class UlirathaExecuter { - - private String api; - private static boolean isVip = true; - - public UlirathaExecuter(String api){ - this.api = api; - } - - public void start(int scriptID){ - if (UlirathaExecuter.isVip) { - String vipUrl = "http://bdn.parabot.org/api/v2/user/" + api + "/vip"; - JSONParser parser = new JSONParser(); - try { - JSONObject vipObject = (JSONObject) parser.parse(WebUtil.getReader(vipUrl)); - - boolean isVip = (boolean) vipObject.get("result"); - if (isVip) { - String serverUrl = "http://bdn.parabot.org/api/v2/clients/server"; - JSONObject serverObject = (JSONObject) parser.parse(WebUtil.getReader(serverUrl)); - JSONObject detailsObject = (JSONObject) serverObject.get("result"); - String host = (String) detailsObject.get("host"); - long port = (long) detailsObject.get("port"); - - UlirathaClient client = new UlirathaClient(host, (int) port, scriptID, api); - client.start(); - Context.getInstance().setUlirathaClient(client); - }else{ - UlirathaExecuter.isVip = false; - } - } catch (IOException | ParseException | ClassCastException e) { - e.printStackTrace(); - } - } - } -} From 2b3e6649a71bb2550951281b8f7ecf8382e21686 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 12 Jun 2016 01:46:05 +0200 Subject: [PATCH 045/114] [BUGFIX] Removed naga from dependency --- pom.xml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pom.xml b/pom.xml index ed9ff72..8ad4ddf 100755 --- a/pom.xml +++ b/pom.xml @@ -36,12 +36,6 @@ - - naga - naga - 1.0 - provided - javafx javafx From d04cc812a9f39538bf3e8e73a997e187504c3161 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 12 Jun 2016 01:47:10 +0200 Subject: [PATCH 046/114] [TASK] Bumped version to 2.6 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ed9ff72..02a2d70 100755 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.parabot client - 2.5.1 + 2.6 jar From 64bf3c335903860df8d8b21ab36fa51f6f8b9fe8 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 12 Jun 2016 01:47:19 +0200 Subject: [PATCH 047/114] [BUGFIX] Set plugin to static version --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 02a2d70..8533745 100755 --- a/pom.xml +++ b/pom.xml @@ -129,7 +129,7 @@ org.apache.maven.plugins maven-assembly-plugin - ${version} + 2.5.3 jar-with-dependencies From 6fbd5116fcad655fcf368e47f3b90503f425ab1f Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 12 Jun 2016 01:47:54 +0200 Subject: [PATCH 048/114] [CLEANUP] Removed unused files --- .gitlab-ci.yml | 7 ------- .travis.yml | 1 - .travis/artifact-upload.sh | 8 -------- 3 files changed, 16 deletions(-) delete mode 100644 .gitlab-ci.yml delete mode 100644 .travis/artifact-upload.sh diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index 99ff537..0000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,7 +0,0 @@ -before_script: - - mvn clean - -production: - script: - - mvn -U package -Dsettings.security=/home/ci/settings.xml - type: deploy \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 142ad9d..c9509e0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,6 @@ jdk: - oraclejdk7 before_install: - - chmod +x ./.travis/artifact-upload.sh - chmod +x ./.travis/maven-build.sh - chmod +x ./.travis/call-creation.sh - mvn clean diff --git a/.travis/artifact-upload.sh b/.travis/artifact-upload.sh deleted file mode 100644 index 6c1b4f4..0000000 --- a/.travis/artifact-upload.sh +++ /dev/null @@ -1,8 +0,0 @@ -#! /bin/bash - -local_file="$(ls $TRAVIS_BUILD_DIR/target/final/Parabot-V*.jar | head -n 1 | xargs -n 1 basename)" -local_path="$(ls $TRAVIS_BUILD_DIR/target/final/Parabot-V*.jar | head -n 1)" -target_url="ftp://$FTP_HOST/$local_file" - -echo "Uploading $local_file to $target_url" -curl -us $FTP_USERNAME:$FTP_PASSWORD -T "$local_path" "$target_url" \ No newline at end of file From f7a4db8b4b89c5e34389608f049b9a51ce6e42ae Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 12 Jun 2016 01:48:25 +0200 Subject: [PATCH 049/114] [TASK] Bumped exported version to 2.6 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index c9509e0..ddecabd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -31,7 +31,7 @@ env: - secure: UG+b1tEgc8xv9x4r//2OAIK1RrYv6n209KTTFMMwcnAa7DI8HaP8nljRa5/VhDhuKHdlVrYH/tI90v7UVBs0GDVNwK5V17Io0fMm3FUGZekSthTCqqno5wAGa9r6a6mMLtSaSmIFeIKi0+0d2ZwplRuhj/dtEYjjBBj+kK8g4nE= - secure: St/fecUDInFBCRriYqgp2F8PU9/SooorgxD9Mrs+b0EsC7AbtSsQXvdIv2Lp6xzdQ0VSXPcLIhULPOYrmBKnGQ/NjXTIZXxnroyQxxnI6xyEWIZwiHRY/bKRJDRbQTxD9NL32szKiDSwnw7pu6llF4D64UqQvziq4Gm6VohU75M= - secure: bD15GVZWowiknbfLavh8CxSh0GsnF5kT4kZ6ggCuUDGyj0mzqf7dNRnchQIKkCG0WRYyTrFN4pEiygeywWsipEeAVv9Xhx3cuUZmzeQaR5KCWabSwJ8gK6jZd1YhcWmM9vrdPHobZr65MP0y/8mu/Fovgky9dY7KDf4G3SebNrM= - - PARABOT_VERSION=2.5.1 + - PARABOT_VERSION=2.6 cache: directories: From f1af8c5e03e9d0f52eff3e48cf7ec6046053a582 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 12 Jun 2016 01:50:10 +0200 Subject: [PATCH 050/114] [CLEANUP] Removed outcommented code --- src/main/java/org/parabot/core/ui/BotUI.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/org/parabot/core/ui/BotUI.java b/src/main/java/org/parabot/core/ui/BotUI.java index 532e52b..ac35807 100644 --- a/src/main/java/org/parabot/core/ui/BotUI.java +++ b/src/main/java/org/parabot/core/ui/BotUI.java @@ -39,7 +39,6 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, throw new IllegalStateException("BotUI already created"); } instance = this; - //WebLookAndFeel.install(); JPopupMenu.setDefaultLightWeightPopupEnabled(false); setTitle("Parabot"); From 48908d5985d508c357c124d512f4da3ca40abb5f Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 12 Jun 2016 01:50:44 +0200 Subject: [PATCH 051/114] [TASK] Set author to JKetelaar instead of Paradox --- src/main/java/org/parabot/core/ui/BotUI.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/parabot/core/ui/BotUI.java b/src/main/java/org/parabot/core/ui/BotUI.java index ac35807..1d01c5b 100644 --- a/src/main/java/org/parabot/core/ui/BotUI.java +++ b/src/main/java/org/parabot/core/ui/BotUI.java @@ -23,7 +23,7 @@ import java.util.ArrayList; /** * The bot user interface * - * @author Dane, Everel, Paradox + * @author Dane, Everel, JKetelaar */ public class BotUI extends JFrame implements ActionListener, ComponentListener, WindowListener { From 5209dc05ca2f0284990aed0bec62987e95678395 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 12 Jun 2016 01:52:58 +0200 Subject: [PATCH 052/114] [CLEANUP] Made variable local --- src/main/java/org/parabot/core/ui/BotUI.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/parabot/core/ui/BotUI.java b/src/main/java/org/parabot/core/ui/BotUI.java index 1d01c5b..2a444ef 100644 --- a/src/main/java/org/parabot/core/ui/BotUI.java +++ b/src/main/java/org/parabot/core/ui/BotUI.java @@ -31,7 +31,7 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, private static BotUI instance; private static JDialog dialog; - private JMenuItem run, pause, stop, cacheClear; + private JMenuItem run, pause, stop; private boolean runScript, pauseScript; public BotUI(String username, String password) { @@ -101,7 +101,7 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, stop.setEnabled(false); stop.setIcon(new ImageIcon(Images.getResource("/storage/images/stop.png"))); - cacheClear = new JMenuItem("Clear cache"); + JMenuItem cacheClear = new JMenuItem("Clear cache"); cacheClear.setIcon(new ImageIcon(Images.getResource("/storage/images/trash.png"))); screenshot.addActionListener(this); From 301c4dd42c191efffed31051a9e51e13815f3a09 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 12 Jun 2016 01:53:24 +0200 Subject: [PATCH 053/114] [TASK] Set title to configuration --- src/main/java/org/parabot/core/ui/BotUI.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/parabot/core/ui/BotUI.java b/src/main/java/org/parabot/core/ui/BotUI.java index 2a444ef..7dcd024 100644 --- a/src/main/java/org/parabot/core/ui/BotUI.java +++ b/src/main/java/org/parabot/core/ui/BotUI.java @@ -1,5 +1,6 @@ package org.parabot.core.ui; +import org.parabot.core.Configuration; import org.parabot.core.Context; import org.parabot.core.Directories; import org.parabot.core.ui.components.GamePanel; @@ -41,7 +42,7 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, instance = this; JPopupMenu.setDefaultLightWeightPopupEnabled(false); - setTitle("Parabot"); + setTitle(Configuration.BOT_TITLE); setResizable(false); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); createMenu(); From 5b79000bf5d20d9e9b04957238cfa61dcf9ed662 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 12 Jun 2016 01:54:41 +0200 Subject: [PATCH 054/114] [BUGFIX] Solved issue with possible nullpointer --- src/main/java/org/parabot/core/ui/BotUI.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/parabot/core/ui/BotUI.java b/src/main/java/org/parabot/core/ui/BotUI.java index 7dcd024..079beff 100644 --- a/src/main/java/org/parabot/core/ui/BotUI.java +++ b/src/main/java/org/parabot/core/ui/BotUI.java @@ -153,11 +153,14 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, String randString = StringUtils.randomString(10); boolean search = true; boolean duplicate = false; - while (search == true) { - for (File f : Directories.getScreenshotDir().listFiles()) { - if (f.getAbsoluteFile().getName().contains(randString)) { - duplicate = true; - break; + while (search) { + File[] files; + if ((files = Directories.getScreenshotDir().listFiles()) != null) { + for (File f : files) { + if (f.getAbsoluteFile().getName().contains(randString)) { + duplicate = true; + break; + } } } if (!duplicate) { From 02b655d23cfd3cc8893606cc97d3cddb9fb81f6f Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 12 Jun 2016 02:35:52 +0200 Subject: [PATCH 055/114] [FEATURE] Added base for Key listeners --- src/main/java/org/parabot/core/ui/BotUI.java | 10 +++++++- .../core/ui/listeners/PBKeyListener.java | 7 ++++++ .../ui/listeners/key/ActionEventBinding.java | 22 ++++++++++++++++++ .../core/ui/listeners/key/Binding.java | 23 +++++++++++++++++++ 4 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java create mode 100644 src/main/java/org/parabot/core/ui/listeners/key/ActionEventBinding.java create mode 100644 src/main/java/org/parabot/core/ui/listeners/key/Binding.java diff --git a/src/main/java/org/parabot/core/ui/BotUI.java b/src/main/java/org/parabot/core/ui/BotUI.java index 079beff..95b9972 100644 --- a/src/main/java/org/parabot/core/ui/BotUI.java +++ b/src/main/java/org/parabot/core/ui/BotUI.java @@ -6,6 +6,7 @@ import org.parabot.core.Directories; import org.parabot.core.ui.components.GamePanel; import org.parabot.core.ui.components.VerboseLoader; import org.parabot.core.ui.images.Images; +import org.parabot.core.ui.listeners.PBKeyListener; import org.parabot.core.ui.utils.SwingUtil; import org.parabot.environment.OperatingSystem; import org.parabot.environment.api.utils.StringUtils; @@ -35,6 +36,8 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, private JMenuItem run, pause, stop; private boolean runScript, pauseScript; + private PBKeyListener keyListener; + public BotUI(String username, String password) { if (instance != null) { throw new IllegalStateException("BotUI already created"); @@ -51,6 +54,9 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, addComponentListener(this); addWindowListener(this); + this.keyListener = new PBKeyListener(); + addKeyListener(keyListener); + add(GamePanel.getInstance()); GamePanel.getInstance().add(VerboseLoader.get(username, password), BorderLayout.CENTER); add(Logger.getInstance(), BorderLayout.SOUTH); @@ -142,8 +148,10 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, @Override public void actionPerformed(ActionEvent e) { - String command = e.getActionCommand(); + this.performCommand(e.getActionCommand()); + } + public void performCommand(String command){ switch (command) { case "Create screenshot": try { diff --git a/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java b/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java new file mode 100644 index 0000000..7f7ba79 --- /dev/null +++ b/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java @@ -0,0 +1,7 @@ +package org.parabot.core.ui.listeners; + +/** + * @author JKetelaar + */ +public class PBKeyListener { +} diff --git a/src/main/java/org/parabot/core/ui/listeners/key/ActionEventBinding.java b/src/main/java/org/parabot/core/ui/listeners/key/ActionEventBinding.java new file mode 100644 index 0000000..666d90f --- /dev/null +++ b/src/main/java/org/parabot/core/ui/listeners/key/ActionEventBinding.java @@ -0,0 +1,22 @@ +package org.parabot.core.ui.listeners.key; + +import org.parabot.core.ui.BotUI; + +/** + * @author JKetelaar + */ +public class ActionEventBinding extends Binding { + + private String actionString; + + public ActionEventBinding(int key, String actionString) { + super(key); + this.actionString = actionString; + } + + @Override + public void perform() { + BotUI.getInstance().performCommand(actionString); + } + +} diff --git a/src/main/java/org/parabot/core/ui/listeners/key/Binding.java b/src/main/java/org/parabot/core/ui/listeners/key/Binding.java new file mode 100644 index 0000000..d2545ec --- /dev/null +++ b/src/main/java/org/parabot/core/ui/listeners/key/Binding.java @@ -0,0 +1,23 @@ +package org.parabot.core.ui.listeners.key; + +/** + * @author JKetelaar + */ +public abstract class Binding { + + private int key; + + public Binding(int key) { + this.key = key; + } + + public int getKey() { + return key; + } + + public void setKey(int key) { + this.key = key; + } + + public abstract void perform(); +} From 486304dcdd982720e5f50f25ad53827dadbf62c1 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 12 Jun 2016 02:36:08 +0200 Subject: [PATCH 056/114] [FEATURE] Added base key listeners --- .../core/ui/listeners/PBKeyListener.java | 71 ++++++++++++++++++- 1 file changed, 70 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java b/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java index 7f7ba79..b9460e0 100644 --- a/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java +++ b/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java @@ -1,7 +1,76 @@ package org.parabot.core.ui.listeners; +import org.parabot.core.ui.listeners.key.ActionEventBinding; +import org.parabot.core.ui.listeners.key.Binding; +import org.parabot.environment.OperatingSystem; + +import java.awt.event.KeyEvent; +import java.awt.event.KeyListener; +import java.util.ArrayList; +import java.util.List; + /** * @author JKetelaar */ -public class PBKeyListener { +public class PBKeyListener implements KeyListener { + + private int mainKey; + + private List bindings; + + public PBKeyListener() { + this.bindings = new ArrayList<>(); + this.mainKey = (OperatingSystem.getOS() == OperatingSystem.MAC ? KeyEvent.VK_META : KeyEvent.VK_CONTROL); + this.fillBindings(); + } + + public PBKeyListener(int mainKey) { + this.bindings = new ArrayList<>(); + this.mainKey = mainKey; + this.fillBindings(); + } + + private void fillBindings() { + this.bindings.add(new ActionEventBinding(KeyEvent.VK_R, "Run")); + this.bindings.add(new ActionEventBinding(KeyEvent.VK_R, "Stop")); + } + + public int getMainKey() { + return mainKey; + } + + public void setMainKey(int mainKey) { + this.mainKey = mainKey; + } + + public List getBindings() { + return bindings; + } + + public void addBinding(Binding binding) { + this.bindings.add(binding); + } + + @Override + public void keyTyped(KeyEvent e) { + + } + + @Override + public void keyPressed(KeyEvent e) { + + } + + @Override + public void keyReleased(KeyEvent e) { + System.out.println("test before"); + if (e.getKeyCode() == mainKey) { + System.out.println("Test"); + for (Binding binding : bindings) { + if (binding.getKey() == e.getKeyCode()) { + binding.perform(); + } + } + } + } } From e353efebd17305e406c01bad72264cef1cd59673 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 12 Jun 2016 02:39:37 +0200 Subject: [PATCH 057/114] [CLEANUP] Removed debug --- src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java b/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java index b9460e0..4e0fe21 100644 --- a/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java +++ b/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java @@ -63,9 +63,7 @@ public class PBKeyListener implements KeyListener { @Override public void keyReleased(KeyEvent e) { - System.out.println("test before"); if (e.getKeyCode() == mainKey) { - System.out.println("Test"); for (Binding binding : bindings) { if (binding.getKey() == e.getKeyCode()) { binding.perform(); From 6c13e9dbb785fb35db6b3f50ab5b93752d3a38b2 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 12 Jun 2016 03:23:10 +0200 Subject: [PATCH 058/114] [TASK] Added readme for labels --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index ef23a16..1c0bc4a 100644 --- a/README.md +++ b/README.md @@ -42,3 +42,7 @@ If you'd like to have either or both the client and the API in your project, use ``` **For the latest versions of our dependencies, please check our examples on [the Maven Repository](https://github.com/Parabot/Maven-Repository/tree/master/examples)** + + +#### Labels +Labels are created with [GHLabel](https://github.com/jimmycuadra/ghlabel), whereas the yml is located in the .github directory \ No newline at end of file From 3e2008b67365bac68062a281e6782ef787e90963 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 12 Jun 2016 03:23:18 +0200 Subject: [PATCH 059/114] [FEATURE] Added labels yml config file --- .github/labels.yml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 .github/labels.yml diff --git a/.github/labels.yml b/.github/labels.yml new file mode 100644 index 0000000..b2323c2 --- /dev/null +++ b/.github/labels.yml @@ -0,0 +1,30 @@ +- name: priority:low + color: bfe5bf +- name: priority:medium + color: bfe5bf +- name: priority:high + color: bfe5bf +- name: status:accepted + color: fef2c0 +- name: status:unconfirmed + color: fef2c0 +- name: status:needs more info + color: fef2c0 +- name: status:rejected + color: fef2c0 +- name: status:under consideration + color: fef2c0 +- name: type:bug + color: f7c6c7 +- name: type:feature + color: f7c6c7 +- name: type:improvement + color: f7c6c7 +- name: type:question + color: f7c6c7 +- name: os:windows + color: "666699" +- name: os:mac + color: "666699" +- name: os:other + color: "666699" \ No newline at end of file From d467fc6665e54b89a09bbb69e82cf8b3c708fe69 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Wed, 15 Jun 2016 17:16:38 +0200 Subject: [PATCH 060/114] [BUGFIX] Solve issue with checksum validation --- src/main/java/org/parabot/core/Core.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/main/java/org/parabot/core/Core.java b/src/main/java/org/parabot/core/Core.java index 23e79a8..742c6f3 100644 --- a/src/main/java/org/parabot/core/Core.java +++ b/src/main/java/org/parabot/core/Core.java @@ -159,8 +159,7 @@ public class Core { String result; if ((result = WebUtil.getContents(String.format(Configuration.COMPARE_CHECKSUM_URL, "client", currentVersion.get()), "checksum=" + URLEncoder.encode(sb.toString(), "UTF-8"))) != null) { JSONObject object = (JSONObject) WebUtil.getJsonParser().parse(result); - System.out.println(object.get("result")); - return Boolean.parseBoolean((String) object.get("result")); + return (boolean) object.get("result"); } } } catch (NoSuchAlgorithmException | ParseException | IOException | URISyntaxException e) { From 47e34e6736aef2cc0d98ef532045184843f62b25 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 26 Jun 2016 16:45:06 +0200 Subject: [PATCH 061/114] [FEATURE] Added custom Maven repository This gets rid of our temporary GitHub repository --- pom.xml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pom.xml b/pom.xml index 9697eea..bb8dbd4 100755 --- a/pom.xml +++ b/pom.xml @@ -149,5 +149,23 @@ + + + org.apache.maven.wagon + wagon-ftp + 1.0-beta-6 + + + + + https://maven.parabot.org/ + + false + parabot-maven + Custom Maven Repository + ftp://maven.parabot.org + default + + \ No newline at end of file From 47195f1f84030545c6ef155aed1c71508acefc55 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 26 Jun 2016 17:37:32 +0200 Subject: [PATCH 062/114] [BUGFIX] Solved issue with docs build --- .../org/parabot/core/asm/wrappers/Getter.java | 2 +- .../org/parabot/core/classpath/ClassPath.java | 11 +- .../parabot/core/paint/AbstractDebugger.java | 8 +- .../parabot/environment/api/utils/Timer.java | 2 +- .../api/utils/WindowsPreferences.java | 1105 ----------------- 5 files changed, 11 insertions(+), 1117 deletions(-) delete mode 100644 src/main/java/org/parabot/environment/api/utils/WindowsPreferences.java diff --git a/src/main/java/org/parabot/core/asm/wrappers/Getter.java b/src/main/java/org/parabot/core/asm/wrappers/Getter.java index b5dd55a..a83ec3b 100644 --- a/src/main/java/org/parabot/core/asm/wrappers/Getter.java +++ b/src/main/java/org/parabot/core/asm/wrappers/Getter.java @@ -27,7 +27,7 @@ public class Getter implements Injectable { * * @param into - classnode to inject getter method in * @param fieldLocation - classnode where field is located - * @param fieldName - field name to get + * @param fieldNode - field name to get * @param methodName - method name of getter * @param returnDesc - return type of method, can be null for default return * @param staticMethod - pass true if you want the method to be static diff --git a/src/main/java/org/parabot/core/classpath/ClassPath.java b/src/main/java/org/parabot/core/classpath/ClassPath.java index ddd9881..5a9459f 100644 --- a/src/main/java/org/parabot/core/classpath/ClassPath.java +++ b/src/main/java/org/parabot/core/classpath/ClassPath.java @@ -32,7 +32,6 @@ import org.parabot.core.io.SizeInputStream; import org.parabot.core.ui.components.VerboseLoader; /** - * * Manages, parses and dumps class files & jars * * @author Everel @@ -83,7 +82,7 @@ public class ClassPath { /** * Adds a jar to this classpath * - * @param url + * @param connection */ public void addJar(final URLConnection connection) { try { @@ -148,7 +147,7 @@ public class ClassPath { /** * Finds and loads all classes/jar files in folder * - * @param file + * @param f * to find class / jar files * @param root */ @@ -191,10 +190,10 @@ public class ClassPath { /** * Loads class from input stream - * - * @param inputstream + * + * @param in * @throws IOException - */ + */ protected void loadClass(InputStream in) throws IOException { ClassReader cr = new ClassReader(in); ClassNode cn = new ClassNode(); diff --git a/src/main/java/org/parabot/core/paint/AbstractDebugger.java b/src/main/java/org/parabot/core/paint/AbstractDebugger.java index 82e9e02..98e26a2 100644 --- a/src/main/java/org/parabot/core/paint/AbstractDebugger.java +++ b/src/main/java/org/parabot/core/paint/AbstractDebugger.java @@ -15,11 +15,11 @@ public abstract class AbstractDebugger implements Paintable { * Toggles this debugger */ public abstract void toggle(); - + /** - * - * @return true if this debugger is enabled, otherwise false - */ + * + * @return True if this debugger is enabled, otherwise false + */ public abstract boolean isEnabled(); } diff --git a/src/main/java/org/parabot/environment/api/utils/Timer.java b/src/main/java/org/parabot/environment/api/utils/Timer.java index 24df485..d062895 100644 --- a/src/main/java/org/parabot/environment/api/utils/Timer.java +++ b/src/main/java/org/parabot/environment/api/utils/Timer.java @@ -14,7 +14,7 @@ public class Timer { /** * Timer Constructor * - * @param start + * @param end */ public Timer(long end) { diff --git a/src/main/java/org/parabot/environment/api/utils/WindowsPreferences.java b/src/main/java/org/parabot/environment/api/utils/WindowsPreferences.java deleted file mode 100644 index 7cf72ed..0000000 --- a/src/main/java/org/parabot/environment/api/utils/WindowsPreferences.java +++ /dev/null @@ -1,1105 +0,0 @@ -/* - * Copyright (c) 2000, 2002, Oracle and/or its affiliates. All rights reserved. - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * This code is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 only, as - * published by the Free Software Foundation. Oracle designates this - * particular file as subject to the "Classpath" exception as provided - * by Oracle in the LICENSE file that accompanied this code. - * - * This code is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License - * version 2 for more details (a copy is included in the LICENSE file that - * accompanied this code). - * - * You should have received a copy of the GNU General Public License version - * 2 along with this work; if not, write to the Free Software Foundation, - * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA - * or visit www.oracle.com if you need additional information or have any - * questions. - */ - -package org.parabot.environment.api.utils; - -import java.io.ByteArrayOutputStream; -import java.util.StringTokenizer; -import java.util.logging.Level; -import java.util.logging.Logger; -import java.util.prefs.AbstractPreferences; -import java.util.prefs.BackingStoreException; -import java.util.prefs.Preferences; - -/** - * Windows registry based implementation of Preferences. - * Preferences' systemRoot and userRoot are stored in - * HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Prefs and - * HKEY_CURRENT_USER\Software\JavaSoft\Prefs correspondingly. - * - * @author Konstantin Kladko - * @see Preferences - * @see PreferencesFactory - * @since 1.4 - */ - -public class WindowsPreferences extends AbstractPreferences { - - /** - * Logger for error messages - */ - private static Logger logger; - - /** - * Windows registry path to Preferences's root nodes. - */ - private static final byte[] WINDOWS_ROOT_PATH - = stringToByteArray("Software\\JavaSoft\\Prefs"); - - /** - * Windows handles to HKEY_CURRENT_USER and - * HKEY_LOCAL_MACHINE hives. - */ - private static final int HKEY_CURRENT_USER = 0x80000001; - private static final int HKEY_LOCAL_MACHINE = 0x80000002; - - /** - * Mount point for Preferences' user root. - */ - private static final int USER_ROOT_NATIVE_HANDLE = HKEY_CURRENT_USER; - - /** - * Mount point for Preferences' system root. - */ - private static final int SYSTEM_ROOT_NATIVE_HANDLE = HKEY_LOCAL_MACHINE; - - /** - * Maximum byte-encoded path length for Windows native functions, - * ending null character not included. - */ - private static final int MAX_WINDOWS_PATH_LENGTH = 256; - - /** - * User root node. - */ - static final Preferences userRoot = - new WindowsPreferences(USER_ROOT_NATIVE_HANDLE, WINDOWS_ROOT_PATH); - - /** - * System root node. - */ - static final Preferences systemRoot = - new WindowsPreferences(SYSTEM_ROOT_NATIVE_HANDLE, WINDOWS_ROOT_PATH); - - /* Windows error codes. */ - private static final int ERROR_SUCCESS = 0; - private static final int ERROR_FILE_NOT_FOUND = 2; - private static final int ERROR_ACCESS_DENIED = 5; - - /* Constants used to interpret returns of native functions */ - private static final int NATIVE_HANDLE = 0; - private static final int ERROR_CODE = 1; - private static final int SUBKEYS_NUMBER = 0; - private static final int VALUES_NUMBER = 2; - private static final int MAX_KEY_LENGTH = 3; - private static final int MAX_VALUE_NAME_LENGTH = 4; - private static final int DISPOSITION = 2; - private static final int REG_CREATED_NEW_KEY = 1; - private static final int REG_OPENED_EXISTING_KEY = 2; - private static final int NULL_NATIVE_HANDLE = 0; - - /* Windows security masks */ - private static final int DELETE = 0x10000; - private static final int KEY_QUERY_VALUE = 1; - private static final int KEY_SET_VALUE = 2; - private static final int KEY_CREATE_SUB_KEY = 4; - private static final int KEY_ENUMERATE_SUB_KEYS = 8; - private static final int KEY_READ = 0x20019; - private static final int KEY_WRITE = 0x20006; - private static final int KEY_ALL_ACCESS = 0xf003f; - - /** - * Initial time between registry access attempts, in ms. The time is doubled - * after each failing attempt (except the first). - */ - private static int INIT_SLEEP_TIME = 50; - - /** - * Maximum number of registry access attempts. - */ - private static int MAX_ATTEMPTS = 5; - - /** - * BackingStore availability flag. - */ - private boolean isBackingStoreAvailable = true; - - /** - * Java wrapper for Windows registry API RegOpenKey() - */ - private static native int[] WindowsRegOpenKey(int hKey, byte[] subKey, - int securityMask); - /** - * Retries RegOpenKey() MAX_ATTEMPTS times before giving up. - */ - private static int[] WindowsRegOpenKey1(int hKey, byte[] subKey, - int securityMask) { - int[] result = WindowsRegOpenKey(hKey, subKey, securityMask); - if (result[ERROR_CODE] == ERROR_SUCCESS) { - return result; - } else if (result[ERROR_CODE] == ERROR_FILE_NOT_FOUND) { -// logger().warning("Trying to recreate Windows registry node " + -// byteArrayToString(subKey) + " at root 0x" + -// Integer.toHexString(hKey) + "."); - // Try recreation - int handle = WindowsRegCreateKeyEx(hKey, subKey)[NATIVE_HANDLE]; - WindowsRegCloseKey(handle); - return WindowsRegOpenKey(hKey, subKey, securityMask); - } else if (result[ERROR_CODE] != ERROR_ACCESS_DENIED) { - long sleepTime = INIT_SLEEP_TIME; - for (int i = 0; i < MAX_ATTEMPTS; i++) { - try { - Thread.sleep(sleepTime); - } catch(InterruptedException e) { - return result; - } - sleepTime *= 2; - result = WindowsRegOpenKey(hKey, subKey, securityMask); - if (result[ERROR_CODE] == ERROR_SUCCESS) { - return result; - } - } - } - return result; - } - - /** - * Java wrapper for Windows registry API RegCloseKey() - */ - private static native int WindowsRegCloseKey(int hKey); - - /** - * Java wrapper for Windows registry API RegCreateKeyEx() - */ - private static native int[] WindowsRegCreateKeyEx(int hKey, byte[] subKey); - - /** - * Retries RegCreateKeyEx() MAX_ATTEMPTS times before giving up. - */ - private static int[] WindowsRegCreateKeyEx1(int hKey, byte[] subKey) { - int[] result = WindowsRegCreateKeyEx(hKey, subKey); - if (result[ERROR_CODE] == ERROR_SUCCESS) { - return result; - } else { - long sleepTime = INIT_SLEEP_TIME; - for (int i = 0; i < MAX_ATTEMPTS; i++) { - try { - Thread.sleep(sleepTime); - } catch(InterruptedException e) { - return result; - } - sleepTime *= 2; - result = WindowsRegCreateKeyEx(hKey, subKey); - if (result[ERROR_CODE] == ERROR_SUCCESS) { - return result; - } - } - } - return result; - } - /** - * Java wrapper for Windows registry API RegDeleteKey() - */ - private static native int WindowsRegDeleteKey(int hKey, byte[] subKey); - - /** - * Java wrapper for Windows registry API RegFlushKey() - */ - private static native int WindowsRegFlushKey(int hKey); - - /** - * Retries RegFlushKey() MAX_ATTEMPTS times before giving up. - */ - private static int WindowsRegFlushKey1(int hKey) { - int result = WindowsRegFlushKey(hKey); - if (result == ERROR_SUCCESS) { - return result; - } else { - long sleepTime = INIT_SLEEP_TIME; - for (int i = 0; i < MAX_ATTEMPTS; i++) { - try { - Thread.sleep(sleepTime); - } catch(InterruptedException e) { - return result; - } - sleepTime *= 2; - result = WindowsRegFlushKey(hKey); - if (result == ERROR_SUCCESS) { - return result; - } - } - } - return result; - } - - /** - * Java wrapper for Windows registry API RegQueryValueEx() - */ - private static native byte[] WindowsRegQueryValueEx(int hKey, - byte[] valueName); - /** - * Java wrapper for Windows registry API RegSetValueEx() - */ - private static native int WindowsRegSetValueEx(int hKey, byte[] valueName, - byte[] value); - /** - * Retries RegSetValueEx() MAX_ATTEMPTS times before giving up. - */ - private static int WindowsRegSetValueEx1(int hKey, byte[] valueName, - byte[] value) { - int result = WindowsRegSetValueEx(hKey, valueName, value); - if (result == ERROR_SUCCESS) { - return result; - } else { - long sleepTime = INIT_SLEEP_TIME; - for (int i = 0; i < MAX_ATTEMPTS; i++) { - try { - Thread.sleep(sleepTime); - } catch(InterruptedException e) { - return result; - } - sleepTime *= 2; - result = WindowsRegSetValueEx(hKey, valueName, value); - if (result == ERROR_SUCCESS) { - return result; - } - } - } - return result; - } - - /** - * Java wrapper for Windows registry API RegDeleteValue() - */ - private static native int WindowsRegDeleteValue(int hKey, byte[] valueName); - - /** - * Java wrapper for Windows registry API RegQueryInfoKey() - */ - private static native int[] WindowsRegQueryInfoKey(int hKey); - - /** - * Retries RegQueryInfoKey() MAX_ATTEMPTS times before giving up. - */ - private static int[] WindowsRegQueryInfoKey1(int hKey) { - int[] result = WindowsRegQueryInfoKey(hKey); - if (result[ERROR_CODE] == ERROR_SUCCESS) { - return result; - } else { - long sleepTime = INIT_SLEEP_TIME; - for (int i = 0; i < MAX_ATTEMPTS; i++) { - try { - Thread.sleep(sleepTime); - } catch(InterruptedException e) { - return result; - } - sleepTime *= 2; - result = WindowsRegQueryInfoKey(hKey); - if (result[ERROR_CODE] == ERROR_SUCCESS) { - return result; - } - } - } - return result; - } - - /** - * Java wrapper for Windows registry API RegEnumKeyEx() - */ - private static native byte[] WindowsRegEnumKeyEx(int hKey, int subKeyIndex, - int maxKeyLength); - - /** - * Retries RegEnumKeyEx() MAX_ATTEMPTS times before giving up. - */ - private static byte[] WindowsRegEnumKeyEx1(int hKey, int subKeyIndex, - int maxKeyLength) { - byte[] result = WindowsRegEnumKeyEx(hKey, subKeyIndex, maxKeyLength); - if (result != null) { - return result; - } else { - long sleepTime = INIT_SLEEP_TIME; - for (int i = 0; i < MAX_ATTEMPTS; i++) { - try { - Thread.sleep(sleepTime); - } catch(InterruptedException e) { - return result; - } - sleepTime *= 2; - result = WindowsRegEnumKeyEx(hKey, subKeyIndex, maxKeyLength); - if (result != null) { - return result; - } - } - } - return result; - } - - /** - * Java wrapper for Windows registry API RegEnumValue() - */ - private static native byte[] WindowsRegEnumValue(int hKey, int valueIndex, - int maxValueNameLength); - /** - * Retries RegEnumValueEx() MAX_ATTEMPTS times before giving up. - */ - private static byte[] WindowsRegEnumValue1(int hKey, int valueIndex, - int maxValueNameLength) { - byte[] result = WindowsRegEnumValue(hKey, valueIndex, - maxValueNameLength); - if (result != null) { - return result; - } else { - long sleepTime = INIT_SLEEP_TIME; - for (int i = 0; i < MAX_ATTEMPTS; i++) { - try { - Thread.sleep(sleepTime); - } catch(InterruptedException e) { - return result; - } - sleepTime *= 2; - result = WindowsRegEnumValue(hKey, valueIndex, - maxValueNameLength); - if (result != null) { - return result; - } - } - } - return result; - } - - /** - * Constructs a WindowsPreferences node, creating underlying - * Windows registry node and all its Windows parents, if they are not yet - * created. - * Logs a warning message, if Windows Registry is unavailable. - */ - private WindowsPreferences(WindowsPreferences parent, String name) { - super(parent, name); - int parentNativeHandle = parent.openKey(KEY_CREATE_SUB_KEY, KEY_READ); - if (parentNativeHandle == NULL_NATIVE_HANDLE) { - // if here, openKey failed and logged - isBackingStoreAvailable = false; - return; - } - int[] result = - WindowsRegCreateKeyEx1(parentNativeHandle, toWindowsName(name)); - if (result[ERROR_CODE] != ERROR_SUCCESS) { -// logger().warning("Could not create windows registry " -// + "node " + byteArrayToString(windowsAbsolutePath()) + -// " at root 0x" + Integer.toHexString(rootNativeHandle()) + -// ". Windows RegCreateKeyEx(...) returned error code " + -// result[ERROR_CODE] + "."); - isBackingStoreAvailable = false; - return; - } - newNode = (result[DISPOSITION] == REG_CREATED_NEW_KEY); - closeKey(parentNativeHandle); - closeKey(result[NATIVE_HANDLE]); - } - - /** - * Constructs a root node creating the underlying - * Windows registry node and all of its parents, if they have not yet been - * created. - * Logs a warning message, if Windows Registry is unavailable. - * @param rootNativeHandle Native handle to one of Windows top level keys. - * @param rootDirectory Path to root directory, as a byte-encoded string. - */ - private WindowsPreferences(int rootNativeHandle, byte[] rootDirectory) { - super(null,""); - int[] result = - WindowsRegCreateKeyEx1(rootNativeHandle, rootDirectory); - if (result[ERROR_CODE] != ERROR_SUCCESS) { -// logger().warning("Could not open/create prefs root node " + -// byteArrayToString(windowsAbsolutePath()) + " at root 0x" + -// Integer.toHexString(rootNativeHandle()) + -// ". Windows RegCreateKeyEx(...) returned error code " + -// result[ERROR_CODE] + "."); - isBackingStoreAvailable = false; - return; - } - // Check if a new node - newNode = (result[DISPOSITION] == REG_CREATED_NEW_KEY); - closeKey(result[NATIVE_HANDLE]); - } - - /** - * Returns Windows absolute path of the current node as a byte array. - * Java "/" separator is transformed into Windows "\". - * @see Preferences#absolutePath() - */ - private byte[] windowsAbsolutePath() { - ByteArrayOutputStream bstream = new ByteArrayOutputStream(); - bstream.write(WINDOWS_ROOT_PATH, 0, WINDOWS_ROOT_PATH.length-1); - StringTokenizer tokenizer = new StringTokenizer(absolutePath(),"/"); - while (tokenizer.hasMoreTokens()) { - bstream.write((byte)'\\'); - String nextName = tokenizer.nextToken(); - byte[] windowsNextName = toWindowsName(nextName); - bstream.write(windowsNextName, 0, windowsNextName.length-1); - } - bstream.write(0); - return bstream.toByteArray(); - } - - /** - * Opens current node's underlying Windows registry key using a - * given security mask. - * @param securityMask Windows security mask. - * @return Windows registry key's handle. - * @see #openKey(byte[], int) - * @see #openKey(int, byte[], int) - * @see #closeKey(int) - */ - private int openKey(int securityMask) { - return openKey(securityMask, securityMask); - } - - /** - * Opens current node's underlying Windows registry key using a - * given security mask. - * @param mask1 Preferred Windows security mask. - * @param mask2 Alternate Windows security mask. - * @return Windows registry key's handle. - * @see #openKey(byte[], int) - * @see #openKey(int, byte[], int) - * @see #closeKey(int) - */ - private int openKey(int mask1, int mask2) { - return openKey(windowsAbsolutePath(), mask1, mask2); - } - - /** - * Opens Windows registry key at a given absolute path using a given - * security mask. - * @param windowsAbsolutePath Windows absolute path of the - * key as a byte-encoded string. - * @param mask1 Preferred Windows security mask. - * @param mask2 Alternate Windows security mask. - * @return Windows registry key's handle. - * @see #openKey(int) - * @see #openKey(int, byte[],int) - * @see #closeKey(int) - */ - private int openKey(byte[] windowsAbsolutePath, int mask1, int mask2) { - /* Check if key's path is short enough be opened at once - otherwise use a path-splitting procedure */ - if (windowsAbsolutePath.length <= MAX_WINDOWS_PATH_LENGTH + 1) { - int[] result = WindowsRegOpenKey1(rootNativeHandle(), - windowsAbsolutePath, mask1); - if (result[ERROR_CODE] == ERROR_ACCESS_DENIED && mask2 != mask1) - result = WindowsRegOpenKey1(rootNativeHandle(), - windowsAbsolutePath, mask2); - - if (result[ERROR_CODE] != ERROR_SUCCESS) { -// logger().warning("Could not open windows " -// + "registry node " + byteArrayToString(windowsAbsolutePath()) + -// " at root 0x" + Integer.toHexString(rootNativeHandle()) + -// ". Windows RegOpenKey(...) returned error code " + -// result[ERROR_CODE] + "."); - result[NATIVE_HANDLE] = NULL_NATIVE_HANDLE; - if (result[ERROR_CODE] == ERROR_ACCESS_DENIED) { - throw new SecurityException("Could not open windows " - + "registry node " + byteArrayToString(windowsAbsolutePath()) + - " at root 0x" + Integer.toHexString(rootNativeHandle()) + - ": Access denied"); - } - } - return result[NATIVE_HANDLE]; - } else { - return openKey(rootNativeHandle(), windowsAbsolutePath, mask1, mask2); - } - } - - /** - * Opens Windows registry key at a given relative path - * with respect to a given Windows registry key. - * @param windowsAbsolutePath Windows relative path of the - * key as a byte-encoded string. - * @param nativeHandle handle to the base Windows key. - * @param mask1 Preferred Windows security mask. - * @param mask2 Alternate Windows security mask. - * @return Windows registry key's handle. - * @see #openKey(int) - * @see #openKey(byte[],int) - * @see #closeKey(int) - */ - private int openKey(int nativeHandle, byte[] windowsRelativePath, - int mask1, int mask2) { - /* If the path is short enough open at once. Otherwise split the path */ - if (windowsRelativePath.length <= MAX_WINDOWS_PATH_LENGTH + 1 ) { - int[] result = WindowsRegOpenKey1(nativeHandle, - windowsRelativePath, mask1); - if (result[ERROR_CODE] == ERROR_ACCESS_DENIED && mask2 != mask1) - result = WindowsRegOpenKey1(nativeHandle, - windowsRelativePath, mask2); - - if (result[ERROR_CODE] != ERROR_SUCCESS) { -// logger().warning("Could not open windows " -// + "registry node " + byteArrayToString(windowsAbsolutePath()) + -// " at root 0x" + Integer.toHexString(nativeHandle) + -// ". Windows RegOpenKey(...) returned error code " + -// result[ERROR_CODE] + "."); - result[NATIVE_HANDLE] = NULL_NATIVE_HANDLE; - } - return result[NATIVE_HANDLE]; - } else { - int separatorPosition = -1; - // Be greedy - open the longest possible path - for (int i = MAX_WINDOWS_PATH_LENGTH; i > 0; i--) { - if (windowsRelativePath[i] == ((byte)'\\')) { - separatorPosition = i; - break; - } - } - // Split the path and do the recursion - byte[] nextRelativeRoot = new byte[separatorPosition+1]; - System.arraycopy(windowsRelativePath, 0, nextRelativeRoot,0, - separatorPosition); - nextRelativeRoot[separatorPosition] = 0; - byte[] nextRelativePath = new byte[windowsRelativePath.length - - separatorPosition - 1]; - System.arraycopy(windowsRelativePath, separatorPosition+1, - nextRelativePath, 0, nextRelativePath.length); - int nextNativeHandle = openKey(nativeHandle, nextRelativeRoot, - mask1, mask2); - if (nextNativeHandle == NULL_NATIVE_HANDLE) { - return NULL_NATIVE_HANDLE; - } - int result = openKey(nextNativeHandle, nextRelativePath, - mask1,mask2); - closeKey(nextNativeHandle); - return result; - } - } - - /** - * Closes Windows registry key. - * Logs a warning if Windows registry is unavailable. - * @param key's Windows registry handle. - * @see #openKey(int) - * @see #openKey(byte[],int) - * @see #openKey(int, byte[],int) - */ - private void closeKey(int nativeHandle) { - int result = WindowsRegCloseKey(nativeHandle); - if (result != ERROR_SUCCESS) { -// logger().warning("Could not close windows " -// + "registry node " + byteArrayToString(windowsAbsolutePath()) + -// " at root 0x" + Integer.toHexString(rootNativeHandle()) + -// ". Windows RegCloseKey(...) returned error code " + result + "."); - } - } - - /** - * Implements AbstractPreferences putSpi() method. - * Puts name-value pair into the underlying Windows registry node. - * Logs a warning, if Windows registry is unavailable. - * @see #getSpi(String) - */ - protected void putSpi(String javaName, String value) { - int nativeHandle = openKey(KEY_SET_VALUE); - if (nativeHandle == NULL_NATIVE_HANDLE) { - isBackingStoreAvailable = false; - return; - } - int result = WindowsRegSetValueEx1(nativeHandle, - toWindowsName(javaName), toWindowsValueString(value)); - if (result != ERROR_SUCCESS) { -// logger().warning("Could not assign value to key " + -// byteArrayToString(toWindowsName(javaName))+ " at Windows registry node " -// + byteArrayToString(windowsAbsolutePath()) + " at root 0x" -// + Integer.toHexString(rootNativeHandle()) + -// ". Windows RegSetValueEx(...) returned error code " + result + "."); - isBackingStoreAvailable = false; - } - closeKey(nativeHandle); - } - - /** - * Implements AbstractPreferences getSpi() method. - * Gets a string value from the underlying Windows registry node. - * Logs a warning, if Windows registry is unavailable. - * @see #putSpi(String, String) - */ - protected String getSpi(String javaName) { - int nativeHandle = openKey(KEY_QUERY_VALUE); - if (nativeHandle == NULL_NATIVE_HANDLE) { - return null; - } - Object resultObject = WindowsRegQueryValueEx(nativeHandle, - toWindowsName(javaName)); - if (resultObject == null) { - closeKey(nativeHandle); - return null; - } - closeKey(nativeHandle); - return toJavaValueString((byte[]) resultObject); - } - - /** - * Implements AbstractPreferences removeSpi() method. - * Deletes a string name-value pair from the underlying Windows registry - * node, if this value still exists. - * Logs a warning, if Windows registry is unavailable or key has already - * been deleted. - */ - protected void removeSpi(String key) { - int nativeHandle = openKey(KEY_SET_VALUE); - if (nativeHandle == NULL_NATIVE_HANDLE) { - return; - } - int result = - WindowsRegDeleteValue(nativeHandle, toWindowsName(key)); - if (result != ERROR_SUCCESS && result != ERROR_FILE_NOT_FOUND) { -// logger().warning("Could not delete windows registry " -// + "value " + byteArrayToString(windowsAbsolutePath())+ "\\" + -// toWindowsName(key) + " at root 0x" + -// Integer.toHexString(rootNativeHandle()) + -// ". Windows RegDeleteValue(...) returned error code " + -// result + "."); - isBackingStoreAvailable = false; - } - closeKey(nativeHandle); - } - - /** - * Implements AbstractPreferences keysSpi() method. - * Gets value names from the underlying Windows registry node. - * Throws a BackingStoreException and logs a warning, if - * Windows registry is unavailable. - */ - protected String[] keysSpi() throws BackingStoreException { - // Find out the number of values - int nativeHandle = openKey(KEY_QUERY_VALUE); - if (nativeHandle == NULL_NATIVE_HANDLE) { - throw new BackingStoreException("Could not open windows" - + "registry node " + byteArrayToString(windowsAbsolutePath()) + - " at root 0x" + Integer.toHexString(rootNativeHandle()) + "."); - } - int[] result = WindowsRegQueryInfoKey1(nativeHandle); - if (result[ERROR_CODE] != ERROR_SUCCESS) { - String info = "Could not query windows" - + "registry node " + byteArrayToString(windowsAbsolutePath()) + - " at root 0x" + Integer.toHexString(rootNativeHandle()) + - ". Windows RegQueryInfoKeyEx(...) returned error code " + - result[ERROR_CODE] + "."; -// logger().warning(info); - throw new BackingStoreException(info); - } - int maxValueNameLength = result[MAX_VALUE_NAME_LENGTH]; - int valuesNumber = result[VALUES_NUMBER]; - if (valuesNumber == 0) { - closeKey(nativeHandle); - return new String[0]; - } - // Get the values - String[] valueNames = new String[valuesNumber]; - for (int i = 0; i < valuesNumber; i++) { - byte[] windowsName = WindowsRegEnumValue1(nativeHandle, i, - maxValueNameLength+1); - if (windowsName == null) { - String info = - "Could not enumerate value #" + i + " of windows node " + - byteArrayToString(windowsAbsolutePath()) + " at root 0x" + - Integer.toHexString(rootNativeHandle()) + "."; -// logger().warning(info); - throw new BackingStoreException(info); - } - valueNames[i] = toJavaName(windowsName); - } - closeKey(nativeHandle); - return valueNames; - } - - /** - * Implements AbstractPreferences childrenNamesSpi() method. - * Calls Windows registry to retrive children of this node. - * Throws a BackingStoreException and logs a warning message, - * if Windows registry is not available. - */ - protected String[] childrenNamesSpi() throws BackingStoreException { - // Open key - int nativeHandle = openKey(KEY_ENUMERATE_SUB_KEYS| KEY_QUERY_VALUE); - if (nativeHandle == NULL_NATIVE_HANDLE) { - throw new BackingStoreException("Could not open windows" - + "registry node " + byteArrayToString(windowsAbsolutePath()) + - " at root 0x" + Integer.toHexString(rootNativeHandle()) + "."); - } - // Get number of children - int[] result = WindowsRegQueryInfoKey1(nativeHandle); - if (result[ERROR_CODE] != ERROR_SUCCESS) { - String info = "Could not query windows" - + "registry node " + byteArrayToString(windowsAbsolutePath()) + - " at root 0x" + Integer.toHexString(rootNativeHandle()) + - ". Windows RegQueryInfoKeyEx(...) returned error code " + - result[ERROR_CODE] + "."; -// logger().warning(info); - throw new BackingStoreException(info); - } - int maxKeyLength = result[MAX_KEY_LENGTH]; - int subKeysNumber = result[SUBKEYS_NUMBER]; - if (subKeysNumber == 0) { - closeKey(nativeHandle); - return new String[0]; - } - String[] subkeys = new String[subKeysNumber]; - String[] children = new String[subKeysNumber]; - // Get children - for (int i = 0; i < subKeysNumber; i++) { - byte[] windowsName = WindowsRegEnumKeyEx1(nativeHandle, i, - maxKeyLength+1); - if (windowsName == null) { - String info = - "Could not enumerate key #" + i + " of windows node " + - byteArrayToString(windowsAbsolutePath()) + " at root 0x" + - Integer.toHexString(rootNativeHandle()) + ". "; -// logger().warning(info); - throw new BackingStoreException(info); - } - String javaName = toJavaName(windowsName); - children[i] = javaName; - } - closeKey(nativeHandle); - return children; - } - - /** - * Implements Preferences flush() method. - * Flushes Windows registry changes to disk. - * Throws a BackingStoreException and logs a warning message if Windows - * registry is not available. - */ - public void flush() throws BackingStoreException{ - - if (isRemoved()) { - return; - } - if (!isBackingStoreAvailable) { - throw new BackingStoreException( - "flush(): Backing store not available."); - } - int nativeHandle = openKey(KEY_READ); - if (nativeHandle == NULL_NATIVE_HANDLE) { - throw new BackingStoreException("Could not open windows" - + "registry node " + byteArrayToString(windowsAbsolutePath()) + - " at root 0x" + Integer.toHexString(rootNativeHandle()) + "."); - } - int result = WindowsRegFlushKey1(nativeHandle); - if (result != ERROR_SUCCESS) { - String info = "Could not flush windows " - + "registry node " + byteArrayToString(windowsAbsolutePath()) - + " at root 0x" + Integer.toHexString(rootNativeHandle()) + - ". Windows RegFlushKey(...) returned error code " + result + "."; -// logger().warning(info); - throw new BackingStoreException(info); - } - closeKey(nativeHandle); - } - - - /** - * Implements Preferences sync() method. - * Flushes Windows registry changes to disk. Equivalent to flush(). - * @see flush() - */ - public void sync() throws BackingStoreException{ - if (isRemoved()) - throw new IllegalStateException("Node has been removed"); - flush(); - } - - /** - * Implements AbstractPreferences childSpi() method. - * Constructs a child node with a - * given name and creates its underlying Windows registry node, - * if it does not exist. - * Logs a warning message, if Windows Registry is unavailable. - */ - protected AbstractPreferences childSpi(String name) { - return new WindowsPreferences(this, name); - } - - /** - * Implements AbstractPreferences removeNodeSpi() method. - * Deletes underlying Windows registry node. - * Throws a BackingStoreException and logs a warning, if Windows registry - * is not available. - */ - public void removeNodeSpi() throws BackingStoreException { - int parentNativeHandle = - ((WindowsPreferences)parent()).openKey(DELETE); - if (parentNativeHandle == NULL_NATIVE_HANDLE) { - throw new BackingStoreException("Could not open parent windows" - + "registry node of " + byteArrayToString(windowsAbsolutePath()) + - " at root 0x" + Integer.toHexString(rootNativeHandle()) + "."); - } - int result = - WindowsRegDeleteKey(parentNativeHandle, toWindowsName(name())); - if (result != ERROR_SUCCESS) { - String info = "Could not delete windows " - + "registry node " + byteArrayToString(windowsAbsolutePath()) + - " at root 0x" + Integer.toHexString(rootNativeHandle()) + - ". Windows RegDeleteKeyEx(...) returned error code " + - result + "."; -// logger().warning(info); - throw new BackingStoreException(info); - } - closeKey(parentNativeHandle); - } - - /** - * Converts value's or node's name from its byte array representation to - * java string. Two encodings, simple and altBase64 are used. See - * {@link #toWindowsName(String) toWindowsName()} for a detailed - * description of encoding conventions. - * @param windowsNameArray Null-terminated byte array. - */ - private static String toJavaName(byte[] windowsNameArray) { - String windowsName = byteArrayToString(windowsNameArray); - // check if Alt64 - if ((windowsName.length()>1) && - (windowsName.substring(0,2).equals("/!"))) { - return toJavaAlt64Name(windowsName); - } - StringBuffer javaName = new StringBuffer(); - char ch; - // Decode from simple encoding - for (int i = 0; i < windowsName.length(); i++){ - if ((ch = windowsName.charAt(i)) == '/') { - char next = ' '; - if ((windowsName.length() > i + 1) && - ((next = windowsName.charAt(i+1)) >= 'A') && (next <= 'Z')) { - ch = next; - i++; - } else if ((windowsName.length() > i + 1) && (next == '/')) { - ch = '\\'; - i++; - } - } else if (ch == '\\') { - ch = '/'; - } - javaName.append(ch); - } - return javaName.toString(); - } - - /** - * Converts value's or node's name from its Windows representation to java - * string, using altBase64 encoding. See - * {@link #toWindowsName(String) toWindowsName()} for a detailed - * description of encoding conventions. - */ - - private static String toJavaAlt64Name(String windowsName) { - StringBuffer result = new StringBuffer(); - return result.toString(); - } - - /** - * Converts value's or node's name to its Windows representation - * as a byte-encoded string. - * Two encodings, simple and altBase64 are used. - *

- * Simple encoding is used, if java string does not contain - * any characters less, than 0x0020, or greater, than 0x007f. - * Simple encoding adds "/" character to capital letters, i.e. - * "A" is encoded as "/A". Character '\' is encoded as '//', - * '/' is encoded as '\'. - * The constructed string is converted to byte array by truncating the - * highest byte and adding the terminating null character. - *

- * altBase64 encoding is used, if java string does contain at least - * one character less, than 0x0020, or greater, than 0x007f. - * This encoding is marked by setting first two bytes of the - * Windows string to '/!'. The java name is then encoded using - * byteArrayToAltBase64() method from - * Base64 class. - */ - private static byte[] toWindowsName(String javaName) { - StringBuffer windowsName = new StringBuffer(); - for (int i = 0; i < javaName.length(); i++) { - char ch =javaName.charAt(i); - if ((ch < 0x0020)||(ch > 0x007f)) { - // If a non-trivial character encountered, use altBase64 - return toWindowsAlt64Name(javaName); - } - if (ch == '\\') { - windowsName.append("//"); - } else if (ch == '/') { - windowsName.append('\\'); - } else if ((ch >= 'A') && (ch <='Z')) { - windowsName.append("/" + ch); - } else { - windowsName.append(ch); - } - } - return stringToByteArray(windowsName.toString()); - } - - /** - * Converts value's or node's name to its Windows representation - * as a byte-encoded string, using altBase64 encoding. See - * {@link #toWindowsName(String) toWindowsName()} for a detailed - * description of encoding conventions. - */ - private static byte[] toWindowsAlt64Name(String javaName) { - byte[] javaNameArray = new byte[2*javaName.length()]; - // Convert to byte pairs - int counter = 0; - for (int i = 0; i < javaName.length();i++) { - int ch = javaName.charAt(i); - javaNameArray[counter++] = (byte)(ch >>> 8); - javaNameArray[counter++] = (byte)ch; - } - - return javaNameArray; - } - - /** - * Converts value string from its Windows representation - * to java string. See - * {@link #toWindowsValueString(String) toWindowsValueString()} for the - * description of the encoding algorithm. - */ - private static String toJavaValueString(byte[] windowsNameArray) { - // Use modified native2ascii algorithm - String windowsName = byteArrayToString(windowsNameArray); - StringBuffer javaName = new StringBuffer(); - char ch; - for (int i = 0; i < windowsName.length(); i++){ - if ((ch = windowsName.charAt(i)) == '/') { - char next = ' '; - - if (windowsName.length() > i + 1 && - (next = windowsName.charAt(i + 1)) == 'u') { - if (windowsName.length() < i + 6){ - break; - } else { - ch = (char)Integer.parseInt - (windowsName.substring(i + 2, i + 6), 16); - i += 5; - } - } else - if ((windowsName.length() > i + 1) && - ((windowsName.charAt(i+1)) >= 'A') && (next <= 'Z')) { - ch = next; - i++; - } else if ((windowsName.length() > i + 1) && - (next == '/')) { - ch = '\\'; - i++; - } - } else if (ch == '\\') { - ch = '/'; - } - javaName.append(ch); - } - return javaName.toString(); - } - - /** - * Converts value string to it Windows representation. - * as a byte-encoded string. - * Encoding algorithm adds "/" character to capital letters, i.e. - * "A" is encoded as "/A". Character '\' is encoded as '//', - * '/' is encoded as '\'. - * Then encoding scheme similar to jdk's native2ascii converter is used - * to convert java string to a byte array of ASCII characters. - */ - private static byte[] toWindowsValueString(String javaName) { - StringBuffer windowsName = new StringBuffer(); - for (int i = 0; i < javaName.length(); i++) { - char ch =javaName.charAt(i); - if ((ch < 0x0020)||(ch > 0x007f)){ - // write \udddd - windowsName.append("/u"); - String hex = Integer.toHexString(javaName.charAt(i)); - StringBuffer hex4 = new StringBuffer(hex); - hex4.reverse(); - int len = 4 - hex4.length(); - for (int j = 0; j < len; j++){ - hex4.append('0'); - } - for (int j = 0; j < 4; j++){ - windowsName.append(hex4.charAt(3 - j)); - } - } else if (ch == '\\') { - windowsName.append("//"); - } else if (ch == '/') { - windowsName.append('\\'); - } else if ((ch >= 'A') && (ch <='Z')) { - windowsName.append("/" + ch); - } else { - windowsName.append(ch); - } - } - return stringToByteArray(windowsName.toString()); - } - - /** - * Returns native handle for the top Windows node for this node. - */ - private int rootNativeHandle() { - return (isUserNode()? USER_ROOT_NATIVE_HANDLE : - SYSTEM_ROOT_NATIVE_HANDLE); - } - - /** - * Returns this java string as a null-terminated byte array - */ - private static byte[] stringToByteArray(String str) { - byte[] result = new byte[str.length()+1]; - for (int i = 0; i < str.length(); i++) { - result[i] = (byte) str.charAt(i); - } - result[str.length()] = 0; - return result; - } - - /** - * Converts a null-terminated byte array to java string - */ - private static String byteArrayToString(byte[] array) { - StringBuffer result = new StringBuffer(); - for (int i = 0; i < array.length - 1; i++) { - result.append((char)array[i]); - } - return result.toString(); - } - - /** - * Empty, never used implementation of AbstractPreferences.flushSpi(). - */ - protected void flushSpi() throws BackingStoreException { - // assert false; - } - - /** - * Empty, never used implementation of AbstractPreferences.flushSpi(). - */ - protected void syncSpi() throws BackingStoreException { - // assert false; - } - - private static synchronized Logger logger() { - if (logger == null) { - logger = Logger.getLogger("org.parabot.logger"); - } - logger.setLevel(Level.OFF); - return logger; - } -} \ No newline at end of file From 9b08b15d9bb6bb0cbd8bdb4bdca39368480bc383 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 26 Jun 2016 17:37:47 +0200 Subject: [PATCH 063/114] [TASK] Finished configuration for docs uploading --- pom.xml | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index bb8dbd4..0d5af0d 100755 --- a/pom.xml +++ b/pom.xml @@ -13,6 +13,7 @@ 1.7 + -Xdoclint:none Parabot client @@ -104,12 +105,14 @@ org.apache.maven.plugins maven-javadoc-plugin + 2.10.4 attach-javadocs jar + deploy @@ -117,9 +120,22 @@ false true ${project.build.directory}/apidocs/${project.version} + -Xdoclint:none + + maven-site-plugin + + + attach-descriptor + + attach-descriptor + + + + + org.apache.maven.plugins maven-assembly-plugin @@ -140,7 +156,6 @@ make-assembly - package single @@ -153,7 +168,7 @@ org.apache.maven.wagon wagon-ftp - 1.0-beta-6 + 2.10 @@ -167,5 +182,19 @@ ftp://maven.parabot.org default + + parabot-maven + Frontend Parabot Maven + ftp://maven.parabot.org/sites/${artifactId}/ + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + + + \ No newline at end of file From 5d6b1086b95c506929e59c722f280bdc09d9b62e Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 26 Jun 2016 17:38:03 +0200 Subject: [PATCH 064/114] [CLEANUP] Removed zipping --- .travis/maven-build.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis/maven-build.sh b/.travis/maven-build.sh index 84f9a02..8a830ef 100755 --- a/.travis/maven-build.sh +++ b/.travis/maven-build.sh @@ -3,7 +3,6 @@ if [ "$TRAVIS_BRANCH" == "master" ]; then mvn -U package mkdir -p $TRAVIS_BUILD_DIR/target/apidocs/zips/ - zip -r $TRAVIS_BUILD_DIR/target/apidocs/zips/$PARABOT_VERSION.zip $TRAVIS_BUILD_DIR/target/apidocs/$PARABOT_VERSION else mvn -Dbuild.version="-RC-$TRAVIS_BUILD_ID" -U package fi \ No newline at end of file From 56bf0cb8a8b0695866f355052922e00fde83c5c3 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 26 Jun 2016 17:38:20 +0200 Subject: [PATCH 065/114] [FEATURE] Added file for entire release of deployment --- .travis/release.sh | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .travis/release.sh diff --git a/.travis/release.sh b/.travis/release.sh new file mode 100644 index 0000000..07f254f --- /dev/null +++ b/.travis/release.sh @@ -0,0 +1,3 @@ +#! /bin/bash + +mvn install source:jar javadoc:jar deploy site-deploy \ No newline at end of file From c77f9bd81e861136e8e222fbc0e746914356f43c Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 26 Jun 2016 17:38:52 +0200 Subject: [PATCH 066/114] [CLEANUP] Removed command for directory creation --- .travis/maven-build.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/.travis/maven-build.sh b/.travis/maven-build.sh index 8a830ef..f618ba6 100755 --- a/.travis/maven-build.sh +++ b/.travis/maven-build.sh @@ -2,7 +2,6 @@ if [ "$TRAVIS_BRANCH" == "master" ]; then mvn -U package - mkdir -p $TRAVIS_BUILD_DIR/target/apidocs/zips/ else mvn -Dbuild.version="-RC-$TRAVIS_BUILD_ID" -U package fi \ No newline at end of file From 5a4a6b220d746a8eaa9476dd94c3e984fa6e9e61 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 26 Jun 2016 17:48:57 +0200 Subject: [PATCH 067/114] [BUGFIX] Set url to docs --- pom.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 0d5af0d..f59e771 100755 --- a/pom.xml +++ b/pom.xml @@ -126,6 +126,7 @@ maven-site-plugin + 3.5.1 attach-descriptor @@ -185,7 +186,7 @@ parabot-maven Frontend Parabot Maven - ftp://maven.parabot.org/sites/${artifactId}/ + ftp://maven.parabot.org/docs/${artifactId}/ From 7d6d286c96c06e561130e31172c777c41f1d8af1 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 26 Jun 2016 17:58:20 +0200 Subject: [PATCH 068/114] [CLEANUP] Added whiteline --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index f59e771..93f444d 100755 --- a/pom.xml +++ b/pom.xml @@ -165,6 +165,7 @@ + org.apache.maven.wagon From cef01028931078725937a36c8be4b5306dc6f35a Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 26 Jun 2016 18:46:08 +0200 Subject: [PATCH 069/114] [BUGFIX] Set script to after script instead of deploy --- .travis.yml | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/.travis.yml b/.travis.yml index ddecabd..0e7169a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,7 +13,7 @@ install: script: "./.travis/maven-build.sh" -after_deploy: "./.travis/call-creation.sh" +after_script: "./.travis/call-creation.sh" notifications: email: false @@ -53,17 +53,3 @@ deploy: on: repo: Parabot/Parabot all_branches: true - - provider: s3 - access_key_id: AKIAJDZLZNH2PIKHUKOA - secret_access_key: - secure: MTOqhji8t8DcGRsfZEitMTqMemqxIag4a3dI0SBeWKBMpDCcKOokhGbXFCUBvMukU6tKIFfMo15z2wERZQxCVAxMt7dr1cyuWb49Sdy+mnBR6Z3EsJ2suilBe6b+9odLJVplCQVRPz9VyKnllWwO9D5j/ZpQaf8fb1675PB6feY= - bucket: parabot - skip_cleanup: true - local-dir: "./target/apidocs/zips/" - upload-dir: "artifacts/apidocs" - region: us-west-1 - detect_encoding: true - acl: public_read - on: - repo: Parabot/Parabot - branch: master From 71d87be355899be44e34a72d0e4b37e35f4254e6 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 26 Jun 2016 18:49:51 +0200 Subject: [PATCH 070/114] [DEBUG] Removed silent call --- .travis/call-creation.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis/call-creation.sh b/.travis/call-creation.sh index 5c62f0f..358ef2e 100755 --- a/.travis/call-creation.sh +++ b/.travis/call-creation.sh @@ -1,4 +1,4 @@ #! /bin/bash sleep 15 -curl -sS "http://v3.bdn.parabot.org/api/bot/create/client?build_id=$TRAVIS_BUILD_ID&version=$PARABOT_VERSION" >/dev/null \ No newline at end of file +curl "http://v3.bdn.parabot.org/api/bot/create/client?build_id=$TRAVIS_BUILD_ID&version=$PARABOT_VERSION" \ No newline at end of file From d61644b980bf6ad56f41e51370e73f56bbc4a24d Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 26 Jun 2016 18:57:42 +0200 Subject: [PATCH 071/114] [CLEANUP] Removed debug --- .travis.yml | 2 +- .travis/call-creation.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 0e7169a..89bc4c5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -13,7 +13,7 @@ install: script: "./.travis/maven-build.sh" -after_script: "./.travis/call-creation.sh" +after_deploy: "./.travis/call-creation.sh" notifications: email: false diff --git a/.travis/call-creation.sh b/.travis/call-creation.sh index 358ef2e..5c62f0f 100755 --- a/.travis/call-creation.sh +++ b/.travis/call-creation.sh @@ -1,4 +1,4 @@ #! /bin/bash sleep 15 -curl "http://v3.bdn.parabot.org/api/bot/create/client?build_id=$TRAVIS_BUILD_ID&version=$PARABOT_VERSION" \ No newline at end of file +curl -sS "http://v3.bdn.parabot.org/api/bot/create/client?build_id=$TRAVIS_BUILD_ID&version=$PARABOT_VERSION" >/dev/null \ No newline at end of file From 47a8c49b8af43cc8e8a700b65281e3645ff072a8 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 26 Jun 2016 19:23:16 +0200 Subject: [PATCH 072/114] [CLEANUP] Set Maven to latest version --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 1c0bc4a..3f34909 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ If you'd like to have either or both the client and the API in your project, use git-parabot Parabot's Git based repo - https://github.com/parabot/Maven-Repository/raw/master/ + https://maven.parabot.org/ @@ -32,12 +32,12 @@ If you'd like to have either or both the client and the API in your project, use org.parabot client - 2. + 2.6 org.parabot 317provider - 1.0 + 1.14 ``` From 5fe88ff58df54d604c842895c427cb665144572b Mon Sep 17 00:00:00 2001 From: Emmastone Date: Sun, 16 Oct 2016 13:00:52 +0100 Subject: [PATCH 073/114] [BUGFIX] Fixed merge issues --- src/main/java/org/parabot/core/ui/BotUI.java | 8 +++++++- src/main/java/org/parabot/core/ui/Logger.java | 12 ++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/parabot/core/ui/BotUI.java b/src/main/java/org/parabot/core/ui/BotUI.java index 95b9972..7841006 100644 --- a/src/main/java/org/parabot/core/ui/BotUI.java +++ b/src/main/java/org/parabot/core/ui/BotUI.java @@ -151,7 +151,7 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, this.performCommand(e.getActionCommand()); } - public void performCommand(String command){ + public void performCommand(String command) { switch (command) { case "Create screenshot": try { @@ -218,6 +218,12 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, pauseScript = true; break; case "Stop": + if (pauseScript) { + pauseScript = false; + pause.setEnabled(false); + run.setEnabled(true); + stop.setEnabled(false); + } setScriptState(Script.STATE_STOPPED); break; case "Logger": diff --git a/src/main/java/org/parabot/core/ui/Logger.java b/src/main/java/org/parabot/core/ui/Logger.java index 640216c..73424ff 100644 --- a/src/main/java/org/parabot/core/ui/Logger.java +++ b/src/main/java/org/parabot/core/ui/Logger.java @@ -4,6 +4,8 @@ import org.parabot.core.ui.components.GamePanel; import javax.swing.*; import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; /** * @author JKetelaar @@ -23,6 +25,16 @@ public class Logger extends JPanel { JScrollPane pane = new JScrollPane(list); add(pane, BorderLayout.CENTER); + JButton button = new JButton("Clear Logger"); + button.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + clearLogger(); + addMessage("Logger cleared", false); + } + }); + add(button, BorderLayout.SOUTH); + list.setCellRenderer(getRenderer()); model = new DefaultListModel<>(); From 21876c2541db5b646d74a57cb37194f68fb47bb9 Mon Sep 17 00:00:00 2001 From: Emmastone Date: Sun, 16 Oct 2016 13:42:08 +0100 Subject: [PATCH 074/114] [CLEANUP] Fixed the message on cleaning --- src/main/java/org/parabot/core/ui/Logger.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/parabot/core/ui/Logger.java b/src/main/java/org/parabot/core/ui/Logger.java index 73424ff..172d798 100644 --- a/src/main/java/org/parabot/core/ui/Logger.java +++ b/src/main/java/org/parabot/core/ui/Logger.java @@ -30,7 +30,7 @@ public class Logger extends JPanel { @Override public void actionPerformed(ActionEvent e) { clearLogger(); - addMessage("Logger cleared", false); + addMessage("Logger started", false); } }); add(button, BorderLayout.SOUTH); From ae3b726a088a2c17b5a0752190cdfaee5e0ced27 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 16 Oct 2016 19:03:05 +0200 Subject: [PATCH 075/114] [FEATURE] Moved parts to internal API --- pom.xml | 11 +- src/main/java/org/parabot/Landing.java | 7 +- .../java/org/parabot/core/Directories.java | 329 +----------------- 3 files changed, 14 insertions(+), 333 deletions(-) diff --git a/pom.xml b/pom.xml index 93f444d..f4c1253 100755 --- a/pom.xml +++ b/pom.xml @@ -30,9 +30,9 @@ - git-parabot - Parabot's Git based repo - https://github.com/parabot/Maven-Repository/raw/master/ + parabot-maven + Parabot its Maven Repository + http://maven.parabot.org/ @@ -65,6 +65,11 @@ 4.11 provided + + org.parabot + internal-api + 1.02.7 + diff --git a/src/main/java/org/parabot/Landing.java b/src/main/java/org/parabot/Landing.java index 98d3dbc..4afc7f0 100644 --- a/src/main/java/org/parabot/Landing.java +++ b/src/main/java/org/parabot/Landing.java @@ -18,10 +18,10 @@ import java.io.IOException; import java.net.URI; /** - * Parabot v2.1 + * Parabot v2.6 * - * @author Everel/Parnassian/Clisprail, Paradox/JKetelaar, Matt, Dane - * @version 2.1 + * @author Everel, JKetelaar, Matt, Dane + * @version 2.6 * @see Homepage */ public final class Landing { @@ -60,6 +60,7 @@ public final class Landing { Core.verbose("Validating directories..."); Directories.validate(); + Core.verbose("Validating account manager..."); AccountManager.validate(); diff --git a/src/main/java/org/parabot/core/Directories.java b/src/main/java/org/parabot/core/Directories.java index d18ae07..15cd164 100644 --- a/src/main/java/org/parabot/core/Directories.java +++ b/src/main/java/org/parabot/core/Directories.java @@ -1,15 +1,5 @@ package org.parabot.core; -import org.json.simple.JSONObject; -import org.json.simple.parser.ParseException; -import org.parabot.environment.OperatingSystem; -import org.parabot.environment.api.utils.StringUtils; -import org.parabot.environment.api.utils.WebUtil; - -import javax.swing.*; -import java.io.*; -import java.util.*; - /** * Holds and manages Parabot's used directories * @@ -17,321 +7,6 @@ import java.util.*; * @author JKetelaar * @author Matt */ -public class Directories { - private static Map cached; - private static String tempDir; +public class Directories extends org.parabot.api.io.Directories { - static { - cached = new HashMap<>(); - switch (OperatingSystem.getOS()) { - case WINDOWS: - cached.put("Root", new JFileChooser().getFileSystemView().getDefaultDirectory()); - break; - default: - cached.put("Root", new File(System.getProperty("user.home"))); - } - - Core.verbose("Caching directories..."); - cached.put("Root", getDefaultDirectory()); - cached.put("Workspace", new File(cached.get("Root"), "/Parabot/")); - cached.put("Sources", new File(cached.get("Root"), "/Parabot/scripts/sources/")); - cached.put("Compiled", new File(cached.get("Root"), "/Parabot/scripts/compiled/")); - cached.put("Resources", new File(cached.get("Root"), "/Parabot/scripts/resources/")); - cached.put("Settings", new File(cached.get("Root"), "/Parabot/settings/")); - cached.put("Servers", new File(cached.get("Root"), "/Parabot/servers/")); - cached.put("Cache", new File(cached.get("Root"), "/Parabot/cache/")); - cached.put("Screenshots", new File(cached.get("Root"), "/Parabot/screenshots/")); - Core.verbose("Directories cached."); - - clearCache(259200); - if (Core.isSecure()) { - setHomeDirectory(); - } - } - - private static void setHomeDirectory(){ - File cache; - tempDir = StringUtils.randomString(12); - try { - if ((cache = new File(Directories.getSettingsPath(), "cache.json")).exists()){ - JSONObject object = (JSONObject) WebUtil.getJsonParser().parse(new FileReader(cache)); - String temp; - if ((temp = (String) object.get("homedir")) != null){ - cached.put("Home", new File(cached.get("Root"), "/" + temp + "/")); - } - }else{ - cached.put("Home", createCacheDirectory(cache)); - } - } catch (IOException | ParseException ignored) { - cached.put("Home", new File(cached.get("Root"), "/" + tempDir + "/")); - } - if (!cached.get("Home").exists()) { - cached.get("Home").mkdirs(); - } - System.out.println("Set temporary cache directory to: " + cached.get("Home")); - } - - private static File createCacheDirectory(File cacheFile) throws IOException { - cacheFile.createNewFile(); - JSONObject object = new JSONObject(); - object.put("homedir", tempDir); - FileWriter file = new FileWriter(cacheFile); - file.write(object.toJSONString()); - file.flush(); - file.close(); - - File cacheDir = new File(cached.get("Root"), "/" + tempDir + "/"); - if (!cacheDir.exists()) { - cacheDir.mkdirs(); - } - - return cacheDir; - } - - /** - * Set script bin folder - * - * @param f - */ - public static void setScriptCompiledDirectory(File f) { - if (!f.isDirectory()) { - throw new IllegalArgumentException(f + "is not a directory."); - } - cached.put("Compiled", f); - } - - /** - * Set server bin folder - * - * @param f - */ - public static void setServerCompiledDirectory(File f) { - if (!f.isDirectory()) { - throw new IllegalArgumentException(f + "is not a directory."); - } - cached.put("Servers", f); - } - - - /** - * Returns the root directory outside of the main Parabot folder. - * - * @return - */ - public static File getDefaultDirectory() { - return cached.get("Root"); - } - - /** - * Returns the Parabot folder. - * - * @return - */ - public static File getWorkspace() { - return cached.get("Workspace"); - } - - /** - * Returns the script sources folder. - * - * @return - */ - public static File getScriptSourcesPath() { - return cached.get("Sources"); - } - - /** - * Returns the compiled scripts folder. - * - * @return - */ - public static File getScriptCompiledPath() { - return cached.get("Compiled"); - } - - /** - * Returns the scripts resources folder. - * - * @return - */ - public static File getResourcesPath() { - return cached.get("Resources"); - } - - /** - * Returns the Parabot settings folder. - * - * @return - */ - public static File getSettingsPath() { - return cached.get("Settings"); - } - - /** - * Returns the Parabot servers folder. - * - * @return - */ - public static File getServerPath() { - return cached.get("Servers"); - } - - /** - * Returns the Parabot cache folder. - * - * @return - */ - public static File getCachePath() { - return cached.get("Cache"); - } - - /** - * Returns the redirected Home Directory - * @return - */ - public static File getHomeDir() { - return cached.get("Home"); - } - - - /** - * Returns the screenshot folder. - * - * @return - */ - public static File getScreenshotDir() { - return cached.get("Screenshots"); - } - - /** - * Validates all directories and makes them if necessary - */ - public static void validate() { - final File defaultPath = getDefaultDirectory(); - if (defaultPath == null || !defaultPath.exists()) { - throw new RuntimeException("Default path not found"); - } - final Queue files = new LinkedList(); - files.addAll(cached.values()); - while (files.size() > 0) { - final File file = files.poll(); - if (!file.exists()) { - Core.verbose("Generating directory: " + file.getAbsolutePath()); - file.mkdirs(); - if (!file.exists()) { - System.err.println("Failed to make directory: " + file.getAbsolutePath()); - } - } - } - } - - private static File temp = null; - - public static File getTempDirectory() { - if (temp != null) { - return temp; - } - int randomNum = new Random().nextInt(999999999); - temp = new File(getResourcesPath(), randomNum + "/"); - temp.mkdirs(); - temp.deleteOnExit(); - return temp; - } - - /** - * Clears the cache based on the latest modification - * - * @param remove A long that represents the amount of seconds that a file may have since the latest modification - * @param force Defines if the cache folder, within user.home, should also be removed - */ - public static void clearCache(int remove, boolean force){ - File[] cache = getCachePath().listFiles(); - if (cache != null) { - for (File f : cache) { - if (f != null && System.currentTimeMillis() / 1000 - f.lastModified() / 1000 > remove) { - Core.verbose("Clearing " + f.getName() + " from cache..."); - f.delete(); - } - } - } - - if (force){ - File cacheFile; - - if ((cacheFile = new File(Directories.getSettingsPath(), "cache.json")).exists()){ - try { - JSONObject jsonObject = (JSONObject) WebUtil.getJsonParser().parse(new FileReader(cacheFile)); - if (jsonObject != null){ - Object dirObject; - if ((dirObject = jsonObject.get("homedir")) != null) { - String dir = (String) dirObject; - if (dir.length() > 0) { - File cacheDir = new File(cached.get("Root"), "/" + dir + "/"); - removeDirectory(cacheDir); - createCacheDirectory(cacheFile); - } - } - } - - } catch (IOException | ParseException e) { - e.printStackTrace(); - } - } - } - } - - private static void clearCache(int remove) { - clearCache(remove, false); - } - - public static void clearCache() { - clearCache(0, true); - } - - /** - * @param file Directory to be removed - */ - private static void removeDirectory(File file) { - if (file.isDirectory()) { - if (file.list().length == 0) { - file.delete(); - Core.verbose("Directory is deleted : " - + file.getAbsolutePath()); - } else { - String files[] = file.list(); - for (String temp : files) { - File fileDelete = new File(file, temp); - removeDirectory(fileDelete); - } - - if (file.list().length == 0) { - file.delete(); - Core.verbose("Directory is deleted : " - + file.getAbsolutePath()); - } - } - } else { - file.delete(); - Core.verbose("File is deleted : " + file.getAbsolutePath()); - } - } - - /** - * Returns an array of files with from a given directory and a given extension - * - * @param directory The directory where should be searched - * @param extension The extension to be searched for, including the dot (like .json) - * @return An array of of files that match the request - */ - public static File[] listFilesWithExtension(File directory, final String extension){ - return directory.listFiles(new FilenameFilter() { - public boolean accept(File dir, String filename) { - return filename.endsWith(extension); - } - }); - } - - public static File[] listJSONFiles(File directory) { - return listFilesWithExtension(directory, ".json"); - } -} +} \ No newline at end of file From e89fb49a823030957e6b4be5addc25b0160050d6 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 16 Oct 2016 19:08:27 +0200 Subject: [PATCH 076/114] [BUGFIX] Added git repository --- pom.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pom.xml b/pom.xml index f4c1253..1983648 100755 --- a/pom.xml +++ b/pom.xml @@ -34,6 +34,11 @@ Parabot its Maven Repository http://maven.parabot.org/ + + git-parabot + Parabot's Git based repo + https://github.com/parabot/Maven-Repository/raw/master/ + From 8ab73911d4c08fbd0cbde68828f69f16a106434e Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 16 Oct 2016 19:24:38 +0200 Subject: [PATCH 077/114] [FEATURE] Added JDK8 as build check to Travis --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 89bc4c5..bcf0c24 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,6 +2,7 @@ language: java jdk: - oraclejdk7 + - oraclejdk8 before_install: - chmod +x ./.travis/maven-build.sh From 8eae7dc05090983a307024eeb50ff5be30deb5db Mon Sep 17 00:00:00 2001 From: Emmastone Date: Sun, 16 Oct 2016 19:08:26 +0100 Subject: [PATCH 078/114] [BUGFIX] Renamed started to initialised --- src/main/java/org/parabot/core/ui/BotUI.java | 2 +- src/main/java/org/parabot/core/ui/Logger.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/parabot/core/ui/BotUI.java b/src/main/java/org/parabot/core/ui/BotUI.java index 7841006..0a7dce0 100644 --- a/src/main/java/org/parabot/core/ui/BotUI.java +++ b/src/main/java/org/parabot/core/ui/BotUI.java @@ -234,7 +234,7 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, Logger.getInstance().setClearable(); } else if (Logger.getInstance().isClearable() && !Logger.getInstance().isVisible()) { Logger.clearLogger(); - Logger.addMessage("Logger started", false); + Logger.addMessage("Logger initialised", false); } break; case "Disable dialog": diff --git a/src/main/java/org/parabot/core/ui/Logger.java b/src/main/java/org/parabot/core/ui/Logger.java index 172d798..8043692 100644 --- a/src/main/java/org/parabot/core/ui/Logger.java +++ b/src/main/java/org/parabot/core/ui/Logger.java @@ -30,7 +30,7 @@ public class Logger extends JPanel { @Override public void actionPerformed(ActionEvent e) { clearLogger(); - addMessage("Logger started", false); + addMessage("Logger initialised", false); } }); add(button, BorderLayout.SOUTH); @@ -40,7 +40,7 @@ public class Logger extends JPanel { model = new DefaultListModel<>(); list.setModel(model); setPreferredSize(new Dimension((int) GamePanel.getInstance().getPreferredSize().getWidth(), 150)); - model.addElement("Logger started"); + model.addElement("Logger initialised"); setVisible(false); } From a41a5eb087dab3b16adb258f2a6ae8246f4e5e02 Mon Sep 17 00:00:00 2001 From: Making GitHub Delicious Date: Sat, 11 Jun 2016 19:00:18 -0600 Subject: [PATCH 079/114] add waffle.io badge --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3f34909..dd1421e 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ +[![Stories in Ready](https://badge.waffle.io/Parabot/Parabot.png?label=ready&title=Ready)](https://waffle.io/Parabot/Parabot) [![Build Status](https://travis-ci.org/Parabot/Parabot.svg?branch=master)](https://travis-ci.org/Parabot/Parabot) # Parabot From 8402162ad53746c8a4053d694eb00df64a107ad0 Mon Sep 17 00:00:00 2001 From: Fryslan Date: Sun, 16 Oct 2016 20:40:42 +0200 Subject: [PATCH 080/114] [TYPO] Added a space between Text and Error at Landing:135 --- src/main/java/org/parabot/Landing.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/parabot/Landing.java b/src/main/java/org/parabot/Landing.java index 4afc7f0..4d6c1d0 100644 --- a/src/main/java/org/parabot/Landing.java +++ b/src/main/java/org/parabot/Landing.java @@ -131,7 +131,7 @@ public final class Landing { case "-proxy": ProxyType type = ProxyType.valueOf(args[++i].toUpperCase()); if (type == null) { - System.err.println("Invalid proxy type:" + args[i]); + System.err.println("Invalid proxy type: " + args[i]); System.exit(1); return; } From 88c94cfce1b4b67992bd41ce443eb0129a3f2caf Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Mon, 17 Oct 2016 00:36:14 +0200 Subject: [PATCH 081/114] [FEATURE] Started implementing translations For issue #100 --- pom.xml | 2 +- src/main/java/org/parabot/Landing.java | 23 ++++++++++++----------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/pom.xml b/pom.xml index 1983648..15feec6 100755 --- a/pom.xml +++ b/pom.xml @@ -73,7 +73,7 @@ org.parabot internal-api - 1.02.7 + 1.03.1 diff --git a/src/main/java/org/parabot/Landing.java b/src/main/java/org/parabot/Landing.java index 4d6c1d0..9be2c18 100644 --- a/src/main/java/org/parabot/Landing.java +++ b/src/main/java/org/parabot/Landing.java @@ -1,5 +1,6 @@ package org.parabot; +import org.parabot.api.translations.TranslationHelper; import org.parabot.core.Configuration; import org.parabot.core.Core; import org.parabot.core.Directories; @@ -32,10 +33,10 @@ public final class Landing { parseArgs(args); - Core.verbose("Debug mode: " + Core.inDebugMode()); + Core.verbose(TranslationHelper.translate("DEBUG_MODE") + Core.inDebugMode()); try { - Core.verbose("Setting look and feel: " + Core.verbose(TranslationHelper.translate("SETTING_LOOK_AND_FEEL") + UIManager.getSystemLookAndFeelClassName()); UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (Throwable t) { @@ -43,25 +44,25 @@ public final class Landing { } if (!Core.inDebugMode() && !Core.isValid() && Core.hasValidation()) { - UILog.log("Updates", - "Please download the newest version of Parabot at " + UILog.log(TranslationHelper.translate("UPDATES"), + TranslationHelper.translate("DOWNLOAD_UPDATE_PARABOT_AT") + Configuration.DOWNLOAD_BOT, JOptionPane.INFORMATION_MESSAGE); URI uri = URI.create(Configuration.API_DOWNLOAD_BOT); try { Desktop.getDesktop().browse(uri); } catch (IOException e1) { - JOptionPane.showMessageDialog(null, "Connection Error", - "Error", JOptionPane.ERROR_MESSAGE); + JOptionPane.showMessageDialog(null, TranslationHelper.translate("CONNECTION_ERROR"), + TranslationHelper.translate("ERROR"), JOptionPane.ERROR_MESSAGE); e1.printStackTrace(); } return; } - Core.verbose("Validating directories..."); + Core.verbose(TranslationHelper.translate("VALIDATING_DIRECTORIES")); Directories.validate(); - Core.verbose("Validating account manager..."); + Core.verbose(TranslationHelper.translate("VALIDATION_ACCOUNT_MANAGER")); AccountManager.validate(); if (username != null && password != null) { @@ -71,7 +72,7 @@ public final class Landing { return; } - Core.verbose("Starting login gui..."); + Core.verbose(TranslationHelper.translate("STARTING_LOGIN_GUI")); new BotUI(null, null); } @@ -82,7 +83,7 @@ public final class Landing { case "-createdirs": Directories.validate(); System.out - .println("Directories created, you can now run parabot."); + .println(TranslationHelper.translate(("DIRECTORIES_CREATED"))); System.exit(0); break; case "-debug": @@ -131,7 +132,7 @@ public final class Landing { case "-proxy": ProxyType type = ProxyType.valueOf(args[++i].toUpperCase()); if (type == null) { - System.err.println("Invalid proxy type: " + args[i]); + System.err.println(TranslationHelper.translate("INVALID_PROXY_TYPE") + args[i]); System.exit(1); return; } From bf3569533104bbddf1e008ddd2f68a0cbf74247e Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Mon, 17 Oct 2016 01:09:47 +0200 Subject: [PATCH 082/114] [BUGFIX] Calling POST method instead of GET --- .travis/call-creation.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis/call-creation.sh b/.travis/call-creation.sh index 5c62f0f..ad003f8 100755 --- a/.travis/call-creation.sh +++ b/.travis/call-creation.sh @@ -1,4 +1,4 @@ #! /bin/bash -sleep 15 -curl -sS "http://v3.bdn.parabot.org/api/bot/create/client?build_id=$TRAVIS_BUILD_ID&version=$PARABOT_VERSION" >/dev/null \ No newline at end of file +sleep 5 +curl --data "build_id=$TRAVIS_BUILD_ID&version=$PARABOT_VERSION" -sS "http://v3.bdn.parabot.org/api/bot/create/client" >/dev/null \ No newline at end of file From db9686512c9ba2778cc4d80dc7d78006d86a4333 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Mon, 17 Oct 2016 01:19:54 +0200 Subject: [PATCH 083/114] [!][BUGFIX] We should only deploy on jdk7 --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index bcf0c24..09ecbf6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -54,3 +54,4 @@ deploy: on: repo: Parabot/Parabot all_branches: true + jdk: 'oraclejdk7' From 9fe519870913ad839710dca563e5a3f7e0ec868d Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Mon, 17 Oct 2016 01:20:19 +0200 Subject: [PATCH 084/114] =?UTF-8?q?[BUGFIX]=20We=E2=80=99re=20still=20in?= =?UTF-8?q?=20development,=20let=E2=80=99s=20show=20the=20content?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .travis/call-creation.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis/call-creation.sh b/.travis/call-creation.sh index ad003f8..57cefe8 100755 --- a/.travis/call-creation.sh +++ b/.travis/call-creation.sh @@ -1,4 +1,4 @@ #! /bin/bash sleep 5 -curl --data "build_id=$TRAVIS_BUILD_ID&version=$PARABOT_VERSION" -sS "http://v3.bdn.parabot.org/api/bot/create/client" >/dev/null \ No newline at end of file +curl --data "build_id=$TRAVIS_BUILD_ID&version=$PARABOT_VERSION" "http://v3.bdn.parabot.org/api/bot/create/client" \ No newline at end of file From 0e6baf9b5f080b2635bcdc5d21331ead72a6f6f8 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Mon, 17 Oct 2016 02:47:07 +0200 Subject: [PATCH 085/114] [FEATURE] Finished key bindings --- src/main/java/org/parabot/core/Context.java | 10 ++++++ src/main/java/org/parabot/core/ui/BotUI.java | 5 --- .../core/ui/listeners/PBKeyListener.java | 34 ++++++------------- .../parabot/environment/scripts/Script.java | 3 ++ 4 files changed, 24 insertions(+), 28 deletions(-) diff --git a/src/main/java/org/parabot/core/Context.java b/src/main/java/org/parabot/core/Context.java index acbe9c0..98a0896 100644 --- a/src/main/java/org/parabot/core/Context.java +++ b/src/main/java/org/parabot/core/Context.java @@ -9,6 +9,7 @@ import org.parabot.core.parsers.hooks.HookParser; import org.parabot.core.ui.BotDialog; import org.parabot.core.ui.BotUI; import org.parabot.core.ui.components.GamePanel; +import org.parabot.core.ui.listeners.PBKeyListener; import org.parabot.environment.api.interfaces.Paintable; import org.parabot.environment.input.Keyboard; import org.parabot.environment.input.Mouse; @@ -47,6 +48,7 @@ public class Context { private PaintDebugger paintDebugger; private Mouse mouse; private Keyboard keyboard; + private PBKeyListener pbKeyListener; private ServerProviderInfo providerInfo; private JSONParser jsonParser; @@ -225,6 +227,10 @@ public class Context { Core.verbose("Initializing keyboard..."); serverProvider.initKeyboard(); Core.verbose("Done."); + + Core.verbose("Initializing key listener..."); + this.pbKeyListener = new PBKeyListener(); + applet.addKeyListener(this.pbKeyListener); BotDialog.getInstance().validate(); System.setOut(this.defaultOut); @@ -359,4 +365,8 @@ public class Context { public JSONParser getJsonParser() { return jsonParser; } + + public PBKeyListener getPbKeyListener() { + return pbKeyListener; + } } diff --git a/src/main/java/org/parabot/core/ui/BotUI.java b/src/main/java/org/parabot/core/ui/BotUI.java index 0a7dce0..4764c78 100644 --- a/src/main/java/org/parabot/core/ui/BotUI.java +++ b/src/main/java/org/parabot/core/ui/BotUI.java @@ -36,8 +36,6 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, private JMenuItem run, pause, stop; private boolean runScript, pauseScript; - private PBKeyListener keyListener; - public BotUI(String username, String password) { if (instance != null) { throw new IllegalStateException("BotUI already created"); @@ -54,9 +52,6 @@ public class BotUI extends JFrame implements ActionListener, ComponentListener, addComponentListener(this); addWindowListener(this); - this.keyListener = new PBKeyListener(); - addKeyListener(keyListener); - add(GamePanel.getInstance()); GamePanel.getInstance().add(VerboseLoader.get(username, password), BorderLayout.CENTER); add(Logger.getInstance(), BorderLayout.SOUTH); diff --git a/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java b/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java index 4e0fe21..127cfde 100644 --- a/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java +++ b/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java @@ -14,19 +14,10 @@ import java.util.List; */ public class PBKeyListener implements KeyListener { - private int mainKey; - private List bindings; public PBKeyListener() { this.bindings = new ArrayList<>(); - this.mainKey = (OperatingSystem.getOS() == OperatingSystem.MAC ? KeyEvent.VK_META : KeyEvent.VK_CONTROL); - this.fillBindings(); - } - - public PBKeyListener(int mainKey) { - this.bindings = new ArrayList<>(); - this.mainKey = mainKey; this.fillBindings(); } @@ -35,14 +26,6 @@ public class PBKeyListener implements KeyListener { this.bindings.add(new ActionEventBinding(KeyEvent.VK_R, "Stop")); } - public int getMainKey() { - return mainKey; - } - - public void setMainKey(int mainKey) { - this.mainKey = mainKey; - } - public List getBindings() { return bindings; } @@ -51,6 +34,11 @@ public class PBKeyListener implements KeyListener { this.bindings.add(binding); } + public void resetBindings(){ + this.bindings = new ArrayList<>(); + this.fillBindings(); + } + @Override public void keyTyped(KeyEvent e) { @@ -58,12 +46,7 @@ public class PBKeyListener implements KeyListener { @Override public void keyPressed(KeyEvent e) { - - } - - @Override - public void keyReleased(KeyEvent e) { - if (e.getKeyCode() == mainKey) { + if (e.isControlDown()) { for (Binding binding : bindings) { if (binding.getKey() == e.getKeyCode()) { binding.perform(); @@ -71,4 +54,9 @@ public class PBKeyListener implements KeyListener { } } } + + @Override + public void keyReleased(KeyEvent e) { + + } } diff --git a/src/main/java/org/parabot/environment/scripts/Script.java b/src/main/java/org/parabot/environment/scripts/Script.java index 5fdd485..aa33f4b 100644 --- a/src/main/java/org/parabot/environment/scripts/Script.java +++ b/src/main/java/org/parabot/environment/scripts/Script.java @@ -123,6 +123,9 @@ public class Script implements Runnable { this.state = STATE_STOPPED; context.setRunningScript(null); + Core.verbose("Resetting key bindings..."); + Context.getInstance().getPbKeyListener().resetBindings(); + BotUI.getInstance().toggleRun(); Core.verbose("Done."); } From 3e125c5211d416a595d8ed08d2676c89a5a4e325 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Mon, 17 Oct 2016 02:50:29 +0200 Subject: [PATCH 086/114] =?UTF-8?q?[BUGFIX]=20Added=20check=20if=20there?= =?UTF-8?q?=E2=80=99s=20not=20already=20a=20key=20assigned?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/parabot/core/ui/listeners/PBKeyListener.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java b/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java index 127cfde..2883460 100644 --- a/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java +++ b/src/main/java/org/parabot/core/ui/listeners/PBKeyListener.java @@ -31,6 +31,11 @@ public class PBKeyListener implements KeyListener { } public void addBinding(Binding binding) { + for (Binding bind : this.bindings){ + if (bind.getKey() == binding.getKey()){ + return; + } + } this.bindings.add(binding); } From c0c9309971587bbdccdc3c2e5d86415b7dd046e4 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Mon, 17 Oct 2016 14:45:39 +0200 Subject: [PATCH 087/114] [FEATURe] Added Pull request template --- .github/PULL_REQUEST_TEMPLATE.md | 37 ++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 .github/PULL_REQUEST_TEMPLATE.md diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..3155964 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,37 @@ +Provide a general summary of your changes in the **Title** above. + +### Important +Mark with [x] to select. Leave as [ ] to unselect. +If possible; include a screenshot or gif of the change you've made + +### Motivation and Context +Each item you can check should be described in the _Description_ section. + +- [ ] Why is this change required? What problem does it solve? +- [ ] If it fixes an open issue, include the text `Closes issue #1` (where 1 would be the issue number) to your commit message. + +### Types of changes +What types of changes does your code introduce? Check all the boxes that apply: +- [ ] Bug fix (non-breaking change which fixes an issue) +- [ ] New feature (non-breaking change which adds functionality) +- [ ] Breaking change (fix or feature that would cause existing functionality to change) +- [ ] Cleanup (non-breaking change which cleans up the code) + +### Description +... + +### Final checklist +Go over all the following points and check all the boxes that apply. +If you're unsure about any of these, don't hesitate to ask. We're here to help! +Various areas of the codebase have been worked on by different people in recent years, so if you are unfamiliar with the general area you're working in, please feel free to chat with people who have experience in that area. + +- [ ] My change requires a change to the documentation. +- [ ] I have updated the documentation accordingly. +- [ ] I have tested the functionality +- [ ] I have added tests for this functionality + +Your pull request will be tested via Travis CI to automatically indicate that your changes do not prevent compilation. + +If it reports back that there are problems, you go to [the Travis system](https://travis-ci.org/Parabot/Parabot) and check the log report for your pull request to see what the problem was. +If you add new code to fix a Travis building issue/problem, then take note that you need to check the next pull request in the Travis system. +Travis issue numbers are different from GitHub issue numbers. \ No newline at end of file From dcb4334c5c2554090d6c9161bd92f46c911015eb Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Mon, 17 Oct 2016 14:48:07 +0200 Subject: [PATCH 088/114] [FEATURE] Added Issue template --- .github/ISSUE_TEMPLATE.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE.md diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..2fd0c5d --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,20 @@ +* Provide a general summary of the issue in the **Title** above. +* Before you open an issue, please check if a similar issue already exists or has been closed before. + +### Important +Mark with [x] to select. Leave as [ ] to unselect. + +### When reporting a bug/issue: +- [ ] Screenshot +- [ ] The Parabot version and the operating system you're using +- [ ] The behavior you expect to see, and the actual behavior +- [ ] Steps to reproduce the behavior +- [ ] \(optional) Possible solution/fix/workaround + +### When you open an issue for a change/improvement/feature request: +- [ ] A description of the problem you're trying to solve, including _why_ you think this is a problem +- [ ] If the feature changes current behavior, reasons why your solution is better +- [ ] \(optional) Possible solution/fix/workaround + +### Description +... \ No newline at end of file From 8d63aaaa52f3e2b5d7f732761fda3d8c0effb296 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Mon, 17 Oct 2016 14:48:18 +0200 Subject: [PATCH 089/114] [TASK] Moved description down --- .github/PULL_REQUEST_TEMPLATE.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 3155964..82097bb 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -17,9 +17,6 @@ What types of changes does your code introduce? Check all the boxes that apply: - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Cleanup (non-breaking change which cleans up the code) -### Description -... - ### Final checklist Go over all the following points and check all the boxes that apply. If you're unsure about any of these, don't hesitate to ask. We're here to help! @@ -34,4 +31,7 @@ Your pull request will be tested via Travis CI to automatically indicate that yo If it reports back that there are problems, you go to [the Travis system](https://travis-ci.org/Parabot/Parabot) and check the log report for your pull request to see what the problem was. If you add new code to fix a Travis building issue/problem, then take note that you need to check the next pull request in the Travis system. -Travis issue numbers are different from GitHub issue numbers. \ No newline at end of file +Travis issue numbers are different from GitHub issue numbers. + +### Description +... \ No newline at end of file From b5a1e02e1d34fbf6d293cbd264c06e989759fead Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Mon, 17 Oct 2016 14:56:36 +0200 Subject: [PATCH 090/114] [FEATURE] Moved from GPL-V2 to GPL-V3 --- LICENSE.md | 890 ++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 613 insertions(+), 277 deletions(-) diff --git a/LICENSE.md b/LICENSE.md index d7f1051..2a99aee 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,339 +1,675 @@ -GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 +### GNU GENERAL PUBLIC LICENSE - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. +Version 3, 29 June 2007 - Preamble +Copyright (C) 2007 Free Software Foundation, Inc. + - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. +Everyone is permitted to copy and distribute verbatim copies of this +license document, but changing it is not allowed. - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you +### Preamble + +The GNU General Public License is a free, copyleft license for +software and other kinds of works. + +The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom +to share and change all versions of a program--to make sure it remains +free software for all its users. We, the Free Software Foundation, use +the GNU General Public License for most of our software; it applies +also to any other work released this way by its authors. You can apply +it to your programs, too. + +When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. +To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you +have certain responsibilities if you distribute copies of the +software, or if you modify it: responsibilities to respect the freedom +of others. - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. +For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. +Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. +For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. +Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the +manufacturer can do so. This is fundamentally incompatible with the +aim of protecting users' freedom to change the software. The +systematic pattern of such abuse occurs in the area of products for +individuals to use, which is precisely where it is most unacceptable. +Therefore, we have designed this version of the GPL to prohibit the +practice for those products. If such problems arise substantially in +other domains, we stand ready to extend this provision to those +domains in future versions of the GPL, as needed to protect the +freedom of users. - The precise terms and conditions for copying, distribution and +Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish +to avoid the special danger that patents applied to a free program +could make it effectively proprietary. To prevent this, the GPL +assures that patents cannot be used to render the program non-free. + +The precise terms and conditions for copying, distribution and modification follow. - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION +### TERMS AND CONDITIONS - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". +#### 0. Definitions. -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. +"This License" refers to version 3 of the GNU General Public License. - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. +"Copyright" also means copyright-like laws that apply to other kinds +of works, such as semiconductor masks. -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. +"The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: +To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of +an exact copy. The resulting work is called a "modified version" of +the earlier work or a work "based on" the earlier work. - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. +A "covered work" means either the unmodified Program or a work based +on the Program. - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. +To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) +To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user +through a computer network, with no transfer of a copy, is not +conveying. -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. +An interactive user interface displays "Appropriate Legal Notices" to +the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. +#### 1. Source Code. -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. +The "source code" for a work means the preferred form of the work for +making modifications to it. "Object code" means any non-source form of +a work. - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: +A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, +The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, +The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) +The Corresponding Source need not include anything that users can +regenerate automatically from other parts of the Corresponding Source. -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. +The Corresponding Source for a work in source code form is that same +work. -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. +#### 2. Basic Permissions. - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. +All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. +You may make, run and propagate covered works that you do not convey, +without conditions so long as your license otherwise remains in force. +You may convey covered works to others for the sole purpose of having +them make modifications exclusively for you, or provide you with +facilities for running those works, provided that you comply with the +terms of this License in conveying all material for which you do not +control copyright. Those thus making or running the covered works for +you must do so exclusively on your behalf, under your direction and +control, on terms that prohibit them from making any copies of your +copyrighted material outside their relationship with you. - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to +Conveying under any other circumstances is permitted solely under the +conditions stated below. Sublicensing is not allowed; section 10 makes +it unnecessary. + +#### 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + +No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + +When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such +circumvention is effected by exercising rights under this License with +respect to the covered work, and you disclaim any intention to limit +operation or modification of the work as a means of enforcing, against +the work's users, your or third parties' legal rights to forbid +circumvention of technological measures. + +#### 4. Conveying Verbatim Copies. + +You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + +You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + +#### 5. Conveying Modified Source Versions. + +You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these +conditions: + +- a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. +- b) The work must carry prominent notices stating that it is + released under this License and any conditions added under + section 7. This requirement modifies the requirement in section 4 + to "keep intact all notices". +- c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. +- d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + +A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + +#### 6. Conveying Non-Source Forms. + +You may convey a covered work in object code form under the terms of +sections 4 and 5, provided that you also convey the machine-readable +Corresponding Source under the terms of this License, in one of these +ways: + +- a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. +- b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the Corresponding + Source from a network server at no charge. +- c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. +- d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. +- e) Convey the object code using peer-to-peer transmission, + provided you inform other peers where the object code and + Corresponding Source of the work are being offered to the general + public at no charge under subsection 6d. + +A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + +A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, +family, or household purposes, or (2) anything designed or sold for +incorporation into a dwelling. In determining whether a product is a +consumer product, doubtful cases shall be resolved in favor of +coverage. For a particular product received by a particular user, +"normally used" refers to a typical or common use of that class of +product, regardless of the status of the particular user or of the way +in which the particular user actually uses, or expects or is expected +to use, the product. A product is a consumer product regardless of +whether the product has substantial commercial, industrial or +non-consumer uses, unless such uses represent the only significant +mode of use of the product. + +"Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to +install and execute modified versions of a covered work in that User +Product from a modified version of its Corresponding Source. The +information must suffice to ensure that the continued functioning of +the modified object code is in no case prevented or interfered with +solely because modification has been made. + +If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + +The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or +updates for a work that has been modified or installed by the +recipient, or for the User Product in which it has been modified or +installed. Access to a network may be denied when the modification +itself materially and adversely affects the operation of the network +or violates the rules and protocols for communication across the +network. + +Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + +#### 7. Additional Terms. + +"Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + +When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + +Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders +of that material) supplement the terms of this License with terms: + +- a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or +- b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or +- c) Prohibiting misrepresentation of the origin of that material, + or requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or +- d) Limiting the use for publicity purposes of names of licensors + or authors of the material; or +- e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or +- f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions + of it) with contractual assumptions of liability to the recipient, + for any liability that these contractual assumptions directly + impose on those licensors and authors. + +All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + +If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + +Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; the +above requirements apply either way. + +#### 8. Termination. + +You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + +However, if you cease all violation of this License, then your license +from a particular copyright holder is reinstated (a) provisionally, +unless and until the copyright holder explicitly and finally +terminates your license, and (b) permanently, if the copyright holder +fails to notify you of the violation by some reasonable means prior to +60 days after the cessation. + +Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + +Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + +#### 9. Acceptance Not Required for Having Copies. + +You are not required to accept this License in order to receive or run +a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + +#### 10. Automatic Licensing of Downstream Recipients. + +Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + +An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + +You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + +#### 11. Patents. + +A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + +A contributor's "essential patent claims" are all patent claims owned +or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of this License. - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or +Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + +In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + +If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + +If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + +A patent license is "discriminatory" if it does not include within the +scope of its coverage, prohibits the exercise of, or is conditioned on +the non-exercise of one or more of the rights that are specifically +granted under this License. You may not convey a covered work if you +are a party to an arrangement with a third party that is in the +business of distributing software, under which you make payment to the +third party based on the extent of your activity of conveying the +work, and under which the third party grants, to any of the parties +who would receive the covered work from you, a discriminatory patent +license (a) in connection with copies of the covered work conveyed by +you (or copies made from those copies), or (b) primarily for and in +connection with specific products or compilations that contain the +covered work, unless you entered into that arrangement, or that patent +license was granted, prior to 28 March 2007. + +Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + +#### 12. No Surrender of Others' Freedom. + +If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under +this License and any other pertinent obligations, then as a +consequence you may not convey it at all. For example, if you agree to +terms that obligate you to collect a royalty for further conveying +from those to whom you convey the Program, the only way you could +satisfy both those terms and this License would be to refrain entirely +from conveying the Program. -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. +#### 13. Use with the GNU Affero General Public License. -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. +Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. +#### 14. Revised Versions of this License. - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. +The Free Software Foundation may publish revised and/or new versions +of the GNU General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in +detail to address new problems or concerns. - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. +Each version is given a distinguishing version number. If the Program +specifies that a certain numbered version of the GNU General Public +License "or any later version" applies to it, you have the option of +following the terms and conditions either of that numbered version or +of any later version published by the Free Software Foundation. If the +Program does not specify a version number of the GNU General Public +License, you may choose any version ever published by the Free +Software Foundation. -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. +If the Program specifies that a proxy can decide which future versions +of the GNU General Public License can be used, that proxy's public +statement of acceptance of a version permanently authorizes you to +choose that version for the Program. - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. +Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. - NO WARRANTY +#### 15. Disclaimer of Warranty. - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. +THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT +WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND +PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE +DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR +CORRECTION. - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. +#### 16. Limitation of Liability. - END OF TERMS AND CONDITIONS +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR +CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT +NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR +LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM +TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER +PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - How to Apply These Terms to Your New Programs +#### 17. Interpretation of Sections 15 and 16. - If you develop a new program, and you want it to be of the greatest +If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + +END OF TERMS AND CONDITIONS + +### How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. +free software which everyone can redistribute and change under these +terms. - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. +To do so, attach the following notices to the program. It is safest to +attach them to the start of each source file to most effectively state +the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. - {description} - Copyright (C) {year} {fullname} + + Copyright (C) - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + You should have received a copy of the GNU General Public License + along with this program. If not, see . -Also add information on how to contact you by electronic and paper mail. +Also add information on how to contact you by electronic and paper +mail. -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: +If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. +The hypothetical commands \`show w' and \`show c' should show the +appropriate parts of the General Public License. Of course, your +program's commands might be different; for a GUI interface, you would +use an "about box". -You should also get your employer (if you work as a programmer) or your +You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: +necessary. For more information on this, and how to apply and follow +the GNU GPL, see . - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - {signature of Ty Coon}, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. +The GNU General Public License does not permit incorporating your +program into proprietary programs. If your program is a subroutine +library, you may consider it more useful to permit linking proprietary +applications with the library. If this is what you want to do, use the +GNU Lesser General Public License instead of this License. But first, +please read . \ No newline at end of file From c9751094eb06547be27c74c228aae487d05039fb Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Mon, 17 Oct 2016 15:31:04 +0200 Subject: [PATCH 091/114] [FEATURE] Added translations for Context --- src/main/java/org/parabot/core/Context.java | 27 +++++++++++---------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/src/main/java/org/parabot/core/Context.java b/src/main/java/org/parabot/core/Context.java index 98a0896..bc11df5 100644 --- a/src/main/java/org/parabot/core/Context.java +++ b/src/main/java/org/parabot/core/Context.java @@ -1,6 +1,7 @@ package org.parabot.core; import org.json.simple.parser.JSONParser; +import org.parabot.api.translations.TranslationHelper; import org.parabot.core.asm.ASMClassLoader; import org.parabot.core.classpath.ClassPath; import org.parabot.core.desc.ServerProviderInfo; @@ -164,18 +165,18 @@ public class Context { */ public void load() { BotUI.getInstance().getJMenuBar().remove(2); - Core.verbose("Parsing server jar..."); + Core.verbose(TranslationHelper.translate("PARSING_SERVER_JAR")); serverProvider.init(); serverProvider.parseJar(); - Core.verbose("Done."); - Core.verbose("Injecting hooks..."); + Core.verbose(TranslationHelper.translate("DONE")); + Core.verbose(TranslationHelper.translate("INJECTING_HOOKS")); serverProvider.injectHooks(); - Core.verbose("Done."); - Core.verbose("Fetching game applet..."); + Core.verbose(TranslationHelper.translate("DONE")); + Core.verbose(TranslationHelper.translate("FETCHING_GAME_APPLET")); if(Core.shouldDump()) { - Core.verbose("Dumping injected client..."); + Core.verbose(TranslationHelper.translate("DUMPING_INJECTED_CLIENT")); classPath.dump(new File(Directories.getWorkspace(), "dump.jar")); - Core.verbose("Done."); + Core.verbose(TranslationHelper.translate("DONE")); } Applet applet = serverProvider.fetchApplet(); // if applet is null the server provider will call setApplet itself @@ -195,7 +196,7 @@ public class Context { setClientInstance(gameApplet); } - Core.verbose("Applet fetched."); + Core.verbose(TranslationHelper.translate("APPLET_FETCHED")); final GamePanel panel = GamePanel.getInstance(); final Dimension appletSize = serverProvider.getGameDimensions(); @@ -221,14 +222,14 @@ public class Context { } }, 1000); - Core.verbose("Initializing mouse..."); + Core.verbose(TranslationHelper.translate("INIT_MOUSE")); serverProvider.initMouse(); - Core.verbose("Done."); - Core.verbose("Initializing keyboard..."); + Core.verbose(TranslationHelper.translate("DONE")); + Core.verbose(TranslationHelper.translate("INIT_KEYBOARD")); serverProvider.initKeyboard(); - Core.verbose("Done."); + Core.verbose(TranslationHelper.translate("DONE")); - Core.verbose("Initializing key listener..."); + Core.verbose(TranslationHelper.translate("INIT_KEY_LISTENER")); this.pbKeyListener = new PBKeyListener(); applet.addKeyListener(this.pbKeyListener); From d2028ca167873d62b9bf92117fcf7b30f20ad9c0 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Mon, 17 Oct 2016 15:40:35 +0200 Subject: [PATCH 092/114] [BUGFIX] Using new translation files --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 15feec6..54fdd0c 100755 --- a/pom.xml +++ b/pom.xml @@ -73,7 +73,7 @@ org.parabot internal-api - 1.03.1 + 1.03.2 From a94a49ce948754ed5afd12d35c1863a1160758d4 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Mon, 17 Oct 2016 16:00:15 +0200 Subject: [PATCH 093/114] [CLEANUP] Only sleep for a second --- .travis/call-creation.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis/call-creation.sh b/.travis/call-creation.sh index 57cefe8..582b335 100755 --- a/.travis/call-creation.sh +++ b/.travis/call-creation.sh @@ -1,4 +1,4 @@ #! /bin/bash -sleep 5 +sleep 1 curl --data "build_id=$TRAVIS_BUILD_ID&version=$PARABOT_VERSION" "http://v3.bdn.parabot.org/api/bot/create/client" \ No newline at end of file From fc64be1c4a06e7dec9293d60f8a95fe8726c0656 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Tue, 18 Oct 2016 00:31:42 +0200 Subject: [PATCH 094/114] [BUGFIX] Solved issue with overridding files --- src/main/java/org/parabot/core/ProjectProperties.java | 2 +- .../resources/storage/{app.properties => parabot.properties} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename src/main/resources/storage/{app.properties => parabot.properties} (100%) diff --git a/src/main/java/org/parabot/core/ProjectProperties.java b/src/main/java/org/parabot/core/ProjectProperties.java index b6f58e0..d905a29 100644 --- a/src/main/java/org/parabot/core/ProjectProperties.java +++ b/src/main/java/org/parabot/core/ProjectProperties.java @@ -21,7 +21,7 @@ public class ProjectProperties { private void setProperties() { InputStream input; try { - String propertiesFileName = "storage/app.properties"; + String propertiesFileName = "storage/parabot.properties"; input = getClass().getClassLoader() .getResourceAsStream(propertiesFileName); diff --git a/src/main/resources/storage/app.properties b/src/main/resources/storage/parabot.properties similarity index 100% rename from src/main/resources/storage/app.properties rename to src/main/resources/storage/parabot.properties From 5fa29675a7c74f84ae5da11419f0f07aa66cd124 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Tue, 18 Oct 2016 00:31:56 +0200 Subject: [PATCH 095/114] [CLEANUP] Added configuration API extension --- src/main/java/org/parabot/core/Configuration.java | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/main/java/org/parabot/core/Configuration.java b/src/main/java/org/parabot/core/Configuration.java index 1b10eb4..d800e6e 100644 --- a/src/main/java/org/parabot/core/Configuration.java +++ b/src/main/java/org/parabot/core/Configuration.java @@ -7,7 +7,7 @@ import org.parabot.environment.api.utils.Version; * * @author Everel */ -public class Configuration { +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="; @@ -23,13 +23,7 @@ public class Configuration { public static final String DATA_API = "http://bdn.parabot.org/api/v2/data/"; public static final String ITEM_API = DATA_API + "items/"; - public static final String COMPARE_VERSION_URL = "http://v3.bdn.parabot.org/api/bot/compare/%s/%s"; - public static final String COMPARE_CHECKSUM_URL = "http://v3.bdn.parabot.org/api/bot/checksum/%s/%s"; - public static final Version BOT_VERSION = ProjectProperties.getProjectVersion(); - public static final String BOT_TITLE = "Parabot"; - public static final String BOT_SLOGAN = "The best RuneScape private server bot"; - public static final String NIGHTLY_APPEND = "nightly=true"; } From e584b08846a26e40360e43053d5380c6b76c7590 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Tue, 18 Oct 2016 00:48:55 +0200 Subject: [PATCH 096/114] [BUGFIX] No need to check for versions when validation is disabled --- src/main/java/org/parabot/Landing.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/parabot/Landing.java b/src/main/java/org/parabot/Landing.java index 9be2c18..37be263 100644 --- a/src/main/java/org/parabot/Landing.java +++ b/src/main/java/org/parabot/Landing.java @@ -43,7 +43,7 @@ public final class Landing { t.printStackTrace(); } - if (!Core.inDebugMode() && !Core.isValid() && Core.hasValidation()) { + if (!Core.inDebugMode() && Core.hasValidation() && !Core.isValid()) { UILog.log(TranslationHelper.translate("UPDATES"), TranslationHelper.translate("DOWNLOAD_UPDATE_PARABOT_AT") + Configuration.DOWNLOAD_BOT, From 1321395bce6c80be0110cdcf2654ba4e5aa368ca Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Tue, 18 Oct 2016 01:03:22 +0200 Subject: [PATCH 097/114] [FEATURE] Implemented API --- .../org/parabot/core/io/ProgressListener.java | 14 +- .../environment/api/utils/WebUtil.java | 319 +----------------- 2 files changed, 2 insertions(+), 331 deletions(-) diff --git a/src/main/java/org/parabot/core/io/ProgressListener.java b/src/main/java/org/parabot/core/io/ProgressListener.java index c899031..4d0992a 100644 --- a/src/main/java/org/parabot/core/io/ProgressListener.java +++ b/src/main/java/org/parabot/core/io/ProgressListener.java @@ -7,18 +7,6 @@ package org.parabot.core.io; * @author Everel * */ -public interface ProgressListener { - - /** - * Called when progress increased - * @param value - */ - public void onProgressUpdate(double value); - - /** - * Updates upload speed - * @param mbPerSecond - */ - public void updateDownloadSpeed(double mbPerSecond); +public interface ProgressListener extends org.parabot.api.io.ProgressListener{ } diff --git a/src/main/java/org/parabot/environment/api/utils/WebUtil.java b/src/main/java/org/parabot/environment/api/utils/WebUtil.java index 3164679..14c175b 100644 --- a/src/main/java/org/parabot/environment/api/utils/WebUtil.java +++ b/src/main/java/org/parabot/environment/api/utils/WebUtil.java @@ -1,327 +1,10 @@ package org.parabot.environment.api.utils; -import org.json.simple.parser.JSONParser; -import org.parabot.core.io.ProgressListener; -import org.parabot.core.io.SizeInputStream; - -import java.io.*; -import java.net.*; - /** * A WebUtil class fetches data from an URL * * @author Everel */ -public class WebUtil { +public class WebUtil extends org.parabot.api.io.WebUtil { - private static JSONParser jsonParser; - - private static String agent = "Mozilla/5.0 (Wind0ws NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1"; - - /** - * Agent to set at a URL connection - * - * @param userAgent - */ - public static void setUserAgent(final String userAgent) { - agent = userAgent; - } - - /** - * Gets useragent - * - * @return useragent - */ - public static String getUserAgent() { - return agent; - } - - /** - * Fetches content of a page - * - * @param location - * @return contents of page - * @throws MalformedURLException - */ - public static String getContents(final String location) - throws MalformedURLException { - return getContents(new URL(location)); - } - - public static String getContents(final String location, String parameters) throws MalformedURLException { - return getContents(new URL(location), parameters); - } - - /** - * Get contents from URL - * - * @param url - * @return page contents - */ - public static String getContents(final URL url) { - return getContents(getConnection(url)); - } - - public static String getContents(final URL url, final String parameters) { - return getContents(getConnection(url), parameters); - } - - /** - * Gets contents from URLConnection - * - * @param urlConnection - * @return page contents - */ - public static String getContents(URLConnection urlConnection) { - try { - final BufferedReader in = getReader(urlConnection); - final StringBuilder builder = new StringBuilder(); - String line; - if (in != null) { - while ((line = in.readLine()) != null) { - builder.append(line); - } - in.close(); - } - return builder.toString(); - } catch (Throwable t) { - t.printStackTrace(); - } - return null; - } - - public static String getContents(URLConnection urlConnection, String parameters) { - try { - urlConnection.setDoOutput(true); - OutputStreamWriter wr = new OutputStreamWriter(urlConnection.getOutputStream()); - wr.write(parameters); - wr.flush(); - wr.close(); - - final BufferedReader in = new BufferedReader(new InputStreamReader(urlConnection.getInputStream())); - final StringBuilder builder = new StringBuilder(); - String line; - while ((line = in.readLine()) != null) { - builder.append(line); - } - return builder.toString(); - } catch (Throwable t) { - t.printStackTrace(); - } - return null; - } - - /** - * Gets buffered reader from string url - * - * @param url - * @return bufferedreader - */ - public static BufferedReader getReader(final String url) { - try { - return getReader(new URL(url)); - } catch (MalformedURLException e) { - e.printStackTrace(); - } - return null; - } - - /** - * Gets BufferedReader from URL - * - * @param url - * @return BufferedReader from URL - */ - public static BufferedReader getReader(final URL url) { - return getReader(getConnection(url)); - } - - public static BufferedReader getReader(final URLConnection urlConnection) { - try { - return new BufferedReader(new InputStreamReader( - urlConnection.getInputStream())); - } catch (Throwable t) { - t.printStackTrace(); - } - return null; - } - - /** - * Gets inputstream from url - * - * @param url - * @return inputstream from url - */ - public static InputStream getInputStream(final URL url) { - final URLConnection con = getConnection(url); - try { - return con.getInputStream(); - } catch (IOException e) { - e.printStackTrace(); - } - return null; - } - - /** - * Opens a connection - * - * @param url - * @return URLConnection to URL - */ - public static URLConnection getConnection(final URL url) { - try { - final URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", agent); - return con; - } catch (Throwable t) { - t.printStackTrace(); - } - return null; - } - - public static BufferedReader getReader(final URL url, String username, String password) { - try { - String data = URLEncoder.encode("username", "UTF-8") + "=" + username; - data += "&" + URLEncoder.encode("password", "UTF-8") + "=" + password; - - URLConnection connection = url.openConnection(); - - connection.setDoOutput(true); - OutputStreamWriter wr = new OutputStreamWriter(connection.getOutputStream()); - wr.write(data); - wr.flush(); - wr.close(); - - return new BufferedReader(new InputStreamReader(connection.getInputStream())); - } catch (Throwable t) { - t.printStackTrace(); - } - return null; - } - - public static URLConnection getConnection(final URL url, String username, String password) { - try { - String data = URLEncoder.encode("username", "UTF-8") + "=" + username; - data += "&" + URLEncoder.encode("password", "UTF-8") + "=" + password; - - URLConnection connection = url.openConnection(); - - connection.setDoOutput(true); - OutputStreamWriter wr = new OutputStreamWriter(connection.getOutputStream()); - wr.write(data); - wr.flush(); - wr.close(); - - return connection; - } catch (Throwable t) { - t.printStackTrace(); - } - return null; - } - - /** - * Downloads a file on the internet - * - * @param url - * @param destination - * @param listener - */ - public static void downloadFile(final URL url, final File destination, - final ProgressListener listener) { - try { - final URLConnection connection = getConnection(url); - int size = connection.getContentLength(); - SizeInputStream sizeInputStream = new SizeInputStream( - connection.getInputStream(), size, listener); - BufferedInputStream in = new BufferedInputStream(sizeInputStream); - FileOutputStream fileOut = new FileOutputStream(destination); - try { - byte data[] = new byte[1024]; - int count; - while ((count = in.read(data, 0, 1024)) != -1) { - fileOut.write(data, 0, count); - } - } finally { - if (in != null) - in.close(); - if (fileOut != null) - fileOut.close(); - } - } catch (Throwable t) { - t.printStackTrace(); - } - } - - /** - * Downloads a file on the internet - * - * @param url - * @param destination - * @param listener - */ - public static void downloadFile(final URL url, final File destination, - final ProgressListener listener, String username, String password) { - try { - final URLConnection connection = getConnection(url, username, password); - int size = connection.getContentLength(); - SizeInputStream sizeInputStream = new SizeInputStream( - connection.getInputStream(), size, listener); - BufferedInputStream in = new BufferedInputStream(sizeInputStream); - FileOutputStream fileOut = new FileOutputStream(destination); - try { - byte data[] = new byte[1024]; - int count; - while ((count = in.read(data, 0, 1024)) != -1) { - fileOut.write(data, 0, count); - } - } finally { - if (in != null) - in.close(); - if (fileOut != null) - fileOut.close(); - } - } catch (Throwable t) { - t.printStackTrace(); - } - } - - /** - * Converts file format to url format - * - * @param file - * @return url to file - */ - public static URL toURL(File file) { - try { - return file.toURI().toURL(); - } catch (MalformedURLException e) { - e.printStackTrace(); - } - return null; - } - - public static JSONParser getJsonParser() { - if (jsonParser == null) { - jsonParser = new JSONParser(); - } - return jsonParser; - } - - public static URI appendUri(String uri, String appendQuery) { - try { - URI oldUri = new URI(uri); - - String newQuery = oldUri.getQuery(); - if (newQuery == null) { - newQuery = appendQuery; - } else { - newQuery += "&" + appendQuery; - } - return new URI(oldUri.getScheme(), oldUri.getAuthority(), - oldUri.getPath(), newQuery, oldUri.getFragment()); - } catch (URISyntaxException e) { - e.printStackTrace(); - } - return null; - } } From ccc491e12e91dd8057f471236a2a530754f98f60 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Tue, 18 Oct 2016 01:03:33 +0200 Subject: [PATCH 098/114] [CLEANUP] Removed latest version var --- src/main/java/org/parabot/core/Core.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/org/parabot/core/Core.java b/src/main/java/org/parabot/core/Core.java index 742c6f3..991c40f 100644 --- a/src/main/java/org/parabot/core/Core.java +++ b/src/main/java/org/parabot/core/Core.java @@ -34,7 +34,6 @@ public class Core { private static boolean secure = true; private static Version currentVersion = Configuration.BOT_VERSION; - private static Version latestVersion; public static void disableValidation() { Core.validate = false; From b737dfee12bf1a1a3a83d34b596ff05d10bfcf35 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Tue, 18 Oct 2016 17:48:55 +0200 Subject: [PATCH 099/114] [CLEANUP] Moved parts to internal API --- pom.xml | 2 +- .../org/parabot/core/ui/images/Images.java | 25 +--------- .../java/org/parabot/core/ui/images/add.png | Bin 152 -> 0 bytes .../org/parabot/core/ui/images/background.png | Bin 1584534 -> 0 bytes .../core/ui/images/category/agility.png | Bin 299 -> 0 bytes .../core/ui/images/category/combat.png | Bin 332 -> 0 bytes .../core/ui/images/category/cooking.png | Bin 331 -> 0 bytes .../core/ui/images/category/crafting.png | Bin 325 -> 0 bytes .../core/ui/images/category/dungeoneering.png | Bin 2072 -> 0 bytes .../core/ui/images/category/farming.png | Bin 489 -> 0 bytes .../core/ui/images/category/firemaking.png | Bin 357 -> 0 bytes .../core/ui/images/category/fishing.png | Bin 371 -> 0 bytes .../core/ui/images/category/fletching.png | Bin 307 -> 0 bytes .../core/ui/images/category/herblore.png | Bin 311 -> 0 bytes .../core/ui/images/category/hunter.png | Bin 1809 -> 0 bytes .../parabot/core/ui/images/category/magic.png | Bin 611 -> 0 bytes .../core/ui/images/category/minigames.png | Bin 1871 -> 0 bytes .../core/ui/images/category/mining.png | Bin 343 -> 0 bytes .../parabot/core/ui/images/category/other.png | Bin 328 -> 0 bytes .../core/ui/images/category/prayer.png | Bin 431 -> 0 bytes .../core/ui/images/category/runecrafting.png | Bin 371 -> 0 bytes .../core/ui/images/category/script.png | Bin 452 -> 0 bytes .../core/ui/images/category/slayer.png | Bin 668 -> 0 bytes .../core/ui/images/category/smithing.png | Bin 354 -> 0 bytes .../core/ui/images/category/thieving.png | Bin 276 -> 0 bytes .../core/ui/images/category/utility.png | Bin 310 -> 0 bytes .../core/ui/images/category/woodcutting.png | Bin 377 -> 0 bytes .../java/org/parabot/core/ui/images/close.png | Bin 3148 -> 0 bytes .../org/parabot/core/ui/images/close_red.png | Bin 3184 -> 0 bytes .../java/org/parabot/core/ui/images/icon.png | Bin 77476 -> 0 bytes .../java/org/parabot/core/ui/images/para.png | Bin 17470 -> 0 bytes .../java/org/parabot/core/ui/images/pause.png | Bin 125 -> 0 bytes .../java/org/parabot/core/ui/images/run.png | Bin 155 -> 0 bytes .../java/org/parabot/core/ui/images/stop.png | Bin 110 -> 0 bytes .../java/org/parabot/core/ui/images/trash.png | Bin 3615 -> 0 bytes .../org/parabot/core/ui/utils/SwingUtil.java | 44 +----------------- src/main/resources/storage/images/icon.png | Bin 77476 -> 0 bytes 37 files changed, 5 insertions(+), 66 deletions(-) delete mode 100644 src/main/java/org/parabot/core/ui/images/add.png delete mode 100644 src/main/java/org/parabot/core/ui/images/background.png delete mode 100644 src/main/java/org/parabot/core/ui/images/category/agility.png delete mode 100644 src/main/java/org/parabot/core/ui/images/category/combat.png delete mode 100644 src/main/java/org/parabot/core/ui/images/category/cooking.png delete mode 100644 src/main/java/org/parabot/core/ui/images/category/crafting.png delete mode 100644 src/main/java/org/parabot/core/ui/images/category/dungeoneering.png delete mode 100644 src/main/java/org/parabot/core/ui/images/category/farming.png delete mode 100644 src/main/java/org/parabot/core/ui/images/category/firemaking.png delete mode 100644 src/main/java/org/parabot/core/ui/images/category/fishing.png delete mode 100644 src/main/java/org/parabot/core/ui/images/category/fletching.png delete mode 100644 src/main/java/org/parabot/core/ui/images/category/herblore.png delete mode 100644 src/main/java/org/parabot/core/ui/images/category/hunter.png delete mode 100644 src/main/java/org/parabot/core/ui/images/category/magic.png delete mode 100644 src/main/java/org/parabot/core/ui/images/category/minigames.png delete mode 100644 src/main/java/org/parabot/core/ui/images/category/mining.png delete mode 100644 src/main/java/org/parabot/core/ui/images/category/other.png delete mode 100644 src/main/java/org/parabot/core/ui/images/category/prayer.png delete mode 100644 src/main/java/org/parabot/core/ui/images/category/runecrafting.png delete mode 100644 src/main/java/org/parabot/core/ui/images/category/script.png delete mode 100644 src/main/java/org/parabot/core/ui/images/category/slayer.png delete mode 100644 src/main/java/org/parabot/core/ui/images/category/smithing.png delete mode 100644 src/main/java/org/parabot/core/ui/images/category/thieving.png delete mode 100644 src/main/java/org/parabot/core/ui/images/category/utility.png delete mode 100644 src/main/java/org/parabot/core/ui/images/category/woodcutting.png delete mode 100644 src/main/java/org/parabot/core/ui/images/close.png delete mode 100644 src/main/java/org/parabot/core/ui/images/close_red.png delete mode 100644 src/main/java/org/parabot/core/ui/images/icon.png delete mode 100644 src/main/java/org/parabot/core/ui/images/para.png delete mode 100644 src/main/java/org/parabot/core/ui/images/pause.png delete mode 100644 src/main/java/org/parabot/core/ui/images/run.png delete mode 100644 src/main/java/org/parabot/core/ui/images/stop.png delete mode 100644 src/main/java/org/parabot/core/ui/images/trash.png delete mode 100755 src/main/resources/storage/images/icon.png diff --git a/pom.xml b/pom.xml index 54fdd0c..89ddd21 100755 --- a/pom.xml +++ b/pom.xml @@ -73,7 +73,7 @@ org.parabot internal-api - 1.03.2 + 1.4.3 diff --git a/src/main/java/org/parabot/core/ui/images/Images.java b/src/main/java/org/parabot/core/ui/images/Images.java index 5a51cb7..1421d79 100644 --- a/src/main/java/org/parabot/core/ui/images/Images.java +++ b/src/main/java/org/parabot/core/ui/images/Images.java @@ -1,30 +1,9 @@ package org.parabot.core.ui.images; -import javax.imageio.ImageIO; -import java.awt.image.BufferedImage; -import java.util.HashMap; - /** - * * Caches and loads images from resource - * - * @author Everel * + * @author Everel, JKetelaar */ -public final class Images { - private static final HashMap IMAGE_CACHE = new HashMap(); - - public static BufferedImage getResource(final String resource) { - if(IMAGE_CACHE.containsKey(resource)) { - return IMAGE_CACHE.get(resource); - } - try { - final BufferedImage img = ImageIO.read(Images.class.getResourceAsStream(resource)); - IMAGE_CACHE.put(resource, img); - return img; - } catch (Throwable t) { - throw new RuntimeException("Failed to load image from resource. " + t.getMessage()); - } - } - +public final class Images extends org.parabot.api.io.images.Images { } diff --git a/src/main/java/org/parabot/core/ui/images/add.png b/src/main/java/org/parabot/core/ui/images/add.png deleted file mode 100644 index 627fc65c7a52dd4d23b66943e0360b21698aa234..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&k$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1GR-P`7Ar-fhk`A!&I{cCElD?oiQ^JE~%k=|IN9TUa$PuY@ xTk$;O^%6H7zoLds{0tu*o!WS|RxofFFa-2-i+nw~BN=E4gQu&X%Q~loCIGB#FxLP8 diff --git a/src/main/java/org/parabot/core/ui/images/background.png b/src/main/java/org/parabot/core/ui/images/background.png deleted file mode 100644 index fd302e315d17ec44e17e602300a27b885a4d1724..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1584534 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℘L}{ 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

q?q=m*v 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

?CUFIf8? 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¬0PwlG+4wkK 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⪼tJAZ!AKB7PM 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%0Agx~Vq#9NuK_;Q$$&+>@_2<1PRL;jp+6 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

8=ALh;ln|&)9cI{x#Jrc^( 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 T%76Y(|K&ga@Bi>$|M~v|o<<4H diff --git a/src/main/java/org/parabot/core/ui/images/category/agility.png b/src/main/java/org/parabot/core/ui/images/category/agility.png deleted file mode 100644 index 1b1dd9a90e296eec6f4a2fb121c9bea2deab1b42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 299 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!Z!pj3%#L`iUdT1k0gQ7S_~VrE{6o}X)oLYc9i zsh**M!Iz?iKvlCmT^vI!{MUv=a~)9NdA+l&_3!(C<}Y8kyPuI-{lHz&B{?qRU7osI z(~OyqOZt5q=l%XPgW(RFlNiU8-&_R=Q`&_a!l!ln*e~E~xw-KPBL{zY&Z@mrv?N)b z_nhdtY5Y=!lvI6;>1s;*b3=DjSL74G){)!Z!pj3%#L`iUdT1k0gQ7S_~VrE{6o}X)oLYc9i zsh**M!Iz?iKvlavT^vI!{MTOD$kl8h!1kcouXfhC);!kjO`B(5SbM>=Df<4ZFAvxK zxx_vF@)7SB1szTE|Hle-&U`6JBKbU574FQG7wdO>Fx~WRTl#kQX6{JGL_4EbpY3$QZ>pDV zh<4ZFv)=Z(x#6Vo`ADAy?~0P9sC-uOoEE=NN8nwfspBru>P>goZrzjd@zs3~y}ROD Xymc!lvI6;>1s;*b3=DjSL74G){)!Z!pj3%#L`iUdT1k0gQ7S_~VrE{6o}X)oLYc9i zsh**M!Iz?iKvlauT^vI!{MSx7%X`Rxr?vJe+w6@D>1_$D&l0qsy}0-ywDjp78}+QC z2eWd`=l_2+YxiyYCCxKtwm)IWX}|ZwnUj6q=})nVJVD?7+Ds31U1y~0nEw0f7Y+Bh zd&{R5$jg17onC3H|F1G$`r*IEi>V?444YDJh-{g({bPE9!4rf=nDo!lvI6;>1s;*b3=DjSL74G){)!Z!pj3%#L`iUdT1k0gQ7S_~VrE{6o}X)oLYc9i zsh**M!Iz?iKvi2jT^vI!{MSx7&D-F>;bNI>x-CKY+r!k;#}iVFPcsQUZagyMY_f#i zkuzW1rzp4_kqW$Iv|{VDLwN#eQ}Snr{^QhWF1@gEt-f??Jq`r85#gxBIpk=ATn@6+LRb5vpy;ke%d>#0#(>%Rg^zPSm zUY#SxH)Nx}9C6B-l(Xx%gWCiivr3hqjYl809Twg2)Ytp>SF@?-JXq@(+k4Ngv@XuI Q1G=BV)78&qol`;+008-V!~g&Q diff --git a/src/main/java/org/parabot/core/ui/images/category/dungeoneering.png b/src/main/java/org/parabot/core/ui/images/category/dungeoneering.png deleted file mode 100644 index 790e26c34ad3d5c74da58ab3cba2e273bf47af3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2072 zcmaJ?dsGuw9u9(l3bF`tL|&5syC{+eB!NT_fdmK;p5dWlO-Lq?hRlRyG(lx;5n4nR ztV9ucL`0OW2OD{me{by>7{u6#EOhgx3gqeiI!9qmAlYy830h|H?ED0|aj0Jgu z%#3c(7lSc$5pj}`Bz6Ry4@>YoJqE9oNKrNh5!bR^uvA7rK5YjnScX6 zKoGGX?vJ37*wH``ECT@w-phkeB#{6r6;C2ls8rGhz>`SwBoNV;>OmsYDO9?rH}LVn zq26QyAw8B6{LvSB^24Peh?GtsC=?33!V3?}QVAp)ji%S|^z=Xx9`Z~G;VC^Jx$}Yo z1C;Y+A}Jz*AwaLlOM!PHemFGJKT?oLKgmM!k7Ys&Mo{vk1QMR8PiX$!km1wIs$uQ zRmUEDUt2D2ww*Xw{fl|`pm+Pa!T9(ihrs3gYg+fN#8=K0)ZVDh5E7~ffAP1R<|b0$ zE}HK7?c%pl4!F((%U-q^TYKy{sMb1Mzot<-rE5;{x34}p;95Q3S+Vcd+9v3U&+Z+? z36|{d+{*R{6N?L{=9!&egps9dtn!!jge6qz0^N5(?@gO1S{_%5dCl<(yD7&C9HEhh zYKdo0X=8l6t(3Lo_O<+=-^}5&7j}i1thiAn%w4{&bF$=Kej*bA!(_}rs4c-dq@BB^H`tZue!!1r+#`iya(^@n80@H z>Qmr`dBMj4{H=*6BXySV!qpvBleRYEZ)b=mMQxt8l$<%j$*bj#WBfO%xq3;pV=L+RjcOjtrIsV+Vm2q z8&>5Np!Xv?<4NiRZb$(=f#3IMMAwBrW zKa;Jm55Cy2QXO$ZJmRJ^{oJVXGrprbB)dB=G)G+T+Wp-IZMe#s{?s(W(D|gJJukZ4 zDpzs%(Vf)>#n{ui-rrUj8<&h*)3LVs lwA-IIZPb0U_R$UlV@&1J+4He&QDyqOn#GJ{oD1Y;{|CXyR9651 diff --git a/src/main/java/org/parabot/core/ui/images/category/farming.png b/src/main/java/org/parabot/core/ui/images/category/farming.png deleted file mode 100644 index e62cac023cce0524bb08126abe9b3da40a2a0f45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 489 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv00044NklNRN7O=; zQe=m(Xb=Rz^Fy~1$gP8UK{iAb-JBmWbREoqWU*8eki7|Wzz{BsLB8tatCPwGtV1pc zvMWjDDE_8qXGzU?Ns%5SJz`!9+S=SOCxpeQzSsKV*gq>r!uVByFNSRAx|-8jwKx?M7IU3o2V1{j`>7MKMj&UVUr! zWrU)PTZ5v~?3c;VTu3(i+GDm0Dzv$!qB#TMk-&bv1n+CMo`YOg-}7KgLVuC_g}5s0 fy|w?*Uq8JSx8w%u3U*?Q00000NkvXXu0mjf@i5GO diff --git a/src/main/java/org/parabot/core/ui/images/category/firemaking.png b/src/main/java/org/parabot/core/ui/images/category/firemaking.png deleted file mode 100644 index 677d147098089a0a1c1ceaedf669d340bd04b54a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 357 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!Z!pj3%#L`iUdT1k0gQ7S_~VrE{6o}X)oLYc9i zsh**M!Iz?iKvh>fT^vI!{MSx#TaIaaZ?mlN5W7@WEc z(q70Ml+`G5c=6m)R3f;f-FG8nkfLjYL5W|YVu#YQ#R^?l6?tNs9vqNmT*l`-VOjgf z>R7Lfku`s>MZb{>`pu%mw(!^4y=T|D%AT=gy%cz5#?t;jM_#0`znV8IiY4gvy91Z= y9JoIJ`Re|4ihq7C%gWZR;SWDa{(OG$H)Bi1%J=*FV}U`$z~JfX=d#Wzp$P!<5Q=I5 diff --git a/src/main/java/org/parabot/core/ui/images/category/fishing.png b/src/main/java/org/parabot/core/ui/images/category/fishing.png deleted file mode 100644 index 0f8d49396a7366ce89fbfbba1d9cdab17dfe4f46..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 371 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9c!3HGfPKx~mq!^2X+?^QKos)S9a~60+7BevL9R^{>76Mg0@^oycGLhHSIsIC#x{GVt1TIHxJ(iMny}tD-8SW<MRd}>#EAu(02{*}U$fhS8%6We7WAzM`6`~e4 z#;cG0;Mm(eq3rV3)thw<+P3JPsh9K?*sl41;oQI6xBq(wm3`yBwdgBvdSv8Gpl=yG MUHx3vIVCg!03VQsga7~l diff --git a/src/main/java/org/parabot/core/ui/images/category/fletching.png b/src/main/java/org/parabot/core/ui/images/category/fletching.png deleted file mode 100644 index e06f06a7f5fe327eb4235fb4d24bb926fd55f10b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 307 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9c!3HGfPKx~mq!^2X+?^QKos)S9a~60+7BevL9R^{>76Mf*@^oG^ca(8cM73NdY$mBMks{duN z;!=@+68jYbI;6SIFE`mDxElkmMS3!L_aXSv1;Ze1j}q{(d}(=11$C%(sDy<*z+Xi{(k=amX0+1JYsTuJFK ySW>#rBI@Y*z&e?#@@Y43ZaS5?!aQ)_e#U<%_>A=1`n7?sW$<+Mb6Mw<&;$Ud4sA04 diff --git a/src/main/java/org/parabot/core/ui/images/category/herblore.png b/src/main/java/org/parabot/core/ui/images/category/herblore.png deleted file mode 100644 index e2da9e3d3176b0f039afce9aca8d92fcb34320a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9c!3HGfPKx~mq!^2X+?^QKos)S9a~60+7BevL9R^{>76Mf*^K@|xvGBh-C?GSK~ah zU+_80-VQ|p!B5TsT8jkBH|In>cCtRNuEX@*QCpOYg|T#2daLM_6%)D}Dg~a4A}_GZUVcwFU(jBTrt|Osqd@ z=Tt4{ayakWd)eEjs+Ka$bu6_%*Z%qNy8iYv#*Ok~LEB^gZ~|S-;OXk;vd$@?2>?I@ BY(D@1 diff --git a/src/main/java/org/parabot/core/ui/images/category/hunter.png b/src/main/java/org/parabot/core/ui/images/category/hunter.png deleted file mode 100644 index dc6211007ab373c00d0fb7ffb8666ec8a1e37b41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1809 zcmaJ?X;c$e6pjK)MT_79$N|Su4ptx=NhFc5Wnqy74M9*W7?KGIkW5Gh2#ey1#VE3r zsvrvLQIWEV9Oep$qJzO? z4xXc6KoY4>k`f9`;_`(_(L$;Sbaw+>)ijhq1|b4KEsK$>Xlgn*$xB1$dNU3LCS8zd zI`~;s2xk+(fRzwH#yUF*@dN@upl_oS{IJH25BVh6REloReIREb|lg)Um5FYf8 z-v1<4@e>sgjt8mWIHeFRoOrc9l!C@kLIMO<@?kh;I*XemFaoP2umWHNQh>D_flw;f z8@`%Ea5ywyxe5`;g^(|k4x$`bsZ>N`ktpj~EGCTWz~rWB(%H2zXXTs1ie}ZqWX+1j zp<;0Q(*CQ|(?rNK z#P86(Jk>wv_iTx&)5GvWN`N(I+@-7_==q46w9_j4)CRxYsHcNZeJY0SOIrQtKiP7+ zpS;V`O2GN>g$;Fm_lA75jDzOckd?EubI*Ohfx@OQ!XA_99q%Lx+eUWEl71gc-7_Qa zwzf7)+ZAbjPrWJm1}(O^E*T8Uu>%@v^5T@;BI4HG&e2iQ-Uh(12E*E1IIv89aH1$% zVu#ee&}z$ZU@Q1h6}!1dLy-dp`K#@SUgbe&QU~P~OLq23%+F{j`&{`$p;wo9$B@6WmiwgBb?g+Eg#i#k#tc zzlxXqP}94=dx*8JAT1-;1HRo<9};c+QRwO5C_<7+4+*ZqGUNW2?w5Fb+JP~zaSYt-fA#&i9# z*Xnf=rXaN0V&Zf(#y7j-J!uZNKlA3ftKX0hwLB>{Iep5$i8@Cs`N;P?=E6;UyZjLbPY%8@jk4hYSIc~%oiK?W=1zX;J`=-;qCp^@o&-zge zH}4*1Ff#zEw?ZzK5hG;p(W4RGa>RPQnWiPvXHDn*t~1Tq;_ZRkv&0EYyowfs{l>}{F>s#qM~|}j)K|>uz4We&aP7H|AemU zL1uAbm_>4Tj74}-B}B9u$=`U4snI&p3b>X1Z&r7MEG(wPWw!wr$=x diff --git a/src/main/java/org/parabot/core/ui/images/category/magic.png b/src/main/java/org/parabot/core/ui/images/category/magic.png deleted file mode 100644 index a9369cfd63b37751e8b32d7a14371f09194529ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 611 zcmV-p0-XJcP)aPml6!N{dCq%J4k7=WLL_YD2+?wX&gYhD z^hkQ*2T2rvvQVUVUQCiYiwAOR6LPSMaLhPRRU!9QAQFLVN zg?PC*3`QZT%3FE*&M)460J*UNTAT${5}#C6T^RO2F#yd^-lK;14x6OecjVkJPm<>N?U`jw(6V}FAZWmn2ffK`{l{1wPEcLnG< z`0OL_`b|;10HS-4k~U;9FE()v5v%!CH|;gg^GfLoc11Be?TM<1LM3GdJ9#JAi)HNh5ySpQ(>|p93|Jp5 zoL+D`FiQSm$@TYK*Ig8Dl(QzzEXx}8eP7o!EvLj&)qKf&sTsL9$*hHOvy6P%{b<|v xQa?xJ%L8wv<2Y(eNZ0jZKTOk14+Z$A`VAn1nak3coG_)3I3sh{yQlPG0JtEYSCZ@px-iqS^R1g(K zP)aoP=q;D6x4N~&Y??HbbsjbB>BGYecs>i{k=z?B!x%=hYlV; zm_nfp6$c4rW{-xq?tgW!jNDB zI7$~3kHewyQn@Bxui`F9t_Zf&LD5LJII7sY{m!1!D5*99wCuH zVuO)T88on1$fJ@RG@VWh`Lq1}K~GO_7K7mpf+D6Lo5c}um}K$60G21{*M}9NnivE& z5PewfXDsKdSj#XV7#UdzgaVUle7YG3;YwIduE_w5QN4<~j?>#QC3Zk3O* z0TL2(_cE!>;j@q`@YTAZJ>}0j&*weP?Klv4ClVvBLi&Rz8qP1xc1+rskU7icisET0 z2YgX#?>Z#YklNtpI-S-3bnfGq18ef~CV4sx%Sud4Y;Wu}doMp$a500jE&~Q3=+f^O zT57Lfuj+o{SYcy#^zep!{nX?$9UZP_v-z){9%}ArJ3Hga8g7WoR_o2Fsh&PQ!3;&v z**^lHW0lxMhg>(eMP6+6!s8eJtQ$G~@@0qfw);v;RT!3*oSba(O_!>pqunYhDugDJ zSAtXx#TMcvSboHGGp=zHcO<&QoF;lWU^T1*PTr(%#TK-qzrjv zUy@O@zaoFm#*%4=BMxHe)!g~tjT3TaoWB>hK2(u_=Q*_8(sRSdo2nAa_G$6C_)&+- z*6y@X3>Y5R(57B6D)0t2;G)#|r&62Ed79#ZE6{JloJzJJb(LqtO=0s4w!4}eJf{># z(d?wbL&CXxB8j3D*Gliro5rNH9pALREPw3Sg7663?P=W(rS~N$+e)LGq;dv0aZzHv zHa`A(?<$*;jE?Sf-b^cG$nin@GljGFa?0MM^|re-$HY_=inu>0cZG>2+S_kg5=D%p&ze2P1lmGw# diff --git a/src/main/java/org/parabot/core/ui/images/category/mining.png b/src/main/java/org/parabot/core/ui/images/category/mining.png deleted file mode 100644 index f854d64136124c95f97252e583ffd96da705116e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 343 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9c!3HGfPKx~mq!^2X+?^QKos)S9a~60+7BevL9R^{>76Mfr^K@|xvG89z#agJ@fQPk~pU=^Cx|O*H^YaB<<>5;F{gu;FAEv~t z*y#THD*L34C4z=5i=#H;?!w zgTe~DWM4fBX@h^ diff --git a/src/main/java/org/parabot/core/ui/images/category/other.png b/src/main/java/org/parabot/core/ui/images/category/other.png deleted file mode 100644 index fcca457de2298bbe41d4e6b3db36f09a36dc780e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 328 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9c!3HGfPKx~mq!^2X+?^QKos)S9a~60+7BevL9R^{>76Mgm_jGX#vGCtJg^{m8fx~t0gzx+N-9Ip?Tq~C^Nqbt9EOzoWbC$rw z4TrZmgq*Nn5b*D?nfAc|!6xqol26`0s&YRYrt&<7m-)Sw_J!5P3$h)TD;>+IQNAIt z#DV4fyvR^yN8U?}2hMv~FHH$DQCR1!d+4fZD0^$fW}Z){b};_RmHZNQai(X6?sFyP zt}lCLz3W);fal@gC)O5kq~`3IzT?Lp%Y1W{!zCM+9r*U5LtPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0003VNklQ6ADm}nN(g%lS;TX%hetLMsujGCDgLKkNdNWPpqlZin@MiD6lL6QH1 z41Sk>d}Sjb^L=>gt;aGUJbc%!F=S6WTI?nS1gW&E3_Xo(zE(B6g3?IYeqhKNx9D-u zRALg8Mlja>TZ6*y6}^9qsTa9QEP=!*0MG=;@(|Pdcf+lKp&7;$qo#M0As~ydrIhIB zjEGEjGx9$JDd{zn8aeYGA+MoJ{x;yT00D4U9yL5G$>qXJYh;=wLI4dnK4WMCa~60+7BevL9R^{>76Mg0@^ol4O0kOiJFh%^L?ai3vN0^)xa`}tY6p%Y9T(A;Ii>Nu?E!~W zzMW*QIF~7ZZsOG5u8=3XH>dtQpYq$bY1aJmvxjc&y}j}8{XdrXmwn;Nkk36H2J|h1 Mr>mdKI;Vst0A#+3*#H0l diff --git a/src/main/java/org/parabot/core/ui/images/category/script.png b/src/main/java/org/parabot/core/ui/images/category/script.png deleted file mode 100644 index 739afda114f6dfadd10649b8a42778dab887d3b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 452 zcmV;#0XzPQP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0003qNklR}Pr{V=I{2_p|T*6(i z;cYhXw_8CFh25ZV_2CfaYzE75@Jm3CfO|W-NF;Eb$)H#&;f|?X#(kxN2hvS8%WcNU u>p!E0yrkppir0w$c^&`JivCfj=jadDMcsCC6`pMX0000Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D02*{fSaefwW^{L9 za%BKeVQFr3E>1;MAa*k@H7+qQF!XYv0006DNkl5-(L=X`qh*k{<@uzW+()v?HMbQ#%YAfpC4@D~2 zD!9Z!hn#vYyfKh3ijv_j?|pgRbI-Zorvso%L?r}5A#p*vtJZB5J;{xra%%?K-ASmZ zc!(!inJ9Xuhp9l1$LVSE$elo*?qp1TNfB7d^ZfgP_-bi!A)1>~1=ik@0b^lSWaPMt zv^?QR)m5)B@F5%D*B*ch)jds+Y8rBLpo$Qi&4z~h2E47SLT$|>4EwHOF(3u0tF&Oo z*N4T)3A}&z24=GvE|&{VrxTX4GBG(XPlvYFByF<^s()?A#{4Io{`rmm9*?9%06|nl z5c^cdo@Q!1T%Q~h$oBFyUYd$vG@1m&vfJ%gSzX2O$O!g!HeoTphz~m2+eSDX#^vP& zKKp%mYS4=khr@wjFo@Z?Iq_~|?HjDdf*8YPA*pC#v=4+)6@4O%0I%1JkA6P_fq+0a zfBq2v7(#S<5zx5Djjw|p;=}pbiKydPRK{JRA_94K@GBrN`lh^!fVvu;=xue0va`QO z0-`5Oj;cbTkU)6va~60+7BevL9R^{>76MgW^mK6yvG89z#ZjzTfyd>sWmU(zswsJ|EO%YneYwxV!X@Zeh2A2Y z#`7wYTc%8k6`by%kitCE_r7~yV5#+qOVyF(Ga6$KRC&lHpWZ1W`l7*CdWWds8qTUa z`HCFHx)H2Z=hnBha`Z%ZSv*fXtgv=viLUtUtO~7=%!1y!XW)cFxXW u=hunzZPuK6GDj@G{=aOK+ke*^-x;IszL_Sp^a~60+7BevL9R^{>76Mf@d%8G=SomL^>@CD#$l`MM$X|a=!_c6_KVoK)5f5F>8I_tkB^o~{ z@HZsz-{gG#dg8UrZ&@rq8jU!VrU}b!X8j^vetM5%+`MYh6T4OQPB|=6o9m$vcI)qh zwJKja7=^AXU2(kiNY5iz_tWtzm1DcUUTyC+lafneUGs^*=9ZV!6#2>97|Ldwhm@Ib R+X!?HgQu&X%Q~loCIIgCUrqo3 diff --git a/src/main/java/org/parabot/core/ui/images/category/utility.png b/src/main/java/org/parabot/core/ui/images/category/utility.png deleted file mode 100644 index 53b8d03a552c5d0f3745ede1144efdc7856021d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 310 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9c!3HGfPKx~mq!^2X+?^QKos)S9a~60+7BevL9R^{>76Mf*^>lFzvG89z#hb4|fyX6L_n!Tnrr8CmB?ie^Q~i0nmq~xB(N$hI zt#{mzv8Q8Cq)fEuY`2Z{~<(Tf}R{wQQN}MUAB)jE2Xe)F!kDG~^jw z66jM=JbZDV!rBjJ>+dsFN*HE@95+qgc<1N~^Hpv}ISdhs+b8l#`_B2ko~69pMY%1P z`{Ah$QI-8pCyXYXJ9%Z((}nkfFE;zyD=RN%-oJmoo2K3Tr$7fYc)I$ztaD0e0suSV BYncE5 diff --git a/src/main/java/org/parabot/core/ui/images/category/woodcutting.png b/src/main/java/org/parabot/core/ui/images/category/woodcutting.png deleted file mode 100644 index fa30e5c5d5927f2450c6477f4debf0b3ffd3701e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 377 zcmeAS@N?(olHy`uVBq!ia0vp^LO?9c!3HGfPKx~mq!^2X+?^QKos)S9a~60+7BevL9R^{>76Mhh@N{tuvG89zuJpCbJ|j^Xbo;Cf^Ws z{k!4Hmc7q6KXwTT?c)$vQqnSFWjr}!598Vf(`VN`pH80lTjPFp1Z${=5R*_7Ls^2P zh~u{dS{-^-=Cj{TGM@IMG{tLE(rkvmSqJtvDOBClui8CNo8kQqH*Yuh)a4p!&*W0B zGoQ$|VEM68)UR@``NG?l<$W)>l-N!koKTgTs(d(MW@8J7WBB{yZ*~N+6~2JTM2ii%G&=cZO3KjdWY_@-a?ZNB?9{j$8WuNmiC%TK)RXyIP=@b;X5 TOJ}2ierE7=^>bP0l+XkK`?`*F diff --git a/src/main/java/org/parabot/core/ui/images/close.png b/src/main/java/org/parabot/core/ui/images/close.png deleted file mode 100644 index f1ccf5d70eaec49c978e62051b75186ad7e3863f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3148 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

    pW&(L>A^=I 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πSMI0ptYoJaIe#YRNr(VoE-l6H-uQ0-?es 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 AY5)KL diff --git a/src/main/java/org/parabot/core/ui/images/stop.png b/src/main/java/org/parabot/core/ui/images/stop.png deleted file mode 100644 index 02612d4045a0408b17580ad8e399f860588c76e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1SD^YpWXnZBuiW)N`mv#O3D+9QW+dm@{>{( zJaZG%Q-e|yQz{EjrrH1%33$3VhE&{2N|0c67G+?OU|`(Cz&L4V+c}^dgQu&X%Q~lo FCIEIb94G() diff --git a/src/main/java/org/parabot/core/ui/images/trash.png b/src/main/java/org/parabot/core/ui/images/trash.png deleted file mode 100644 index 53867b6548c245ee1d6b52ba1696eb075a313081..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3615 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 diff --git a/src/main/java/org/parabot/core/ui/utils/SwingUtil.java b/src/main/java/org/parabot/core/ui/utils/SwingUtil.java index 52b7e1a..0e54590 100644 --- a/src/main/java/org/parabot/core/ui/utils/SwingUtil.java +++ b/src/main/java/org/parabot/core/ui/utils/SwingUtil.java @@ -1,48 +1,8 @@ package org.parabot.core.ui.utils; -import org.parabot.core.ui.images.Images; -import org.parabot.environment.OperatingSystem; - -import javax.swing.*; -import java.awt.*; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; - /** - * - * Holds various swing util based methods - * - * @author Dane - * + * @author JKetelaar */ -public class SwingUtil { - - /** - * Packs, centers, and shows the frame. - * - * @param f - */ - public static void finalize(JFrame f) { - f.pack(); - f.setLocationRelativeTo(null); - f.setVisible(true); - } - - public static void setParabotIcons(JFrame f) { - f.setIconImage(Images.getResource("/storage/images/icon.png")); - - if(OperatingSystem.getOS() == OperatingSystem.MAC) { - /** Adds the dock icon to mac users */ - try { - Class util = Class.forName("com.apple.eawt.Application"); - Object application = util.getMethod("getApplication", new Class[] { }).invoke(null); - Method setDockIconImage = util.getMethod("setDockIconImage", new Class[] { Image.class }); - setDockIconImage.invoke(application, Images.getResource("/storage/images/icon.png")); - } catch (ClassNotFoundException | NoSuchMethodException | InvocationTargetException | IllegalAccessException ignored) { - } catch (Throwable t) { - t.printStackTrace(); - } - } - } +public class SwingUtil extends org.parabot.api.ui.SwingUtil { } diff --git a/src/main/resources/storage/images/icon.png b/src/main/resources/storage/images/icon.png deleted file mode 100755 index 33ef49f89d9064a95299ac926a96623bea3c80d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 77476 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
      pW&(L>A^=I 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πSMI0ptYoJaIe#YRNr(VoE-l6H-uQ0-?es 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 p6BYoNFk!+1023xm8<_qPU;um$V) Date: Tue, 18 Oct 2016 20:33:22 +0200 Subject: [PATCH 100/114] [FEATURE] Implemented new internal API Related to issue #47 and issue #48 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 89ddd21..bf870bb 100755 --- a/pom.xml +++ b/pom.xml @@ -73,7 +73,7 @@ org.parabot internal-api - 1.4.3 + 1.4.4 From 28bb1ba52347f1bd8095d7c3a2c1f55dc531eeca Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Tue, 18 Oct 2016 20:42:51 +0200 Subject: [PATCH 101/114] [FEATURE] First release candidate --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index bf870bb..071ec1c 100755 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.parabot client - 2.6 + 2.6.0-RC1 jar From 632e2ac10fa1cbb5f7e8175eb1d5004910f262ba Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Tue, 18 Oct 2016 20:58:09 +0200 Subject: [PATCH 102/114] [BUGFIX] Updated urls to latest versions --- src/main/java/org/parabot/core/Configuration.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/parabot/core/Configuration.java b/src/main/java/org/parabot/core/Configuration.java index d800e6e..dc84042 100644 --- a/src/main/java/org/parabot/core/Configuration.java +++ b/src/main/java/org/parabot/core/Configuration.java @@ -16,7 +16,7 @@ public class Configuration extends org.parabot.api.Configuration { 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://bdn.parabot.org/api/v2/bot/download/client/"; + 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 REGISTRATION_PAGE = "https://www.parabot.org/community/register/"; public static final String GET_RANDOMS = "http://v3.bdn.parabot.org/api/bot/download/randoms"; @@ -25,5 +25,5 @@ public class Configuration extends org.parabot.api.Configuration { public static final Version BOT_VERSION = ProjectProperties.getProjectVersion(); - public static final String NIGHTLY_APPEND = "nightly=true"; + public static final String NIGHTLY_APPEND = "?nightly=true"; } From ab707bece571ae5c7555748569e8cfedd7aa2f79 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Tue, 18 Oct 2016 20:58:29 +0200 Subject: [PATCH 103/114] [CLEANUP] Moved version notification to Core --- src/main/java/org/parabot/Landing.java | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/src/main/java/org/parabot/Landing.java b/src/main/java/org/parabot/Landing.java index 37be263..78b7885 100644 --- a/src/main/java/org/parabot/Landing.java +++ b/src/main/java/org/parabot/Landing.java @@ -44,18 +44,7 @@ public final class Landing { } if (!Core.inDebugMode() && Core.hasValidation() && !Core.isValid()) { - UILog.log(TranslationHelper.translate("UPDATES"), - TranslationHelper.translate("DOWNLOAD_UPDATE_PARABOT_AT") - + Configuration.DOWNLOAD_BOT, - JOptionPane.INFORMATION_MESSAGE); - URI uri = URI.create(Configuration.API_DOWNLOAD_BOT); - try { - Desktop.getDesktop().browse(uri); - } catch (IOException e1) { - JOptionPane.showMessageDialog(null, TranslationHelper.translate("CONNECTION_ERROR"), - TranslationHelper.translate("ERROR"), JOptionPane.ERROR_MESSAGE); - e1.printStackTrace(); - } + Core.downloadNewVersion(); return; } From 51859b90ffa78068a5c5a025af1c9c30ea8561ea Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Tue, 18 Oct 2016 20:58:45 +0200 Subject: [PATCH 104/114] [FEATURE] Added check for nightly version --- src/main/java/org/parabot/core/Core.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/main/java/org/parabot/core/Core.java b/src/main/java/org/parabot/core/Core.java index 991c40f..d479940 100644 --- a/src/main/java/org/parabot/core/Core.java +++ b/src/main/java/org/parabot/core/Core.java @@ -3,15 +3,19 @@ package org.parabot.core; import org.json.simple.JSONObject; import org.json.simple.parser.ParseException; import org.parabot.Landing; +import org.parabot.api.translations.TranslationHelper; import org.parabot.core.ui.utils.UILog; import org.parabot.environment.api.utils.Version; import org.parabot.environment.api.utils.WebUtil; +import javax.swing.*; +import java.awt.*; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.net.MalformedURLException; +import java.net.URI; import java.net.URISyntaxException; import java.net.URLEncoder; import java.security.MessageDigest; @@ -229,6 +233,21 @@ public class Core { } } + public static void downloadNewVersion(){ + UILog.log(TranslationHelper.translate("UPDATES"), + TranslationHelper.translate("DOWNLOAD_UPDATE_PARABOT_AT") + + Configuration.DOWNLOAD_BOT + (currentVersion.isNightly() ? Configuration.NIGHTLY_APPEND : ""), + JOptionPane.INFORMATION_MESSAGE); + URI uri = URI.create(Configuration.API_DOWNLOAD_BOT + (currentVersion.isNightly() ? Configuration.NIGHTLY_APPEND : "")); + try { + Desktop.getDesktop().browse(uri); + } catch (IOException e1) { + JOptionPane.showMessageDialog(null, TranslationHelper.translate("CONNECTION_ERROR"), + TranslationHelper.translate("ERROR"), JOptionPane.ERROR_MESSAGE); + e1.printStackTrace(); + } + } + /** * Checks for updates. * From f6d4edd5c22bef06c211169ad03cff7942e89efc Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Tue, 18 Oct 2016 21:13:24 +0200 Subject: [PATCH 105/114] [BUGFIX] Solved issue with naming --- .travis.yml | 2 +- .travis/maven-build.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 09ecbf6..05bd5fe 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,7 +32,7 @@ env: - secure: UG+b1tEgc8xv9x4r//2OAIK1RrYv6n209KTTFMMwcnAa7DI8HaP8nljRa5/VhDhuKHdlVrYH/tI90v7UVBs0GDVNwK5V17Io0fMm3FUGZekSthTCqqno5wAGa9r6a6mMLtSaSmIFeIKi0+0d2ZwplRuhj/dtEYjjBBj+kK8g4nE= - secure: St/fecUDInFBCRriYqgp2F8PU9/SooorgxD9Mrs+b0EsC7AbtSsQXvdIv2Lp6xzdQ0VSXPcLIhULPOYrmBKnGQ/NjXTIZXxnroyQxxnI6xyEWIZwiHRY/bKRJDRbQTxD9NL32szKiDSwnw7pu6llF4D64UqQvziq4Gm6VohU75M= - secure: bD15GVZWowiknbfLavh8CxSh0GsnF5kT4kZ6ggCuUDGyj0mzqf7dNRnchQIKkCG0WRYyTrFN4pEiygeywWsipEeAVv9Xhx3cuUZmzeQaR5KCWabSwJ8gK6jZd1YhcWmM9vrdPHobZr65MP0y/8mu/Fovgky9dY7KDf4G3SebNrM= - - PARABOT_VERSION=2.6 + - PARABOT_VERSION=2.6.0-RC1 cache: directories: diff --git a/.travis/maven-build.sh b/.travis/maven-build.sh index f618ba6..e716349 100755 --- a/.travis/maven-build.sh +++ b/.travis/maven-build.sh @@ -3,5 +3,5 @@ if [ "$TRAVIS_BRANCH" == "master" ]; then mvn -U package else - mvn -Dbuild.version="-RC-$TRAVIS_BUILD_ID" -U package + mvn -Dbuild.version="-$TRAVIS_BUILD_ID" -U package fi \ No newline at end of file From 7511ce367fa819be695020c219841a9e9a61f84a Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Tue, 18 Oct 2016 21:16:33 +0200 Subject: [PATCH 106/114] [BUGFIX] Setting versions without RC --- .travis.yml | 2 +- .travis/maven-build.sh | 2 +- pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index 05bd5fe..2e90b62 100644 --- a/.travis.yml +++ b/.travis.yml @@ -32,7 +32,7 @@ env: - secure: UG+b1tEgc8xv9x4r//2OAIK1RrYv6n209KTTFMMwcnAa7DI8HaP8nljRa5/VhDhuKHdlVrYH/tI90v7UVBs0GDVNwK5V17Io0fMm3FUGZekSthTCqqno5wAGa9r6a6mMLtSaSmIFeIKi0+0d2ZwplRuhj/dtEYjjBBj+kK8g4nE= - secure: St/fecUDInFBCRriYqgp2F8PU9/SooorgxD9Mrs+b0EsC7AbtSsQXvdIv2Lp6xzdQ0VSXPcLIhULPOYrmBKnGQ/NjXTIZXxnroyQxxnI6xyEWIZwiHRY/bKRJDRbQTxD9NL32szKiDSwnw7pu6llF4D64UqQvziq4Gm6VohU75M= - secure: bD15GVZWowiknbfLavh8CxSh0GsnF5kT4kZ6ggCuUDGyj0mzqf7dNRnchQIKkCG0WRYyTrFN4pEiygeywWsipEeAVv9Xhx3cuUZmzeQaR5KCWabSwJ8gK6jZd1YhcWmM9vrdPHobZr65MP0y/8mu/Fovgky9dY7KDf4G3SebNrM= - - PARABOT_VERSION=2.6.0-RC1 + - PARABOT_VERSION=2.6.0 cache: directories: diff --git a/.travis/maven-build.sh b/.travis/maven-build.sh index e716349..f618ba6 100755 --- a/.travis/maven-build.sh +++ b/.travis/maven-build.sh @@ -3,5 +3,5 @@ if [ "$TRAVIS_BRANCH" == "master" ]; then mvn -U package else - mvn -Dbuild.version="-$TRAVIS_BUILD_ID" -U package + mvn -Dbuild.version="-RC-$TRAVIS_BUILD_ID" -U package fi \ No newline at end of file diff --git a/pom.xml b/pom.xml index 071ec1c..2b0e03a 100755 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.parabot client - 2.6.0-RC1 + 2.6.0 jar From a152bfeec3447f6d88e3dda89958f98fc09a896f Mon Sep 17 00:00:00 2001 From: Emmastone Date: Fri, 21 Oct 2016 00:57:21 +0100 Subject: [PATCH 107/114] [FEATURE] Added nightly support for randoms Related to issue #134. --- .../org/parabot/core/parsers/randoms/PublicRandoms.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/parabot/core/parsers/randoms/PublicRandoms.java b/src/main/java/org/parabot/core/parsers/randoms/PublicRandoms.java index 9eb6315..a65b149 100644 --- a/src/main/java/org/parabot/core/parsers/randoms/PublicRandoms.java +++ b/src/main/java/org/parabot/core/parsers/randoms/PublicRandoms.java @@ -5,7 +5,6 @@ import org.parabot.core.Context; import org.parabot.core.Core; import org.parabot.core.Directories; import org.parabot.core.io.NoProgressListener; -import org.parabot.core.io.ProgressListener; import org.parabot.environment.api.utils.WebUtil; import java.io.File; @@ -46,12 +45,17 @@ public class PublicRandoms extends RandomParser { private void download() { try { - File random = new File(Directories.getCachePath() + "/randoms.jar"); + File random = new File(Directories.getCachePath() + File.separator + "randoms.jar"); if (random.exists()) { Core.verbose("Public random dependency already exists, no need to download it..."); return; } + String downloadLink = Configuration.GET_RANDOMS; + if (Configuration.BOT_VERSION.isNightly()) { + downloadLink = Configuration.GET_RANDOMS + "?stable=false"; + } + WebUtil.downloadFile(new URL(downloadLink), random, new NoProgressListener()); } catch (Exception e) { e.printStackTrace(); From a61c2513119aad7a3262775bbf4f58e57e5c8069 Mon Sep 17 00:00:00 2001 From: Emmastone Date: Fri, 21 Oct 2016 01:09:03 +0100 Subject: [PATCH 108/114] [CLEANUP] Made if statement in one line --- .../org/parabot/core/parsers/randoms/PublicRandoms.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/parabot/core/parsers/randoms/PublicRandoms.java b/src/main/java/org/parabot/core/parsers/randoms/PublicRandoms.java index a65b149..986ff56 100644 --- a/src/main/java/org/parabot/core/parsers/randoms/PublicRandoms.java +++ b/src/main/java/org/parabot/core/parsers/randoms/PublicRandoms.java @@ -1,11 +1,11 @@ package org.parabot.core.parsers.randoms; +import org.parabot.api.io.WebUtil; import org.parabot.core.Configuration; import org.parabot.core.Context; import org.parabot.core.Core; import org.parabot.core.Directories; import org.parabot.core.io.NoProgressListener; -import org.parabot.environment.api.utils.WebUtil; import java.io.File; import java.lang.reflect.InvocationTargetException; @@ -51,10 +51,7 @@ public class PublicRandoms extends RandomParser { return; } - String downloadLink = Configuration.GET_RANDOMS; - if (Configuration.BOT_VERSION.isNightly()) { - downloadLink = Configuration.GET_RANDOMS + "?stable=false"; - } + String downloadLink = ((Configuration.BOT_VERSION.isNightly()) ? Configuration.GET_RANDOMS + "?stable=false" : Configuration.GET_RANDOMS); WebUtil.downloadFile(new URL(downloadLink), random, new NoProgressListener()); } catch (Exception e) { From 3e6438362fc4e2bf9e7b417ae91fe500b6fa37c8 Mon Sep 17 00:00:00 2001 From: Emmastone Date: Fri, 21 Oct 2016 17:02:34 +0100 Subject: [PATCH 109/114] =?UTF-8?q?[CLEANUP]=20Added=20=E2=80=9C-nightly?= =?UTF-8?q?=E2=80=9D=20if=20it=E2=80=99s=20nightly=20to=20jar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- src/main/java/org/parabot/core/Configuration.java | 2 -- .../org/parabot/core/parsers/randoms/PublicRandoms.java | 8 +++++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index 2b0e03a..ee19873 100755 --- a/pom.xml +++ b/pom.xml @@ -73,7 +73,7 @@ org.parabot internal-api - 1.4.4 + 1.4.41 diff --git a/src/main/java/org/parabot/core/Configuration.java b/src/main/java/org/parabot/core/Configuration.java index dc84042..96a7972 100644 --- a/src/main/java/org/parabot/core/Configuration.java +++ b/src/main/java/org/parabot/core/Configuration.java @@ -24,6 +24,4 @@ public class Configuration extends org.parabot.api.Configuration { public static final String ITEM_API = DATA_API + "items/"; public static final Version BOT_VERSION = ProjectProperties.getProjectVersion(); - - public static final String NIGHTLY_APPEND = "?nightly=true"; } diff --git a/src/main/java/org/parabot/core/parsers/randoms/PublicRandoms.java b/src/main/java/org/parabot/core/parsers/randoms/PublicRandoms.java index 986ff56..4a1d80f 100644 --- a/src/main/java/org/parabot/core/parsers/randoms/PublicRandoms.java +++ b/src/main/java/org/parabot/core/parsers/randoms/PublicRandoms.java @@ -19,9 +19,11 @@ import java.net.URLClassLoader; */ public class PublicRandoms extends RandomParser { + private String fileName = ((Configuration.BOT_VERSION.isNightly()) ? "randoms-nightly.jar" : "randoms.jar"); + @Override public void parse() { - File myJar = new File(Directories.getCachePath() + "/randoms.jar"); + File myJar = new File(Directories.getCachePath() + File.separator + fileName); if (!myJar.exists() || !myJar.canRead()) { download(); } @@ -45,13 +47,13 @@ public class PublicRandoms extends RandomParser { private void download() { try { - File random = new File(Directories.getCachePath() + File.separator + "randoms.jar"); + File random = new File(Directories.getCachePath() + File.separator + fileName); if (random.exists()) { Core.verbose("Public random dependency already exists, no need to download it..."); return; } - String downloadLink = ((Configuration.BOT_VERSION.isNightly()) ? Configuration.GET_RANDOMS + "?stable=false" : Configuration.GET_RANDOMS); + String downloadLink = ((Configuration.BOT_VERSION.isNightly()) ? Configuration.GET_RANDOMS + Configuration.NIGHTLY_APPEND : Configuration.GET_RANDOMS); WebUtil.downloadFile(new URL(downloadLink), random, new NoProgressListener()); } catch (Exception e) { From 112d5ea59a2d44919fe19949cc965e38147a44c4 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 23 Oct 2016 01:49:52 +0200 Subject: [PATCH 110/114] [BUGFIX] Implemented server provider download from BDN V3 --- src/main/java/org/parabot/core/Configuration.java | 2 +- .../environment/servers/executers/PublicServerExecuter.java | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/parabot/core/Configuration.java b/src/main/java/org/parabot/core/Configuration.java index 96a7972..1d5f6b2 100644 --- a/src/main/java/org/parabot/core/Configuration.java +++ b/src/main/java/org/parabot/core/Configuration.java @@ -12,7 +12,7 @@ public class Configuration extends org.parabot.api.Configuration { 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_PROVIDERS = "http://bdn.parabot.org/api/get.php?action=server_providers"; - public static final String GET_SERVER_PROVIDER = "http://bdn.parabot.org/api/get.php?action=server_provider&name="; + public static final String GET_SERVER_PROVIDER = "http://v3.bdn.parabot.org/api/bot/list/provider?nightly=%s"; 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"; diff --git a/src/main/java/org/parabot/environment/servers/executers/PublicServerExecuter.java b/src/main/java/org/parabot/environment/servers/executers/PublicServerExecuter.java index 7e32445..9658d42 100644 --- a/src/main/java/org/parabot/environment/servers/executers/PublicServerExecuter.java +++ b/src/main/java/org/parabot/environment/servers/executers/PublicServerExecuter.java @@ -54,8 +54,7 @@ public class PublicServerExecuter extends ServerExecuter { final File destination = new File(Directories.getCachePath(), serverProviderInfo.getCRC32() + ".jar"); - final String jarUrl = Configuration.GET_SERVER_PROVIDER - + this.serverName; + final String jarUrl = String.format(Configuration.GET_SERVER_PROVIDER, Configuration.BOT_VERSION.isNightly()); Core.verbose("Downloading: " + jarUrl + " ..."); From ff70498a53b66eb9ba3a7f2896599c1d4983276b Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 23 Oct 2016 01:54:17 +0200 Subject: [PATCH 111/114] [BUGFIX] Calling validate before translating --- src/main/java/org/parabot/Landing.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/parabot/Landing.java b/src/main/java/org/parabot/Landing.java index 78b7885..7c2b31a 100644 --- a/src/main/java/org/parabot/Landing.java +++ b/src/main/java/org/parabot/Landing.java @@ -33,6 +33,8 @@ public final class Landing { parseArgs(args); + Directories.validate(); + Core.verbose(TranslationHelper.translate("DEBUG_MODE") + Core.inDebugMode()); try { @@ -48,9 +50,6 @@ public final class Landing { return; } - Core.verbose(TranslationHelper.translate("VALIDATING_DIRECTORIES")); - Directories.validate(); - Core.verbose(TranslationHelper.translate("VALIDATION_ACCOUNT_MANAGER")); AccountManager.validate(); From bb3456045adf062a56d32aba3ae0727b9f81acf1 Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 23 Oct 2016 01:57:09 +0200 Subject: [PATCH 112/114] [BUGFIX] Downloading instead of listing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Duh… --- src/main/java/org/parabot/core/Configuration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/parabot/core/Configuration.java b/src/main/java/org/parabot/core/Configuration.java index 1d5f6b2..11fb0cf 100644 --- a/src/main/java/org/parabot/core/Configuration.java +++ b/src/main/java/org/parabot/core/Configuration.java @@ -12,7 +12,7 @@ public class Configuration extends org.parabot.api.Configuration { 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_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/list/provider?nightly=%s"; + public static final String GET_SERVER_PROVIDER = "http://v3.bdn.parabot.org/api/bot/download/provider?nightly=%s"; 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"; From 2e5eb6ada205acffd3cfd04cc5e11744626d235b Mon Sep 17 00:00:00 2001 From: JKetelaar Date: Sun, 23 Oct 2016 01:57:20 +0200 Subject: [PATCH 113/114] [BUGFIX] Removed username and password from downloading --- .../environment/servers/executers/PublicServerExecuter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/parabot/environment/servers/executers/PublicServerExecuter.java b/src/main/java/org/parabot/environment/servers/executers/PublicServerExecuter.java index 9658d42..73723a4 100644 --- a/src/main/java/org/parabot/environment/servers/executers/PublicServerExecuter.java +++ b/src/main/java/org/parabot/environment/servers/executers/PublicServerExecuter.java @@ -62,7 +62,7 @@ public class PublicServerExecuter extends ServerExecuter { Core.verbose("Found cached server provider [CRC32: " + serverProviderInfo.getCRC32() + "]"); } else { WebUtil.downloadFile(new URL(jarUrl), destination, - VerboseLoader.get(), manager.getAccount().getURLUsername(), manager.getAccount().getURLPassword()); + VerboseLoader.get()); Core.verbose("Server provider downloaded..."); } From a76f9cc6f2ed022d8a99b1abb740f7e1c99d7494 Mon Sep 17 00:00:00 2001 From: Emmastone Date: Sun, 23 Oct 2016 18:49:39 +0100 Subject: [PATCH 114/114] [BUGFIX] Would throw ClassCastException This line would throw ClassCastException when starting the client. --- src/main/java/org/parabot/core/Core.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/parabot/core/Core.java b/src/main/java/org/parabot/core/Core.java index d479940..16f0204 100644 --- a/src/main/java/org/parabot/core/Core.java +++ b/src/main/java/org/parabot/core/Core.java @@ -184,7 +184,7 @@ public class Core { try { if (br != null) { JSONObject object = (JSONObject) WebUtil.getJsonParser().parse(br); - boolean latest = Boolean.parseBoolean((String) object.get("result")); + boolean latest = (Boolean) object.get("result"); if (!latest) { Directories.clearCache(); } @@ -233,7 +233,7 @@ public class Core { } } - public static void downloadNewVersion(){ + public static void downloadNewVersion() { UILog.log(TranslationHelper.translate("UPDATES"), TranslationHelper.translate("DOWNLOAD_UPDATE_PARABOT_AT") + Configuration.DOWNLOAD_BOT + (currentVersion.isNightly() ? Configuration.NIGHTLY_APPEND : ""), @@ -265,7 +265,7 @@ public class Core { Core.verbose("Updates available..."); return false; } - }else{ + } else { Core.verbose("Validation disabled"); return true; }