Browse Source

Started work building Islandora object decorators.

pull/321/head
Jonathan Green 12 years ago
parent
commit
d88d2c068f
  1. 52
      includes/tuque.inc

52
includes/tuque.inc

@ -10,25 +10,8 @@ $islandora_module_path = drupal_get_path('module', 'islandora');
set_include_path(get_include_path() . PATH_SEPARATOR . 'sites/all/libraries/tuque' . PATH_SEPARATOR . "$islandora_module_path/libraries/tuque/");
// Do this until we expose these in a module or library.
@include_once 'sites/all/libraries/tuque/implementations/fedora3/Datastream.php';
@include_once 'sites/all/libraries/tuque/implementations/fedora3/FedoraApi.php';
@include_once 'sites/all/libraries/tuque/implementations/fedora3/FedoraApiSerializer.php';
@include_once 'sites/all/libraries/tuque/implementations/fedora3/Object.php';
@include_once 'sites/all/libraries/tuque/implementations/fedora3/RepositoryConnection.php';
@include_once 'sites/all/libraries/tuque/implementations/fedora3/Repository.php';
@include_once 'sites/all/libraries/tuque/implementations/fedora3/FedoraRelationships.php';
@include_once 'sites/all/libraries/tuque/Cache.php';
@include_once 'sites/all/libraries/tuque/RepositoryException.php';
@include_once "$islandora_module_path/libraries/tuque/implementations/fedora3/Datastream.php";
@include_once "$islandora_module_path/libraries/tuque/implementations/fedora3/FedoraApi.php";
@include_once "$islandora_module_path/libraries/tuque/implementations/fedora3/FedoraApiSerializer.php";
@include_once "$islandora_module_path/libraries/tuque/implementations/fedora3/Object.php";
@include_once "$islandora_module_path/libraries/tuque/implementations/fedora3/RepositoryConnection.php";
@include_once "$islandora_module_path/libraries/tuque/implementations/fedora3/Repository.php";
@include_once "$islandora_module_path/libraries/tuque/implementations/fedora3/FedoraRelationships.php";
@include_once "$islandora_module_path/libraries/tuque/Cache.php";
@include_once "$islandora_module_path/libraries/tuque/RepositoryException.php";
@include_once 'sites/all/libraries/tuque/RepositoryFactory.php';
@include_once "$islandora_module_path/libraries/tuque/RepositoryFactory.php";
class IslandoraTuque {
@ -87,11 +70,7 @@ class IslandoraTuque {
}
if (self::exists()) {
$this->connection = new IslandoraRepositoryConnection($url, $user_string, $pass_string);
$this->connection->reuseConnection = TRUE;
$this->api = new IslandoraFedoraApi($this->connection);
$this->cache = new IslandoraSimpleCache();
$this->repository = new IslandoraFedoraRepository($this->api, $this->cache);
$this->repository = new IslandoraRepositoryDecorator(RepositoryFactory::getRepository('fedora3', new RepositoryConfig($url, $user_string, $pass_string)));
}
}
@ -102,7 +81,7 @@ class IslandoraTuque {
* TRUE if the Connection class exists FALSE otherwise.
*/
public static function exists() {
return class_exists('RepositoryConnection');
return class_exists('RepositoryFactory');
}
/**
@ -115,3 +94,26 @@ class IslandoraTuque {
drupal_set_message(filter_xss($message), 'error', FALSE);
}
}
class IslandoraRepositoryDecorator extends RepositoryDecorator {
public function constructObject($id = NULL, $create_uuid = FALSE) {
return new IslandoraObjectDecorator(parent::constructObject($id, $create_uuid));
}
public function ingestObject(AbstractObject &$object) {
$object = new IslandoraObjectDecorator(parent::ingestObject($object));
return $object;
}
public function getObject($id) {
return new IslandoraObjectDecorator(parent::getObject($id));
}
}
class IslandoraObjectDecorator extends ObjectDecorator {
}
class IslandoraDatastreamDecorator extends DatastreamDecorator {
}
Loading…
Cancel
Save