Author: david
Date: Mon Nov 16 15:00:38 2009
New Revision: 3898

Log:
Update (ISDF) function schema.

Modified:
   trunk/config/schema.yml
   trunk/data/sql/lib.model.schema.sql
   trunk/lib/model/map/FunctionI18nMapBuilder.php
   trunk/lib/model/map/FunctionMapBuilder.php
   trunk/lib/model/om/BaseFunction.php
   trunk/lib/model/om/BaseFunctionI18n.php
   trunk/lib/model/om/BaseTerm.php

Modified: trunk/config/schema.yml
==============================================================================
--- trunk/config/schema.yml     Mon Nov 16 14:19:54 2009        (r3897)
+++ trunk/config/schema.yml     Mon Nov 16 15:00:38 2009        (r3898)
@@ -89,24 +89,26 @@
     date_display: varchar(255)
 
   function:
-    id: { type: integer, required: true, primaryKey: true, foreignTable: term, 
foreignReference: id, onDelete: cascade, inheritanceKey: true }
-    type_id: { type: integer, foreignTable: term, foreignReference: id }
+    id: { type: integer, required: true, primaryKey: true, foreignTable: 
object, foreignReference: id, onDelete: cascade, inheritanceKey: true }
+    type_id: { type: integer, foreignTable: term, foreignReference: id, 
onDelete: setnull }
+    description_detail_id: { type: integer, foreignTable: term, 
foreignReference: id, onDelete: setnull }
+    parent_id: { type: integer, foreignTable: function, foreignReference: id }
     description_status_id: { type: integer, foreignTable: term, 
foreignReference: id }
     description_level_id: { type: integer, foreignTable: term, 
foreignReference: id }
-    description_identifier: varchar(255)
+    lft: integer
+    rgt: integer
 
   function_i18n:
-    classification: longvarchar
-    domain: longvarchar
-    dates: longvarchar
+    authorized_form_of_name: { type: varchar(255), required: true }
+    classification: varchar(255) 
+    dates: varchar(255)
+    description: longvarchar
     history: longvarchar
     legislation: longvarchar
-    general_context: longvarchar
-    institution_responsible_identifier: varchar(255)
-    rules: longvarchar
-    sources: longvarchar
+    description_identifier: varchar(255)
     revision_history: longvarchar
-
+    sources: longvarchar
+    
   historical_event:
     id: { type: integer, required: true, primaryKey: true, foreignTable: term, 
foreignReference: id, onDelete: cascade, inheritanceKey: true }
     type_id: { type: integer, foreignTable: term, foreignReference: id }

Modified: trunk/data/sql/lib.model.schema.sql
==============================================================================
--- trunk/data/sql/lib.model.schema.sql Mon Nov 16 14:19:54 2009        (r3897)
+++ trunk/data/sql/lib.model.schema.sql Mon Nov 16 15:00:38 2009        (r3898)
@@ -312,25 +312,38 @@
 (
        `id` INTEGER  NOT NULL,
        `type_id` INTEGER,
+       `description_detail_id` INTEGER,
+       `parent_id` INTEGER,
        `description_status_id` INTEGER,
        `description_level_id` INTEGER,
-       `description_identifier` VARCHAR(255),
+       `lft` INTEGER,
+       `rgt` INTEGER,
        `source_culture` VARCHAR(7)  NOT NULL,
        PRIMARY KEY (`id`),
        CONSTRAINT `q_function_FK_1`
                FOREIGN KEY (`id`)
-               REFERENCES `q_term` (`id`)
+               REFERENCES `q_object` (`id`)
                ON DELETE CASCADE,
        INDEX `q_function_FI_2` (`type_id`),
        CONSTRAINT `q_function_FK_2`
                FOREIGN KEY (`type_id`)
-               REFERENCES `q_term` (`id`),
-       INDEX `q_function_FI_3` (`description_status_id`),
+               REFERENCES `q_term` (`id`)
+               ON DELETE SET NULL,
+       INDEX `q_function_FI_3` (`description_detail_id`),
        CONSTRAINT `q_function_FK_3`
+               FOREIGN KEY (`description_detail_id`)
+               REFERENCES `q_term` (`id`)
+               ON DELETE SET NULL,
+       INDEX `q_function_FI_4` (`parent_id`),
+       CONSTRAINT `q_function_FK_4`
+               FOREIGN KEY (`parent_id`)
+               REFERENCES `q_function` (`id`),
+       INDEX `q_function_FI_5` (`description_status_id`),
+       CONSTRAINT `q_function_FK_5`
                FOREIGN KEY (`description_status_id`)
                REFERENCES `q_term` (`id`),
-       INDEX `q_function_FI_4` (`description_level_id`),
-       CONSTRAINT `q_function_FK_4`
+       INDEX `q_function_FI_6` (`description_level_id`),
+       CONSTRAINT `q_function_FK_6`
                FOREIGN KEY (`description_level_id`)
                REFERENCES `q_term` (`id`)
 )Type=InnoDB;
