PMC-1098
This commit is contained in:
@@ -284,7 +284,7 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
$taskData = self::__updateServiceTask($activityBefore, $activityCurrent, $taskData);
|
$taskData = self::updateServiceTask($activityBefore, $activityCurrent, $taskData);
|
||||||
|
|
||||||
if ($activityCurrent->getActLoopType() == "PARALLEL") {
|
if ($activityCurrent->getActLoopType() == "PARALLEL") {
|
||||||
$task = \TaskPeer::retrieveByPK($actUid);
|
$task = \TaskPeer::retrieveByPK($actUid);
|
||||||
@@ -326,7 +326,7 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
* @param $taskData
|
* @param $taskData
|
||||||
* @return mixed
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
public static function __updateServiceTask($activityBefore, $activityCurrent, $taskData)
|
public static function updateServiceTask($activityBefore, $activityCurrent, $taskData)
|
||||||
{
|
{
|
||||||
$registry = PluginRegistry::loadSingleton();
|
$registry = PluginRegistry::loadSingleton();
|
||||||
if ($activityBefore->getActTaskType() != "SERVICETASK" && $activityCurrent->getActTaskType() == "SERVICETASK") {
|
if ($activityBefore->getActTaskType() != "SERVICETASK" && $activityCurrent->getActTaskType() == "SERVICETASK") {
|
||||||
@@ -439,7 +439,7 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
//$this->updateEventStartObjects($data["FLO_ELEMENT_ORIGIN"], $data["FLO_ELEMENT_DEST"]);
|
//$this->updateEventStartObjects($data["FLO_ELEMENT_ORIGIN"], $data["FLO_ELEMENT_DEST"]);
|
||||||
|
|
||||||
//WebEntry-Event - Update
|
//WebEntry-Event - Update
|
||||||
$this->__updateWebEntryEventByEvent($data['FLO_ELEMENT_ORIGIN'], ['ACT_UID' => $data['FLO_ELEMENT_DEST']]);
|
$this->updateWebEntryEventByEvent($data['FLO_ELEMENT_ORIGIN'], ['ACT_UID' => $data['FLO_ELEMENT_DEST']]);
|
||||||
break;
|
break;
|
||||||
case "bpmnEvent":
|
case "bpmnEvent":
|
||||||
$messageEventRelationUid = $this->createMessageEventRelationByBpmnFlow(\BpmnFlowPeer::retrieveByPK($floUid));
|
$messageEventRelationUid = $this->createMessageEventRelationByBpmnFlow(\BpmnFlowPeer::retrieveByPK($floUid));
|
||||||
@@ -489,7 +489,7 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
//$this->updateEventStartObjects($flowCurrent->getFloElementOrigin(), $flowCurrent->getFloElementDest());
|
//$this->updateEventStartObjects($flowCurrent->getFloElementOrigin(), $flowCurrent->getFloElementDest());
|
||||||
|
|
||||||
//WebEntry-Event - Update
|
//WebEntry-Event - Update
|
||||||
$this->__updateWebEntryEventByEvent($flowCurrent->getFloElementOrigin(), ['ACT_UID' => $flowCurrent->getFloElementDest()]);
|
$this->updateWebEntryEventByEvent($flowCurrent->getFloElementOrigin(), ['ACT_UID' => $flowCurrent->getFloElementDest()]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -586,7 +586,7 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
|
|
||||||
//WebEntry-Event - Update
|
//WebEntry-Event - Update
|
||||||
if (is_null($bpmnFlow)) {
|
if (is_null($bpmnFlow)) {
|
||||||
$this->__updateWebEntryEventByEvent($flow->getFloElementOrigin(), ['WEE_STATUS' => 'DISABLED']);
|
$this->updateWebEntryEventByEvent($flow->getFloElementOrigin(), ['WEE_STATUS' => 'DISABLED']);
|
||||||
}
|
}
|
||||||
} elseif ($flow->getFloElementOriginType() == "bpmnActivity" &&
|
} elseif ($flow->getFloElementOriginType() == "bpmnActivity" &&
|
||||||
$flow->getFloElementDestType() == "bpmnEvent") {
|
$flow->getFloElementDestType() == "bpmnEvent") {
|
||||||
@@ -633,7 +633,7 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
// TODO Complete for other routes, activity->activity, activity->gateway and viceversa
|
// TODO Complete for other routes, activity->activity, activity->gateway and viceversa
|
||||||
}
|
}
|
||||||
|
|
||||||
private function __updateEventActivityDefinition(\BpmnEvent $bpmnEvent, $flagStartTask)
|
private function updateEventActivityDefinition(\BpmnEvent $bpmnEvent, $flagStartTask)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
if ($bpmnEvent->getEvnType() == "START") {
|
if ($bpmnEvent->getEvnType() == "START") {
|
||||||
@@ -655,7 +655,7 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
if (!is_null(\BpmnActivityPeer::retrieveByPK($arrayFlowData['FLO_ELEMENT_DEST']))) {
|
if (!is_null(\BpmnActivityPeer::retrieveByPK($arrayFlowData['FLO_ELEMENT_DEST']))) {
|
||||||
$this->wp->setStartTask($arrayFlowData['FLO_ELEMENT_DEST'], $flagStartTask);
|
$this->wp->setStartTask($arrayFlowData['FLO_ELEMENT_DEST'], $flagStartTask);
|
||||||
|
|
||||||
$this->__updateWebEntryEventByEvent($bpmnEvent->getEvnUid());
|
$this->updateWebEntryEventByEvent($bpmnEvent->getEvnUid());
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -758,7 +758,7 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
if ((isset($arrayEventData["EVN_TYPE"]) && $arrayEventData["EVN_TYPE"] != $bpmnEvent->getEvnType()) ||
|
if ((isset($arrayEventData["EVN_TYPE"]) && $arrayEventData["EVN_TYPE"] != $bpmnEvent->getEvnType()) ||
|
||||||
(isset($arrayEventData["EVN_MARKER"]) && $arrayEventData["EVN_MARKER"] != $bpmnEvent->getEvnMarker())
|
(isset($arrayEventData["EVN_MARKER"]) && $arrayEventData["EVN_MARKER"] != $bpmnEvent->getEvnMarker())
|
||||||
) {
|
) {
|
||||||
$this->__updateEventActivityDefinition($bpmnEvent, false);
|
$this->updateEventActivityDefinition($bpmnEvent, false);
|
||||||
$this->removeEventDefinition($bpmnEvent);
|
$this->removeEventDefinition($bpmnEvent);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -773,7 +773,7 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
try {
|
try {
|
||||||
$bpmnEvent = \BpmnEventPeer::retrieveByPK($eventUid);
|
$bpmnEvent = \BpmnEventPeer::retrieveByPK($eventUid);
|
||||||
|
|
||||||
$this->__updateEventActivityDefinition($bpmnEvent, false);
|
$this->updateEventActivityDefinition($bpmnEvent, false);
|
||||||
$this->removeEventDefinition($bpmnEvent);
|
$this->removeEventDefinition($bpmnEvent);
|
||||||
|
|
||||||
parent::removeEvent($eventUid);
|
parent::removeEvent($eventUid);
|
||||||
@@ -794,7 +794,7 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
* @return string
|
* @return string
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
private function __createTaskByElement($elementUid, $elementType, $key, $eventName = '')
|
private function createTaskByElement($elementUid, $elementType, $key, $eventName = '')
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$taskTitle = $taskType = $this->arrayTaskAttribute[$key]["type"];
|
$taskTitle = $taskType = $this->arrayTaskAttribute[$key]["type"];
|
||||||
@@ -940,7 +940,7 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
break;
|
break;
|
||||||
case "bpmnGateway":
|
case "bpmnGateway":
|
||||||
//Gateway ----> Gateway
|
//Gateway ----> Gateway
|
||||||
$taskUid = $this->__createTaskByElement(
|
$taskUid = $this->createTaskByElement(
|
||||||
$arrayFlowData['FLO_ELEMENT_DEST'],
|
$arrayFlowData['FLO_ELEMENT_DEST'],
|
||||||
'bpmnGateway',
|
'bpmnGateway',
|
||||||
'gateway-to-gateway'
|
'gateway-to-gateway'
|
||||||
@@ -963,7 +963,7 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
//$event->getEvnMarker(): EMPTY or MESSAGETHROW
|
//$event->getEvnMarker(): EMPTY or MESSAGETHROW
|
||||||
switch ($event->getEvnMarker()) {
|
switch ($event->getEvnMarker()) {
|
||||||
case "MESSAGETHROW":
|
case "MESSAGETHROW":
|
||||||
$taskUid = $this->__createTaskByElement(
|
$taskUid = $this->createTaskByElement(
|
||||||
$event->getEvnUid(),
|
$event->getEvnUid(),
|
||||||
"bpmnEvent",
|
"bpmnEvent",
|
||||||
"end-message-event"
|
"end-message-event"
|
||||||
@@ -973,7 +973,7 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
$result = $this->wp->addRoute($taskUid, -1, "SEQUENTIAL");
|
$result = $this->wp->addRoute($taskUid, -1, "SEQUENTIAL");
|
||||||
break;
|
break;
|
||||||
case "EMAIL":
|
case "EMAIL":
|
||||||
$taskUid = $this->__createTaskByElement(
|
$taskUid = $this->createTaskByElement(
|
||||||
$event->getEvnUid(),
|
$event->getEvnUid(),
|
||||||
"bpmnEvent",
|
"bpmnEvent",
|
||||||
"end-email-event"
|
"end-email-event"
|
||||||
@@ -1026,7 +1026,7 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
"EMAIL" => "intermediate-throw-email-event"
|
"EMAIL" => "intermediate-throw-email-event"
|
||||||
);
|
);
|
||||||
|
|
||||||
$taskUid = $this->__createTaskByElement(
|
$taskUid = $this->createTaskByElement(
|
||||||
$eventUid,
|
$eventUid,
|
||||||
"bpmnEvent",
|
"bpmnEvent",
|
||||||
$arrayKey[$arrayEventData["EVN_MARKER"]],
|
$arrayKey[$arrayEventData["EVN_MARKER"]],
|
||||||
@@ -1080,7 +1080,7 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
//$event->getEvnMarker(): EMPTY or MESSAGETHROW
|
//$event->getEvnMarker(): EMPTY or MESSAGETHROW
|
||||||
switch ($event->getEvnMarker()) {
|
switch ($event->getEvnMarker()) {
|
||||||
case "MESSAGETHROW":
|
case "MESSAGETHROW":
|
||||||
$taskUid = $this->__createTaskByElement(
|
$taskUid = $this->createTaskByElement(
|
||||||
$event->getEvnUid(),
|
$event->getEvnUid(),
|
||||||
"bpmnEvent",
|
"bpmnEvent",
|
||||||
"end-message-event"
|
"end-message-event"
|
||||||
@@ -1090,7 +1090,7 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
$result = $this->wp->addRoute($taskUid, -1, "SEQUENTIAL");
|
$result = $this->wp->addRoute($taskUid, -1, "SEQUENTIAL");
|
||||||
break;
|
break;
|
||||||
case "EMAIL":
|
case "EMAIL":
|
||||||
$taskUid = $this->__createTaskByElement(
|
$taskUid = $this->createTaskByElement(
|
||||||
$event->getEvnUid(),
|
$event->getEvnUid(),
|
||||||
"bpmnEvent",
|
"bpmnEvent",
|
||||||
"end-email-event"
|
"end-email-event"
|
||||||
@@ -1173,7 +1173,7 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
//$event->getEvnMarker(): EMPTY or MESSAGETHROW
|
//$event->getEvnMarker(): EMPTY or MESSAGETHROW
|
||||||
switch ($event->getEvnMarker()) {
|
switch ($event->getEvnMarker()) {
|
||||||
case "MESSAGETHROW":
|
case "MESSAGETHROW":
|
||||||
$taskUid = $this->__createTaskByElement(
|
$taskUid = $this->createTaskByElement(
|
||||||
$event->getEvnUid(),
|
$event->getEvnUid(),
|
||||||
"bpmnEvent",
|
"bpmnEvent",
|
||||||
"end-message-event"
|
"end-message-event"
|
||||||
@@ -1183,7 +1183,7 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
$result = $this->wp->addRoute($taskUid, -1, "SEQUENTIAL");
|
$result = $this->wp->addRoute($taskUid, -1, "SEQUENTIAL");
|
||||||
break;
|
break;
|
||||||
case "EMAIL":
|
case "EMAIL":
|
||||||
$taskUid = $this->__createTaskByElement(
|
$taskUid = $this->createTaskByElement(
|
||||||
$event->getEvnUid(),
|
$event->getEvnUid(),
|
||||||
"bpmnEvent",
|
"bpmnEvent",
|
||||||
"end-email-event"
|
"end-email-event"
|
||||||
@@ -1218,7 +1218,7 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
case "START":
|
case "START":
|
||||||
switch ($event["EVN_MARKER"]) {
|
switch ($event["EVN_MARKER"]) {
|
||||||
case "MESSAGECATCH":
|
case "MESSAGECATCH":
|
||||||
$taskUid = $this->__createTaskByElement(
|
$taskUid = $this->createTaskByElement(
|
||||||
$event["EVN_UID"],
|
$event["EVN_UID"],
|
||||||
"bpmnEvent",
|
"bpmnEvent",
|
||||||
"start-message-event"
|
"start-message-event"
|
||||||
@@ -1229,7 +1229,7 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
$this->mapBpmnEventToWorkflowRoutes($taskUid, $event["EVN_UID"]);
|
$this->mapBpmnEventToWorkflowRoutes($taskUid, $event["EVN_UID"]);
|
||||||
break;
|
break;
|
||||||
case "TIMER":
|
case "TIMER":
|
||||||
$taskUid = $this->__createTaskByElement(
|
$taskUid = $this->createTaskByElement(
|
||||||
$event["EVN_UID"],
|
$event["EVN_UID"],
|
||||||
"bpmnEvent",
|
"bpmnEvent",
|
||||||
"start-timer-event"
|
"start-timer-event"
|
||||||
@@ -1240,7 +1240,7 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
$this->mapBpmnEventToWorkflowRoutes($taskUid, $event["EVN_UID"]);
|
$this->mapBpmnEventToWorkflowRoutes($taskUid, $event["EVN_UID"]);
|
||||||
break;
|
break;
|
||||||
case "EMPTY":
|
case "EMPTY":
|
||||||
$this->__updateEventActivityDefinition(\BpmnEventPeer::retrieveByPK($event['EVN_UID']), true);
|
$this->updateEventActivityDefinition(\BpmnEventPeer::retrieveByPK($event['EVN_UID']), true);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -2048,7 +2048,7 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
//Map Bpmn-Flows to Workflow-Routes
|
//Map Bpmn-Flows to Workflow-Routes
|
||||||
$bwp->mapBpmnFlowsToWorkflowRoutes();
|
$bwp->mapBpmnFlowsToWorkflowRoutes();
|
||||||
|
|
||||||
$bwp->__gatewayToGatewayDeleteCorruptedRecords(); //Delete corrupted records in task and element_task_relation tables
|
$bwp->gatewayToGatewayDeleteCorruptedRecords(); //Delete corrupted records in task and element_task_relation tables
|
||||||
|
|
||||||
//Return
|
//Return
|
||||||
return $result;
|
return $result;
|
||||||
@@ -2071,7 +2071,7 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
$this->wp->setDisabled($value);
|
$this->wp->setDisabled($value);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function __updateWebEntryEventByEvent($eventUid, array $arrayData = null)
|
private function updateWebEntryEventByEvent($eventUid, array $arrayData = null)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
$bpmnEvent = \BpmnEventPeer::retrieveByPK($eventUid);
|
$bpmnEvent = \BpmnEventPeer::retrieveByPK($eventUid);
|
||||||
@@ -2145,7 +2145,7 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
return $diagram;
|
return $diagram;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function __gatewayToGatewayDeleteCorruptedRecords()
|
private function gatewayToGatewayDeleteCorruptedRecords()
|
||||||
{
|
{
|
||||||
//Delete corrupted records in task and element_task_relation tables
|
//Delete corrupted records in task and element_task_relation tables
|
||||||
|
|
||||||
|
|||||||
@@ -1594,7 +1594,7 @@ class Bpmn extends Handler
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private function __getElementsBetweenElementOriginAndElementDest(
|
private function getElementsBetweenElementOriginAndElementDestPriv(
|
||||||
$elementOriginUid,
|
$elementOriginUid,
|
||||||
$elementOriginType,
|
$elementOriginType,
|
||||||
$elementDestUid,
|
$elementDestUid,
|
||||||
@@ -1632,7 +1632,7 @@ class Bpmn extends Handler
|
|||||||
foreach ($arrayFlow as $value) {
|
foreach ($arrayFlow as $value) {
|
||||||
$arrayFlowData = $value->toArray();
|
$arrayFlowData = $value->toArray();
|
||||||
|
|
||||||
$arrayEvent = $this->__getElementsBetweenElementOriginAndElementDest(
|
$arrayEvent = $this->getElementsBetweenElementOriginAndElementDestPriv(
|
||||||
$arrayFlowData["FLO_ELEMENT_DEST"],
|
$arrayFlowData["FLO_ELEMENT_DEST"],
|
||||||
$arrayFlowData["FLO_ELEMENT_DEST_TYPE"],
|
$arrayFlowData["FLO_ELEMENT_DEST_TYPE"],
|
||||||
$elementDestUid,
|
$elementDestUid,
|
||||||
@@ -1668,7 +1668,7 @@ class Bpmn extends Handler
|
|||||||
$this->arrayElementOriginChecked = [];
|
$this->arrayElementOriginChecked = [];
|
||||||
|
|
||||||
//Return
|
//Return
|
||||||
return call_user_func_array([$this, "__getElementsBetweenElementOriginAndElementDest"], array_merge(func_get_args(), [0]));
|
return call_user_func_array([$this, "getElementsBetweenElementOriginAndElementDestPriv"], array_merge(func_get_args(), [0]));
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
self::log("Exception: ", $e->getMessage(), "Trace: ", $e->getTraceAsString());
|
self::log("Exception: ", $e->getMessage(), "Trace: ", $e->getTraceAsString());
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user