public void onReceive(android.content.Context context, android.content.Intent intent) { try { System.out.println("onReceive: " + rubyInstance); Script.put("$context", context); Script.put("$broadcast_receiver", this); Script.put("$intent", intent); if (rubyInstance != null) { Script.exec("$ruby_broadcast_receiver.on_receive($context, $intent)"); } else { Script.execute("$broadcast_receiver.on_receive($context, $intent)"); } } catch (Exception e) { e.printStackTrace(); } }
protected void loadScript() { Script.put("$broadcast_receiver", this); if (scriptName != null) { try { new Script(scriptName).execute(); String rubyClassName = Script.toCamelCase(scriptName); System.out.println("Looking for Ruby class: " + rubyClassName); Object rubyClass = Script.get(rubyClassName); if (rubyClass != null) { System.out.println("Instanciating Ruby class: " + rubyClassName); Script.put("$java_broadcast_receiver", this); Script.exec( "$ruby_broadcast_receiver = " + rubyClassName + ".new($java_broadcast_receiver)"); rubyInstance = Script.get("$ruby_broadcast_receiver"); } } catch (IOException e) { throw new RuntimeException("IOException loading broadcast receiver script", e); } } }
@Test( threadPoolSize = 4, invocationCount = 10, timeOut = 1000, dataProvider = "Data-Provider-Function", dependsOnMethods = {"testEval"}) public void parameterIntTest(ScriptEntry scriptEntry) throws Exception { Script script = scriptEntry.getScript(new RootContext()); script.put("ketto", 2); assertThat(script.eval()).isEqualTo(3); }
@Test public void testResource() throws Exception { ScriptName scriptName = new ScriptName("resource", getLanguageName()); ScriptEntry scriptEntry = getScriptRegistry().takeScript(scriptName); Assert.assertNotNull(scriptEntry); Script script = scriptEntry.getScript(new RootContext()); // Set RequestLevel Scope script.put("ketto", 2); script.putSafe("callback", mock(Function.class)); JsonValue createContent = new JsonValue(new LinkedHashMap<String, Object>()); createContent.put("externalId", "701984"); createContent.put("userName", "*****@*****.**"); createContent.put( "assignedDashboard", Arrays.asList("Salesforce", "Google", "ConstantContact")); createContent.put("displayName", "Babs Jensen"); createContent.put("nickName", "Babs"); JsonValue updateContent = createContent.copy(); updateContent.put("_id", UUID.randomUUID().toString()); updateContent.put("profileUrl", "https://login.example.com/bjensen"); final Context context = new ApiInfoContext( new SecurityContext(new RootContext(), "*****@*****.**", null), "", ""); script.put("context", context); CreateRequest createRequest = Requests.newCreateRequest("/Users", "701984", createContent); script.put("createRequest", createRequest); ReadRequest readRequest = Requests.newReadRequest("/Users/701984"); script.put("readRequest", readRequest); UpdateRequest updateRequest = Requests.newUpdateRequest("/Users/701984", updateContent); script.put("updateRequest", updateRequest); PatchRequest patchRequest = Requests.newPatchRequest("/Users/701984", PatchOperation.replace("userName", "ddoe")); script.put("patchRequest", patchRequest); QueryRequest queryRequest = Requests.newQueryRequest("/Users/"); script.put("queryRequest", queryRequest); DeleteRequest deleteRequest = Requests.newDeleteRequest("/Users/701984"); script.put("deleteRequest", deleteRequest); ActionRequest actionRequest = Requests.newActionRequest("/Users", "clear"); script.put("actionRequest", actionRequest); script.eval(); }
@Test public void testEval() throws Exception { ScriptName scriptName = new ScriptName("test1", getLanguageName()); ScriptEntry scriptEntry = getScriptRegistry().takeScript(scriptName); Assert.assertNotNull(scriptEntry); scriptEntry.put("egy", 1); assertThat(scriptEntry.getScript(new RootContext()).eval()).isEqualTo(3); // Load Script from Directory scriptEntry = getScriptRegistry().takeScript(new ScriptName("sample", getLanguageName())); Assert.assertNotNull(scriptEntry); // Set ServiceLevel Scope scriptEntry.put("egy", 1); Script script = scriptEntry.getScript(new RootContext()); // Set RequestLevel Scope script.put("ketto", 2); assertThat(script.eval()).isEqualTo(3); }