Author: sevein
Date: Mon Jun 4 18:17:58 2012
New Revision: 11727
Log:
Remove unused method (see QubitPdoInformationObject), also add hasDigitalObject
boolean property to the index
Modified:
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitInformationObjectMapping.class.php
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitPdoInformationObject.class.php
Modified:
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitInformationObjectMapping.class.php
==============================================================================
---
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitInformationObjectMapping.class.php
Mon Jun 4 18:17:09 2012 (r11726)
+++
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitInformationObjectMapping.class.php
Mon Jun 4 18:17:58 2012 (r11727)
@@ -59,6 +59,10 @@
'type' => 'integer',
'index' => 'not_analyzed',
'include_in_all' => false),
+ 'hasDigitalObject' => array(
+ 'type' => 'boolean',
+ 'index' => 'not_analyzed',
+ 'include_in_all' => false),
'digitalObject' => array(
'type' => 'object',
'properties' => array(
@@ -101,119 +105,4 @@
'properties' => QubitMapping::getI18nProperties()))
+ self::getI18nProperties();
}
-
- static function serialize($object)
- {
- $serialized = array();
-
- $serialized['slug'] = $object->slug;
- $serialized['referenceCode'] = $object->referenceCode;
- $serialized['identifier'] = $object->identifier;
- $serialized['levelOfDescriptionId'] = $object->levelOfDescriptionId;
- $serialized['publicationStatusId'] =
$object->getPublicationStatus()->status->id;
-
- // hierarchy information as arrays
- $serialized['parentId'] = $object->parentId;
-
- // NB: this will include the ROOT_ID
- foreach ($object->ancestors as $ancestor)
- {
- $serialized['ancestors'][] = $ancestor->id;
- }
-
- if ($object->hasChildren())
- {
- // NB: this should be an ordered array
- foreach ($object->getChildren() as $child)
- {
- $serialized['children'][] = $child->id;
- }
- }
-
- // embed digital object information
- if ($digitalObject = $object->getDigitalObject())
- {
- $serialized['digitalObject']['mediaTypeId'] =
$digitalObject->mediaTypeId;
-
- if ($digitalObject->thumbnail)
- {
- $serialized['digitalObject']['thumbnail_FullPath'] =
$digitalObject->thumbnail->getFullPath();
- }
- }
-
- // TODO: much smarter / fuller date storage
- foreach ($object->getDates() as $date)
- {
- $rendered =
Qubit::renderDateStartEnd($date->getDate(array('cultureFallback' => true)),
$date->startDate, $date->endDate);
-
- // try to extract two 4-digit years
- // NB: this doesn't work correctly on 3-date ranges, eg. 1999-2000, 2001
- preg_match("/^.*(?P<start>\d{4}).*(?P<end>\d{4}?).*/", $rendered,
$matches);
-
- $dateIndex['startDate'] = $matches['start'];
- $dateIndex['endDate'] = $matches['end'];
- $dateIndex['typeId'] = $date->getType()->id;
-
- if (isset($date->actor))
- {
- $dateIndex['actor'] = $date->actor->__toString();
- }
-
- $serialized['dates'][] = $dateIndex;
- }
-
- // Repository (actor)
- if ($repository = $object->getRepository(array('inherit' =>
empty($object->repositoryId))))
- {
- $repoI18ns = $repository->actorI18ns->indexBy('culture');
- $serializedI18ns = self::serializeI18ns(new QubitActor(), $repoI18ns);
-
- $serialized['repository'] = array('id' => $repository->id, 'i18n' =>
$serializedI18ns);
- }
-
- // Subject access points (terms)
- foreach ($object->getSubjectAccessPoints() as $subject)
- {
- $term = $subject->getTerm();
-
- $serializedI18ns = QubitTermMapping::serializeI18ns($term,
$term->termI18ns->indexBy('culture'));
- $serialized['subjects'][] = array('id' => $term->id, 'i18n' =>
$serializedI18ns);
- }
-
- // Place access points (terms)
- foreach ($object->getPlaceAccessPoints() as $place)
- {
- $term = $place->getTerm();
-
- $serializedI18ns = QubitTermMapping::serializeI18ns($term,
$term->termI18ns->indexBy('culture'));
- $serialized['places'][] = array('id' => $term->id, 'i18n' =>
$serializedI18ns);
- }
-
- // Name access points (actors)
- foreach ($object->getNameAccessPoints() as $name)
- {
- $serializedI18ns = self::serializeI18ns(new QubitActor(),
$name->object->actorI18ns->indexBy('culture'));
- $serialized['names'][] = array('id' => $name->object->id, 'i18n' =>
$serializedI18ns);
- }
-
- // Creators (actors)
- foreach ($object->getCreators() as $creator)
- {
- $serializedI18ns = self::serializeI18ns(new QubitActor(),
$creator->actorI18ns->indexBy('culture'));
- $serialized['creators'][] = array('id' => $creator->id, 'i18n' =>
$serializedI18ns);
- }
-
- // Notes
- foreach ($object->getNotes() as $note)
- {
- $serializedI18ns = self::serializeI18ns(new QubitNote(),
$note->noteI18ns->indexBy('culture'));
- $serialized['notes'][] = array('id' => $note->id, 'i18n' =>
$serializedI18ns);
- }
-
- $serialized['sourceCulture'] = $object->sourceCulture;
- $objectI18ns = $object->informationObjectI18ns->indexBy('culture');
- $serialized['i18n'] = self::serializeI18ns($object, $objectI18ns);
-
- return $serialized;
- }
}
Modified:
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitPdoInformationObject.class.php
==============================================================================
---
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitPdoInformationObject.class.php
Mon Jun 4 18:17:09 2012 (r11726)
+++
branches/2.0/plugins/qtElasticSearchPlugin/lib/model/QubitPdoInformationObject.class.php
Mon Jun 4 18:17:58 2012 (r11727)
@@ -775,6 +775,11 @@
{
$serialized['digitalObject']['mediaTypeId'] = $this->media_type_id;
$serialized['digitalObject']['thumbnail_FullPath'] =
$this->getThumbnailPath();
+ $serialized['hasDigitalObject'] = true;
+ }
+ else
+ {
+ $serialized['hasDigitalObject'] = false;
}
$dates = $this->getDates('array');
--
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.