From f2b50c0330403e7ff2f0bb58b51526d7be8bdce4 Mon Sep 17 00:00:00 2001 From: Clisprail Date: Sun, 3 Aug 2014 13:07:20 +0200 Subject: [PATCH] SDN Scripts title & description hex decoding added --- .../src/org/parabot/core/Configuration.java | 2 +- .../core/parsers/scripts/SDNScripts.java | 6 ++++ .../environment/api/utils/StringUtils.java | 30 +++++++++++++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 parabotv2/src/org/parabot/environment/api/utils/StringUtils.java diff --git a/parabotv2/src/org/parabot/core/Configuration.java b/parabotv2/src/org/parabot/core/Configuration.java index 7719ab5..443e9ab 100644 --- a/parabotv2/src/org/parabot/core/Configuration.java +++ b/parabotv2/src/org/parabot/core/Configuration.java @@ -7,7 +7,7 @@ package org.parabot.core; */ public class Configuration { public static final String LOGIN_SERVER = "http://www.parabot.org/community/api/login.php?username=%s&password=%s"; - public static final String SDN_SCRIPTS_JSON = "http://sdn.parabot.org/scripts.php?method=json&user=%s"; + public static final String SDN_SCRIPTS_JSON = "http://sdn.parabot.org/scripts.php?method=json&user=%s&type=hex"; public static final String GET_SDN_SCRIPT = "http://sdn.parabot.org/getscript.php?user=%s&pass=%s&scriptid=%d"; public static final String GET_SERVER_PROVIDERS_JSON = "http://sdn.parabot.org/providers/index.php?method=json"; public static final String GET_SERVER_PROVIDER = "http://sdn.parabot.org/providers/provider.php?id="; diff --git a/parabotv2/src/org/parabot/core/parsers/scripts/SDNScripts.java b/parabotv2/src/org/parabot/core/parsers/scripts/SDNScripts.java index 841149d..2eff64d 100644 --- a/parabotv2/src/org/parabot/core/parsers/scripts/SDNScripts.java +++ b/parabotv2/src/org/parabot/core/parsers/scripts/SDNScripts.java @@ -6,6 +6,7 @@ import org.parabot.core.Configuration; import org.parabot.core.desc.ScriptDescription; import org.parabot.core.forum.AccountManager; import org.parabot.core.forum.AccountManagerAccess; +import org.parabot.environment.api.utils.StringUtils; import org.parabot.environment.api.utils.WebUtil; import org.parabot.environment.scripts.executers.SDNScriptExecuter; @@ -52,6 +53,11 @@ public class SDNScripts extends ScriptParser { double version = Double.parseDouble(String.valueOf(jsonObject.get("version"))); String category = String.valueOf(jsonObject.get("category")); String description = String.valueOf(jsonObject.get("description")); + + // convert hex encoded strings to normal strings + + scriptName = StringUtils.convertHexToString(scriptName); + description = StringUtils.convertHexToString(description); final ScriptDescription desc = new ScriptDescription(jarName, scriptName, author, category, version, description, diff --git a/parabotv2/src/org/parabot/environment/api/utils/StringUtils.java b/parabotv2/src/org/parabot/environment/api/utils/StringUtils.java new file mode 100644 index 0000000..361dfe0 --- /dev/null +++ b/parabotv2/src/org/parabot/environment/api/utils/StringUtils.java @@ -0,0 +1,30 @@ +package org.parabot.environment.api.utils; + +/** + * + * @author mkyong + * + */ +public class StringUtils { + + public static String convertHexToString(String hex) { + + StringBuilder sb = new StringBuilder(); + StringBuilder temp = new StringBuilder(); + + for (int i = 0; i < hex.length() - 1; i += 2) { + + // grab the hex in pairs + String output = hex.substring(i, (i + 2)); + // convert hex to decimal + int decimal = Integer.parseInt(output, 16); + // convert the decimal to character + sb.append((char) decimal); + + temp.append(decimal); + } + + return sb.toString(); + } + +}