http://www.mediawiki.org/wiki/Special:Code/MediaWiki/97416

Revision: 97416
Author:   jeroendedauw
Date:     2011-09-18 13:01:37 +0000 (Sun, 18 Sep 2011)
Log Message:
-----------
finished up alpha of ask api

Modified Paths:
--------------
    trunk/extensions/SemanticMediaWiki/includes/api/ApiAsk.php
    trunk/extensions/SemanticMediaWiki/includes/api/ApiAskArgs.php
    trunk/extensions/SemanticMediaWiki/includes/api/ApiSMWQuery.php

Modified: trunk/extensions/SemanticMediaWiki/includes/api/ApiAsk.php
===================================================================
--- trunk/extensions/SemanticMediaWiki/includes/api/ApiAsk.php  2011-09-18 
12:39:10 UTC (rev 97415)
+++ trunk/extensions/SemanticMediaWiki/includes/api/ApiAsk.php  2011-09-18 
13:01:37 UTC (rev 97416)
@@ -18,9 +18,17 @@
                $params = $this->extractRequestParams();
                $this->requireParameters( $params, array( 'query' ) );
 
-               // SMWQueryProcessor::processFunctionParams( $rawparams, 
$queryString, $m_params, $m_printouts);
+               $rawParams = explode( '|', $params['query'] );
+               $queryString = '';
+               $printeouts = array();
                
-               $queryResult = $this->getQueryResult( $this->getQuery( 
$params['query'] ) );
+               SMWQueryProcessor::processFunctionParams( $rawParams, 
$queryString, $this->parameters, $printeouts );
+               
+               $queryResult = $this->getQueryResult( $this->getQuery(
+                       $queryString,
+                       $printeouts
+               ) );
+               
                $this->addQueryResult( $queryResult );
        }
 
@@ -40,7 +48,8 @@
        
        public function getDescription() {
                return array(
-                       'API module to query SMW by providing a query in the 
ask language.'
+                       'API module to query SMW by providing a query in the 
ask language.
+                       This API module is in alpha stage, and likely to see 
changes in upcomming versions of SMW.'
                );
        }
        

Modified: trunk/extensions/SemanticMediaWiki/includes/api/ApiAskArgs.php
===================================================================
--- trunk/extensions/SemanticMediaWiki/includes/api/ApiAskArgs.php      
2011-09-18 12:39:10 UTC (rev 97415)
+++ trunk/extensions/SemanticMediaWiki/includes/api/ApiAskArgs.php      
2011-09-18 13:01:37 UTC (rev 97416)
@@ -69,7 +69,8 @@
        
        public function getDescription() {
                return array(
-                       'API module to query SMW by providing a query specified 
as a list of conditions, printeouts and parameters.'
+                       'API module to query SMW by providing a query specified 
as a list of conditions, printeouts and parameters.
+                       This API module is in alpha stage, and likely to see 
changes in upcomming versions of SMW.'
                );
        }
        

Modified: trunk/extensions/SemanticMediaWiki/includes/api/ApiSMWQuery.php
===================================================================
--- trunk/extensions/SemanticMediaWiki/includes/api/ApiSMWQuery.php     
2011-09-18 12:39:10 UTC (rev 97415)
+++ trunk/extensions/SemanticMediaWiki/includes/api/ApiSMWQuery.php     
2011-09-18 13:01:37 UTC (rev 97416)
@@ -55,8 +55,20 @@
        }
        
        protected function addQueryResult( SMWQueryResult $queryResult ) {
-               // TODO: create general SMWQueryResult serialization method 
that can then also be used for JSON printer
-               $this->getResult()->addValue( 'query', null, 
$queryResult->serializeToArray() );
+               $serialized = $queryResult->serializeToArray();
+               $result = $this->getResult();
+
+               $result->setIndexedTagName( $serialized['results'], 'result' );
+               $result->setIndexedTagName( $serialized['printrequests'], 
'printrequest' );
+               
+               $result->addValue( 'query', null, $serialized );
+               
+               if ( $queryResult->hasFurtherResults() ) {
+                       // TODO: obtain continuation data from store
+                       $result->disableSizeCheck();
+                       $result->addValue( 'query-continue', null, 0 );
+                       $result->enableSizeCheck();
+               }
        }
        
        public function getPossibleErrors() {


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

Reply via email to