@@ -344,16 +357,15 @@
 
 CREATE TABLE `q_function_i18n`
 (
-       `classification` TEXT,
-       `domain` TEXT,
-       `dates` TEXT,
+       `authorized_form_of_name` VARCHAR(255)  NOT NULL,
+       `classification` VARCHAR(255),
+       `dates` VARCHAR(255),
+       `description` TEXT,
        `history` TEXT,
        `legislation` TEXT,
-       `general_context` TEXT,
-       `institution_responsible_identifier` VARCHAR(255),
-       `rules` TEXT,
-       `sources` TEXT,
+       `description_identifier` VARCHAR(255),
        `revision_history` TEXT,
+       `sources` TEXT,
        `id` INTEGER  NOT NULL,
        `culture` VARCHAR(7)  NOT NULL,
        `serial_number` INTEGER  NOT NULL,

Modified: trunk/lib/model/map/FunctionI18nMapBuilder.php
==============================================================================
--- trunk/lib/model/map/FunctionI18nMapBuilder.php      Mon Nov 16 14:19:54 
2009        (r3897)
+++ trunk/lib/model/map/FunctionI18nMapBuilder.php      Mon Nov 16 15:00:38 
2009        (r3898)
@@ -33,26 +33,24 @@
 
                $tMap->setUseIdGenerator(false);
 
-               $tMap->addColumn('CLASSIFICATION', 'classification', 
'LONGVARCHAR', false, null);
+               $tMap->addColumn('AUTHORIZED_FORM_OF_NAME', 
'authorizedFormOfName', 'VARCHAR', true, 255);
 
-               $tMap->addColumn('DOMAIN', 'domain', 'LONGVARCHAR', false, 
null);
+               $tMap->addColumn('CLASSIFICATION', 'classification', 'VARCHAR', 
false, 255);
 
-               $tMap->addColumn('DATES', 'dates', 'LONGVARCHAR', false, null);
+               $tMap->addColumn('DATES', 'dates', 'VARCHAR', false, 255);
+
+               $tMap->addColumn('DESCRIPTION', 'description', 'LONGVARCHAR', 
false, null);
 
                $tMap->addColumn('HISTORY', 'history', 'LONGVARCHAR', false, 
null);
 
                $tMap->addColumn('LEGISLATION', 'legislation', 'LONGVARCHAR', 
false, null);
 
-               $tMap->addColumn('GENERAL_CONTEXT', 'generalContext', 
'LONGVARCHAR', false, null);
-
-               $tMap->addColumn('INSTITUTION_RESPONSIBLE_IDENTIFIER', 
'institutionResponsibleIdentifier', 'VARCHAR', false, 255);
+               $tMap->addColumn('DESCRIPTION_IDENTIFIER', 
'descriptionIdentifier', 'VARCHAR', false, 255);
 
-               $tMap->addColumn('RULES', 'rules', 'LONGVARCHAR', false, null);
+               $tMap->addColumn('REVISION_HISTORY', 'revisionHistory', 
'LONGVARCHAR', false, null);
 
                $tMap->addColumn('SOURCES', 'sources', 'LONGVARCHAR', false, 
null);
 
-               $tMap->addColumn('REVISION_HISTORY', 'revisionHistory', 
'LONGVARCHAR', false, null);
-
                $tMap->addForeignPrimaryKey('ID', 'id', 'INTEGER' , 
'q_function', 'ID', true, null);
 
                $tMap->addPrimaryKey('CULTURE', 'culture', 'VARCHAR', true, 7);

Modified: trunk/lib/model/map/FunctionMapBuilder.php
==============================================================================
--- trunk/lib/model/map/FunctionMapBuilder.php  Mon Nov 16 14:19:54 2009        
(r3897)
+++ trunk/lib/model/map/FunctionMapBuilder.php  Mon Nov 16 15:00:38 2009        
(r3898)
@@ -33,15 +33,21 @@
 
                $tMap->setUseIdGenerator(false);
 
-               $tMap->addForeignPrimaryKey('ID', 'id', 'INTEGER' , 'q_term', 
'ID', true, null);
+               $tMap->addForeignPrimaryKey('ID', 'id', 'INTEGER' , 'q_object', 
'ID', true, null);
 
                $tMap->addForeignKey('TYPE_ID', 'typeId', 'INTEGER', 'q_term', 
'ID', false, null);
 
+               $tMap->addForeignKey('DESCRIPTION_DETAIL_ID', 
'descriptionDetailId', 'INTEGER', 'q_term', 'ID', false, null);
+
+               $tMap->addForeignKey('PARENT_ID', 'parentId', 'INTEGER', 
'q_function', 'ID', false, null);
+
                $tMap->addForeignKey('DESCRIPTION_STATUS_ID', 
'descriptionStatusId', 'INTEGER', 'q_term', 'ID', false, null);
 
                $tMap->addForeignKey('DESCRIPTION_LEVEL_ID', 
'descriptionLevelId', 'INTEGER', 'q_term', 'ID', false, null);
 
-               $tMap->addColumn('DESCRIPTION_IDENTIFIER', 
'descriptionIdentifier', 'VARCHAR', false, 255);
+               $tMap->addColumn('LFT', 'lft', 'INTEGER', false, null);
+
+               $tMap->addColumn('RGT', 'rgt', 'INTEGER', false, null);
 
                $tMap->addColumn('SOURCE_CULTURE', 'sourceCulture', 'VARCHAR', 
true, 7);
 

Modified: trunk/lib/model/om/BaseFunction.php
==============================================================================
--- trunk/lib/model/om/BaseFunction.php Mon Nov 16 14:19:54 2009        (r3897)
+++ trunk/lib/model/om/BaseFunction.php Mon Nov 16 15:00:38 2009        (r3898)
@@ -1,6 +1,6 @@
 <?php
 
-abstract class BaseFunction extends QubitTerm implements ArrayAccess
+abstract class BaseFunction extends QubitObject implements ArrayAccess
 {
   const
     DATABASE_NAME = 'propel',
@@ -9,22 +9,28 @@
 
     ID = 'q_function.ID',
     TYPE_ID = 'q_function.TYPE_ID',
+    DESCRIPTION_DETAIL_ID = 'q_function.DESCRIPTION_DETAIL_ID',
+    PARENT_ID = 'q_function.PARENT_ID',
     DESCRIPTION_STATUS_ID = 'q_function.DESCRIPTION_STATUS_ID',
     DESCRIPTION_LEVEL_ID = 'q_function.DESCRIPTION_LEVEL_ID',
-    DESCRIPTION_IDENTIFIER = 'q_function.DESCRIPTION_IDENTIFIER',
+    LFT = 'q_function.LFT',
+    RGT = 'q_function.RGT',
     SOURCE_CULTURE = 'q_function.SOURCE_CULTURE';
 
   public static function addSelectColumns(Criteria $criteria)
   {
     parent::addSelectColumns($criteria);
 
-    $criteria->addJoin(QubitFunction::ID, QubitTerm::ID);
+    $criteria->addJoin(QubitFunction::ID, QubitObject::ID);
 
     $criteria->addSelectColumn(QubitFunction::ID);
     $criteria->addSelectColumn(QubitFunction::TYPE_ID);
+    $criteria->addSelectColumn(QubitFunction::DESCRIPTION_DETAIL_ID);
+    $criteria->addSelectColumn(QubitFunction::PARENT_ID);
     $criteria->addSelectColumn(QubitFunction::DESCRIPTION_STATUS_ID);
     $criteria->addSelectColumn(QubitFunction::DESCRIPTION_LEVEL_ID);
-    $criteria->addSelectColumn(QubitFunction::DESCRIPTION_IDENTIFIER);
+    $criteria->addSelectColumn(QubitFunction::LFT);
+    $criteria->addSelectColumn(QubitFunction::RGT);
     $criteria->addSelectColumn(QubitFunction::SOURCE_CULTURE);
 
     return $criteria;
@@ -84,12 +90,17 @@
 
     try
     {
-      return call_user_func_array(array($this, 'QubitTerm::__isset'), $args);
+      return call_user_func_array(array($this, 'QubitObject::__isset'), $args);
     }
     catch (sfException $e)
     {
     }
 
+    if ('functionsRelatedByparentId' == $name)
+    {
+      return true;
+    }
+
     if ('functionI18ns' == $name)
     {
       return true;
@@ -123,12 +134,29 @@
 
     try
     {
-      return call_user_func_array(array($this, 'QubitTerm::__get'), $args);
+      return call_user_func_array(array($this, 'QubitObject::__get'), $args);
     }
     catch (sfException $e)
     {
     }
 
+    if ('functionsRelatedByparentId' == $name)
+    {
+      if (!isset($this->refFkValues['functionsRelatedByparentId']))
+      {
+        if (!isset($this->id))
+        {
+          $this->refFkValues['functionsRelatedByparentId'] = 
QubitQuery::create();
+        }
+        else
+        {
+          $this->refFkValues['functionsRelatedByparentId'] = 
self::getfunctionsRelatedByparentIdById($this->id, array('self' => $this) + 
$options);
+        }
+      }
+
+      return $this->refFkValues['functionsRelatedByparentId'];
+    }
+
     if ('functionI18ns' == $name)
     {
       if (!isset($this->refFkValues['functionI18ns']))
@@ -172,7 +200,7 @@
       $options = $args[2];
     }
 
-    call_user_func_array(array($this, 'QubitTerm::__set'), $args);
+    call_user_func_array(array($this, 'QubitObject::__set'), $args);
 
     call_user_func_array(array($this->getCurrentfunctionI18n($options), 
'__set'), $args);
 
@@ -189,7 +217,7 @@
       $options = $args[1];
     }
 
-    call_user_func_array(array($this, 'QubitTerm::__unset'), $args);
+    call_user_func_array(array($this, 'QubitObject::__unset'), $args);
 
     call_user_func_array(array($this->getCurrentfunctionI18n($options), 
'__unset'), $args);
 
@@ -227,6 +255,20 @@
     return $criteria;
   }
 
+  public static function addJoindescriptionDetailCriteria(Criteria $criteria)
+  {
+    $criteria->addJoin(QubitFunction::DESCRIPTION_DETAIL_ID, QubitTerm::ID);
+
+    return $criteria;
+  }
+
+  public static function addJoinparentCriteria(Criteria $criteria)
+  {
+    $criteria->addJoin(QubitFunction::PARENT_ID, QubitFunction::ID);
+
+    return $criteria;
+  }
+
   public static function addJoindescriptionStatusCriteria(Criteria $criteria)
   {
     $criteria->addJoin(QubitFunction::DESCRIPTION_STATUS_ID, QubitTerm::ID);
@@ -241,6 +283,26 @@
     return $criteria;
   }
 
+  public static function addfunctionsRelatedByparentIdCriteriaById(Criteria 
$criteria, $id)
+  {
+    $criteria->add(QubitFunction::PARENT_ID, $id);
+
+    return $criteria;
+  }
+
+  public static function getfunctionsRelatedByparentIdById($id, array $options 
= array())
+  {
+    $criteria = new Criteria;
+    self::addfunctionsRelatedByparentIdCriteriaById($criteria, $id);
+
+    return QubitFunction::get($criteria, $options);
+  }
+
+  public function addfunctionsRelatedByparentIdCriteria(Criteria $criteria)
+  {
+    return self::addfunctionsRelatedByparentIdCriteriaById($criteria, 
$this->id);
+  }
+
   public static function addfunctionI18nsCriteriaById(Criteria $criteria, $id)
   {
     $criteria->add(QubitFunctionI18n::ID, $id);

Modified: trunk/lib/model/om/BaseFunctionI18n.php
==============================================================================
--- trunk/lib/model/om/BaseFunctionI18n.php     Mon Nov 16 14:19:54 2009        
(r3897)
+++ trunk/lib/model/om/BaseFunctionI18n.php     Mon Nov 16 15:00:38 2009        
(r3898)
@@ -7,32 +7,30 @@
 
     TABLE_NAME = 'q_function_i18n',
 
+    AUTHORIZED_FORM_OF_NAME = 'q_function_i18n.AUTHORIZED_FORM_OF_NAME',
     CLASSIFICATION = 'q_function_i18n.CLASSIFICATION',
-    DOMAIN = 'q_function_i18n.DOMAIN',
     DATES = 'q_function_i18n.DATES',
+    DESCRIPTION = 'q_function_i18n.DESCRIPTION',
     HISTORY = 'q_function_i18n.HISTORY',
     LEGISLATION = 'q_function_i18n.LEGISLATION',
-    GENERAL_CONTEXT = 'q_function_i18n.GENERAL_CONTEXT',
-    INSTITUTION_RESPONSIBLE_IDENTIFIER = 
'q_function_i18n.INSTITUTION_RESPONSIBLE_IDENTIFIER',
-    RULES = 'q_function_i18n.RULES',
-    SOURCES = 'q_function_i18n.SOURCES',
+    DESCRIPTION_IDENTIFIER = 'q_function_i18n.DESCRIPTION_IDENTIFIER',
     REVISION_HISTORY = 'q_function_i18n.REVISION_HISTORY',
+    SOURCES = 'q_function_i18n.SOURCES',
     ID = 'q_function_i18n.ID',
     CULTURE = 'q_function_i18n.CULTURE',
     SERIAL_NUMBER = 'q_function_i18n.SERIAL_NUMBER';
 
   public static function addSelectColumns(Criteria $criteria)
   {
+    $criteria->addSelectColumn(QubitFunctionI18n::AUTHORIZED_FORM_OF_NAME);
     $criteria->addSelectColumn(QubitFunctionI18n::CLASSIFICATION);
-    $criteria->addSelectColumn(QubitFunctionI18n::DOMAIN);
     $criteria->addSelectColumn(QubitFunctionI18n::DATES);
+    $criteria->addSelectColumn(QubitFunctionI18n::DESCRIPTION);
     $criteria->addSelectColumn(QubitFunctionI18n::HISTORY);
     $criteria->addSelectColumn(QubitFunctionI18n::LEGISLATION);
-    $criteria->addSelectColumn(QubitFunctionI18n::GENERAL_CONTEXT);
-    
$criteria->addSelectColumn(QubitFunctionI18n::INSTITUTION_RESPONSIBLE_IDENTIFIER);
-    $criteria->addSelectColumn(QubitFunctionI18n::RULES);
-    $criteria->addSelectColumn(QubitFunctionI18n::SOURCES);
+    $criteria->addSelectColumn(QubitFunctionI18n::DESCRIPTION_IDENTIFIER);
     $criteria->addSelectColumn(QubitFunctionI18n::REVISION_HISTORY);
+    $criteria->addSelectColumn(QubitFunctionI18n::SOURCES);
     $criteria->addSelectColumn(QubitFunctionI18n::ID);
     $criteria->addSelectColumn(QubitFunctionI18n::CULTURE);
     $criteria->addSelectColumn(QubitFunctionI18n::SERIAL_NUMBER);
@@ -50,8 +48,8 @@
   public static function getFromRow(array $row)
   {
     $keys = array();
-    $keys['id'] = $row[10];
-    $keys['culture'] = $row[11];
+    $keys['id'] = $row[9];
+    $keys['culture'] = $row[10];
 
     $key = serialize($keys);
     if (!isset(self::$functionI18ns[$key]))

Modified: trunk/lib/model/om/BaseTerm.php
==============================================================================
--- trunk/lib/model/om/BaseTerm.php     Mon Nov 16 14:19:54 2009        (r3897)
+++ trunk/lib/model/om/BaseTerm.php     Mon Nov 16 15:00:38 2009        (r3898)
@@ -154,6 +154,11 @@
       return true;
     }
 
+    if ('functionsRelatedBydescriptionDetailId' == $name)
+    {
+      return true;
+    }
+
     if ('functionsRelatedBydescriptionStatusId' == $name)
     {
       return true;
@@ -481,6 +486,23 @@
       return $this->refFkValues['functionsRelatedBytypeId'];
     }
 
+    if ('functionsRelatedBydescriptionDetailId' == $name)
+    {
+      if (!isset($this->refFkValues['functionsRelatedBydescriptionDetailId']))
+      {
+        if (!isset($this->id))
+        {
+          $this->refFkValues['functionsRelatedBydescriptionDetailId'] = 
QubitQuery::create();
+        }
+        else
+        {
+          $this->refFkValues['functionsRelatedBydescriptionDetailId'] = 
self::getfunctionsRelatedBydescriptionDetailIdById($this->id, array('self' => 
$this) + $options);
+        }
+      }
+
+      return $this->refFkValues['functionsRelatedBydescriptionDetailId'];
+    }
+
     if ('functionsRelatedBydescriptionStatusId' == $name)
     {
       if (!isset($this->refFkValues['functionsRelatedBydescriptionStatusId']))
@@ -1285,6 +1307,26 @@
     return self::addfunctionsRelatedBytypeIdCriteriaById($criteria, $this->id);
   }
 
+  public static function 
addfunctionsRelatedBydescriptionDetailIdCriteriaById(Criteria $criteria, $id)
+  {
+    $criteria->add(QubitFunction::DESCRIPTION_DETAIL_ID, $id);
+
+    return $criteria;
+  }
+
+  public static function getfunctionsRelatedBydescriptionDetailIdById($id, 
array $options = array())
+  {
+    $criteria = new Criteria;
+    self::addfunctionsRelatedBydescriptionDetailIdCriteriaById($criteria, $id);
+
+    return QubitFunction::get($criteria, $options);
+  }
+
+  public function addfunctionsRelatedBydescriptionDetailIdCriteria(Criteria 
$criteria)
+  {
+    return 
self::addfunctionsRelatedBydescriptionDetailIdCriteriaById($criteria, 
$this->id);
+  }
+
   public static function 
addfunctionsRelatedBydescriptionStatusIdCriteriaById(Criteria $criteria, $id)
   {
     $criteria->add(QubitFunction::DESCRIPTION_STATUS_ID, $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
-~----------~----~----~----~------~----~------~--~---

Reply via email to