saving and loading connected gateway from output port

This commit is contained in:
safan
2011-02-14 13:40:47 +00:00
parent c1f6fa8ece
commit 56939f76ab
5 changed files with 75 additions and 22 deletions

View File

@@ -126,6 +126,8 @@
//Get all the standalone Gateway
$countGateway = count($fields['GATEWAYS']);
$countTransitions = count($fields['TRANSITION']);
foreach($oData->gateways as $id => $value)
{
if($value['GAT_NEXT_TASK'] == '' && $value['TAS_UID'] == ''){
@@ -135,6 +137,40 @@
$fields['GATEWAYS'][$countGateway]['3'] = $value['GAT_Y'];
$countGateway += 1;
}
//creating gateway and route from gateway to task i.e if target task is not NULL
else if($value['GAT_NEXT_TASK'] != '' && $value['TAS_UID'] == ''){
$fields['GATEWAYS'][$countGateway]['0'] = $value['GAT_UID'];
$fields['GATEWAYS'][$countGateway]['1'] = $value['GAT_TYPE'];
$fields['GATEWAYS'][$countGateway]['2'] = $value['GAT_X'];
$fields['GATEWAYS'][$countGateway]['3'] = $value['GAT_Y'];
$fields['GATEWAYS'][$countGateway]['4'] = $value['TAS_UID'];
$fields['GATEWAYS'][$countGateway]['5'] = $value['GAT_NEXT_TASK'];
$fields['TRANSITION'][$countTransitions]['0'] = G::generateUniqueID();
$fields['TRANSITION'][$countTransitions]['1'] = $value['GAT_UID'];
$fields['TRANSITION'][$countTransitions]['2'] = $value['GAT_NEXT_TASK'];
$fields['TRANSITION'][$countTransitions]['3'] = '2';
$fields['TRANSITION'][$countTransitions]['4'] = '1';
$countGateway+=1;
$countTransitions += 1;
}
//creating gateway and route from task to gateway i.e if source task is not NULL
else if($value['GAT_NEXT_TASK'] == '' && $value['TAS_UID'] != ''){
$fields['GATEWAYS'][$countGateway]['0'] = $value['GAT_UID'];
$fields['GATEWAYS'][$countGateway]['1'] = $value['GAT_TYPE'];
$fields['GATEWAYS'][$countGateway]['2'] = $value['GAT_X'];
$fields['GATEWAYS'][$countGateway]['3'] = $value['GAT_Y'];
$fields['GATEWAYS'][$countGateway]['4'] = $value['TAS_UID'];
$fields['GATEWAYS'][$countGateway]['5'] = $value['GAT_NEXT_TASK'];
$fields['TRANSITION'][$countTransitions]['0'] = G::generateUniqueID();
$fields['TRANSITION'][$countTransitions]['1'] = $value['TAS_UID'];
$fields['TRANSITION'][$countTransitions]['2'] = $value['GAT_UID'];
$fields['TRANSITION'][$countTransitions]['3'] = '1';
$fields['TRANSITION'][$countTransitions]['4'] = '2';
$countGateway+=1;
$countTransitions += 1;
}
}
//$subProcess = $oProcess->createSubProcessesPM($oData->subProcess);
$arrayEvents = $fields['EVENTS'];

View File

