private function initSdk() { $invocation_context = new InvocationContext($this->rsi->getInvocationContext()); $init_app_data = $this->rsi->getInitAppData(); Backendless::setUrl($init_app_data->getUrl()); Backendless::initApp($invocation_context->app_id, $init_app_data->getSecretKey(), $init_app_data->getAppVersionName()); Backendless::switchOnBlMode(); Backendless::setInvocationContext($invocation_context); }
public function runImpl() { Log::writeInfo("Called invocation task: " . $this->rmi, $target = 'file'); if ($this->rmi == null || $this->event_handler == null) { Log::writeInfo("Something is null in InvocationTask..."); return; } $invocation_result = new InvocationResult(); try { $definition = self::$event_definition_holder->getDefinitionById($this->rmi->getEventId()); $arguments = self::$argument_adapter_list->beforeExecuting($definition, $this->rmi, $this->rmi->getDecodedArguments()); if ($definition['name'] == 'handleEvent') { // Object context = arguments[ 0 ]; // Class runnerContextClass = classLoader.loadClass( RunnerContext.class.getName() ); // List<String> userRoleList = (List<String>) runnerContextClass.getMethod( "getUserRole" ).invoke( context ); // // String[] userRoles = userRoleList == null ? null : userRoleList.toArray( new String[ userRoleList.size() ] ); // String userId = (String) runnerContextClass.getMethod( "getUserId" ).invoke( context ); // AccessValidator.validateAccess( clazz, userRoles, userId ); } $instance_class_name = $this->event_handler->getProvider(); $method = self::findMethod($instance_class_name, $definition, count($arguments)); // bootstrap onEnter action $backendless_globals = ClassManager::getClassInstanceByName("BackendlessGlobals"); $backendless_globals->onEnter($instance_class_name, $method, $arguments); // end bootstrap onEnter action // switch sdk from rest mode to bl Backendless::switchOnBlMode(); $reflection_method = new ReflectionMethod($instance_class_name, $method); $result = $arguments; // invokeArgs pass $arguments as link and we get changed data after invoke $reflection_method->invokeArgs(new $instance_class_name(), $result); // bootstrap onExit action $backendless_globals->onExit($instance_class_name, $method, $result); // end bootstrap onExit action if ($this->rmi->isAsync()) { return; } $arguments = self::$argument_adapter_list->afterExecuting($definition, $this->rmi, $arguments, $result); if (is_a($arguments[0], "\\backendless\\core\\servercode\\RunnerContext")) { $arguments[0] = $arguments[0]->getConvertedToArray(); } $invocation_result->setArguments($arguments); ResponderProcessor::sendResult($this->rmi->getId(), $invocation_result); } catch (Exception $e) { Log::writeError($e->getMessage()); } catch (BackendlessException $e) { Log::writeError("In Backendless SDK occurred error with message: \"" . $e->getMessage() . "\""); exit; } }
private function initSdk() { $init_app_data = new InitAppData($this->rmi->getInitAppData()); Backendless::setUrl($init_app_data->getUrl()); Backendless::initApp($this->rmi->getApplicationId(), $init_app_data->getSecretKey(), $init_app_data->getAppVersionName()); Backendless::switchOnBlMode(); }