Browse Source

Add guards for invalid script engine registrations

This commit adds some simple checks against invalid script engine
service registrations.
Jason Tedor 9 years ago
parent
commit
6894594979

+ 5 - 0
core/src/main/java/org/elasticsearch/script/ScriptEngineRegistry.java

@@ -72,6 +72,11 @@ public class ScriptEngineRegistry {
         private final List<String> scriptEngineLanguages;
         private final List<String> scriptEngineLanguages;
 
 
         public ScriptEngineRegistration(Class<? extends ScriptEngineService> scriptEngineService, List<String> scriptEngineLanguages) {
         public ScriptEngineRegistration(Class<? extends ScriptEngineService> scriptEngineService, List<String> scriptEngineLanguages) {
+            Objects.requireNonNull(scriptEngineService);
+            Objects.requireNonNull(scriptEngineLanguages);
+            if (scriptEngineLanguages.isEmpty()) {
+                throw new IllegalArgumentException("languages for script engine service [" + scriptEngineService.getCanonicalName() + "] should be non-empty");
+            }
             this.scriptEngineService = scriptEngineService;
             this.scriptEngineService = scriptEngineService;
             this.scriptEngineLanguages = scriptEngineLanguages;
             this.scriptEngineLanguages = scriptEngineLanguages;
         }
         }