@@ -36,8 +36,17 @@ if(isset($_POST['mode']) && $_POST['mode'] != '')
if($aData['ROU_TYPE'] != 'SEQUENTIAL')
{
$oProcessMap = new processMap();
$sGatewayUID = $oProcessMap->saveNewGateway($aData['PROCESS'], $aData['TASK'][0], $aData['ROU_NEXT_TASK'][0]);
echo $sGatewayUID.'|';
//$sGatewayUID = $oProcessMap->saveNewGateway($aData['PROCESS'], $aData['TASK'][0], $aData['ROU_NEXT_TASK'][0]);
$oGateway = new Gateway ( );
$aGatewayFields = array();
$aGatewayFields['GAT_UID'] = $aData['GAT_UID'];
$aGatewayFields['TAS_UID'] = $aData['TASK'][0];
$aGatewayFields['GAT_NEXT_TASK'] = $aData['ROU_NEXT_TASK'][0];
$aGatewayFields['GAT_TYPE'] = $aData['GAT_TYPE'];
$oGateway->update($aGatewayFields);
die;
//$sGatewayUID = $oProcessMap->saveNewGateway($aData['PROCESS'], $aData['TASK'][0], $aData['ROU_NEXT_TASK'][0]);
//echo $sGatewayUID.'|';
}
else
echo $aData['ROU_EVN_UID'].'|'; //sending route_event_uid in response
@@ -107,7 +116,7 @@ switch ($aData['action']) {
$aFields['ROU_CASE'] = $iKey;
$aFields['ROU_TYPE'] = $aData['ROU_TYPE'];
$aFields['ROU_CONDITION'] = $aRow['ROU_CONDITION'];
$aFields['GAT_UID'] = $sGatewayUID;
$aFields['GAT_UID'] = $aData['GAT_UID'];
if(isset($aData['PORT_NUMBER_IP']))
$aFields['ROU_TO_PORT'] = $aData['PORT_NUMBER_IP'];

View File

@@ -443,7 +443,7 @@ MyWorkflow.prototype.toggleShapes=function(item)
newShape.workflow.saveShape(newShape);
}
if(newShape.type.match(/Gateway/)){
var ports = newShape.getPorts();
/*var ports = newShape.getPorts();
var len =ports.data.length;
var conn = new Array();
for(var i=0; i<=len; i++){
@@ -461,7 +461,7 @@ MyWorkflow.prototype.toggleShapes=function(item)
}
}
if(countConn == 0){
if(countConn == 0){*/
newShape.mode = 'ddGateway';
newShape.actiontype = 'addGateway';
//Set the Old Id to the Newly created Gateway
@@ -469,9 +469,10 @@ MyWorkflow.prototype.toggleShapes=function(item)
newShape.id = oldWorkflow.id;
newShape.workflow.saveShape(newShape);
}
/* }
else
newShape.mode = 'update';
}
}*/
/* if(newShape.type == 'bpmnEventMessageStart' || newShape.type == 'bpmnEventTimerStart')
{
newShape.workflow.currentSelection = newShape;
@@ -496,14 +497,14 @@ MyWorkflow.prototype.toggleShapes=function(item)
newShape.actiontype = 'saveStartEvent';
newShape.workflow.saveShape(newShape);
}
}*/
}
else if(newShape.type.match(/Gateway/)){
if(newShape.mode == 'update'){
var shape = new Array();
shape.type = '';
newShape.workflow.saveRoute(newShape,shape);
}
}
}*/
//Swapping from Task to subprocess and vice -versa
if((newShape.type == 'bpmnSubProcess' || newShape.type == 'bpmnTask') && !item.type.match(/Boundary/)){
newShape.actiontype = 'addSubProcess';
@@ -1643,6 +1644,8 @@ MyWorkflow.prototype.saveRoute = function(preObj,newObj)
var staskUid = Ext.util.JSON.encode(task_uid);
var sNextTaskUid = Ext.util.JSON.encode(next_task_uid);
var sGatUid = preObj.id;
var sGatType = preObj.type;
if(staskUid != '')
{
Ext.Ajax.request({
@@ -1650,16 +1653,17 @@ MyWorkflow.prototype.saveRoute = function(preObj,newObj)
success: function(response) {
if(response.responseText != 0){
if(typeof newObj.conn != 'undefined'){
var resp = response.responseText.split("|"); //resp[0] => gateway UID OR event_UID , resp[1] => route UID
newObj.conn.html.id = resp[1];
newObj.conn.id = resp[1];
//var resp = response.responseText.split("|"); //resp[0] => gateway UID OR event_UID , resp[1] => route UID
var resp = response.responseText; //resp[0] => gateway UID OR event_UID , resp[1] => route UID
newObj.conn.html.id = resp;
newObj.conn.id = resp;
//replacing old gateway UID with response UID
if(! preObj.type.match(/Task/))
/*if(! preObj.type.match(/Task/))
{
preObj.html.id = resp[0];
preObj.id = resp[0];
}
}*/
}
}
},
@@ -1667,15 +1671,16 @@ MyWorkflow.prototype.saveRoute = function(preObj,newObj)
Ext.Msg.alert ('Failure');
},
params: {
action:'savePattern',
PROCESS: pro_uid,
TASK:staskUid,
ROU_NEXT_TASK:sNextTaskUid,
ROU_TYPE:rou_type,
ROU_EVN_UID:rou_evn_uid,
action :'savePattern',
PROCESS : pro_uid,
TASK :staskUid,
ROU_NEXT_TASK :sNextTaskUid,
ROU_TYPE :rou_type,
ROU_EVN_UID :rou_evn_uid,
PORT_NUMBER_IP:port_numberIP,
PORT_NUMBER_OP:port_numberOP,
GAT_UID : '',
GAT_UID : sGatUid,
GAT_TYPE : sGatType,
mode:'Ext'
}
});

View File

@@ -440,7 +440,7 @@ TaskContext.prototype.editTaskSteps = function(_3252){
collapsible: false,
maximizable: false,
width: 770,
height: 365,
height: 380,
minWidth: 200,
minHeight: 150,
layout: 'fit',
@@ -1333,6 +1333,7 @@ TaskContext.prototype.saveTaskProperties= function()
{
var saveTaskform = workflow.taskPropertiesTabs.getForm().getValues();
var taskId = workflow.currentSelection.id;
saveTaskform['TAS_UID'] = taskId;
var object_data = Ext.util.JSON.encode(saveTaskform);
/* var newTaskValues = new Array();
var oData = null;
@@ -1429,7 +1430,7 @@ TaskContext.prototype.stepTriggers = function()
animate : true
});
tree.setRootNode(root);
//root.expand(true);
root.expand(true);
tree.on('click', function (node){
if(node.isLeaf()){

View File

@@ -753,6 +753,8 @@ bpmnTask.prototype.addShapes = function (oStore) {
conn.setTarget(newShape.getPort("input2"));
conn.setSource(workflow.currentSelection.getPort("output1"));
workflow.addFigure(conn);
//newShape.actiontype = 'addGateway';
//workflow.saveShape(newShape);
}
if (newShape.type.match(/Start/)) {
conn.setTarget(newShape.getPort("output1"));