diff --git a/pom.xml b/pom.xml index 685da81..925e9ee 100644 --- a/pom.xml +++ b/pom.xml @@ -60,7 +60,7 @@ org.eclipse.jetty jetty-servlet - 11.0.3 + 11.0.19 org.apache.commons diff --git a/src/main/java/org/robotframework/remoteserver/servlet/ServerMethods.java b/src/main/java/org/robotframework/remoteserver/servlet/ServerMethods.java index 945c5c2..7807c71 100644 --- a/src/main/java/org/robotframework/remoteserver/servlet/ServerMethods.java +++ b/src/main/java/org/robotframework/remoteserver/servlet/ServerMethods.java @@ -52,8 +52,10 @@ public ServerMethods(RemoteServerServlet servlet) { public List get_keyword_names() { try { List names = servlet.getLibrary().getKeywordNames(); - if (names == null || names.size() == 0) + if (names == null || names.isEmpty()) throw new RuntimeException("No keywords found in the test library"); + if (!names.contains("__intro__")) names.add("__intro__"); + if (!names.contains("__init__")) names.add("__init__"); if (!names.contains("stop_remote_server")) names.add("stop_remote_server"); return names; } catch (Throwable e) { @@ -157,12 +159,12 @@ public Map run_keyword(String keyword, List args) { * @return A string array of argument specifications for the given keyword. */ public List get_keyword_arguments(String keyword) { - if (keyword.equalsIgnoreCase("stop_remote_server")) { - return Arrays.asList(); - } + if (keyword.equalsIgnoreCase("stop_remote_server")) return Collections.emptyList(); + if (keyword.equalsIgnoreCase("__intro__")) return Collections.emptyList(); + if (keyword.equalsIgnoreCase("__init__")) return Collections.emptyList(); try { List args = servlet.getLibrary().getKeywordArguments(keyword); - return args == null ? Arrays.asList() : args; + return args == null ? Collections.emptyList() : args; } catch (Throwable e) { log.warn("", e); throw new RuntimeException(e); @@ -177,6 +179,9 @@ public List get_keyword_arguments(String keyword) { * @return A documentation string for the given keyword. */ public String get_keyword_documentation(String keyword) { + if (keyword.equalsIgnoreCase("__init__")) { + return ""; + } if (keyword.equalsIgnoreCase("stop_remote_server")) { return "Stops the remote server.\n\nThe server may be configured so that users cannot stop it."; }