Author: mcantelon
Date: Tue Jan 10 12:58:02 2012
New Revision: 10619
Log:
Added logic to add keymap entries for accessions.
Modified:
trunk/lib/task/csvImportTask.class.php
Modified: trunk/lib/task/csvImportTask.class.php
==============================================================================
--- trunk/lib/task/csvImportTask.class.php Tue Jan 10 12:42:56 2012
(r10618)
+++ trunk/lib/task/csvImportTask.class.php Tue Jan 10 12:58:02 2012
(r10619)
@@ -309,14 +309,40 @@
{
foreach($self->rowStatusVars['accessionNumber'] as
$accessionNumber)
{
- /*
- $accession = new QubitAccession;
- $accession->save();
-
- // workaround to problem setting identifier
- $query = "UPDATE accession SET identifier=? WHERE id=?";
- $self->sqlQuery($query, $params = array($accessionNumber,
$accession->id));
- */
+ // attempt to fetch keymap entry
+ $accessionMapEntry =
$self->fetchKeymapEntryBySourceAndTargetName(
+ $accessionNumber,
+ $self->getStatus('sourceName'),
+ 'accession'
+ );
+
+ // if no entry found, create accession and entry
+ if (!$accessionMapEntry)
+ {
+ print 'Creating accession # '. $accessionNumber ."\n";
+
+ // create new accession
+ $accession = new QubitAccession;
+ $accession->save();
+
+ // workaround to problem setting identifier
+ $query = "UPDATE accession SET identifier=? WHERE id=?";
+ $self->sqlQuery($query, $params = array($accessionNumber,
$accession->id));
+
+ // create keymap entry for accession
+ $keymap = new QubitKeymap;
+ $keymap->sourceId = $accessionNumber;
+ $keymap->sourceName = $self->getStatus('sourceName');
+ $keymap->targetId = $accession->id;
+ $keymap->targetName = 'accession';
+ $keymap->save();
+
+ $accessionId = $accession->id;
+ } else {
+ $accessionId = $accessionMapEntry->target_id;
+ }
+
+ // add relationship between information object and accession
}
}
--
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.