diff --git a/engine/src/main/java/org/archive/crawler/restlet/ScriptResource.java b/engine/src/main/java/org/archive/crawler/restlet/ScriptResource.java index 9a4bf876..0577e7cd 100644 --- a/engine/src/main/java/org/archive/crawler/restlet/ScriptResource.java +++ b/engine/src/main/java/org/archive/crawler/restlet/ScriptResource.java @@ -24,6 +24,8 @@ import java.io.PrintWriter; import java.io.StringWriter; import java.io.Writer; import java.util.Collection; +import java.util.Collections; +import java.util.Comparator; import java.util.LinkedHashMap; import java.util.LinkedList; import java.util.List; @@ -65,6 +67,13 @@ public class ScriptResource extends JobRelatedResource { static LinkedList FACTORIES = new LinkedList(); static { FACTORIES.addAll(MANAGER.getEngineFactories()); + // Sort factories alphabetically so that they appear in the UI consistently + Collections.sort(FACTORIES, new Comparator() { + @Override + public int compare(ScriptEngineFactory sef1, ScriptEngineFactory sef2) { + return sef1.getEngineName().compareTo(sef2.getEngineName()); + } + }); } String script = ""; Exception ex = null;