[*] WS : improved performances

This commit is contained in:
Damien Metzger
2013-07-03 17:03:33 +02:00
parent d2440df8ca
commit ec981b7f86
+18 -3
View File
@@ -47,6 +47,8 @@ class WebserviceOutputBuilderCore
protected $virtualFields = array();
protected $statusInt;
protected $wsParamOverrides;
protected static $_cache_ws_parameters = array();
// Header properties
protected $headerParams = array(
@@ -359,7 +361,11 @@ class WebserviceOutputBuilderCore
$type_of_view = self::VIEW_DETAILS;
}
$ws_params = $objects['empty']->getWebserviceParameters();
$class = get_class($objects['empty']);
if (!isset(WebserviceOutputBuilder::$_cache_ws_parameters[$class]))
WebserviceOutputBuilder::$_cache_ws_parameters[$class] = $objects['empty']->getWebserviceParameters();
$ws_params = WebserviceOutputBuilder::$_cache_ws_parameters[$class];
foreach ($this->wsParamOverrides AS $p)
{
$object = $p['object'];
@@ -406,7 +412,11 @@ class WebserviceOutputBuilderCore
*/
public function renderEntityMinimum($object, $depth)
{
$ws_params = $object->getWebserviceParameters();
$class = get_class($object);
if (!isset(WebserviceOutputBuilder::$_cache_ws_parameters[$class]))
WebserviceOutputBuilder::$_cache_ws_parameters[$class] = $object->getWebserviceParameters();
$ws_params = WebserviceOutputBuilder::$_cache_ws_parameters[$class];
$more_attr['id'] = $object->id;
$more_attr['xlink_resource'] = $this->wsUrl.$ws_params['objectsNodeName'].'/'.$object->id;
$output = $this->setIndent($depth).$this->objectRender->renderNodeHeader($ws_params['objectNodeName'], $ws_params, $more_attr, false);
@@ -446,7 +456,12 @@ class WebserviceOutputBuilderCore
public function renderEntity($object, $depth)
{
$output = '';
$ws_params = $object->getWebserviceParameters();
$class = get_class($object);
if (!isset(WebserviceOutputBuilder::$_cache_ws_parameters[$class]))
WebserviceOutputBuilder::$_cache_ws_parameters[$class] = $object->getWebserviceParameters();
$ws_params = WebserviceOutputBuilder::$_cache_ws_parameters[$class];
foreach ($this->wsParamOverrides AS $p)
{
$o = $p['object'];