a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Millerpackage org.forgerock.openidm.script;
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Millerimport java.net.URL;
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Millerimport java.util.Collections;
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Millerimport java.util.HashMap;
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Millerimport java.util.Map;
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Millerimport com.fasterxml.jackson.databind.ObjectMapper;
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Millerimport org.forgerock.script.engine.ScriptEngineFactory;
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Millerimport org.forgerock.script.javascript.RhinoScriptEngineFactory;
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Millerimport org.forgerock.script.registry.ScriptRegistryImpl;
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller/**
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller *
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller */
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Millerpublic class RhinoResourceFunctionsTest extends ResourceFunctionsTest {
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller protected Map<String, Object> getConfiguration() {
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller Map<String, Object> configuration = new HashMap<String, Object>(1);
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller // configuration.put(RhinoScriptEngine.CONFIG_DEBUG_PROPERTY,
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller // "transport=socket,suspend=y,address=9888,trace=true");
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller return configuration;
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller }
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller protected String getLanguageName() {
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller return RhinoScriptEngineFactory.LANGUAGE_NAME;
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller }
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller protected URL getScriptContainer(String name) {
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller return RhinoResourceFunctionsTest.class.getResource(name);
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller }
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller protected ScriptRegistryImpl getScriptRegistry(Map<String, Object> configuration) {
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller return new ScriptRegistryImpl(configuration,
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller Collections.<ScriptEngineFactory>singleton(new RhinoScriptEngineFactory()), null, null);
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller }
a9db114dad9c7a4d76c4f3124f467e14a2d26c86Brendan Miller}