Example #1
0
 /**
  * Determines whether the passed storage object and record (sys_file_storage) can be
  * seen as equivalent during import.
  *
  * @param ResourceStorage $storageObject The storage object which should get compared
  * @param array $storageRecord The storage record which should get compared
  * @return bool Returns TRUE when both object storages can be seen as equivalent
  */
 protected function isEquivalentObjectStorage(ResourceStorage $storageObject, array $storageRecord)
 {
     // compare the properties: driver, writable and online
     if ($storageObject->getDriverType() === $storageRecord['driver'] && (bool) $storageObject->isWritable() === (bool) $storageRecord['is_writable'] && (bool) $storageObject->isOnline() === (bool) $storageRecord['is_online']) {
         $storageRecordConfiguration = ResourceFactory::getInstance()->convertFlexFormDataToConfigurationArray($storageRecord['configuration']);
         $storageObjectConfiguration = $storageObject->getConfiguration();
         // compare the properties: pathType and basePath
         if ($storageRecordConfiguration['pathType'] === $storageObjectConfiguration['pathType'] && $storageRecordConfiguration['basePath'] === $storageObjectConfiguration['basePath']) {
             return true;
         }
     }
     return false;
 }