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.

Reply via email to