saving issue with gateway while importing

This commit is contained in:
safan
2011-02-21 14:45:06 +00:00
parent 8999f3e77e
commit 9a42abaebb
5 changed files with 73 additions and 18 deletions

View File

@@ -3056,8 +3056,8 @@ class Processes {
}
}
else*/
if(isset($oData->gateways))
$this->createGatewayRows($oData->gateways);
/*if(isset($oData->gateways))
$this->createGatewayRows($oData->gateways);*/
$this->createDynaformRows($oData->dynaforms);
$this->createInputRows($oData->inputs);

View File

@@ -166,10 +166,65 @@ class Tasks
*/
public function createRouteRows( $aRoutes )
{
$routeID = array();
$routeID = array();
$taskParallel = '';
$taskSecJoin = '';
$taskEvaluate = '';
$taskParallelEv = '';
$taskSelect = '';
$taskDiscriminator = '';
foreach ( $aRoutes as $key => $row ) {
$sRouteType = $row['ROU_TYPE'];
$oRoute = new Route();
$oProcessMap = new processMap();
//unset ($row['ROU_UID']);
//Saving Gateway into the GATEWAY table
$idTask = $row['TAS_UID'];
$nextTask = $row['ROU_NEXT_TASK'];
if($sRouteType != 'SEQUENTIAL'){
switch($sRouteType){
case 'PARALLEL':
if($idTask != $taskParallel){
$taskParallel = $idTask;
$sGatewayUID = $oProcessMap->saveNewGateway($row['PRO_UID'], $row['TAS_UID'], $row['ROU_NEXT_TASK']);
}
break;
case 'SEC-JOIN':
if($nextTask != $taskSecJoin){
$taskSecJoin = $nextTask;
$sGatewayUID = $oProcessMap->saveNewGateway($row['PRO_UID'], $row['TAS_UID'], $row['ROU_NEXT_TASK']);
}
break;
case 'EVALUATE':
if($idTask != $taskEvaluate){
$taskEvaluate = $idTask;
$sGatewayUID = $oProcessMap->saveNewGateway($row['PRO_UID'], $row['TAS_UID'], $row['ROU_NEXT_TASK']);
}
break;
case 'PARALLEL-BY-EVALUATION':
if($idTask != $taskParallelEv){
$taskParallelEv = $idTask;
$sGatewayUID = $oProcessMap->saveNewGateway($row['PRO_UID'], $row['TAS_UID'], $row['ROU_NEXT_TASK']);
}
break;
case 'SELECT':
if($idTask != $taskSelect){
$taskSelect = $idTask;
$sGatewayUID = $oProcessMap->saveNewGateway($row['PRO_UID'], $row['TAS_UID'], $row['ROU_NEXT_TASK']);
}
break;
case 'DISCRIMINATOR':
if($nextTask != $taskDiscriminator){
$taskDiscriminator = $nextTask;
$sGatewayUID = $oProcessMap->saveNewGateway($row['PRO_UID'], $row['TAS_UID'], $row['ROU_NEXT_TASK']);
}
break;
}
$row['GAT_UID'] = $sGatewayUID;
}
if($oRoute->routeExists($row['ROU_UID']))
$oRoute->remove($row['ROU_UID']);
$routeID[] = $oRoute->create($row);

View File

@@ -3463,8 +3463,8 @@ class Xpdl extends processes
$routeParallel = $sGateUID;
$arrayGateways[$countG]['0'] = $sGateUID;
$arrayGateways[$countG]['1'] = 'bpmnGatewayParallel';
$arrayGateways[$countG]['2'] = $coordinateX;
$arrayGateways[$countG]['3'] = $coordinateY;
$arrayGateways[$countG]['2'] = $gatPosX;
$arrayGateways[$countG]['3'] = $gatPosY;
$countG = $countG + 1;
$arrayRoutes[$countRoutes]['0']= G::generateUniqueID();
$arrayRoutes[$countRoutes]['1']= $taskParallel;
@@ -3506,8 +3506,8 @@ class Xpdl extends processes
$routeSecJoin = $sGateUID;
$arrayGateways[$countG]['0'] = $sGateUID;
$arrayGateways[$countG]['1'] = 'bpmnGatewayParallel';
$arrayGateways[$countG]['2'] = $coordinateX;
$arrayGateways[$countG]['3'] = $coordinateY;
$arrayGateways[$countG]['2'] = $gatPosX;
$arrayGateways[$countG]['3'] = $gatPosY;
$countG = $countG + 1;
$arrayRoutes[$countRoutes]['0']= G::generateUniqueID();
$arrayRoutes[$countRoutes]['1']= $routeSecJoin;
@@ -3550,8 +3550,8 @@ class Xpdl extends processes
if($nextTask != "-1"){
$arrayGateways[$countG]['0'] = $sGateUID;
$arrayGateways[$countG]['1'] = 'bpmnGatewayExclusiveData';
$arrayGateways[$countG]['2'] = $coordinateX;
$arrayGateways[$countG]['3'] = $coordinateY;
$arrayGateways[$countG]['2'] = $gatPosX;
$arrayGateways[$countG]['3'] = $gatPosY;
$countG = $countG + 1;
$arrayRoutes[$countRoutes]['0']= G::generateUniqueID();
$arrayRoutes[$countRoutes]['1']= $taskEvaluate;
@@ -3599,8 +3599,8 @@ class Xpdl extends processes
$routeParallelEv = $sGateUID;
$arrayGateways[$countG]['0'] = $sGateUID;
$arrayGateways[$countG]['1'] = 'bpmnGatewayInclusive';
$arrayGateways[$countG]['2'] = $coordinateX;
$arrayGateways[$countG]['3'] = $coordinateY;
$arrayGateways[$countG]['2'] = $gatPosX;
$arrayGateways[$countG]['3'] = $gatPosY;
$countG = $countG + 1;
$arrayRoutes[$countRoutes]['0']= G::generateUniqueID();
$arrayRoutes[$countRoutes]['1']= $taskParallelEv;
@@ -3642,8 +3642,8 @@ class Xpdl extends processes
$routeSelect = $sGateUID;
$arrayGateways[$countG]['0'] = $sGateUID;
$arrayGateways[$countG]['1'] = 'bpmnGatewayExclusiveData';
$arrayGateways[$countG]['2'] = $coordinateX;
$arrayGateways[$countG]['3'] = $coordinateY;
$arrayGateways[$countG]['2'] = $gatPosX;
$arrayGateways[$countG]['3'] = $gatPosY;
$countG = $countG + 1;
$arrayRoutes[$countRoutes]['0']= G::generateUniqueID();
$arrayRoutes[$countRoutes]['1']= $taskSelect;
@@ -3691,7 +3691,7 @@ class Xpdl extends processes
$routeDiscriminator = $sGateUID;
$arrayGateways[$countG]['0'] = $sGateUID;
$arrayGateways[$countG]['1'] = 'bpmnGatewayComplex';
$arrayGateways[$countG]['2'] = $coordinateX;
$arrayGateways[$countG]['2'] = $gatPosX;
$arrayGateways[$countG]['3'] = $gatPosY;
$countG = $countG + 1;
$arrayRoutes[$countRoutes]['0']= G::generateUniqueID();