diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/AssignmentRulesMigrator.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/AssignmentRulesMigrator.php index 286be6171..285399ba6 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/AssignmentRulesMigrator.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/AssignmentRulesMigrator.php @@ -32,7 +32,8 @@ class AssignmentRulesMigrator implements Importable, Exportable try { $this->processes->createTaskRows($data); } catch (\Exception $e) { - Logger::log($e); + \Logger::log($e->getMessage()); + throw new ImportException($e->getMessage()); } } @@ -66,7 +67,8 @@ class AssignmentRulesMigrator implements Importable, Exportable return $result; } catch (\Exception $e) { - \Logger::log($e); + \Logger::log($e->getMessage()); + throw new ExportException($e->getMessage()); } } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/DBConnectionMigrator.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/DBConnectionMigrator.php index f99694862..426954525 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/DBConnectionMigrator.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/DBConnectionMigrator.php @@ -8,8 +8,6 @@ namespace ProcessMaker\BusinessModel\Migrator; -use Symfony\Component\Config\Definition\Exception\Exception; - class DBConnectionMigrator implements Importable, Exportable { protected $processes; @@ -32,7 +30,8 @@ class DBConnectionMigrator implements Importable, Exportable try { $this->processes->createDBConnectionsRows($data); } catch (\Exception $e) { - Logger::log($e); + \Logger::log($e->getMessage()); + throw new ImportException($e->getMessage()); } } @@ -63,7 +62,8 @@ class DBConnectionMigrator implements Importable, Exportable return $result; } catch (\Exception $e) { - \Logger::log($e); + \Logger::log($e->getMessage()); + throw new ExportException($e->getMessage()); } } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/DynaformsMigrator.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/DynaformsMigrator.php index 944b0af53..3efa607f2 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/DynaformsMigrator.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/DynaformsMigrator.php @@ -29,7 +29,8 @@ class DynaformsMigrator implements Importable, Exportable try { $this->processes->createDynaformRows($data); } catch (\Exception $e) { - \Logger::log($e); + \Logger::log($e->getMessage()); + throw new ImportException($e->getMessage()); } } @@ -59,7 +60,8 @@ class DynaformsMigrator implements Importable, Exportable return $result; } catch (\Exception $e) { - \Logger::log($e); + \Logger::log($e->getMessage()); + throw new ExportException($e->getMessage()); } } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/ExportException.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/ExportException.php new file mode 100644 index 000000000..60fcff1af --- /dev/null +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/ExportException.php @@ -0,0 +1,15 @@ +getMessage()); + throw new ImportException($e->getMessage()); } } @@ -88,7 +89,8 @@ class FilesMigrator implements Importable, Exportable return $result; } catch (\Exception $e) { - \Logger::log($e); + \Logger::log($e->getMessage()); + throw new ExportException($e->getMessage()); } } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularExporter.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularExporter.php index 24777cb27..31ea9f3bf 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularExporter.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularExporter.php @@ -28,15 +28,23 @@ class GranularExporter public function export($objectList) { - $this->beforeExport(); - $exportObject = new ExportObjects(); - $objectList = $exportObject->mapObjectList($objectList); - foreach ($objectList as $data) { - $migrator = $this->factory->create($data); - $migratorData = $migrator->export($this->prjuid); - $this->mergeData($migratorData); + try { + $this->beforeExport(); + $exportObject = new ExportObjects(); + $objectList = $exportObject->mapObjectList($objectList); + foreach ($objectList as $data) { + $migrator = $this->factory->create($data); + $migratorData = $migrator->export($this->prjuid); + $this->mergeData($migratorData); + } + return $this->publish(); + } catch (ExportException $e) { + return array( + 'success' => false, + 'message' => $e->getMessage() + ); } - return $this->publish(); + } protected function beforeExport() diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularImporter.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularImporter.php index 9a1156b86..69903be8e 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularImporter.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/GranularImporter.php @@ -82,11 +82,18 @@ class GranularImporter */ public function import($objectList) { - foreach ($objectList as $key => $data) { - $objClass = $this->factory->create($key); - if(is_object($objClass)) { - $migratorData = $objClass->import($data); + try { + foreach ($objectList as $key => $data) { + $objClass = $this->factory->create($key); + if(is_object($objClass)) { + $migratorData = $objClass->import($data); + } } + } catch (ExportException $e) { + return array( + 'success' => false, + 'message' => $e->getMessage() + ); } } } \ No newline at end of file diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/ImportException.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/ImportException.php new file mode 100644 index 000000000..aee249988 --- /dev/null +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/ImportException.php @@ -0,0 +1,15 @@ +processes->createInputRows($data); } catch (\Exception $e) { - Logger::log($e); + \Logger::log($e->getMessage()); + throw new ImportException($e->getMessage()); } } @@ -61,7 +62,8 @@ class InputDocumentsMigrator implements Importable, Exportable return $result; } catch (\Exception $e) { - \Logger::log($e); + \Logger::log($e->getMessage()); + throw new ExportException($e->getMessage()); } } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/OutputDocumentsMigrator.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/OutputDocumentsMigrator.php index 694c73dd8..13e7acd06 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/OutputDocumentsMigrator.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/OutputDocumentsMigrator.php @@ -32,7 +32,8 @@ class OutputDocumentsMigrator implements Importable, Exportable try { $this->processes->createOutputRows($data); } catch (\Exception $e) { - Logger::log($e); + \Logger::log($e->getMessage()); + throw new ImportException($e->getMessage()); } } @@ -63,7 +64,8 @@ class OutputDocumentsMigrator implements Importable, Exportable return $result; } catch (\Exception $e) { - \Logger::log($e); + \Logger::log($e->getMessage()); + throw new ExportException($e->getMessage()); } } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/PermissionsMigrator.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/PermissionsMigrator.php index 6b0f238df..bc6da1b07 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/PermissionsMigrator.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/PermissionsMigrator.php @@ -48,18 +48,19 @@ class PermissionsMigrator implements Importable, Exportable public function export($prj_uid) { try { + $processData = new \StdClass(); + $processData->process = $this->processes->getProcessRow($prj_uid, false); + $processData->tasks = $this->processes->getTaskRows($prj_uid); + $processData->routes = $this->processes->getRouteRows($prj_uid); + $processData->lanes = $this->processes->getLaneRows($prj_uid); + $processData->gateways = $this->processes->getGatewayRows($prj_uid); + $processData->steps = $this->processes->getStepRows($prj_uid); + $processData->taskusers = $this->processes->getTaskUserRows($oData->tasks); + $processData->groupwfs = $this->processes->getGroupwfRows($oData->taskusers); + $processData->steptriggers = $this->processes->getStepTriggerRows($oData->tasks); + $processData->reportTablesVars = $this->processes->getReportTablesVarsRows($prj_uid); $oData = new \StdClass(); - $oData->process = $this->processes->getProcessRow($prj_uid, false); - $oData->tasks = $this->processes->getTaskRows($prj_uid); - $oData->routes = $this->processes->getRouteRows($prj_uid); - $oData->lanes = $this->processes->getLaneRows($prj_uid); - $oData->gateways = $this->processes->getGatewayRows($prj_uid); - $oData->steps = $this->processes->getStepRows($prj_uid); - $oData->taskusers = $this->processes->getTaskUserRows($oData->tasks); - $oData->groupwfs = $this->processes->getGroupwfRows($oData->taskusers); - $oData->steptriggers = $this->processes->getStepTriggerRows($oData->tasks); - $oData->reportTablesVars = $this->processes->getReportTablesVarsRows($prj_uid); - $oData->objectPermissions = $this->processes->getObjectPermissionRows($prj_uid, $oData); + $oData->objectPermissions = $this->processes->getObjectPermissionRows($prj_uid, $processData); $result = array( 'workflow-definition' => (array)$oData @@ -68,7 +69,8 @@ class PermissionsMigrator implements Importable, Exportable return $result; } catch (\Exception $e) { - \Logger::log($e); + \Logger::log($e->getMessage()); + throw new ExportException($e->getMessage()); } } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/ProcessDefinitionMigrator.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/ProcessDefinitionMigrator.php index e390c61c2..5e57831be 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/ProcessDefinitionMigrator.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/ProcessDefinitionMigrator.php @@ -110,7 +110,8 @@ class ProcessDefinitionMigrator implements Importable, Exportable return $result; } catch (\Exception $e) { - \Logger::log($e); + \Logger::log($e->getMessage()); + throwException(new ExportException($e->getMessage())); } } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/ReportTablesMigrator.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/ReportTablesMigrator.php index 5afd95499..1f6d1e33f 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/ReportTablesMigrator.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/ReportTablesMigrator.php @@ -57,7 +57,8 @@ class ReportTablesMigrator implements Importable, Exportable return $result; } catch (\Exception $e) { - \Logger::log($e); + \Logger::log($e->getMessage()); + throwException(new ExportException($e->getMessage())); } } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/SupervisorsMigrator.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/SupervisorsMigrator.php index ef4e760d6..567f331d0 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/SupervisorsMigrator.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/SupervisorsMigrator.php @@ -58,7 +58,8 @@ class SupervisorsMigrator implements Importable, Exportable return $result; } catch (\Exception $e) { - \Logger::log($e); + \Logger::log($e->getMessage()); + throwException(new ExportException($e->getMessage())); } } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/SupervisorsObjectsMigrator.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/SupervisorsObjectsMigrator.php index 081c5f675..a4d880f3c 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/SupervisorsObjectsMigrator.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/SupervisorsObjectsMigrator.php @@ -53,7 +53,8 @@ class SupervisorsObjectsMigrator implements Importable, Exportable return $result; } catch (\Exception $e) { - \Logger::log($e); + \Logger::log($e->getMessage()); + throwException(new ExportException($e->getMessage())); } } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/TemplatesMigrator.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/TemplatesMigrator.php index 5a4d9f9aa..75cb3ff8d 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/TemplatesMigrator.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/TemplatesMigrator.php @@ -55,7 +55,8 @@ class TemplatesMigrator implements Importable, Exportable } } } catch (\Exception $e) { - Logger::log($e); + \Logger::log($e->getMessage()); + throw new ImportException($e->getMessage()); } } @@ -92,7 +93,8 @@ class TemplatesMigrator implements Importable, Exportable return $result; } catch (\Exception $e) { - \Logger::log($e); + \Logger::log($e->getMessage()); + throw new ExportException($e->getMessage()); } } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/TriggersMigrator.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/TriggersMigrator.php index 50afc0f75..983186df0 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/TriggersMigrator.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/TriggersMigrator.php @@ -32,7 +32,8 @@ class TriggersMigrator implements Importable, Exportable try { $this->processes->createTriggerRows($data); } catch (\Exception $e) { - Logger::log($e); + \Logger::log($e->getMessage()); + throwException(new ImportException($e->getMessage())); } } @@ -64,7 +65,8 @@ class TriggersMigrator implements Importable, Exportable return $result; } catch (\Exception $e) { - \Logger::log($e); + \Logger::log($e->getMessage()); + throw new ExportException($e->getMessage()); } } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/VariablesMigrator.php b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/VariablesMigrator.php index 6c31baf81..de0c5bc14 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/VariablesMigrator.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Migrator/VariablesMigrator.php @@ -37,7 +37,8 @@ class VariablesMigrator implements Importable, Exportable try { $this->processes->createProcessVariables($data); } catch (\Exception $e) { - \Logger::log($e); + \Logger::log($e->getMessage()); + throw new ImportException($e->getMessage()); } } @@ -73,7 +74,8 @@ class VariablesMigrator implements Importable, Exportable return $result; } catch (\Exception $e) { - \Logger::log($e); + \Logger::log($e->getMessage()); + throw new ExportException($e->getMessage()); } }