Author: david
Date: 2008-11-28 10:06:26 -0800 (Fri, 28 Nov 2008)
New Revision: 1638
Modified:
trunk/qubit/config/schema.yml
trunk/qubit/data/fixtures/sampleData.yml
trunk/qubit/data/sql/lib.model.schema.sql
trunk/qubit/lib/model/map/InformationObjectMapBuilder.php
trunk/qubit/lib/model/om/BaseInformationObject.php
Log:
Add OAI identifier column to q_information_object as per issue #530.
Modified: trunk/qubit/config/schema.yml
===================================================================
--- trunk/qubit/config/schema.yml 2008-11-28 17:48:27 UTC (rev 1637)
+++ trunk/qubit/config/schema.yml 2008-11-28 18:06:26 UTC (rev 1638)
@@ -5,6 +5,7 @@
information_object:
id: { type: integer, required: true, primaryKey: true, foreignTable:
object, foreignReference: id, onDelete: cascade, inheritanceKey: true }
identifier: varchar(255)
+ oai_identifier: { type: integer, index: unique, required: true,
autoIncrement: true }
level_of_description_id: { type: integer, foreignTable: term,
foreignReference: id }
collection_type_id: { type: integer, foreignTable: term, foreignReference:
id }
repository_id:
Modified: trunk/qubit/data/fixtures/sampleData.yml
===================================================================
--- trunk/qubit/data/fixtures/sampleData.yml 2008-11-28 17:48:27 UTC (rev
1637)
+++ trunk/qubit/data/fixtures/sampleData.yml 2008-11-28 18:06:26 UTC (rev
1638)
@@ -1465,6 +1465,7 @@
QubitInformationObject:
QubitInformationObject_261:
class_name: QubitInformationObject
+ oai_identifier: 100001
lft: '1'
rgt: '78'
created_at: '2008-04-24 09:30:12'
@@ -3667,4 +3668,4 @@
role_id: QubitRole_3
QubitUserRoleRelation_5:
user_id: QubitUser_255
- role_id: QubitRole_4
+ role_id: QubitRole_4
\ No newline at end of file
Modified: trunk/qubit/data/sql/lib.model.schema.sql
===================================================================
--- trunk/qubit/data/sql/lib.model.schema.sql 2008-11-28 17:48:27 UTC (rev
1637)
+++ trunk/qubit/data/sql/lib.model.schema.sql 2008-11-28 18:06:26 UTC (rev
1638)
@@ -28,6 +28,7 @@
(
`id` INTEGER NOT NULL,
`identifier` VARCHAR(255),
+ `oai_identifier` INTEGER NOT NULL AUTO_INCREMENT,
`level_of_description_id` INTEGER,
`collection_type_id` INTEGER,
`repository_id` INTEGER,
@@ -41,6 +42,7 @@
`updated_at` DATETIME NOT NULL,
`source_culture` VARCHAR(7) NOT NULL,
PRIMARY KEY (`id`),
+ UNIQUE KEY `q_information_object_U_1` (`oai_identifier`),
CONSTRAINT `q_information_object_FK_1`
FOREIGN KEY (`id`)
REFERENCES `q_object` (`id`)
Modified: trunk/qubit/lib/model/map/InformationObjectMapBuilder.php
===================================================================
--- trunk/qubit/lib/model/map/InformationObjectMapBuilder.php 2008-11-28
17:48:27 UTC (rev 1637)
+++ trunk/qubit/lib/model/map/InformationObjectMapBuilder.php 2008-11-28
18:06:26 UTC (rev 1638)
@@ -31,12 +31,14 @@
$tMap->setPhpName('InformationObject');
$tMap->setClassname('QubitInformationObject');
- $tMap->setUseIdGenerator(false);
+ $tMap->setUseIdGenerator(true);
$tMap->addForeignPrimaryKey('ID', 'Id', 'INTEGER' , 'q_object',
'ID', true, null);
$tMap->addColumn('IDENTIFIER', 'Identifier', 'VARCHAR', false,
255);
+ $tMap->addColumn('OAI_IDENTIFIER', 'OaiIdentifier', 'INTEGER',
true, null);
+
$tMap->addForeignKey('LEVEL_OF_DESCRIPTION_ID',
'LevelOfDescriptionId', 'INTEGER', 'q_term', 'ID', false, null);
$tMap->addForeignKey('COLLECTION_TYPE_ID', 'CollectionTypeId',
'INTEGER', 'q_term', 'ID', false, null);
Modified: trunk/qubit/lib/model/om/BaseInformationObject.php
===================================================================
--- trunk/qubit/lib/model/om/BaseInformationObject.php 2008-11-28 17:48:27 UTC
(rev 1637)
+++ trunk/qubit/lib/model/om/BaseInformationObject.php 2008-11-28 18:06:26 UTC
(rev 1638)
@@ -8,6 +8,7 @@
const ID = 'q_information_object.ID';
const IDENTIFIER = 'q_information_object.IDENTIFIER';
+ const OAI_IDENTIFIER = 'q_information_object.OAI_IDENTIFIER';
const LEVEL_OF_DESCRIPTION_ID =
'q_information_object.LEVEL_OF_DESCRIPTION_ID';
const COLLECTION_TYPE_ID = 'q_information_object.COLLECTION_TYPE_ID';
const REPOSITORY_ID = 'q_information_object.REPOSITORY_ID';
@@ -29,6 +30,7 @@
$criteria->addSelectColumn(QubitInformationObject::ID);
$criteria->addSelectColumn(QubitInformationObject::IDENTIFIER);
+ $criteria->addSelectColumn(QubitInformationObject::OAI_IDENTIFIER);
$criteria->addSelectColumn(QubitInformationObject::LEVEL_OF_DESCRIPTION_ID);
$criteria->addSelectColumn(QubitInformationObject::COLLECTION_TYPE_ID);
$criteria->addSelectColumn(QubitInformationObject::REPOSITORY_ID);
@@ -108,6 +110,20 @@
return $this;
}
+ protected $oaiIdentifier = null;
+
+ public function getOaiIdentifier()
+ {
+ return $this->oaiIdentifier;
+ }
+
+ public function setOaiIdentifier($oaiIdentifier)
+ {
+ $this->oaiIdentifier = $oaiIdentifier;
+
+ return $this;
+ }
+
protected $levelOfDescriptionId = null;
public function getLevelOfDescriptionId()
@@ -304,6 +320,7 @@
$this->columnValues['id'] = $this->id;
$this->columnValues['identifier'] = $this->identifier;
+ $this->columnValues['oaiIdentifier'] = $this->oaiIdentifier;
$this->columnValues['levelOfDescriptionId'] = $this->levelOfDescriptionId;
$this->columnValues['collectionTypeId'] = $this->collectionTypeId;
$this->columnValues['repositoryId'] = $this->repositoryId;
@@ -326,6 +343,7 @@
$this->id = (int) $row[$columnOffset++];
$this->identifier = (string) $row[$columnOffset++];
+ $this->oaiIdentifier = (int) $row[$columnOffset++];
$this->levelOfDescriptionId = (int) $row[$columnOffset++];
$this->collectionTypeId = (int) $row[$columnOffset++];
$this->repositoryId = (int) $row[$columnOffset++];
@@ -399,6 +417,11 @@
$criteria->add(QubitInformationObject::IDENTIFIER, $this->identifier);
}
+ if ($this->isColumnModified('oaiIdentifier'))
+ {
+ $criteria->add(QubitInformationObject::OAI_IDENTIFIER,
$this->oaiIdentifier);
+ }
+
if ($this->isColumnModified('levelOfDescriptionId'))
{
$criteria->add(QubitInformationObject::LEVEL_OF_DESCRIPTION_ID,
$this->levelOfDescriptionId);
@@ -467,7 +490,7 @@
$connection =
QubitTransactionFilter::getConnection(QubitInformationObject::DATABASE_NAME);
}
- BasePeer::doInsert($criteria, $connection);
+ $id = BasePeer::doInsert($criteria, $connection);
$affectedRows += 1;
return $affectedRows;
@@ -496,6 +519,11 @@
$criteria->add(QubitInformationObject::IDENTIFIER, $this->identifier);
}
+ if ($this->isColumnModified('oaiIdentifier'))
+ {
+ $criteria->add(QubitInformationObject::OAI_IDENTIFIER,
$this->oaiIdentifier);
+ }
+
if ($this->isColumnModified('levelOfDescriptionId'))
{
$criteria->add(QubitInformationObject::LEVEL_OF_DESCRIPTION_ID,
$this->levelOfDescriptionId);
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---