/** * Create the step supervisor registry * * @param array $aData * @return boolean * */ public function create ($aData) { $oConnection = Propel::getConnection( StepSupervisorPeer::DATABASE_NAME ); try { if (isset( $aData['STEP_UID'] ) && $aData['STEP_UID'] == '') { unset( $aData['STEP_UID'] ); } if (! isset( $aData['STEP_UID'] )) { $aData['STEP_UID'] = G::generateUniqueID(); } $oStepSupervisor = new StepSupervisor(); $oStepSupervisor->fromArray( $aData, BasePeer::TYPE_FIELDNAME ); if ($oStepSupervisor->validate()) { $oConnection->begin(); $iResult = $oStepSupervisor->save(); $oConnection->commit(); return true; } else { $sMessage = ''; $aValidationFailures = $oStepSupervisor->getValidationFailures(); foreach ($aValidationFailures as $oValidationFailure) { $sMessage .= $oValidationFailure->getMessage() . '<br />'; } throw (new Exception( 'The registry cannot be created!<br />' . $sMessage )); } } catch (Exception $oError) { $oConnection->rollback(); throw ($oError); } }