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