示例#1
0
 public function testGetPrimitiveSettings_NVPairsContainsZeroWhenValueIsZero()
 {
     $root = $this->das->createRootDataObject();
     $company = $root->createDataObject('company');
     $company->name = 0;
     $name_value_pairs = SDO_DAS_Relational_DataObjectHelper::getCurrentPrimitiveSettings($company, $this->object_model);
     $this->assertTrue($name_value_pairs['name'] === '0', "Value list contained ->" . $name_value_pairs['name'] . "<- and not blank ('')");
 }
 public function execute($dbh)
 {
     $pk_from = SDO_DAS_Relational_DataObjectHelper::getPrimaryKeyFromDataObject($this->object_model, $this->from_who);
     $pk_to = SDO_DAS_Relational_DataObjectHelper::getPrimaryKeyFromDataObject($this->object_model, $this->who_to);
     $type_name = SDO_DAS_Relational_DataObjectHelper::getApplicationType($this->from_who);
     $name_of_the_pk_column = $this->object_model->getPropertyRepresentingPrimaryKeyFromType($type_name);
     $stmt = "UPDATE {$type_name} SET {$this->property_name} = ? WHERE {$name_of_the_pk_column} = ?";
     $value_list = array($pk_to, $pk_from);
     SDO_DAS_Relational_DatabaseHelper::executeStatementTestForCollision($dbh, $stmt, $value_list);
 }
示例#3
0
 public function toString()
 {
     $str = '[DeleteAction: ';
     $str .= SDO_DAS_Relational_DataObjectHelper::getApplicationType($this->do) . ':';
     $str .= SDO_DAS_Relational_DataObjectHelper::listNameValuePairs($this->do, $this->object_model);
     $str .= ']';
     return $str;
 }
示例#4
0
文件: Relational.php 项目: psagi/sdo
 private static function displayChangeSummary($cs)
 {
     $changed_data_objects = $cs->getChangedDataObjects();
     echo "Change Summary contains " . count($changed_data_objects) . " objects:\n";
     foreach ($changed_data_objects as $cdo) {
         echo '  Object of type ' . SDO_DAS_Relational_DataObjectHelper::getApplicationType($cdo) . "\n";
         $change_type = $cs->getChangeType($cdo);
         switch ($change_type) {
             case SDO_DAS_ChangeSummary::ADDITION:
                 echo "    change type = addition\n";
                 break;
             case SDO_DAS_ChangeSummary::MODIFICATION:
                 echo "    the type of the change was Update\n";
                 self::displaySettingsList($cs, $cdo);
                 break;
             case SDO_DAS_ChangeSummary::DELETION:
                 echo "    change type = delete\n";
                 self::displaySettingsList($cs, $cdo);
                 break;
             default:
                 // TODO assume delete for the moment            assert (false);
                 echo "    change type = something unrecognised\n";
                 break;
         }
     }
     echo "End of Change Summary\n";
 }