PM-00000 "Fix in class Bpmn.php and cases_Step.php" SOLVED
Issue:
- Problems in method Bpmn::getElementsBetweenElementOriginAndElementDest
- Problems in cases_Step.php with OutputDocuments
Cause:
- No control of repetitive loop in method Bpmn::getElementsBetweenElementOriginAndElementDest
- No defined variables DEL_INDEX and TAS_UID
Solution:
- Added validation for the control of repetitive loop in method Bpmn::getElementsBetweenElementOriginAndElementDest
- Defined variables DEL_INDEX and TAS_UID
This commit is contained in:
@@ -83,6 +83,7 @@ class Bpmn extends Handler
|
||||
"lane" => array("BOU_ELEMENT_TYPE", "BOU_SIZE_IDENTICAL", "BOU_UID")
|
||||
);
|
||||
|
||||
private $arrayElementOriginChecked = array();
|
||||
|
||||
public function __construct($data = null)
|
||||
{
|
||||
@@ -1378,6 +1379,13 @@ class Bpmn extends Handler
|
||||
$index
|
||||
) {
|
||||
try {
|
||||
if (isset($this->arrayElementOriginChecked[$elementOriginUid]) && $this->arrayElementOriginChecked[$elementOriginUid] == $elementOriginType) {
|
||||
//Return
|
||||
return array();
|
||||
}
|
||||
|
||||
$this->arrayElementOriginChecked[$elementOriginUid] = $elementOriginType;
|
||||
|
||||
if ($elementOriginType == $elementDestType && $elementOriginUid == $elementDestUid) {
|
||||
$arrayEvent = array();
|
||||
$arrayEvent[$index] = array($elementDestUid, $elementDestType);
|
||||
@@ -1403,7 +1411,7 @@ class Bpmn extends Handler
|
||||
$index + 1
|
||||
);
|
||||
|
||||
if (count($arrayEvent) > 0) {
|
||||
if (!empty($arrayEvent)) {
|
||||
$arrayEvent[$index] = array($elementOriginUid, $elementOriginType);
|
||||
|
||||
//Return
|
||||
@@ -1431,6 +1439,8 @@ class Bpmn extends Handler
|
||||
$arrayEventType = array("END", "INTERMEDIATE");
|
||||
$arrayEventMarker = array("MESSAGETHROW");
|
||||
|
||||
$this->arrayElementOriginChecked = array();
|
||||
|
||||
$arrayEventAux = $this->getElementsBetweenElementOriginAndElementDest(
|
||||
$elementOriginUid,
|
||||
$elementOriginType,
|
||||
|
||||
Reference in New Issue
Block a user