diff --git a/parabotv2/src/org/parabot/core/desc/ScriptDescription.java b/parabotv2/src/org/parabot/core/desc/ScriptDescription.java index e5819ea..94d99c1 100644 --- a/parabotv2/src/org/parabot/core/desc/ScriptDescription.java +++ b/parabotv2/src/org/parabot/core/desc/ScriptDescription.java @@ -6,7 +6,7 @@ package org.parabot.core.desc; * @author Everel * */ -public class ScriptDescription { +public class ScriptDescription implements Comparable { public String scriptName; public String author; public String category; @@ -131,4 +131,9 @@ public class ScriptDescription { return b.toString(); } + + @Override + public int compareTo( ScriptDescription o ) { + return scriptName.compareTo( o.scriptName ); + } } diff --git a/parabotv2/src/org/parabot/core/desc/ServerDescription.java b/parabotv2/src/org/parabot/core/desc/ServerDescription.java index a364bb5..7cd3bbe 100644 --- a/parabotv2/src/org/parabot/core/desc/ServerDescription.java +++ b/parabotv2/src/org/parabot/core/desc/ServerDescription.java @@ -7,7 +7,7 @@ package org.parabot.core.desc; * @author Everel * */ -public class ServerDescription { +public class ServerDescription implements Comparable { private String serverName; private String author; private double revision; @@ -37,4 +37,9 @@ public class ServerDescription { this.serverName, this.author, this.revision); } + @Override + public int compareTo( ServerDescription o ) { + return this.getServerName().compareTo( o.getServerName() ); + } + } diff --git a/parabotv2/src/org/parabot/core/parsers/scripts/ScriptParser.java b/parabotv2/src/org/parabot/core/parsers/scripts/ScriptParser.java index 1a75f65..ad6e80a 100644 --- a/parabotv2/src/org/parabot/core/parsers/scripts/ScriptParser.java +++ b/parabotv2/src/org/parabot/core/parsers/scripts/ScriptParser.java @@ -2,12 +2,15 @@ package org.parabot.core.parsers.scripts; import org.parabot.core.Core; import org.parabot.core.desc.ScriptDescription; +import org.parabot.core.desc.ServerDescription; import org.parabot.core.lib.jython.Jython; import org.parabot.environment.scripts.ScriptExecuter; +import org.parabot.environment.servers.ServerExecuter; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; +import java.util.TreeMap; /** * Abstract class for parsing scripts @@ -49,8 +52,10 @@ public abstract class ScriptParser { } Core.verbose("Scripts parsed."); } + + Map SORTED_SCRIPT_CACHE = new TreeMap( SCRIPT_CACHE ); - return SCRIPT_CACHE.keySet().toArray(new ScriptDescription[SCRIPT_CACHE.size()]); + return SORTED_SCRIPT_CACHE.keySet().toArray(new ScriptDescription[SORTED_SCRIPT_CACHE.size()]); } } \ No newline at end of file diff --git a/parabotv2/src/org/parabot/core/parsers/servers/ServerParser.java b/parabotv2/src/org/parabot/core/parsers/servers/ServerParser.java index 74e97b6..a6c4a83 100644 --- a/parabotv2/src/org/parabot/core/parsers/servers/ServerParser.java +++ b/parabotv2/src/org/parabot/core/parsers/servers/ServerParser.java @@ -7,6 +7,7 @@ import org.parabot.environment.servers.ServerExecuter; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; +import java.util.TreeMap; /** * Abstract class for parsing server providers @@ -42,8 +43,9 @@ public abstract class ServerParser { Core.verbose("Server providers parsed."); } + Map SORTED_SERVER_CACHE = new TreeMap( SERVER_CACHE ); - return SERVER_CACHE.keySet().toArray(new ServerDescription[SERVER_CACHE.size()]); + return SORTED_SERVER_CACHE.keySet().toArray(new ServerDescription[SORTED_SERVER_CACHE.size()]); } } \ No newline at end of file