* - driver : The type of backend driver. One of "mock", "php", "pear",
* "horde", "horde-socket", and "roundcube".
* - params : Backend specific connection parameters.
- *
+ * - logger : An optional log handler.
*
* </pre>
*
*/
public function createFromParams(array $params)
{
- return new Horde_Kolab_Storage_Base(
+ $storage = new Horde_Kolab_Storage_Base(
$this->createDriverFromParams($params)
);
+ if (isset($params['logger'])) {
+ $storage = new Horde_Kolab_Storage_Decorator_Log(
+ $storage, $params['logger']
+ );
+ }
+ return $storage;
}
/**
)
);
}
+
+ public function testLogDecoration()
+ {
+ $factory = new Horde_Kolab_Storage_Factory();
+ $this->assertInstanceOf(
+ 'Horde_Kolab_Storage_Decorator_Log',
+ $factory->createFromParams(
+ array(
+ 'driver' => 'mock',
+ 'logger' => $this->getMockLogger()
+ )
+ )
+ );
+ }
+
+
}