Author: jablko
Date: Thu Aug 13 08:44:05 2009
New Revision: 3025

Log:
Optimization, avoid loading values twice

Modified:
   trunk/apps/qubit/modules/informationobject/actions/editDcAction.class.php
   trunk/apps/qubit/modules/informationobject/actions/editIsadAction.class.php
   trunk/apps/qubit/modules/informationobject/actions/editModsAction.class.php
   trunk/apps/qubit/modules/informationobject/actions/editRadAction.class.php

Modified: 
trunk/apps/qubit/modules/informationobject/actions/editDcAction.class.php
==============================================================================
--- trunk/apps/qubit/modules/informationobject/actions/editDcAction.class.php   
Thu Aug 13 00:04:15 2009        (r3024)
+++ trunk/apps/qubit/modules/informationobject/actions/editDcAction.class.php   
Thu Aug 13 08:44:05 2009        (r3025)
@@ -65,8 +65,13 @@
         break;
 
       case 'typeIds':
+        $criteria = new Criteria;
+        
$this->informationObject->addObjectTermRelationsRelatedByObjectIdCriteria($criteria);
+        QubitObjectTermRelation::addJoinTermCriteria($criteria);
+        $criteria->add(QubitTerm::TAXONOMY_ID, QubitTaxonomy::DC_TYPE_ID);
+
         $values = array();
-        foreach (QubitDc::getDcTypes($this->informationObject) as $relation)
+        foreach ($this->relations = QubitObjectTermRelation::get($criteria) as 
$relation)
         {
           $values[] = $relation->term->id;
         }
@@ -110,12 +115,7 @@
       case 'typeIds':
         $filtered = $flipped = array_flip($this->form->getValue('typeIds'));
 
-        $criteria = new Criteria;
-        
$this->informationObject->addObjectTermRelationsRelatedByObjectIdCriteria($criteria);
-        QubitTermRelation::addJoinTermCriteria($criteria);
-        $criteria->add(QubitTerm::TAXONOMY_ID, QubitTaxonomy::DC_TYPE_ID);
-
-        foreach (QubitObjectTermRelation::get($criteria) as $relation)
+        foreach ($this->relations as $relation)
         {
           if (isset($flipped[$relation->term->id]))
           {

Modified: 
trunk/apps/qubit/modules/informationobject/actions/editIsadAction.class.php
==============================================================================
--- trunk/apps/qubit/modules/informationobject/actions/editIsadAction.class.php 
Thu Aug 13 00:04:15 2009        (r3024)
+++ trunk/apps/qubit/modules/informationobject/actions/editIsadAction.class.php 
Thu Aug 13 08:44:05 2009        (r3025)
@@ -68,10 +68,15 @@
     switch ($name)
     {
       case 'creatorIds':
+        $criteria = new Criteria;
+        $this->informationObject->addEventsCriteria($criteria);
+        $criteria->add(QubitEvent::ACTOR_ID, null, Criteria::ISNOTNULL);
+        $criteria->add(QubitEvent::TYPE_ID, QubitTerm::CREATION_ID);
+
         $values = array();
-        foreach ($this->informationObject->getCreators() as $actor)
+        foreach ($this->events = QubitEvent::get($criteria) as $event)
         {
-          $values[] = $actor->id;
+          $values[] = $event->actor->id;
         }
 
         $this->form->setDefault('creatorIds', $values);
@@ -119,12 +124,7 @@
       case 'creatorIds':
         $filtered = $flipped = array_flip($this->form->getValue('creatorIds'));
 
-        $criteria = new Criteria;
-        $this->informationObject->addEventsCriteria($criteria);
-        $criteria->add(QubitEvent::ACTOR_ID, null, Criteria::ISNOTNULL);
-        $criteria->add(QubitEvent::TYPE_ID, QubitTerm::CREATION_ID);
-
-        foreach (QubitEvent::get($criteria) as $event)
+        foreach ($this->events as $event)
         {
           if (isset($flipped[$event->actor->id]))
           {

Modified: 
trunk/apps/qubit/modules/informationobject/actions/editModsAction.class.php
==============================================================================
--- trunk/apps/qubit/modules/informationobject/actions/editModsAction.class.php 
Thu Aug 13 00:04:15 2009        (r3024)
+++ trunk/apps/qubit/modules/informationobject/actions/editModsAction.class.php 
Thu Aug 13 08:44:05 2009        (r3025)
@@ -44,8 +44,13 @@
     switch ($name)
     {
       case 'typeIds':
+        $criteria = new Criteria;
+        
$this->informationObject->addObjectTermRelationsRelatedByObjectIdCriteria($criteria);
+        QubitObjectTermRelation::addJoinTermCriteria($criteria);
+        $criteria->add(QubitTerm::TAXONOMY_ID, 
QubitTaxonomy::MODS_RESOURCE_TYPE_ID);
+
         $values = array();
-        foreach (QubitMods::getTypes($this->informationObject) as $relation)
+        foreach ($this->relations = QubitObjectTermRelation::get($criteria) as 
$relation)
         {
           $values[] = $relation->term->id;
         }
@@ -72,12 +77,7 @@
       case 'typeIds':
         $filtered = $flipped = array_flip($this->form->getValue('typeIds'));
 
-        $criteria = new Criteria;
-        
$this->informationObject->addObjectTermRelationsRelatedByObjectIdCriteria($criteria);
-        QubitTermRelation::addJoinTermCriteria($criteria);
-        $criteria->add(QubitTerm::TAXONOMY_ID, 
QubitTaxonomy::MODS_RESOURCE_TYPE_ID);
-
-        foreach (QubitObjectTermRelation::get($criteria) as $relation)
+        foreach ($this->relations as $relation)
         {
           if (isset($flipped[$relation->term->id]))
           {

Modified: 
trunk/apps/qubit/modules/informationobject/actions/editRadAction.class.php
==============================================================================
--- trunk/apps/qubit/modules/informationobject/actions/editRadAction.class.php  
Thu Aug 13 00:04:15 2009        (r3024)
+++ trunk/apps/qubit/modules/informationobject/actions/editRadAction.class.php  
Thu Aug 13 08:44:05 2009        (r3025)
@@ -123,8 +123,13 @@
         break;
 
       case 'typeIds':
+        $criteria = new Criteria;
+        
$this->informationObject->addObjectTermRelationsRelatedByObjectIdCriteria($criteria);
+        QubitObjectTermRelation::addJoinTermCriteria($criteria);
+        $criteria->add(QubitTerm::TAXONOMY_ID, 
QubitTaxonomy::MATERIAL_TYPE_ID);
+
         $values = array();
-        foreach ($this->informationObject->getMaterialTypes() as $relation)
+        foreach ($this->relations = QubitObjectTermRelation::get($criteria) as 
$relation)
         {
           $values[] = $relation->term->id;
         }
@@ -185,12 +190,7 @@
       case 'typeIds':
         $filtered = $flipped = array_flip($this->form->getValue('typeIds'));
 
-        $criteria = new Criteria;
-        
$this->informationObject->addObjectTermRelationsRelatedByObjectIdCriteria($criteria);
-        QubitTermRelation::addJoinTermCriteria($criteria);
-        $criteria->add(QubitTerm::TAXONOMY_ID, 
QubitTaxonomy::MATERIAL_TYPE_ID);
-
-        foreach (QubitObjectTermRelation::get($criteria) as $relation)
+        foreach ($this->relations as $relation)
         {
           if (isset($flipped[$relation->term->id]))
           {

--~--~---------~--~----~------------~-------~--~----~
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.ca/group/qubit-commits?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to