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