Example #1
0
 public function testWrapper()
 {
     $test = $this;
     $wrapper = function ($mountPoint, $storage) use(&$test) {
         $test->assertEquals('/foo/', $mountPoint);
         $test->assertInstanceOf('\\OC\\Files\\Storage\\Storage', $storage);
         return new Wrapper(array('storage' => $storage));
     };
     $loader = new StorageFactory();
     $loader->addStorageWrapper('test_wrapper', $wrapper);
     $storage = $this->getMockBuilder('\\OC\\Files\\Storage\\Temporary')->disableOriginalConstructor()->getMock();
     $mount = new \OC\Files\Mount\MountPoint($storage, '/foo', array(), $loader);
     $this->assertInstanceOf('\\OC\\Files\\Storage\\Wrapper\\Wrapper', $mount->getStorage());
 }
Example #2
0
 /**
  * create the storage that is mounted
  *
  * @return \OC\Files\Storage\Storage
  */
 private function createStorage()
 {
     if (class_exists($this->class)) {
         try {
             return $this->loader->getInstance($this->mountPoint, $this->class, $this->arguments);
         } catch (\Exception $exception) {
             if ($this->mountPoint === '/') {
                 // the root storage could not be initialized, show the user!
                 throw new \Exception('The root storage could not be initialized. Please contact your local administrator.', $exception->getCode(), $exception);
             } else {
                 \OC_Log::write('core', $exception->getMessage(), \OC_Log::ERROR);
             }
             return null;
         }
     } else {
         \OC_Log::write('core', 'storage backend ' . $this->class . ' not found', \OC_Log::ERROR);
         return null;
     }
 }
Example #3
0
 protected function registerStorageWrapper($name, $wrapper)
 {
     $this->storageFactory->addStorageWrapper($name, $wrapper);
 }