Hey,
I've added support for result format aliases to SMW. In essenece this means you
can have multiple values for the format parameter, which will have identical
output. The reason for doing this is that Semantic Maps uses an aliasing system
for mapping services (example: googlemap, gmap and google will do the same as
googlemaps, which is the actual result format). Before this change to SMW, an
instance of a query printer needed to be created for every alias, which does
not make much sense, is bad for performance and brought with it several other
issues.
I've made changes to 2 files:
1. SMW_Settings.php:
Added: $smwgResultAliases = array();
This array holds result formats as the keys, and the aliases as (array) value.
Example: $smwgResultAliases['googlemaps'] = array('googlemap', 'gmap',
'google');
2. SMW_QueryProCessor.php:
I've changed getResultFormat to the following:
static protected function getResultFormat($params) {
global $smwgResultAliases;
$format = 'auto';
if (array_key_exists('format', $params)) {
$format = strtolower(trim($params['format']));
global $smwgResultFormats;
if ( !array_key_exists($format, $smwgResultFormats) ) {
foreach($smwgResultAliases as $mainFormat => $aliases) {
if (in_array($format, $aliases)) {
$format = $mainFormat;
$isAlias = true;
continue;
}
}
if (! $isAlias) $format = 'auto'; // If it is an unknown
format, defaults to list/table again
}
}
return $format;
}
Does anyone have an objection or suggestion for improvement related to this
little change?
Cheers
--
Jeroen De Dauw
* Forum: code.bn2vs.com
* Blog: blog.bn2vs.com
* Skype: rts.bn.vs
--
Don't panic. Don't be evil.70 72 6F 67 72 61 6D 6D 69 6E 67 20 34 20 6C 69 66
65!
------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Semediawiki-devel mailing list
Semediawiki-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/semediawiki-devel