コード例 #1
0
 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);
 }
コード例 #2
0
 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;
     }
 }
コード例 #3
0
 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();
 }