Smalyshev has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/199770

Change subject: Fix RDF rendering
......................................................................

Fix RDF rendering

Fix ntriples output for webpage

Change-Id: Ia02546291024be8ac28f1d6a3b9c0dfabbc31b8a
---
M repo/includes/rdf/RdfWriterBase.php
M repo/includes/rdf/RdfWriterFactory.php
M repo/includes/rdf/XmlRdfWriter.php
3 files changed, 12 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/70/199770/1

diff --git a/repo/includes/rdf/RdfWriterBase.php 
b/repo/includes/rdf/RdfWriterBase.php
index 50f63da..726b9af 100644
--- a/repo/includes/rdf/RdfWriterBase.php
+++ b/repo/includes/rdf/RdfWriterBase.php
@@ -69,6 +69,7 @@
         * Role ID for writers that will generate a full RDF document.
         */
        const DOCUMENT_ROLE = 'document';
+       const SUBDOCUMENT_ROLE = 'sub';
 
        /**
         * Role ID for writers that will generate a single inline blank node.
@@ -83,7 +84,7 @@
        /**
         * @var string The writer's role, see the XXX_ROLE constants.
         */
-       private $role;
+       protected $role;
 
        /**
         * @param string $role The writer's role, use the XXX_ROLE constants.
@@ -175,7 +176,7 @@
                // later, on the next transtion to subject|document|drain
                $this->state( self::STATE_DOCUMENT );
 
-               $writer = $this->newSubWriter( self::DOCUMENT_ROLE, 
$this->labeler );
+               $writer = $this->newSubWriter( self::SUBDOCUMENT_ROLE, 
$this->labeler );
                $writer->state = self::STATE_DOCUMENT;
 
                // share registered prefixes
@@ -530,7 +531,7 @@
                                break;
 
                        case self::STATE_OBJECT:
-                               if ( $this->role !== self::DOCUMENT_ROLE ) {
+                               if ( $this->role !== self::SUBDOCUMENT_ROLE ) {
                                        throw new LogicException( 'Bad 
transition: ' . $this->state. ' -> ' . self::STATE_SUBJECT );
                                }
 
diff --git a/repo/includes/rdf/RdfWriterFactory.php 
b/repo/includes/rdf/RdfWriterFactory.php
index 36e6af0..50de4b2 100644
--- a/repo/includes/rdf/RdfWriterFactory.php
+++ b/repo/includes/rdf/RdfWriterFactory.php
@@ -21,7 +21,7 @@
         * @return string[]
         */
        public function getSupportedFormats() {
-               return array( 'n3', 'turtle', 'n-triples', 'rdfxml' );
+               return array( 'n3', 'turtle', 'ntriples', 'rdfxml' );
        }
 
        /**
@@ -45,7 +45,7 @@
                        case 'turtle':
                                return array( 'text/turtle', 
'application/x-turtle' );
 
-                       case 'n-triples':
+                       case 'ntriples':
                                return array( 'application/n-triples', 
'text/n-triples', 'text/plain' );
 
                        case 'rdfxml':
@@ -72,7 +72,7 @@
                        case 'turtle':
                                return 'ttl';
 
-                       case 'n-triples':
+                       case 'ntriples':
                                return 'nt';
 
                        case 'rdfxml':
@@ -99,7 +99,7 @@
                        case 'turtle':
                                return new TurtleRdfWriter();
 
-                       case 'n-triples':
+                       case 'ntriples':
                                return new NTriplesRdfWriter();
 
                        case 'rdfxml':
@@ -140,7 +140,7 @@
                        case 'text/n-triples':
                        case 'application/ntriples':
                        case 'application/n-triples':
-                               return 'n-triples';
+                               return 'ntriples';
 
                        case 'xml':
                        case 'rdf':
diff --git a/repo/includes/rdf/XmlRdfWriter.php 
b/repo/includes/rdf/XmlRdfWriter.php
index 2017252..bae2082 100644
--- a/repo/includes/rdf/XmlRdfWriter.php
+++ b/repo/includes/rdf/XmlRdfWriter.php
@@ -147,6 +147,9 @@
 
        protected function finishDocument() {
                // close document element
+               if( $this->role != self::DOCUMENT_ROLE ) {
+                       return;
+               }
                $this->close( 'rdf', 'RDF' );
                $this->write( "\n" );
        }

-- 
To view, visit https://gerrit.wikimedia.org/r/199770
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia02546291024be8ac28f1d6a3b9c0dfabbc31b8a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Smalyshev <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to