PM-4270
This commit is contained in:
@@ -101,6 +101,8 @@ class RouteMapBuilder
|
||||
|
||||
$tMap->addColumn('GAT_UID', 'GatUid', 'string', CreoleTypes::VARCHAR, true, 32);
|
||||
|
||||
$tMap->addColumn('ROU_ELEMENT_ORIGIN', 'RouElementOrigin', 'string', CreoleTypes::VARCHAR, false, 32);
|
||||
|
||||
$tMap->addValidator('ROU_UID', 'maxLength', 'propel.validator.MaxLengthValidator', '32', 'Route UID can be no larger than 32 in size');
|
||||
|
||||
$tMap->addValidator('ROU_UID', 'required', 'propel.validator.RequiredValidator', '', 'Route UID is required.');
|
||||
|
||||
@@ -135,6 +135,12 @@ abstract class BaseRoute extends BaseObject implements Persistent
|
||||
*/
|
||||
protected $gat_uid = '';
|
||||
|
||||
/**
|
||||
* The value for the rou_element_origin field.
|
||||
* @var string
|
||||
*/
|
||||
protected $rou_element_origin = '';
|
||||
|
||||
/**
|
||||
* Flag to prevent endless save loop, if this object is referenced
|
||||
* by another object which falls in this transaction.
|
||||
@@ -347,6 +353,17 @@ abstract class BaseRoute extends BaseObject implements Persistent
|
||||
return $this->gat_uid;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the [rou_element_origin] column value.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function getRouElementOrigin()
|
||||
{
|
||||
|
||||
return $this->rou_element_origin;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value of [rou_uid] column.
|
||||
*
|
||||
@@ -743,6 +760,28 @@ abstract class BaseRoute extends BaseObject implements Persistent
|
||||
|
||||
} // setGatUid()
|
||||
|
||||
/**
|
||||
* Set the value of [rou_element_origin] column.
|
||||
*
|
||||
* @param string $v new value
|
||||
* @return void
|
||||
*/
|
||||
public function setRouElementOrigin($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->rou_element_origin !== $v || $v === '') {
|
||||
$this->rou_element_origin = $v;
|
||||
$this->modifiedColumns[] = RoutePeer::ROU_ELEMENT_ORIGIN;
|
||||
}
|
||||
|
||||
} // setRouElementOrigin()
|
||||
|
||||
/**
|
||||
* Hydrates (populates) the object variables with values from the database resultset.
|
||||
*
|
||||
@@ -796,12 +835,14 @@ abstract class BaseRoute extends BaseObject implements Persistent
|
||||
|
||||
$this->gat_uid = $rs->getString($startcol + 17);
|
||||
|
||||
$this->rou_element_origin = $rs->getString($startcol + 18);
|
||||
|
||||
$this->resetModified();
|
||||
|
||||
$this->setNew(false);
|
||||
|
||||
// FIXME - using NUM_COLUMNS may be clearer.
|
||||
return $startcol + 18; // 18 = RoutePeer::NUM_COLUMNS - RoutePeer::NUM_LAZY_LOAD_COLUMNS).
|
||||
return $startcol + 19; // 19 = RoutePeer::NUM_COLUMNS - RoutePeer::NUM_LAZY_LOAD_COLUMNS).
|
||||
|
||||
} catch (Exception $e) {
|
||||
throw new PropelException("Error populating Route object", $e);
|
||||
@@ -1059,6 +1100,9 @@ abstract class BaseRoute extends BaseObject implements Persistent
|
||||
case 17:
|
||||
return $this->getGatUid();
|
||||
break;
|
||||
case 18:
|
||||
return $this->getRouElementOrigin();
|
||||
break;
|
||||
default:
|
||||
return null;
|
||||
break;
|
||||
@@ -1097,6 +1141,7 @@ abstract class BaseRoute extends BaseObject implements Persistent
|
||||
$keys[15] => $this->getRouFromPort(),
|
||||
$keys[16] => $this->getRouEvnUid(),
|
||||
$keys[17] => $this->getGatUid(),
|
||||
$keys[18] => $this->getRouElementOrigin(),
|
||||
);
|
||||
return $result;
|
||||
}
|
||||
@@ -1182,6 +1227,9 @@ abstract class BaseRoute extends BaseObject implements Persistent
|
||||
case 17:
|
||||
$this->setGatUid($value);
|
||||
break;
|
||||
case 18:
|
||||
$this->setRouElementOrigin($value);
|
||||
break;
|
||||
} // switch()
|
||||
}
|
||||
|
||||
@@ -1277,6 +1325,10 @@ abstract class BaseRoute extends BaseObject implements Persistent
|
||||
$this->setGatUid($arr[$keys[17]]);
|
||||
}
|
||||
|
||||
if (array_key_exists($keys[18], $arr)) {
|
||||
$this->setRouElementOrigin($arr[$keys[18]]);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1360,6 +1412,10 @@ abstract class BaseRoute extends BaseObject implements Persistent
|
||||
$criteria->add(RoutePeer::GAT_UID, $this->gat_uid);
|
||||
}
|
||||
|
||||
if ($this->isColumnModified(RoutePeer::ROU_ELEMENT_ORIGIN)) {
|
||||
$criteria->add(RoutePeer::ROU_ELEMENT_ORIGIN, $this->rou_element_origin);
|
||||
}
|
||||
|
||||
|
||||
return $criteria;
|
||||
}
|
||||
@@ -1448,6 +1504,8 @@ abstract class BaseRoute extends BaseObject implements Persistent
|
||||
|
||||
$copyObj->setGatUid($this->gat_uid);
|
||||
|
||||
$copyObj->setRouElementOrigin($this->rou_element_origin);
|
||||
|
||||
|
||||
$copyObj->setNew(true);
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ abstract class BaseRoutePeer
|
||||
const CLASS_DEFAULT = 'classes.model.Route';
|
||||
|
||||
/** The total number of columns. */
|
||||
const NUM_COLUMNS = 18;
|
||||
const NUM_COLUMNS = 19;
|
||||
|
||||
/** The number of lazy-loaded columns. */
|
||||
const NUM_LAZY_LOAD_COLUMNS = 0;
|
||||
@@ -85,6 +85,9 @@ abstract class BaseRoutePeer
|
||||
/** the column name for the GAT_UID field */
|
||||
const GAT_UID = 'ROUTE.GAT_UID';
|
||||
|
||||
/** the column name for the ROU_ELEMENT_ORIGIN field */
|
||||
const ROU_ELEMENT_ORIGIN = 'ROUTE.ROU_ELEMENT_ORIGIN';
|
||||
|
||||
/** The PHP to DB Name Mapping */
|
||||
private static $phpNameMap = null;
|
||||
|
||||
@@ -96,10 +99,10 @@ abstract class BaseRoutePeer
|
||||
* e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id'
|
||||
*/
|
||||
private static $fieldNames = array (
|
||||
BasePeer::TYPE_PHPNAME => array ('RouUid', 'RouParent', 'ProUid', 'TasUid', 'RouNextTask', 'RouCase', 'RouType', 'RouDefault', 'RouCondition', 'RouToLastUser', 'RouOptional', 'RouSendEmail', 'RouSourceanchor', 'RouTargetanchor', 'RouToPort', 'RouFromPort', 'RouEvnUid', 'GatUid', ),
|
||||
BasePeer::TYPE_COLNAME => array (RoutePeer::ROU_UID, RoutePeer::ROU_PARENT, RoutePeer::PRO_UID, RoutePeer::TAS_UID, RoutePeer::ROU_NEXT_TASK, RoutePeer::ROU_CASE, RoutePeer::ROU_TYPE, RoutePeer::ROU_DEFAULT, RoutePeer::ROU_CONDITION, RoutePeer::ROU_TO_LAST_USER, RoutePeer::ROU_OPTIONAL, RoutePeer::ROU_SEND_EMAIL, RoutePeer::ROU_SOURCEANCHOR, RoutePeer::ROU_TARGETANCHOR, RoutePeer::ROU_TO_PORT, RoutePeer::ROU_FROM_PORT, RoutePeer::ROU_EVN_UID, RoutePeer::GAT_UID, ),
|
||||
BasePeer::TYPE_FIELDNAME => array ('ROU_UID', 'ROU_PARENT', 'PRO_UID', 'TAS_UID', 'ROU_NEXT_TASK', 'ROU_CASE', 'ROU_TYPE', 'ROU_DEFAULT', 'ROU_CONDITION', 'ROU_TO_LAST_USER', 'ROU_OPTIONAL', 'ROU_SEND_EMAIL', 'ROU_SOURCEANCHOR', 'ROU_TARGETANCHOR', 'ROU_TO_PORT', 'ROU_FROM_PORT', 'ROU_EVN_UID', 'GAT_UID', ),
|
||||
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, )
|
||||
BasePeer::TYPE_PHPNAME => array ('RouUid', 'RouParent', 'ProUid', 'TasUid', 'RouNextTask', 'RouCase', 'RouType', 'RouDefault', 'RouCondition', 'RouToLastUser', 'RouOptional', 'RouSendEmail', 'RouSourceanchor', 'RouTargetanchor', 'RouToPort', 'RouFromPort', 'RouEvnUid', 'GatUid', 'RouElementOrigin', ),
|
||||
BasePeer::TYPE_COLNAME => array (RoutePeer::ROU_UID, RoutePeer::ROU_PARENT, RoutePeer::PRO_UID, RoutePeer::TAS_UID, RoutePeer::ROU_NEXT_TASK, RoutePeer::ROU_CASE, RoutePeer::ROU_TYPE, RoutePeer::ROU_DEFAULT, RoutePeer::ROU_CONDITION, RoutePeer::ROU_TO_LAST_USER, RoutePeer::ROU_OPTIONAL, RoutePeer::ROU_SEND_EMAIL, RoutePeer::ROU_SOURCEANCHOR, RoutePeer::ROU_TARGETANCHOR, RoutePeer::ROU_TO_PORT, RoutePeer::ROU_FROM_PORT, RoutePeer::ROU_EVN_UID, RoutePeer::GAT_UID, RoutePeer::ROU_ELEMENT_ORIGIN, ),
|
||||
BasePeer::TYPE_FIELDNAME => array ('ROU_UID', 'ROU_PARENT', 'PRO_UID', 'TAS_UID', 'ROU_NEXT_TASK', 'ROU_CASE', 'ROU_TYPE', 'ROU_DEFAULT', 'ROU_CONDITION', 'ROU_TO_LAST_USER', 'ROU_OPTIONAL', 'ROU_SEND_EMAIL', 'ROU_SOURCEANCHOR', 'ROU_TARGETANCHOR', 'ROU_TO_PORT', 'ROU_FROM_PORT', 'ROU_EVN_UID', 'GAT_UID', 'ROU_ELEMENT_ORIGIN' ),
|
||||
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, )
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -109,10 +112,10 @@ abstract class BaseRoutePeer
|
||||
* e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0
|
||||
*/
|
||||
private static $fieldKeys = array (
|
||||
BasePeer::TYPE_PHPNAME => array ('RouUid' => 0, 'RouParent' => 1, 'ProUid' => 2, 'TasUid' => 3, 'RouNextTask' => 4, 'RouCase' => 5, 'RouType' => 6, 'RouDefault' => 7, 'RouCondition' => 8, 'RouToLastUser' => 9, 'RouOptional' => 10, 'RouSendEmail' => 11, 'RouSourceanchor' => 12, 'RouTargetanchor' => 13, 'RouToPort' => 14, 'RouFromPort' => 15, 'RouEvnUid' => 16, 'GatUid' => 17, ),
|
||||
BasePeer::TYPE_COLNAME => array (RoutePeer::ROU_UID => 0, RoutePeer::ROU_PARENT => 1, RoutePeer::PRO_UID => 2, RoutePeer::TAS_UID => 3, RoutePeer::ROU_NEXT_TASK => 4, RoutePeer::ROU_CASE => 5, RoutePeer::ROU_TYPE => 6, RoutePeer::ROU_DEFAULT => 7, RoutePeer::ROU_CONDITION => 8, RoutePeer::ROU_TO_LAST_USER => 9, RoutePeer::ROU_OPTIONAL => 10, RoutePeer::ROU_SEND_EMAIL => 11, RoutePeer::ROU_SOURCEANCHOR => 12, RoutePeer::ROU_TARGETANCHOR => 13, RoutePeer::ROU_TO_PORT => 14, RoutePeer::ROU_FROM_PORT => 15, RoutePeer::ROU_EVN_UID => 16, RoutePeer::GAT_UID => 17, ),
|
||||
BasePeer::TYPE_FIELDNAME => array ('ROU_UID' => 0, 'ROU_PARENT' => 1, 'PRO_UID' => 2, 'TAS_UID' => 3, 'ROU_NEXT_TASK' => 4, 'ROU_CASE' => 5, 'ROU_TYPE' => 6, 'ROU_DEFAULT' => 7, 'ROU_CONDITION' => 8, 'ROU_TO_LAST_USER' => 9, 'ROU_OPTIONAL' => 10, 'ROU_SEND_EMAIL' => 11, 'ROU_SOURCEANCHOR' => 12, 'ROU_TARGETANCHOR' => 13, 'ROU_TO_PORT' => 14, 'ROU_FROM_PORT' => 15, 'ROU_EVN_UID' => 16, 'GAT_UID' => 17, ),
|
||||
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, )
|
||||
BasePeer::TYPE_PHPNAME => array ('RouUid' => 0, 'RouParent' => 1, 'ProUid' => 2, 'TasUid' => 3, 'RouNextTask' => 4, 'RouCase' => 5, 'RouType' => 6, 'RouDefault' => 7, 'RouCondition' => 8, 'RouToLastUser' => 9, 'RouOptional' => 10, 'RouSendEmail' => 11, 'RouSourceanchor' => 12, 'RouTargetanchor' => 13, 'RouToPort' => 14, 'RouFromPort' => 15, 'RouEvnUid' => 16, 'GatUid' => 17, 'RouElementOrigin' => 18, ),
|
||||
BasePeer::TYPE_COLNAME => array (RoutePeer::ROU_UID => 0, RoutePeer::ROU_PARENT => 1, RoutePeer::PRO_UID => 2, RoutePeer::TAS_UID => 3, RoutePeer::ROU_NEXT_TASK => 4, RoutePeer::ROU_CASE => 5, RoutePeer::ROU_TYPE => 6, RoutePeer::ROU_DEFAULT => 7, RoutePeer::ROU_CONDITION => 8, RoutePeer::ROU_TO_LAST_USER => 9, RoutePeer::ROU_OPTIONAL => 10, RoutePeer::ROU_SEND_EMAIL => 11, RoutePeer::ROU_SOURCEANCHOR => 12, RoutePeer::ROU_TARGETANCHOR => 13, RoutePeer::ROU_TO_PORT => 14, RoutePeer::ROU_FROM_PORT => 15, RoutePeer::ROU_EVN_UID => 16, RoutePeer::GAT_UID => 17, RoutePeer::ROU_ELEMENT_ORIGIN => 18, ),
|
||||
BasePeer::TYPE_FIELDNAME => array ('ROU_UID' => 0, 'ROU_PARENT' => 1, 'PRO_UID' => 2, 'TAS_UID' => 3, 'ROU_NEXT_TASK' => 4, 'ROU_CASE' => 5, 'ROU_TYPE' => 6, 'ROU_DEFAULT' => 7, 'ROU_CONDITION' => 8, 'ROU_TO_LAST_USER' => 9, 'ROU_OPTIONAL' => 10, 'ROU_SEND_EMAIL' => 11, 'ROU_SOURCEANCHOR' => 12, 'ROU_TARGETANCHOR' => 13, 'ROU_TO_PORT' => 14, 'ROU_FROM_PORT' => 15, 'ROU_EVN_UID' => 16, 'GAT_UID' => 17, 'ROU_ELEMENT_ORIGIN' => 18, ),
|
||||
BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, )
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -249,6 +252,8 @@ abstract class BaseRoutePeer
|
||||
|
||||
$criteria->addSelectColumn(RoutePeer::GAT_UID);
|
||||
|
||||
$criteria->addSelectColumn(RoutePeer::ROU_ELEMENT_ORIGIN);
|
||||
|
||||
}
|
||||
|
||||
const COUNT = 'COUNT(ROUTE.ROU_UID)';
|
||||
|
||||
@@ -1048,6 +1048,7 @@
|
||||
<column name="ROU_FROM_PORT" type="INTEGER" required="true" default="2"/>
|
||||
<column name="ROU_EVN_UID" type="VARCHAR" size="32" required="true" default=""/>
|
||||
<column name="GAT_UID" type="VARCHAR" size="32" required="true" default=""/>
|
||||
<column name="ROU_ELEMENT_ORIGIN" type="VARCHAR" size="32" required="false" default=""/>
|
||||
<validator column="ROU_UID">
|
||||
<rule name="maxLength" value="32" message="Route UID can be no larger than ${value} in size"/>
|
||||
<rule name="required" message="Route UID is required."/>
|
||||
|
||||
@@ -512,6 +512,7 @@ CREATE TABLE `ROUTE`
|
||||
`ROU_FROM_PORT` INTEGER default 2 NOT NULL,
|
||||
`ROU_EVN_UID` VARCHAR(32) default '' NOT NULL,
|
||||
`GAT_UID` VARCHAR(32) default '' NOT NULL,
|
||||
`ROU_ELEMENT_ORIGIN` VARCHAR(32) default '' NOT NULL,
|
||||
PRIMARY KEY (`ROU_UID`)
|
||||
)ENGINE=InnoDB DEFAULT CHARSET='utf8' COMMENT='Differents flows for a flow in business process';
|
||||
#-----------------------------------------------------------------------------
|
||||
|
||||
@@ -1024,7 +1024,7 @@ class BpmnWorkflow extends Project\Bpmn
|
||||
break;
|
||||
default:
|
||||
//EMPTY //and others types
|
||||
$result = $this->wp->addRoute($activityUid, -1, $routeType, $routeCondition, $routeDefault);
|
||||
$result = $this->wp->addRoute($activityUid, -1, $routeType, $routeCondition, $routeDefault, $eventUid);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -364,7 +364,7 @@ class Workflow extends Handler
|
||||
* @return string
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function addRoute($fromTasUid, $toTasUid, $type, $condition = "", $default = 0)
|
||||
public function addRoute($fromTasUid, $toTasUid, $type, $condition = "", $default = 0, $eventUidOrigin = "")
|
||||
{
|
||||
try {
|
||||
$validTypes = array("SEQUENTIAL", "SELECT", "EVALUATE", "PARALLEL", "PARALLEL-BY-EVALUATION", "SEC-JOIN", "DISCRIMINATOR");
|
||||
@@ -384,13 +384,21 @@ class Workflow extends Handler
|
||||
//$oTasks->deleteAllRoutesOfTask($this->proUid, $fromTasUid);
|
||||
//}
|
||||
|
||||
$route = \Route::findOneBy(array(
|
||||
\RoutePeer::TAS_UID => $fromTasUid,
|
||||
\RoutePeer::ROU_NEXT_TASK => $toTasUid
|
||||
));
|
||||
if($toTasUid == "-1"){
|
||||
$route = \Route::findOneBy(array(
|
||||
\RoutePeer::TAS_UID => $fromTasUid,
|
||||
\RoutePeer::ROU_NEXT_TASK => $toTasUid,
|
||||
\RoutePeer::ROU_ELEMENT_ORIGIN => $eventUidOrigin
|
||||
));
|
||||
} else {
|
||||
$route = \Route::findOneBy(array(
|
||||
\RoutePeer::TAS_UID => $fromTasUid,
|
||||
\RoutePeer::ROU_NEXT_TASK => $toTasUid
|
||||
));
|
||||
}
|
||||
|
||||
if (is_null($route)) {
|
||||
$result = $this->saveNewPattern($this->proUid, $fromTasUid, $toTasUid, $type, $condition, $default);
|
||||
$result = $this->saveNewPattern($this->proUid, $fromTasUid, $toTasUid, $type, $condition, $default, $eventUidOrigin);
|
||||
} else {
|
||||
$result = $this->updateRoute($route->getRouUid(), array(
|
||||
"TAS_UID" => $fromTasUid,
|
||||
@@ -504,7 +512,7 @@ class Workflow extends Handler
|
||||
}
|
||||
}
|
||||
|
||||
private function saveNewPattern($sProcessUID = "", $sTaskUID = "", $sNextTask = "", $sType = "", $condition = "", $default = 0)
|
||||
private function saveNewPattern($sProcessUID = "", $sTaskUID = "", $sNextTask = "", $sType = "", $condition = "", $default = 0, $elementUidOrigin = "")
|
||||
{
|
||||
try {
|
||||
self::log("Add Route from task: $sTaskUID -> to task: $sNextTask ($sType)");
|
||||
@@ -527,6 +535,7 @@ class Workflow extends Handler
|
||||
$aFields["ROU_CASE"] = (int)($aRow["ROUTE_NUMBER"]) + 1;
|
||||
$aFields["ROU_TYPE"] = $sType;
|
||||
$aFields["ROU_DEFAULT"] = $default;
|
||||
$aFields["ROU_ELEMENT_ORIGIN"] = $elementUidOrigin;
|
||||
|
||||
if(! empty($condition)) {
|
||||
$aFields['ROU_CONDITION'] = $condition;
|
||||
|
||||
Reference in New Issue
Block a user