Author: sevein
Date: Sun Nov  6 19:54:13 2011
New Revision: 10276

Log:
Import all dublincore fields from METSArchivematicaDIP

Modified:
   
trunk/plugins/qtSwordPlugin/lib/qtPackageExtractorMETSArchivematicaDIP.class.php

Modified: 
trunk/plugins/qtSwordPlugin/lib/qtPackageExtractorMETSArchivematicaDIP.class.php
==============================================================================
--- 
trunk/plugins/qtSwordPlugin/lib/qtPackageExtractorMETSArchivematicaDIP.class.php
    Sun Nov  6 18:51:47 2011        (r10275)
+++ 
trunk/plugins/qtSwordPlugin/lib/qtPackageExtractorMETSArchivematicaDIP.class.php
    Sun Nov  6 19:54:13 2011        (r10276)
@@ -65,74 +65,99 @@
       $informationObject = new QubitInformationObject;
     }
 
-    foreach ($xml->xpath('.//mdWrap/xmlData/dublincore/dcterms:*') as $item)
+    foreach ($xml->xpath('.//mdWrap/xmlData/dublincore/*') as $item)
     {
-      if (0 == strlen(trim($item)))
+      $value = $item->__toString();
+      if (0 == strlen(trim($value)))
       {
         continue;
       }
 
-      switch($item->getName())
+      switch(str_replace('dcterms:', '', $item->getName()))
       {
         case 'title':
-          $informationObject->title = $item;
+          $informationObject->title = $value;
 
           break;
 
         case 'creator':
+          $informationObject->setActorByName($value, array('event_type_id' => 
QubitTerm::CREATION_ID));
+
+          break;
+
+        case 'coverage':
+          $informationObject->setAccessPointByName($value, array('type_id' => 
QubitTaxonomy::PLACE_ID));
 
           break;
 
         case 'subject':
+          $informationObject->setAccessPointByName($value, array('type_id' => 
QubitTaxonomy::SUBJECT_ID));
 
           break;
 
         case 'description':
-          $informationObject->scopeAndContent = $item;
+          $informationObject->scopeAndContent = $value;
 
           break;
 
         case 'publisher':
+          $informationObject->setActorByName($value, array('event_type_id' => 
QubitTerm::PUBLICATION_ID));
 
           break;
 
         case 'contributor':
+          $informationObject->setActorByName($value, array('event_type_id' => 
QubitTerm::CONTRIBUTION_ID));
 
           break;
 
         case 'date':
+          $informationObject->setDates($value);
 
           break;
 
         case 'type':
+          foreach (QubitTaxonomy::getTermsById(QubitTaxonomy::DC_TYPE_ID) as 
$item)
+          {
+            if (strtolower($value) == strtolower($item->__toString()))
+            {
+              $relation = new QubitObjectTermRelation;
+              $relation->term = $item;
+
+              $informationObject->objectTermRelationsRelatedByobjectId[] = 
$relation;
+
+              break;
+            }
+          }
 
           break;
 
         case 'format':
+          $informationObject->extentAndMedium = $value;
 
           break;
 
         case 'identifier':
+          $informationObject->identifier = $value;
 
           break;
 
         case 'source':
+          $informationObject->locationOfOriginals = $value;
 
           break;
 
         case 'language':
+          $informationObject->language = array($value);
 
           break;
 
         case 'isPartOf':
-
-          break;
-
-        case 'coverage':
+          // TODO: ?
 
           break;
 
         case 'rights':
+          $informationObject->accessConditions = $value;
 
           break;
       }
@@ -175,7 +200,7 @@
     // Main object
     if (null != ($dmdSec = $this->getMainDmdSec()))
     {
-      $this->processDmdSec($dmdSec, $this->informationObject);
+      $this->informationObject = $this->processDmdSec($dmdSec, 
$this->informationObject);
     }
 
     foreach ($this->getFilesFromDirectory() as $item)
@@ -189,7 +214,7 @@
 
       if (null !== ($dmdSec = $this->searchFileDmdSec($uuid)))
       {
-        $this->processDmdSec($dmdSec, $child);
+        $child = $this->processDmdSec($dmdSec, $child);
       }
 
       $digitalObject = new QubitDigitalObject;

-- 
You received this message because you are subscribed to the Google Groups 
"Qubit Toolkit Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/qubit-commits?hl=en.

Reply via email to