From b3d0580439b9a00c7eb918085de1694151066004 Mon Sep 17 00:00:00 2001
From: Kenmegne <stephanie.kenmegne@gmail.com>
Date: Thu, 18 Jun 2026 16:02:49 +0000
Subject: [PATCH] rename packages
---
fdx_convert/src/main/java/com/megatim/fdxconvert/controller/TxtFileToValidateEditDialogController.java | 175 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 175 insertions(+), 0 deletions(-)
diff --git a/fdx_convert/src/main/java/com/megatim/fdxconvert/controller/TxtFileToValidateEditDialogController.java b/fdx_convert/src/main/java/com/megatim/fdxconvert/controller/TxtFileToValidateEditDialogController.java
new file mode 100644
index 0000000..ca17140
--- /dev/null
+++ b/fdx_convert/src/main/java/com/megatim/fdxconvert/controller/TxtFileToValidateEditDialogController.java
@@ -0,0 +1,175 @@
+/*
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
+ * Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
+ */
+package com.megatim.fdxconvert.controller;
+
+import com.megatim.typefichier.validator.Validator;
+import com.megatim.typefichier.validator.model.ConfigStreamValidator;
+import com.megatimfx.common.abstracts.AbstractEditDialogController;
+import com.megatimfx.common.utils.ViewLoaderUtil;
+import com.megatimfx.components.customdialogs.AlertMessageUtil;
+import com.megatimfx.components.customdialogs.LoadinIndicatorDialogUtil;
+import com.megatimfx.components.dialogs.NotificationDialog;
+import com.megatimfx.components.dialogs.NotificationType;
+import com.megatim.fdxconvert.App;
+import com.megatim.fdxconvert.dao.ValidateurDAO;
+import com.megatim.fdxconvert.exceptions.ConfigException;
+import com.megatim.fdxconvert.exceptions.ValidatorException;
+import com.megatim.fdxconvert.forms.TxtFileToValidateEditFormController;
+import com.megatim.fdxconvert.model.Configuration;
+import com.megatim.fdxconvert.pojo.TxtFileToValidate;
+import com.megatim.fdxconvert.model.Validateur;
+import com.megatim.fdxconvert.service.ConfigurationService;
+import com.megatim.fdxconvert.util.Utilities;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.net.URL;
+import java.util.Optional;
+import java.util.ResourceBundle;
+import javafx.concurrent.Task;
+import javafx.event.ActionEvent;
+import javafx.scene.Node;
+import javafx.scene.layout.Pane;
+import javafx.stage.Stage;
+import org.apache.commons.io.IOUtils;
+
+/**
+ *
+ * @author STEPHANIE
+ */
+public class TxtFileToValidateEditDialogController extends AbstractEditDialogController<TxtFileToValidate> {
+
+ private TxtFileToValidateEditFormController txtFileToValidateEditFormController;
+
+ @Override
+ public String getTitle() {
+ getEditButton().setText("Vérifier");
+ return "Vérification format de fichier Fdx";
+ }
+
+ @Override
+ public Pane getContentFormPane() throws IOException {
+ return ViewLoaderUtil.getPaneFromFxmlFile(txtFileToValidateEditFormController.getClass().getResource("TxtFileToValidateEditForm.fxml"), txtFileToValidateEditFormController);
+
+ }
+
+ @Override
+ public Object getContentFormController() {
+ return txtFileToValidateEditFormController;
+ }
+
+ @Override
+ public void initialize(URL url, ResourceBundle rb) {
+ txtFileToValidateEditFormController = new TxtFileToValidateEditFormController();
+ super.initialize(url, rb);
+ }
+
+ @Override
+ public void afterSave(ActionEvent event) {
+
+ Configuration config = ConfigurationService.getInstance().getCurrentConfig();
+
+ Task<Boolean> task = new Task<Boolean>() {
+
+ @Override
+ protected Boolean call() throws Exception {
+
+ TxtFileToValidate val = getCurrentObject();
+
+ return validate(val, config);
+
+ }
+ };
+
+ task.setOnRunning(e -> LoadinIndicatorDialogUtil.getLoadingIndicatorDialog().show());
+
+ task.setOnSucceeded(e -> {
+
+ LoadinIndicatorDialogUtil.getLoadingIndicatorDialog().hide();
+
+ Node source = (Node) event.getSource();
+
+ Stage parentStage = (Stage) source.getScene().getWindow();
+
+ boolean valid = task.getValue();
+
+ if (valid) {
+
+ NotificationDialog notificationDialog = new NotificationDialog(
+ "Vérification réussie. Fichier correcte",
+ NotificationType.SUCCESS,
+ parentStage
+ );
+
+ notificationDialog.showNotification();
+
+ } else {
+ NotificationDialog notificationDialog = new NotificationDialog(
+ "Echec de la vérification. Le fichier contient des erreurs, veuillez consulter le fichier d'erreur pour en savoir plus",
+ NotificationType.ERROR,
+ parentStage
+ );
+
+ notificationDialog.showNotification();
+
+ }
+
+ });
+
+ task.setOnFailed(e -> {
+
+ LoadinIndicatorDialogUtil.getLoadingIndicatorDialog().hide();
+
+ Throwable th = task.getException();
+
+ if (th instanceof ConfigException || th instanceof ValidatorException) {
+
+ Node source = (Node) event.getSource();
+
+ Stage parentStage = (Stage) source.getScene().getWindow();
+
+ NotificationDialog notificationDialog = new NotificationDialog(th.getMessage(), NotificationType.WARNING, parentStage);
+
+ notificationDialog.showNotification();
+
+ } else {
+
+ AlertMessageUtil.showAlertException(th, "Une exception s'est produite pendant la validation du fichier", "Erreur");
+
+ }
+
+ });
+
+ new Thread(task).start();
+
+ }
+
+ private boolean validate(TxtFileToValidate val, Configuration config) throws Exception {
+
+ if (config == null) {
+ throw new ConfigException("Validation impossible, les repertoires ne sont pas configurés. Bien vouloir les configurer avant avant d'effectuer cette action");
+ }
+
+ String codeTypeFichier = val.getTypeFichier().getCode();
+
+ Optional<Validateur> validateur = ValidateurDAO.findByCodeTypeFichier(codeTypeFichier);
+
+ if (!validateur.isPresent()) {
+ throw new ValidatorException("Validation impossible. Le type fichier " + codeTypeFichier + " n'a pas de validateur enregistré");
+ }
+
+ File file = new File(val.getTxtFilePath());
+
+ if (!file.exists()) {
+ throw new FileNotFoundException("Le fichier " + file.getAbsolutePath() + " est introuvable");
+ }
+
+ byte[] targetArray = IOUtils.toByteArray(App.class.getClass().getResourceAsStream("/predicatelogic-engine.xml"));
+
+ ConfigStreamValidator configValidator = new ConfigStreamValidator(targetArray, validateur.get().getContent(), config.getErrorDir(), config.getOutputDir(), file,file);
+
+ return new Validator().validate(configValidator, Boolean.FALSE, Boolean.FALSE,Utilities.getNbThreads());
+ }
+}
--
Gitblit v1.10.0