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