/** * * @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; }
/** * * @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; }