Esempio n. 1
0
 /**
  * The main code goes here
  */
 function execute($par)
 {
     global $wgOut, $wgRequest;
     try {
         $this->setHeaders();
         $submitButtonText = "Import";
         // For now, print the result XML from the SPARQL query
         if ($wgRequest->getText('action') === 'import') {
             if (RDFIOUtils::currentUserHasWriteAccess()) {
                 $offset = $wgRequest->getVal('offset', 0);
                 $limit = $this->triplesPerBatch;
                 $submitButtonText = "Import next {$limit} triples...";
                 $wgOut->addHTML($this->getHTMLForm($submitButtonText));
                 $importInfo = $this->import($limit, $offset);
                 $externalSparqlUrl = $importInfo['externalSparqlUrl'];
                 $dataSourceImporter = new RDFIORDFImporter();
                 $dataSourceImporter->addDataSource($externalSparqlUrl, 'SPARQL');
             } else {
                 $errTitle = "No write access";
                 $errMsg = "The current logged in user does not have write access";
                 RDFIOUtils::showErrorMessage($errTitle, $errMsg);
             }
         } else {
             $wgOut->addHTML($this->getHTMLForm($submitButtonText));
             $wgOut->addHTML('<div id=sources style="display:none">');
             $wgOut->addWikiText('{{#ask: [[Category:RDFIO Data Source]] [[RDFIO Import Type::SPARQL]] |format=list }}');
             $wgOut->addHTML('</div>');
         }
     } catch (RDFIOException $e) {
         RDFIOUtils::showErrorMessage('Error!', $e->getMessage());
     }
 }
Esempio n. 2
0
 /**
  * The main code goes here
  */
 function execute($par)
 {
     global $wgOut;
     try {
         # Set HTML headers sent to the browser
         $this->setHeaders();
         # The main code
         $requestData = $this->getRequestData();
         if ($requestData->hasWriteAccess && $requestData->action === 'import') {
             $importInfo = $this->importData($requestData);
             $triples = $importInfo['triples'];
             if ($triples) {
                 $rdfImporter = new RDFIORDFImporter();
                 $wgOut->addHTML($this->getHTMLForm($requestData));
                 $wgOut->addHTML($rdfImporter->showImportedTriples($triples));
                 if ($requestData->externalRdfUrl) {
                     $rdfImporter->addDataSource($requestData->externalRdfUrl, 'RDF');
                 }
             } else {
                 if (!$triples) {
                     throw new RDFIOException("No new triples to import");
                 }
             }
         } else {
             if (!$requestData->hasWriteAccess) {
                 throw new RDFIOException("User does not have write access");
             } else {
                 $wgOut->addHTML($this->getHTMLForm($requestData));
                 $wgOut->addHTML('<div id=sources style="display:none">');
                 $wgOut->addWikiText('{{#ask: [[Category:RDFIO Data Source]] [[RDFIO Import Type::RDF]] |format=list }}');
                 $wgOut->addHTML('</div>');
             }
         }
     } catch (MWException $e) {
         RDFIOUtils::showErrorMessage('Error!', $e->getMessage());
     }
 }
 /**
  * Die and display current errors
  */
 function handleSPARQLErrors() {
     global $wgOut;
     $sparqlEndpointErrors = $this->m_sparqlendpoint->getErrors();
     if ( count( $sparqlEndpointErrors ) > 0 ) {
         $errormessage = '';
         if ( is_array( $sparqlEndpointErrors ) ) {
             foreach ( $sparqlEndpointErrors as $sparqlEndpointError ) {
                 $errormessage .= "<p>$sparqlEndpointError</p>";
             }
         } else {
             $errormessage = "<p>$sparqlEndpointErrors</p>";
         }
         RDFIOUtils::showErrorMessage( "SPARQL Error", $errormessage );
     }
 }