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/forms/ValidateurListFormController.java |  237 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 237 insertions(+), 0 deletions(-)

diff --git a/fdx_convert/src/main/java/com/megatim/fdxconvert/forms/ValidateurListFormController.java b/fdx_convert/src/main/java/com/megatim/fdxconvert/forms/ValidateurListFormController.java
new file mode 100644
index 0000000..30ba5f2
--- /dev/null
+++ b/fdx_convert/src/main/java/com/megatim/fdxconvert/forms/ValidateurListFormController.java
@@ -0,0 +1,237 @@
+/*
+ * 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.forms;
+
+import com.megatimfx.common.abstracts.AbstractEditDialogController;
+import com.megatimfx.common.abstracts.AbstractMainDialogController;
+import com.megatimfx.common.pojo.SearchCriteria;
+import com.megatimfx.common.service.GenericCrudService;
+import com.megatimfx.common.utils.ViewLoaderUtil;
+import com.megatimfx.components.customdialogs.LoadinIndicatorDialogUtil;
+import com.megatimfx.components.dialogs.NotificationDialog;
+import com.megatimfx.components.dialogs.NotificationType;
+import com.megatim.fdxconvert.controller.ValidateurEditDialogController;
+import com.megatim.fdxconvert.controller.search.ValidateurSearchFormController;
+import com.megatim.fdxconvert.controller.table.ValidateurTable;
+import com.megatim.fdxconvert.exceptions.ConfigException;
+import com.megatim.fdxconvert.model.Configuration;
+import com.megatim.fdxconvert.model.Validateur;
+import com.megatim.fdxconvert.service.ConfigurationService;
+import com.megatim.fdxconvert.service.ValidateurService;
+import java.io.File;
+import java.io.IOException;
+import java.net.URL;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.ResourceBundle;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javafx.concurrent.Task;
+import javafx.event.Event;
+import javafx.fxml.FXML;
+import javafx.scene.Node;
+import javafx.scene.Scene;
+import javafx.scene.control.Button;
+import javafx.scene.control.Label;
+import javafx.scene.control.TableColumn;
+import javafx.scene.input.MouseEvent;
+import javafx.scene.layout.Pane;
+import javafx.stage.Stage;
+import org.apache.commons.io.FileUtils;
+
+/**
+ *
+ * @author STEPHANIE
+ */
+public class ValidateurListFormController extends AbstractMainDialogController<Validateur, Validateur> {
+
+    private ValidateurSearchFormController validateurSearchFormController;
+
+    private double dx, dy;
+
+    @FXML
+    private Button btnPrintValidator;
+
+    @FXML
+    private Label btnPrintValidatorLabel;
+
+    @Override
+    public void initialize(URL url, ResourceBundle rb) {
+        validateurSearchFormController = new ValidateurSearchFormController();
+        setPrintButtonRemoved(true);
+        setEditButtonRemoved(true);
+
+        btnPrintValidator.setOnAction(e -> {
+            exportValidatorFile(e);
+        });
+        btnPrintValidatorLabel.setOnMouseClicked(e -> {
+            exportValidatorFile(e);
+        });
+        super.initialize(url, rb);
+    }
+
+    @Override
+    public GenericCrudService<Validateur> getGenericCrudService() {
+        return ValidateurService.getInstance();
+    }
+
+    @Override
+    public String getTitle() {
+        return "Importations des formats de validation";
+    }
+
+    @Override
+    public Class<Validateur> getElementClazz() {
+        return Validateur.class;
+    }
+
+    @Override
+    public List<TableColumn> getElementTableColumns() {
+        return Arrays.asList(ValidateurTable.typeFichierColumn(), ValidateurTable.dataConversionColumn(), ValidateurTable.dateCreationColumn(), ValidateurTable.keyLengthColumn());
+    }
+
+    @Override
+    public AbstractEditDialogController<Validateur> getAbstractEditDialogController() {
+        return new ValidateurEditDialogController();
+    }
+
+    @Override
+    public List<SearchCriteria> getPermanentSearchCriterias() {
+        List<SearchCriteria> liste = new ArrayList<>();
+
+        return liste;
+    }
+
+    @Override
+    public Object getSearchFormController() {
+        return validateurSearchFormController;
+    }
+
+    @Override
+    public void resetFormFields(Object searchController, Object advancedSearchController) {
+
+        if (searchController instanceof ValidateurSearchFormController) {
+            ValidateurSearchFormController controller = (ValidateurSearchFormController) searchController;
+            controller.getTypeFichierAbstractSelectionItem().setOldElement(null);
+        }
+    }
+
+    @Override
+    public Pane getSearchFormPane() throws IOException {
+        return ViewLoaderUtil.getPaneFromFxmlFile(validateurSearchFormController.getClass().getResource("ValidateurSearchForm.fxml"), validateurSearchFormController);
+    }
+
+    @FXML
+    public void titleBarMousePressed(MouseEvent event) {
+        Scene scene = ((Node) event.getSource()).getScene();
+        Stage stage = (Stage) scene.getWindow();
+
+        dx = stage.getX() - event.getScreenX();
+        dy = stage.getY() - event.getScreenY();
+    }
+
+    @FXML
+    public void titleBarMouseDragged(MouseEvent event) {
+        Scene scene = ((Node) event.getSource()).getScene();
+        Stage stage = (Stage) scene.getWindow();
+
+        stage.setX(event.getScreenX() + dx);
+        stage.setY(event.getScreenY() + dy);
+    }
+
+    private void exportValidatorFile(Event event) {
+        Node node = (Node) event.getSource();
+        Stage parentStage = (Stage) node.getScene().getWindow();
+        Validateur validateur = getElementTable().getSelectionModel().getSelectedItem();
+        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyyMMdd-HHmmss");
+
+        try {
+            Configuration config = ConfigurationService.getInstance().getCurrentConfig();
+
+            if (config == null) {
+                throw new ConfigException("Répertoires non configurés");
+            }
+
+            if (validateur != null) {
+
+                exportOneFile(validateur.getCodeTypeFichier(), config.getValidatorsDir(), dtf, validateur.getContent());
+
+                NotificationDialog notificationDialog = new NotificationDialog(
+                        "Succès de l'exportation, consulter le répertoire '" + config.getValidatorsDir() + "' pour voir le fichier validateur du typefichier " + validateur.getCodeTypeFichier(),
+                        NotificationType.SUCCESS,
+                        parentStage
+                );
+                notificationDialog.showNotification();
+
+            } else {
+                List<Validateur> validateurs = ValidateurService.getInstance().getAll();
+                Task<Void> task = new Task<Void>() {
+                    @Override
+                    protected Void call() throws Exception {
+
+                        for (Validateur v : validateurs) {
+                            exportOneFile(v.getCodeTypeFichier(), config.getValidatorsDir(), dtf, v.getContent());
+                        }
+                        return null;
+                    }
+
+                };
+                task.setOnRunning(e -> LoadinIndicatorDialogUtil.getLoadingIndicatorDialog().show());
+                task.setOnSucceeded(e -> {
+                    String message = "";
+
+                    if (validateurs.isEmpty()) {
+                        message = "Aucun validateur à exporter";
+                    } else {
+                        message = "Tous les validateurs ont été exporté dans le répertoire " + config.getValidatorsDir();
+                    }
+                    LoadinIndicatorDialogUtil.getLoadingIndicatorDialog().hide();
+                    NotificationDialog notificationDialog = new NotificationDialog(
+                            message, NotificationType.INFO, parentStage
+                    );
+                    notificationDialog.showNotification();
+                });
+                task.setOnFailed(e -> {
+                    LoadinIndicatorDialogUtil.getLoadingIndicatorDialog().hide();
+                    NotificationDialog notificationDialog = new NotificationDialog(
+                            "Echec de l'exportation, une erreur est survenue ",
+                            NotificationType.ERROR,
+                            parentStage
+                    );
+                    notificationDialog.showNotification();
+                });
+
+                Thread thread1 = new Thread(task);
+                thread1.setDaemon(true);
+                thread1.start();
+            }
+        } catch (ConfigException ex) {
+            NotificationDialog notificationDialog = new NotificationDialog(
+                    "Echec de l'exportation, Veuillez configurer les répertoires avant d'exécuter cette opération",
+                    NotificationType.WARNING,
+                    parentStage
+            );
+            notificationDialog.showNotification();
+
+        } catch (Exception ex) {
+
+            NotificationDialog notificationDialog = new NotificationDialog(
+                    "Echec de l'exportation, une erreur est survenue ",
+                    NotificationType.ERROR,
+                    parentStage
+            );
+            notificationDialog.showNotification();
+            Logger.getLogger(ValidateurListFormController.class.getName()).log(Level.SEVERE, null, ex);
+        }
+    }
+
+    private void exportOneFile(String codeTypeFichier, String validatorsDir, DateTimeFormatter dtf, byte[] content) throws IOException {
+        File file = new File(validatorsDir, "Fdx-Validateur" + codeTypeFichier + "-" + dtf.format(LocalDateTime.now()) + ".xml");
+        FileUtils.writeByteArrayToFile(file, content, false);
+    }
+}

--
Gitblit v1.10.0