Пример #1
0
 /**
  * XSLT Import Tool
  *
  * @return void
  */
 public function importXslAction()
 {
     // Parse switches:
     $this->consoleOpts->addRules(array('test-only' => 'Use test mode', 'index-s' => 'Solr index to use'));
     $testMode = $this->consoleOpts->getOption('test-only') ? true : false;
     $index = $this->consoleOpts->getOption('index');
     if (empty($index)) {
         $index = 'Solr';
     }
     // Display help message if parameters missing:
     $argv = $this->consoleOpts->getRemainingArgs();
     if (!isset($argv[1])) {
         Console::writeLine("Usage: import-xsl.php [--test-only] [--index <type>] " . "XML_file properties_file");
         Console::writeLine("\tXML_file - source file to index");
         Console::writeLine("\tproperties_file - import configuration file");
         Console::writeLine("If the optional --test-only flag is set, " . "transformed XML will be displayed");
         Console::writeLine("on screen for debugging purposes, " . "but it will not be indexed into VuFind.");
         Console::writeLine("");
         Console::writeLine("If the optional --index parameter is set, " . "it must be followed by the name of");
         Console::writeLine("a class for accessing Solr; it defaults to the " . "standard Solr class, but could");
         Console::writeLine("be overridden with, for example, SolrAuth to " . "load authority records.");
         Console::writeLine("");
         Console::writeLine("Note: See vudl.properties and ojs.properties " . "for configuration examples.");
         return $this->getFailureResponse();
     }
     // Try to import the document if successful:
     try {
         $importer = new Importer();
         $importer->setServiceLocator($this->getServiceLocator());
         $importer->save($argv[0], $argv[1], $index, $testMode);
     } catch (\Exception $e) {
         Console::writeLine("Fatal error: " . $e->getMessage());
         return $this->getFailureResponse();
     }
     if (!$testMode) {
         Console::writeLine("Successfully imported {$argv[0]}...");
     }
     return $this->getSuccessResponse();
 }
Пример #2
0
 /**
  * Support method -- perform an XML import.
  *
  * @param string $xml        XML file to load
  * @param string $properties Configuration file to load
  * @param string $index      Name of backend to write to
  * @param bool   $testMode   Use test mode?
  *
  * @return void
  */
 protected function performImport($xml, $properties, $index = 'Solr', $testMode = false)
 {
     $importer = new Importer();
     $importer->setServiceLocator($this->getServiceLocator());
     $importer->save($xml, $properties, $index, $testMode);
 }