/** * Get the LTI Configuration generator * * @return Generator */ public function getGenerator() { try { if (empty($this->generator)) { $this->setGenerator(new Generator($this->metadata['TOOL_NAME'], $this->metadata['TOOL_ID'], $this->metadata['TOOL_LAUNCH_URL'], empty($this->metadata['TOOL_DESCRIPTION']) ? false : $this->metadata['TOOL_DESCRIPTION'], empty($this->metadata['TOOL_ICON_URL']) ? false : $this->metadata['TOOL_ICON_URL'], empty($this->metadata['TOOL_LAUNCH_PRIVACY']) ? LaunchPrivacy::USER_PROFILE() : $this->metadata['TOOL_LAUNCH_PRIVACY'], empty($this->metadata['TOOL_DOMAIN']) ? false : $this->metadata['TOOL_DOMAIN'])); } } catch (LTIConfigGeneratorException $e) { throw new ConfigurationException($e->getMessage(), ConfigurationException::TOOL_PROVIDER); } return $this->generator; }