diff --git a/includes/tuque.inc b/includes/tuque.inc index a1e6764b..0cc7aa7b 100644 --- a/includes/tuque.inc +++ b/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 { + +} \ No newline at end of file