/**
  *
  * @param PMSERequest $request
  * @return \PMSERequest
  */
 public function validateRequest(PMSERequest $request)
 {
     $this->logger->info("Validate Request " . get_class($this));
     $this->logger->debug(array("Request data:", $request));
     $request->validate();
     return $request;
 }
 /**
  * Validates that if a second request from the same event and bean record
  * is received, the second request should be invalidated and thus ignored.
  * @param PMSERequest $request
  * @return \PMSERequest
  */
 public function validateRequest(PMSERequest $request)
 {
     $this->logger->info("Validate Request " . get_class($this));
     $this->logger->debug(array("Request data:", $request));
     $args = $request->getArguments();
     $flowId = isset($args['idFlow']) ? $args['idFlow'] : (isset($args['flow_id']) ? $args['flow_id'] : '0');
     if (!isset($_SESSION['locked_flows']) || !in_array($flowId, $_SESSION['locked_flows'])) {
         $request->validate();
     } else {
         $request->invalidate();
     }
     return $request;
 }
 /**
  *
  * @param PMSERequest $request
  * @return \PMSERequest
  */
 public function validateRequest(PMSERequest $request)
 {
     $this->logger->info("Validate Request " . get_class($this));
     $this->logger->debug(array("Request data:", $request));
     $flowData = $request->getFlowData();
     $bean = $request->getBean();
     if ($flowData['evn_id'] != 'TERMINATE') {
         $paramsRelated = $this->validateParamsRelated($bean, $flowData, $request);
         if ($request->isValid()) {
             $this->validateExpression($bean, $flowData, $request, $paramsRelated);
         }
     }
     return $request;
 }
 /**
  *
  * @param PMSERequest $request
  * @return type
  */
 public function getFlowDataList(PMSERequest $request)
 {
     $args = $request->getArguments();
     $flows = array();
     switch ($request->getType()) {
         case 'direct':
             switch (true) {
                 case isset($args['idFlow']):
                     $flows = $this->getFlowById($args['idFlow']);
                     break;
                 case isset($args['flow_id']):
                     $flows = $this->getFlowById($args['flow_id']);
                     break;
                 case isset($args['cas_id']) && isset($args['cas_index']):
                     $flows = $this->getFlowByCasIdCasIndex($args);
                     $args['idFlow'] = $flows[0]['id'];
                     $request->setArguments($args);
                     break;
             }
             break;
         case 'hook':
             $flows = $this->getAllEvents($request->getBean());
             break;
         case 'queue':
             $flows = $this->getFlowById($args['id']);
             break;
         case 'engine':
             $flows = $this->getFlowsByCasId($args['cas_id']);
             break;
     }
     return $flows;
 }
 /**
  *
  * @param PMSERequest $request
  * @param type $flowData
  * @return PMSERequest
  */
 public function validateRequest(PMSERequest $request)
 {
     $this->logger->info("Validate Request " . get_class($this));
     $this->logger->debug(array("Request data:", $request));
     $flowData = $request->getFlowData();
     $bean = $request->getBean();
     $request->setExternalAction($this->processExternalAction($flowData));
     $request->setCreateThread($this->processCreateThread($flowData));
     switch ($flowData['evn_type']) {
         case 'START':
             $this->logger->info("Validate Start Event.");
             $this->validateStartEvent($bean, $flowData, $request);
             break;
         case 'INTERMEDIATE':
             $this->logger->info("Validate Intermediate Event.");
             $this->validateIntermediateEvent($bean, $flowData, $request);
             break;
         default:
             break;
     }
     return $request;
 }
Example #6
0
 /**
  *
  * @param PMSERequest $request
  * @return type
  */
 public function validateRequest(PMSERequest $request)
 {
     $this->logger->info("Start validation process.");
     $this->logger->debug(array("Request Data to be validated: ", $request));
     // A default request is always valid, if fails to validate in any validator
     // the status is set to invalid and no further validation is required
     if (!isset($this->validators[$request->getType()])) {
         $this->logger->info("Invalid Request");
         return false;
     }
     foreach ($this->validators[$request->getType()] as $validatorName => $validatorLevel) {
         if ($validatorLevel != PMSEValidationLevel::NoValidation) {
             $validator = $this->retrieveValidator($validatorName, $validatorLevel);
             $request = $validator->validateRequest($request);
             if (!$request->isValid()) {
                 $this->logger->info(get_class($validator) . " validator invalidated request.");
                 return $request;
             } else {
                 $this->logger->info(get_class($validator) . " validator validated request.");
             }
         }
     }
     $this->logger->info("Request validated successfully");
     $request->setStatus('PROCESSED');
     return $request;
 }