From cd64c6e22b72463bfd2a54fd1fc9bc6c991a358d Mon Sep 17 00:00:00 2001 From: Jonathan Green Date: Thu, 25 Apr 2013 21:34:25 -0400 Subject: [PATCH 1/5] Updated to reflect fcrepo4 changes in tuque. --- includes/tuque.inc | 28 ++++++++++++++-------------- includes/tuque_wrapper.inc | 30 +++++++++++++++--------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/includes/tuque.inc b/includes/tuque.inc index ec278192..09bbe792 100644 --- a/includes/tuque.inc +++ b/includes/tuque.inc @@ -8,25 +8,25 @@ $islandora_module_path = drupal_get_path('module', 'islandora'); // Do this until we expose these in a module or library. -@include_once 'sites/all/libraries/tuque/Datastream.php'; -@include_once 'sites/all/libraries/tuque/FedoraApi.php'; -@include_once 'sites/all/libraries/tuque/FedoraApiSerializer.php'; -@include_once 'sites/all/libraries/tuque/Object.php'; -@include_once 'sites/all/libraries/tuque/RepositoryConnection.php'; +@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/implementaitons/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 'sites/all/libraries/tuque/Repository.php'; -@include_once 'sites/all/libraries/tuque/FedoraRelationships.php'; -@include_once "$islandora_module_path/libraries/tuque/Datastream.php"; -@include_once "$islandora_module_path/libraries/tuque/FedoraApi.php"; -@include_once "$islandora_module_path/libraries/tuque/FedoraApiSerializer.php"; -@include_once "$islandora_module_path/libraries/tuque/Object.php"; -@include_once "$islandora_module_path/libraries/tuque/RepositoryConnection.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/implementaitons/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 "$islandora_module_path/libraries/tuque/Repository.php"; -@include_once "$islandora_module_path/libraries/tuque/FedoraRelationships.php"; class IslandoraTuque { diff --git a/includes/tuque_wrapper.inc b/includes/tuque_wrapper.inc index 14a770e2..ad86c0a9 100644 --- a/includes/tuque_wrapper.inc +++ b/includes/tuque_wrapper.inc @@ -11,25 +11,25 @@ $islandora_module_path = drupal_get_path('module', 'islandora'); // @todo this until we expost these in a module or library -@include_once 'sites/all/libraries/tuque/Datastream.php'; -@include_once 'sites/all/libraries/tuque/FedoraApi.php'; -@include_once 'sites/all/libraries/tuque/FedoraApiSerializer.php'; -@include_once 'sites/all/libraries/tuque/Object.php'; -@include_once 'sites/all/libraries/tuque/RepositoryConnection.php'; +@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/implementaitons/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 'sites/all/libraries/tuque/Repository.php'; -@include_once 'sites/all/libraries/tuque/FedoraRelationships.php'; - -@include_once "$islandora_module_path/libraries/tuque/Datastream.php"; -@include_once "$islandora_module_path/libraries/tuque/FedoraApi.php"; -@include_once "$islandora_module_path/libraries/tuque/FedoraApiSerializer.php"; -@include_once "$islandora_module_path/libraries/tuque/Object.php"; -@include_once "$islandora_module_path/libraries/tuque/RepositoryConnection.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/implementaitons/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 "$islandora_module_path/libraries/tuque/Repository.php"; -@include_once "$islandora_module_path/libraries/tuque/FedoraRelationships.php"; /** * Allow modules to alter an object before a mutable event occurs. From 0db90f88ff276a39315109bac56e98a813edb24d Mon Sep 17 00:00:00 2001 From: Jonathan Green Date: Thu, 25 Apr 2013 21:53:14 -0400 Subject: [PATCH 2/5] Fixed a typo --- includes/tuque.inc | 4 ++-- includes/tuque_wrapper.inc | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/includes/tuque.inc b/includes/tuque.inc index 09bbe792..c7d208dc 100644 --- a/includes/tuque.inc +++ b/includes/tuque.inc @@ -13,7 +13,7 @@ $islandora_module_path = drupal_get_path('module', 'islandora'); @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/implementaitons/fedora3/Repository.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'; @@ -23,7 +23,7 @@ $islandora_module_path = drupal_get_path('module', 'islandora'); @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/implementaitons/fedora3/Repository.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"; diff --git a/includes/tuque_wrapper.inc b/includes/tuque_wrapper.inc index ad86c0a9..ab1dea42 100644 --- a/includes/tuque_wrapper.inc +++ b/includes/tuque_wrapper.inc @@ -16,7 +16,7 @@ $islandora_module_path = drupal_get_path('module', 'islandora'); @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/implementaitons/fedora3/Repository.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'; @@ -26,7 +26,7 @@ $islandora_module_path = drupal_get_path('module', 'islandora'); @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/implementaitons/fedora3/Repository.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"; From fb7ae1b79fa82fb51e0f107cfbf161790924104e Mon Sep 17 00:00:00 2001 From: Jonathan Green Date: Thu, 25 Apr 2013 22:40:09 -0400 Subject: [PATCH 3/5] Fix include path. --- includes/tuque.inc | 2 ++ includes/tuque_wrapper.inc | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/includes/tuque.inc b/includes/tuque.inc index c7d208dc..0f953288 100644 --- a/includes/tuque.inc +++ b/includes/tuque.inc @@ -7,6 +7,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'; diff --git a/includes/tuque_wrapper.inc b/includes/tuque_wrapper.inc index ab1dea42..f15dc69d 100644 --- a/includes/tuque_wrapper.inc +++ b/includes/tuque_wrapper.inc @@ -9,8 +9,9 @@ */ $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/"); -// @todo this until we expost these in a module or library +// 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'; From 1178194db58f9175482b92fc071bb1ee1c2875d1 Mon Sep 17 00:00:00 2001 From: Jonathan Green Date: Thu, 25 Apr 2013 23:04:59 -0400 Subject: [PATCH 4/5] Coding standards. --- includes/tuque.inc | 2 +- includes/tuque_wrapper.inc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/includes/tuque.inc b/includes/tuque.inc index 0f953288..a1e6764b 100644 --- a/includes/tuque.inc +++ b/includes/tuque.inc @@ -7,7 +7,7 @@ $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/"); +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'; diff --git a/includes/tuque_wrapper.inc b/includes/tuque_wrapper.inc index f15dc69d..54a304bb 100644 --- a/includes/tuque_wrapper.inc +++ b/includes/tuque_wrapper.inc @@ -9,7 +9,7 @@ */ $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/"); +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'; From d88d2c068fa81c012749f267d09df893dff2151e Mon Sep 17 00:00:00 2001 From: Jonathan Green Date: Wed, 1 May 2013 15:19:54 -0400 Subject: [PATCH 5/5] Started work building Islandora object decorators. --- includes/tuque.inc | 52 ++++++++++++++++++++++++---------------------- 1 file changed, 27 insertions(+), 25 deletions(-) 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