/** * 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()); } }
/** * 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 ); } }