Implement rules in Scala using Scala scripting engine.
Adding import primer so that rule can use any data structures available on the classpath.
Expression output now needs to be an Option[Any]. Took out some needless constructor parameters. Added some documentation. Took out needless EvalCode functions that aren't going to be used.
Pass in list of imports. Whitelist a lot more packages. Simplify EvalCode. Up version number.
Specify a result key instead of an output map.
Allow security configuration to be passed in. Computations are now a function of Map[Symbol,Any] to Map[Symbol,Any].
Refresh java policy after pointing to the new policy file.
Security configuration should pass the URI of the security policy file rather than having EvalCode construct it.
Add tests for SequentialComputation exception handling; refactor tests into two classes, and break out common code.
Change the way of aborting a sequence of computations; introduce a new SequenceAbortingComputation and case classes AbortIfNoResults and AbortIfHasResults to abort a sequence based on the results of the inner computation.
Add actual logging and exception handling around compilation. Rule will inactivate itself if there is an exception when compiling.
Log when exceptions are thrown during computation.
Remove "empty checks" in rules to make sure there is some value for the input keys. Nonexistent keys will now throw exceptions.
Add debug logging for computations.
Test sandboxing of computation code.
Test that Java security policy file is effective.
Fix deprecated maven repo syntax in build.gradle
Add IterativeComputation and ability to abort a sequential computation based on an arbitrary condition.
Finish exception handling for AbortIf
Refactoring to prepare to allow for using cached classes.