Refactoring Bpmn/Workflow handling layer (3rd commit)

This commit is contained in:
Erik Amaru Ortiz
2014-02-03 19:37:50 -04:00
parent d2e991317f
commit 77a23e7714
18 changed files with 976 additions and 86 deletions

View File

@@ -91,12 +91,6 @@ class BpmnActivity extends BaseBpmnActivity
public static function getAll($prjUid = null, $start = null, $limit = null, $filter = '', $returnType = null, $changeCaseTo=CASE_UPPER)
{
if (is_array($prjUid)) {
// $start, is a array config
extract($prjUid, EXTR_OVERWRITE);
}
$activities = array();
$c = new Criteria('workflow');
$c->addSelectColumn("BPMN_ACTIVITY.*");
$c->addSelectColumn("BPMN_BOUND.*");
@@ -107,6 +101,8 @@ class BpmnActivity extends BaseBpmnActivity
}
$returnType = ($returnType != 'array' && $returnType != 'object') ? 'array' : $returnType;
$activities = array();
switch ($returnType) {
case 'object':
@@ -122,13 +118,13 @@ class BpmnActivity extends BaseBpmnActivity
break;
}
return $activities;
}
public function fromArray($data)
public function fromArray($data, $type = BasePeer::TYPE_FIELDNAME)
{
parent::fromArray($data, BasePeer::TYPE_FIELDNAME);
parent::fromArray($data, $type);
$bound = BpmnBound::findByElement('Activity', $this->getActUid());
@@ -142,12 +138,18 @@ class BpmnActivity extends BaseBpmnActivity
$this->bound->fromArray($data, BasePeer::TYPE_FIELDNAME);
}
public function toArray($keyType = BasePeer::TYPE_PHPNAME)
public function toArray($type = BasePeer::TYPE_FIELDNAME)
{
$data = parent::toArray($keyType);
$data = parent::toArray($type);
$bouUid = $this->bound->getBouUid();
if (is_object($this->bound) && get_class($this->bound) == 'BpmnBound') {
$data = array_merge($data, $this->bound->toArray($keyType));
if (empty($bouUid)) {
$bound = BpmnBound::findByElement('Activity', $this->getActUid());
if (is_object($bound)) {
$this->bound = $bound;
$data = array_merge($data, $this->bound->toArray($type));
}
}
return $data;

View File

@@ -14,6 +14,20 @@ require_once 'classes/model/om/BaseBpmnDiagram.php';
*
* @package classes.model
*/
class BpmnDiagram extends BaseBpmnDiagram {
class BpmnDiagram extends BaseBpmnDiagram
{
public static function findAllByProUid($prjUid)
{
$c = new Criteria("workflow");
$c->add(BpmnDiagramPeer::PRJ_UID, $prjUid);
return BpmnDiagramPeer::doSelect($c);
}
// Overrides
public function toArray($type = BasePeer::TYPE_FIELDNAME)
{
return parent::toArray($type);
}
} // BpmnDiagram

View File

@@ -14,6 +14,21 @@ require_once 'classes/model/om/BaseBpmnProcess.php';
*
* @package classes.model
*/
class BpmnProcess extends BaseBpmnProcess {
class BpmnProcess extends BaseBpmnProcess
{
public static function findAllByProUid($prjUid)
{
$c = new Criteria("workflow");
$c->add(BpmnProcessPeer::PRJ_UID, $prjUid);
return BpmnProcessPeer::doSelect($c);
}
// Overrides
public function toArray($type = BasePeer::TYPE_FIELDNAME)
{
return parent::toArray($type);
}
} // BpmnProcess

View File

@@ -14,6 +14,14 @@ require_once 'classes/model/om/BaseBpmnProject.php';
*
* @package classes.model
*/
class BpmnProject extends BaseBpmnProject {
class BpmnProject extends BaseBpmnProject
{
// Overrides
public function toArray($type = BasePeer::TYPE_FIELDNAME)
{
return parent::toArray($type);
}
} // BpmnProject

View File

@@ -69,6 +69,8 @@ class BpmnProjectMapBuilder
$tMap->addColumn('PRJ_NAME', 'PrjName', 'string', CreoleTypes::VARCHAR, true, 255);
$tMap->addColumn('PRJ_DESCRIPTION', 'PrjDescription', 'string', CreoleTypes::VARCHAR, false, 512);
$tMap->addColumn('PRJ_TARGET_NAMESPACE', 'PrjTargetNamespace', 'string', CreoleTypes::LONGVARCHAR, true, null);
$tMap->addColumn('PRJ_EXPRESION_LANGUAGE', 'PrjExpresionLanguage', 'string', CreoleTypes::LONGVARCHAR, false, null);

View File

@@ -39,6 +39,12 @@ abstract class BaseBpmnProject extends BaseObject implements Persistent
*/
protected $prj_name = '';
/**
* The value for the prj_description field.
* @var string
*/
protected $prj_description;
/**
* The value for the prj_target_namespace field.
* @var string
@@ -303,6 +309,17 @@ abstract class BaseBpmnProject extends BaseObject implements Persistent
return $this->prj_name;
}
/**
* Get the [prj_description] column value.
*
* @return string
*/
public function getPrjDescription()
{
return $this->prj_description;
}
/**
* Get the [prj_target_namespace] column value.
*
@@ -499,6 +516,28 @@ abstract class BaseBpmnProject extends BaseObject implements Persistent
} // setPrjName()
/**
* Set the value of [prj_description] column.
*
* @param string $v new value
* @return void
*/
public function setPrjDescription($v)
{
// Since the native PHP type for this column is string,
// we will cast the input to a string (if it is not).
if ($v !== null && !is_string($v)) {
$v = (string) $v;
}
if ($this->prj_description !== $v) {
$this->prj_description = $v;
$this->modifiedColumns[] = BpmnProjectPeer::PRJ_DESCRIPTION;
}
} // setPrjDescription()
/**
* Set the value of [prj_target_namespace] column.
*
@@ -746,32 +785,34 @@ abstract class BaseBpmnProject extends BaseObject implements Persistent
$this->prj_name = $rs->getString($startcol + 1);
$this->prj_target_namespace = $rs->getString($startcol + 2);
$this->prj_description = $rs->getString($startcol + 2);
$this->prj_expresion_language = $rs->getString($startcol + 3);
$this->prj_target_namespace = $rs->getString($startcol + 3);
$this->prj_type_language = $rs->getString($startcol + 4);
$this->prj_expresion_language = $rs->getString($startcol + 4);
$this->prj_exporter = $rs->getString($startcol + 5);
$this->prj_type_language = $rs->getString($startcol + 5);
$this->prj_exporter_version = $rs->getString($startcol + 6);
$this->prj_exporter = $rs->getString($startcol + 6);
$this->prj_create_date = $rs->getTimestamp($startcol + 7, null);
$this->prj_exporter_version = $rs->getString($startcol + 7);
$this->prj_update_date = $rs->getTimestamp($startcol + 8, null);
$this->prj_create_date = $rs->getTimestamp($startcol + 8, null);
$this->prj_author = $rs->getString($startcol + 9);
$this->prj_update_date = $rs->getTimestamp($startcol + 9, null);
$this->prj_author_version = $rs->getString($startcol + 10);
$this->prj_author = $rs->getString($startcol + 10);
$this->prj_original_source = $rs->getString($startcol + 11);
$this->prj_author_version = $rs->getString($startcol + 11);
$this->prj_original_source = $rs->getString($startcol + 12);
$this->resetModified();
$this->setNew(false);
// FIXME - using NUM_COLUMNS may be clearer.
return $startcol + 12; // 12 = BpmnProjectPeer::NUM_COLUMNS - BpmnProjectPeer::NUM_LAZY_LOAD_COLUMNS).
return $startcol + 13; // 13 = BpmnProjectPeer::NUM_COLUMNS - BpmnProjectPeer::NUM_LAZY_LOAD_COLUMNS).
} catch (Exception $e) {
throw new PropelException("Error populating BpmnProject object", $e);
@@ -1206,33 +1247,36 @@ abstract class BaseBpmnProject extends BaseObject implements Persistent
return $this->getPrjName();
break;
case 2:
return $this->getPrjTargetNamespace();
return $this->getPrjDescription();
break;
case 3:
return $this->getPrjExpresionLanguage();
return $this->getPrjTargetNamespace();
break;
case 4:
return $this->getPrjTypeLanguage();
return $this->getPrjExpresionLanguage();
break;
case 5:
return $this->getPrjExporter();
return $this->getPrjTypeLanguage();
break;
case 6:
return $this->getPrjExporterVersion();
return $this->getPrjExporter();
break;
case 7:
return $this->getPrjCreateDate();
return $this->getPrjExporterVersion();
break;
case 8:
return $this->getPrjUpdateDate();
return $this->getPrjCreateDate();
break;
case 9:
return $this->getPrjAuthor();
return $this->getPrjUpdateDate();
break;
case 10:
return $this->getPrjAuthorVersion();
return $this->getPrjAuthor();
break;
case 11:
return $this->getPrjAuthorVersion();
break;
case 12:
return $this->getPrjOriginalSource();
break;
default:
@@ -1257,16 +1301,17 @@ abstract class BaseBpmnProject extends BaseObject implements Persistent
$result = array(
$keys[0] => $this->getPrjUid(),
$keys[1] => $this->getPrjName(),
$keys[2] => $this->getPrjTargetNamespace(),
$keys[3] => $this->getPrjExpresionLanguage(),
$keys[4] => $this->getPrjTypeLanguage(),
$keys[5] => $this->getPrjExporter(),
$keys[6] => $this->getPrjExporterVersion(),
$keys[7] => $this->getPrjCreateDate(),
$keys[8] => $this->getPrjUpdateDate(),
$keys[9] => $this->getPrjAuthor(),
$keys[10] => $this->getPrjAuthorVersion(),
$keys[11] => $this->getPrjOriginalSource(),
$keys[2] => $this->getPrjDescription(),
$keys[3] => $this->getPrjTargetNamespace(),
$keys[4] => $this->getPrjExpresionLanguage(),
$keys[5] => $this->getPrjTypeLanguage(),
$keys[6] => $this->getPrjExporter(),
$keys[7] => $this->getPrjExporterVersion(),
$keys[8] => $this->getPrjCreateDate(),
$keys[9] => $this->getPrjUpdateDate(),
$keys[10] => $this->getPrjAuthor(),
$keys[11] => $this->getPrjAuthorVersion(),
$keys[12] => $this->getPrjOriginalSource(),
);
return $result;
}
@@ -1305,33 +1350,36 @@ abstract class BaseBpmnProject extends BaseObject implements Persistent
$this->setPrjName($value);
break;
case 2:
$this->setPrjTargetNamespace($value);
$this->setPrjDescription($value);
break;
case 3:
$this->setPrjExpresionLanguage($value);
$this->setPrjTargetNamespace($value);
break;
case 4:
$this->setPrjTypeLanguage($value);
$this->setPrjExpresionLanguage($value);
break;
case 5:
$this->setPrjExporter($value);
$this->setPrjTypeLanguage($value);
break;
case 6:
$this->setPrjExporterVersion($value);
$this->setPrjExporter($value);
break;
case 7:
$this->setPrjCreateDate($value);
$this->setPrjExporterVersion($value);
break;
case 8:
$this->setPrjUpdateDate($value);
$this->setPrjCreateDate($value);
break;
case 9:
$this->setPrjAuthor($value);
$this->setPrjUpdateDate($value);
break;
case 10:
$this->setPrjAuthorVersion($value);
$this->setPrjAuthor($value);
break;
case 11:
$this->setPrjAuthorVersion($value);
break;
case 12:
$this->setPrjOriginalSource($value);
break;
} // switch()
@@ -1366,43 +1414,47 @@ abstract class BaseBpmnProject extends BaseObject implements Persistent
}
if (array_key_exists($keys[2], $arr)) {
$this->setPrjTargetNamespace($arr[$keys[2]]);
$this->setPrjDescription($arr[$keys[2]]);
}
if (array_key_exists($keys[3], $arr)) {
$this->setPrjExpresionLanguage($arr[$keys[3]]);
$this->setPrjTargetNamespace($arr[$keys[3]]);
}
if (array_key_exists($keys[4], $arr)) {
$this->setPrjTypeLanguage($arr[$keys[4]]);
$this->setPrjExpresionLanguage($arr[$keys[4]]);
}
if (array_key_exists($keys[5], $arr)) {
$this->setPrjExporter($arr[$keys[5]]);
$this->setPrjTypeLanguage($arr[$keys[5]]);
}
if (array_key_exists($keys[6], $arr)) {
$this->setPrjExporterVersion($arr[$keys[6]]);
$this->setPrjExporter($arr[$keys[6]]);
}
if (array_key_exists($keys[7], $arr)) {
$this->setPrjCreateDate($arr[$keys[7]]);
$this->setPrjExporterVersion($arr[$keys[7]]);
}
if (array_key_exists($keys[8], $arr)) {
$this->setPrjUpdateDate($arr[$keys[8]]);
$this->setPrjCreateDate($arr[$keys[8]]);
}
if (array_key_exists($keys[9], $arr)) {
$this->setPrjAuthor($arr[$keys[9]]);
$this->setPrjUpdateDate($arr[$keys[9]]);
}
if (array_key_exists($keys[10], $arr)) {
$this->setPrjAuthorVersion($arr[$keys[10]]);
$this->setPrjAuthor($arr[$keys[10]]);
}
if (array_key_exists($keys[11], $arr)) {
$this->setPrjOriginalSource($arr[$keys[11]]);
$this->setPrjAuthorVersion($arr[$keys[11]]);
}
if (array_key_exists($keys[12], $arr)) {
$this->setPrjOriginalSource($arr[$keys[12]]);
}
}
@@ -1424,6 +1476,10 @@ abstract class BaseBpmnProject extends BaseObject implements Persistent
$criteria->add(BpmnProjectPeer::PRJ_NAME, $this->prj_name);
}
if ($this->isColumnModified(BpmnProjectPeer::PRJ_DESCRIPTION)) {
$criteria->add(BpmnProjectPeer::PRJ_DESCRIPTION, $this->prj_description);
}
if ($this->isColumnModified(BpmnProjectPeer::PRJ_TARGET_NAMESPACE)) {
$criteria->add(BpmnProjectPeer::PRJ_TARGET_NAMESPACE, $this->prj_target_namespace);
}
@@ -1520,6 +1576,8 @@ abstract class BaseBpmnProject extends BaseObject implements Persistent
$copyObj->setPrjName($this->prj_name);
$copyObj->setPrjDescription($this->prj_description);
$copyObj->setPrjTargetNamespace($this->prj_target_namespace);
$copyObj->setPrjExpresionLanguage($this->prj_expresion_language);

View File

@@ -25,7 +25,7 @@ abstract class BaseBpmnProjectPeer
const CLASS_DEFAULT = 'classes.model.BpmnProject';
/** The total number of columns. */
const NUM_COLUMNS = 12;
const NUM_COLUMNS = 13;
/** The number of lazy-loaded columns. */
const NUM_LAZY_LOAD_COLUMNS = 0;
@@ -37,6 +37,9 @@ abstract class BaseBpmnProjectPeer
/** the column name for the PRJ_NAME field */
const PRJ_NAME = 'BPMN_PROJECT.PRJ_NAME';
/** the column name for the PRJ_DESCRIPTION field */
const PRJ_DESCRIPTION = 'BPMN_PROJECT.PRJ_DESCRIPTION';
/** the column name for the PRJ_TARGET_NAMESPACE field */
const PRJ_TARGET_NAMESPACE = 'BPMN_PROJECT.PRJ_TARGET_NAMESPACE';
@@ -78,10 +81,10 @@ abstract class BaseBpmnProjectPeer
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
*/
private static $fieldNames = array (
BasePeer::TYPE_PHPNAME => array ('PrjUid', 'PrjName', 'PrjTargetNamespace', 'PrjExpresionLanguage', 'PrjTypeLanguage', 'PrjExporter', 'PrjExporterVersion', 'PrjCreateDate', 'PrjUpdateDate', 'PrjAuthor', 'PrjAuthorVersion', 'PrjOriginalSource', ),
BasePeer::TYPE_COLNAME => array (BpmnProjectPeer::PRJ_UID, BpmnProjectPeer::PRJ_NAME, BpmnProjectPeer::PRJ_TARGET_NAMESPACE, BpmnProjectPeer::PRJ_EXPRESION_LANGUAGE, BpmnProjectPeer::PRJ_TYPE_LANGUAGE, BpmnProjectPeer::PRJ_EXPORTER, BpmnProjectPeer::PRJ_EXPORTER_VERSION, BpmnProjectPeer::PRJ_CREATE_DATE, BpmnProjectPeer::PRJ_UPDATE_DATE, BpmnProjectPeer::PRJ_AUTHOR, BpmnProjectPeer::PRJ_AUTHOR_VERSION, BpmnProjectPeer::PRJ_ORIGINAL_SOURCE, ),
BasePeer::TYPE_FIELDNAME => array ('PRJ_UID', 'PRJ_NAME', 'PRJ_TARGET_NAMESPACE', 'PRJ_EXPRESION_LANGUAGE', 'PRJ_TYPE_LANGUAGE', 'PRJ_EXPORTER', 'PRJ_EXPORTER_VERSION', 'PRJ_CREATE_DATE', 'PRJ_UPDATE_DATE', 'PRJ_AUTHOR', 'PRJ_AUTHOR_VERSION', 'PRJ_ORIGINAL_SOURCE', ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, )
BasePeer::TYPE_PHPNAME => array ('PrjUid', 'PrjName', 'PrjDescription', 'PrjTargetNamespace', 'PrjExpresionLanguage', 'PrjTypeLanguage', 'PrjExporter', 'PrjExporterVersion', 'PrjCreateDate', 'PrjUpdateDate', 'PrjAuthor', 'PrjAuthorVersion', 'PrjOriginalSource', ),
BasePeer::TYPE_COLNAME => array (BpmnProjectPeer::PRJ_UID, BpmnProjectPeer::PRJ_NAME, BpmnProjectPeer::PRJ_DESCRIPTION, BpmnProjectPeer::PRJ_TARGET_NAMESPACE, BpmnProjectPeer::PRJ_EXPRESION_LANGUAGE, BpmnProjectPeer::PRJ_TYPE_LANGUAGE, BpmnProjectPeer::PRJ_EXPORTER, BpmnProjectPeer::PRJ_EXPORTER_VERSION, BpmnProjectPeer::PRJ_CREATE_DATE, BpmnProjectPeer::PRJ_UPDATE_DATE, BpmnProjectPeer::PRJ_AUTHOR, BpmnProjectPeer::PRJ_AUTHOR_VERSION, BpmnProjectPeer::PRJ_ORIGINAL_SOURCE, ),
BasePeer::TYPE_FIELDNAME => array ('PRJ_UID', 'PRJ_NAME', 'PRJ_DESCRIPTION', 'PRJ_TARGET_NAMESPACE', 'PRJ_EXPRESION_LANGUAGE', 'PRJ_TYPE_LANGUAGE', 'PRJ_EXPORTER', 'PRJ_EXPORTER_VERSION', 'PRJ_CREATE_DATE', 'PRJ_UPDATE_DATE', 'PRJ_AUTHOR', 'PRJ_AUTHOR_VERSION', 'PRJ_ORIGINAL_SOURCE', ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, )
);
/**
@@ -91,10 +94,10 @@ abstract class BaseBpmnProjectPeer
* e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0
*/
private static $fieldKeys = array (
BasePeer::TYPE_PHPNAME => array ('PrjUid' => 0, 'PrjName' => 1, 'PrjTargetNamespace' => 2, 'PrjExpresionLanguage' => 3, 'PrjTypeLanguage' => 4, 'PrjExporter' => 5, 'PrjExporterVersion' => 6, 'PrjCreateDate' => 7, 'PrjUpdateDate' => 8, 'PrjAuthor' => 9, 'PrjAuthorVersion' => 10, 'PrjOriginalSource' => 11, ),
BasePeer::TYPE_COLNAME => array (BpmnProjectPeer::PRJ_UID => 0, BpmnProjectPeer::PRJ_NAME => 1, BpmnProjectPeer::PRJ_TARGET_NAMESPACE => 2, BpmnProjectPeer::PRJ_EXPRESION_LANGUAGE => 3, BpmnProjectPeer::PRJ_TYPE_LANGUAGE => 4, BpmnProjectPeer::PRJ_EXPORTER => 5, BpmnProjectPeer::PRJ_EXPORTER_VERSION => 6, BpmnProjectPeer::PRJ_CREATE_DATE => 7, BpmnProjectPeer::PRJ_UPDATE_DATE => 8, BpmnProjectPeer::PRJ_AUTHOR => 9, BpmnProjectPeer::PRJ_AUTHOR_VERSION => 10, BpmnProjectPeer::PRJ_ORIGINAL_SOURCE => 11, ),
BasePeer::TYPE_FIELDNAME => array ('PRJ_UID' => 0, 'PRJ_NAME' => 1, 'PRJ_TARGET_NAMESPACE' => 2, 'PRJ_EXPRESION_LANGUAGE' => 3, 'PRJ_TYPE_LANGUAGE' => 4, 'PRJ_EXPORTER' => 5, 'PRJ_EXPORTER_VERSION' => 6, 'PRJ_CREATE_DATE' => 7, 'PRJ_UPDATE_DATE' => 8, 'PRJ_AUTHOR' => 9, 'PRJ_AUTHOR_VERSION' => 10, 'PRJ_ORIGINAL_SOURCE' => 11, ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, )
BasePeer::TYPE_PHPNAME => array ('PrjUid' => 0, 'PrjName' => 1, 'PrjDescription' => 2, 'PrjTargetNamespace' => 3, 'PrjExpresionLanguage' => 4, 'PrjTypeLanguage' => 5, 'PrjExporter' => 6, 'PrjExporterVersion' => 7, 'PrjCreateDate' => 8, 'PrjUpdateDate' => 9, 'PrjAuthor' => 10, 'PrjAuthorVersion' => 11, 'PrjOriginalSource' => 12, ),
BasePeer::TYPE_COLNAME => array (BpmnProjectPeer::PRJ_UID => 0, BpmnProjectPeer::PRJ_NAME => 1, BpmnProjectPeer::PRJ_DESCRIPTION => 2, BpmnProjectPeer::PRJ_TARGET_NAMESPACE => 3, BpmnProjectPeer::PRJ_EXPRESION_LANGUAGE => 4, BpmnProjectPeer::PRJ_TYPE_LANGUAGE => 5, BpmnProjectPeer::PRJ_EXPORTER => 6, BpmnProjectPeer::PRJ_EXPORTER_VERSION => 7, BpmnProjectPeer::PRJ_CREATE_DATE => 8, BpmnProjectPeer::PRJ_UPDATE_DATE => 9, BpmnProjectPeer::PRJ_AUTHOR => 10, BpmnProjectPeer::PRJ_AUTHOR_VERSION => 11, BpmnProjectPeer::PRJ_ORIGINAL_SOURCE => 12, ),
BasePeer::TYPE_FIELDNAME => array ('PRJ_UID' => 0, 'PRJ_NAME' => 1, 'PRJ_DESCRIPTION' => 2, 'PRJ_TARGET_NAMESPACE' => 3, 'PRJ_EXPRESION_LANGUAGE' => 4, 'PRJ_TYPE_LANGUAGE' => 5, 'PRJ_EXPORTER' => 6, 'PRJ_EXPORTER_VERSION' => 7, 'PRJ_CREATE_DATE' => 8, 'PRJ_UPDATE_DATE' => 9, 'PRJ_AUTHOR' => 10, 'PRJ_AUTHOR_VERSION' => 11, 'PRJ_ORIGINAL_SOURCE' => 12, ),
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, )
);
/**
@@ -199,6 +202,8 @@ abstract class BaseBpmnProjectPeer
$criteria->addSelectColumn(BpmnProjectPeer::PRJ_NAME);
$criteria->addSelectColumn(BpmnProjectPeer::PRJ_DESCRIPTION);
$criteria->addSelectColumn(BpmnProjectPeer::PRJ_TARGET_NAMESPACE);
$criteria->addSelectColumn(BpmnProjectPeer::PRJ_EXPRESION_LANGUAGE);