public function adaptBeforeExecuting($definition, $rmi, $args) { if ($definition['provider'] !== 'User') { return $args; } if ($definition['name'] == 'beforeFindById' || $definition['name'] == 'afterFindById') { if (isset($args[2])) { $objects = $args[2]; if ($objects != null && count($objects) == 0) { $args[2] = ''; } } } foreach ($args as $arg_index => $arg_val) { if (isset($arg_val["___jsonclass"])) { if ($arg_val["___jsonclass"] == Config::$CORE["execution_result"]) { $execution_result = new ExecutionResult(); $execution_result->setException($args[$arg_index]["exception"]); $execution_result->setResult($args[$arg_index]["result"]); $args[$arg_index] = $execution_result; } } } return $args; }
public function adaptBeforeExecuting($definition, $rmi, $arguments) { if ($definition['provider'] !== 'Data') { return $arguments; } if ($definition['name'] == 'beforeFindById' || $definition['name'] == 'afterFindById') { if (isset($arguments[2])) { $objects = $arguments[2]; if ($objects != null && count($objects) == 0) { $arguments[2] = ''; } } } else { if ($definition['name'] == 'beforeLoadRelations' || $definition['name'] == 'afterLoadRelations') { if (isset($arguments[3])) { $objects = $arguments[3]; if ($objects != null && count($objects) == 0) { $arguments[3] = ''; } } } } // convert data to ExecutionResult class foreach ($arguments as $arg_index => $arg_val) { if (isset($arg_val["___jsonclass"])) { if ($arg_val["___jsonclass"] == "com.backendless.servercode.ExecutionResult") { $execution_result = new ExecutionResult(); $execution_result->setException($arguments[$arg_index]["exception"]); $execution_result->setResult($arguments[$arg_index]["result"]); $arguments[$arg_index] = $execution_result; } } } $generic_index = $definition['generic_index']; // int 1 if ($generic_index == null) { return $arguments; } $arguments[0] = new RunnerContext($arguments[0]); $declared_properties = $arguments[$generic_index]; if ($rmi->getTarget() === self::$ALL_CONTEXT) { $arguments[$generic_index] = $declared_properties; return $arguments; } // model creation and fill data to properties $arguments[1] = ClassManager::getClassInstanceByName($declared_properties['___class']); ReflectionUtil::fillClassProperties($arguments[1], $declared_properties); //check extra data in declared_properties $model_prop = (new ReflectionClass(ClassManager::getFullClassName($declared_properties['___class'])))->getProperties(); $missing_properties = $declared_properties; foreach ($model_prop as $property) { $property->setAccessible(true); if (array_key_exists($property->name, $declared_properties)) { unset($missing_properties[$property->name]); } } $arguments[0]->setMissingProperties($missing_properties); return $arguments; }
public function adaptBeforeExecuting($definition, $rmi, $args) { if ($definition['provider'] !== 'Messaging') { return $args; } foreach ($args as $arg_index => $arg_val) { if (isset($arg_val["___jsonclass"])) { if ($arg_val["___jsonclass"] == Config::$CORE["execution_result"]) { $execution_result = new ExecutionResult(); $execution_result->setException($args[$arg_index]["exception"]); $execution_result->setResult($args[$arg_index]["result"]); $args[$arg_index] = $execution_result; } } } return $args; }
public function adaptBeforeExecuting($definition, $rmi, $args) { if ($definition['provider'] !== 'File') { return $args; } foreach ($args as $arg_index => $arg_val) { if (isset($arg_val['___jsonclass'])) { if ($arg_val['___jsonclass'] == Config::$CORE['execution_result']) { $execution_result = new ExecutionResult(); $execution_result->setException($args[$arg_index]['exception']); $execution_result->setResult($args[$arg_index]['result']); $args[$arg_index] = $execution_result; } if ($arg_val['___jsonclass'] == Config::$CORE['runner_context']) { $args[$arg_index] = new RunnerContext($args[$arg_index]); } } } return $args; }