* @package tao */ class tao_scripts_TaoRDFImport extends tao_scripts_Runner { // --- ASSOCIATIONS --- // --- ATTRIBUTES --- // --- OPERATIONS --- /** * Short description of method preRun * * @access public * @author Jerome Bogaerts, * @return void */ public function preRun() { $this->options = ['verbose' => false, 'user' => null, 'password' => null, 'model' => null, 'input' => null]; $this->options = array_merge($this->options, $this->parameters); // the 'file' param is checked by the parent implementation. if ($this->options['user'] == null) { $this->err("Please provide a TAO 'user'.", true); } elseif ($this->options['password'] == null) { $this->err("Please provide a TAO 'password'.", true); } elseif ($this->options['input'] == null) { $this->err("Please provide a RDF 'input' file.", true); } } /** * Short description of method run * * @access public * @author Jerome Bogaerts, * @return void */ public function run() { $userService = tao_models_classes_UserService::singleton(); $this->outVerbose("Connecting to TAO as '" . $this->options['user'] . "' ..."); if ($userService->loginUser($this->options['user'], $this->options['password'])) { $this->outVerbose("Connected to TAO as '" . $this->options['user'] . "'."); $filename = $this->options['input']; $action = new ImportRdf(); $params = [$filename]; if (!empty($this->options['model'])) { $nameSpace = common_ext_NamespaceManager::singleton()->getNamespace($this->options['model']); $params[] = $nameSpace->getModelId(); } $report = $action->__invoke($params); $string = helpers_Report::renderToCommandline($report); foreach (explode(PHP_EOL, $string) as $line) { $this->out($line); } } else { $this->err("Unable to connect to TAO as '" . $this->options['user'] . "'.", true); } } /** * Short description of method postRun * * @access public * @author Jerome Bogaerts, * @return void */ public function postRun() { } }