Browse Source

Merge pull request #635 from DiegoPino/7.x-1.6-ISLANDORA-1522

ISLANDORA-1522 global UUID setting enforcement
7.x-1.6
Nick Ruest 9 years ago
parent
commit
3d27346f19
  1. 39
      includes/tuque_wrapper.inc

39
includes/tuque_wrapper.inc

@ -125,6 +125,45 @@ class IslandoraFedoraRepository extends FedoraRepository {
throw $e;
}
}
/**
* Constructs a Fedora Object.
*
* @see FedoraRepository::constructObject
*/
public function constructObject($id = NULL, $create_uuid = NULL) {
// Enforces UUID when set, but allows to override if called
// with $create_uuid set to bool.
return parent::constructObject($id, static::useUUIDs($create_uuid));
}
/**
* Get the next PID(s) from Repo.
*
* @see FedoraRepository::getNextIdentifier()
*/
public function getNextIdentifier($namespace = NULL, $create_uuid = NULL, $count = 1) {
// Enforces UUID when set, but allows to override if called
// with $create_uuid set to bool.
return parent::getNextIdentifier($namespace, static::useUUIDs($create_uuid), $count);
}
/**
* Helper for three-valued logic with UUIDs.
*
* @param bool|NULL $to_create
* The variable to test.
*
* @return bool
* If $to_create is NULL, the value of the
* 'islandora_basic_collection_generate_uuid' Drupal variable; otherwise,
* the value of $to_create itself.
*/
protected static function useUUIDs($to_create) {
return is_null($to_create) ?
variable_get('islandora_basic_collection_generate_uuid', FALSE) :
$to_create;
}
}
class IslandoraRepositoryQuery extends RepositoryQuery {}

Loading…
Cancel
Save