Author: david
Date: Mon May 16 11:18:21 2011
New Revision: 9102

Log:
Reduce memory required for imageflow.  On return descendants with digital 
objects, and use 'limit'.

Modified:
   trunk/apps/qubit/modules/digitalobject/actions/imageflowComponent.class.php

Modified: 
trunk/apps/qubit/modules/digitalobject/actions/imageflowComponent.class.php
==============================================================================
--- trunk/apps/qubit/modules/digitalobject/actions/imageflowComponent.class.php 
Mon May 16 00:02:39 2011        (r9101)
+++ trunk/apps/qubit/modules/digitalobject/actions/imageflowComponent.class.php 
Mon May 16 11:18:21 2011        (r9102)
@@ -38,25 +38,26 @@
     }
 
     // Add thumbs
-    foreach ($this->resource->descendants as $item)
+    $criteria = new Criteria;
+    $criteria->addJoin(QubitInformationObject::ID, 
QubitDigitalObject::INFORMATION_OBJECT_ID);
+    $criteria->add(QubitInformationObject::LFT, $this->resource->lft, 
Criteria::GREATER_THAN);
+    $criteria->add(QubitInformationObject::RGT, $this->resource->rgt, 
Criteria::LESS_THAN);
+    if (isset($this->limit))
     {
-      if (null !== $digitalObject = $item->getDigitalObject())
-      {
-        $thumbnail = 
$digitalObject->getRepresentationByUsage(QubitTerm::THUMBNAIL_ID);
+      $criteria->setLimit($this->limit);
+    }
+
+    foreach (QubitDigitalObject::get($criteria) as $item)
+    {
+      $thumbnail = $item->getRepresentationByUsage(QubitTerm::THUMBNAIL_ID);
 
-        if (!$thumbnail)
-        {
-          $thumbnail = 
QubitDigitalObject::getGenericRepresentation($digitalObject->mimeType, 
QubitTerm::THUMBNAIL_ID);
-          $thumbnail->setParent($digitalObject);
-        }
-
-        $this->thumbnails[] = $thumbnail;
-
-        if (isset($this->limit) && $this->limit <= count($this->thumbnails))
-        {
-          break;
-        }
+      if (!$thumbnail)
+      {
+        $thumbnail = 
QubitDigitalObject::getGenericRepresentation($digitalObject->mimeType, 
QubitTerm::THUMBNAIL_ID);
+        $thumbnail->setParent($digitalObject);
       }
+
+      $this->thumbnails[] = $thumbnail;
     }
 
     // Get total number of descendant digital objects

-- 
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